Linked by Rahul on Sun 9th Nov 2008 10:20 UTC
Red Hat Red Hat and AMD have just done the so-called impossible, and demonstrated VM live migration across CPU architectures. Not only that, they have demonstrated it across CPU vendors. "If you look at the video here, you will see that they did it. Live migration while streaming HD video isn't all that bad a trick mind you, but doing it between a Barcelona, Shanghai and Intel box is. 36 more of these, and we will be in great shape." Only a few months ago during VMworld, Intel and VMware claimed that this was impossible. Looking at the initial reaction, VMware is quite irked by this accomplishment by Red Hat using KVM technology and they are pointing to stability concerns. Red Hat has been a heavy contributor to KVM and acquired Qumranet, the original developers of KVM a while back.
Thread beginning with comment 336818
To read all comments associated with this story, please click here.
Umm
by Brendan on Mon 10th Nov 2008 13:45 UTC
Brendan
Member since:
2005-11-16

Hi,

So, let me get this straight - you've got a kernel running under one "quad core virtual machine" that was told that each of the virtual CPUs support certain features (e.g. SSE4).

Then you migrate this virtual machine to an old 80486 box, and suddenly 3 cores and all the modern CPU features are gone, and the kernel and all the applications that were relying on these features just keep running?

Maybe, for the purpose of demonstration, they made sure that all CPUs were very similar (same number of cores, similar features, etc) and disabled any features in some CPUs that weren't present in others...

RE: Umm
by nxsty on Mon 10th Nov 2008 14:20 in reply to "Umm"
nxsty Member since:
2005-11-12

So, let me get this straight - you've got a kernel running under one "quad core virtual machine" that was told that each of the virtual CPUs support certain features (e.g. SSE4).

Then you migrate this virtual machine to an old 80486 box, and suddenly 3 cores and all the modern CPU features are gone, and the kernel and all the applications that were relying on these features just keep running?


If you have an app that requires some special instruction set like SSE4 it wouldn't run on the 486 in the first place.

Reply Parent Bookmark Score: 2

RE[2]: Umm
by Brendan on Mon 10th Nov 2008 23:35 in reply to "RE: Umm"
Brendan Member since:
2005-11-16

Hi,

If you have an app that requires some special instruction set like SSE4 it wouldn't run on the 486 in the first place.


I'm thinking you missed the point entirely. All CPUs have a variety of features. Some of those features are vendor specific (e.g. Intel's SpeedStep, AMD's Cool'n'Quiet, machine check, performance monitoring, certain debugging features, etc) and some are just "new" (e.g. SSE5, x2APIC). For VM migration to work you'd need to tell the virtual machine that none of the new CPU features and none of the vendor specific features are present.

Then there's certain optimizations (page coloring, NUMA, instruction selection, etc) that tune the software/kernel to the CPU. Kiss them goodbye too.

Now, let's imagine you install an OS inside a virtual machine, and the OS detects that the CPU has flaws and implements work-arounds for those flaws. Then it's migrated to a different CPU with different flaws that need different work-arounds.

Basically, what they're doing is reducing the CPU feature set to the lowest common denominator (and the number of CPUs/cores, amount of RAM, etc), so that inside the virtual machine all (supported) computers look the same. The problem is that all (supported) computers aren't the same - you lose features, you lose optimizations and you lose reliability.

Reply Parent Bookmark Score: 1

RE: Umm
by broken_symlink on Mon 10th Nov 2008 17:18 in reply to "Umm"
broken_symlink Member since:
2005-07-06

I'm pretty sure that KVM requires virtualization extensions in order to work, so you couldn't migrate to a 486. You would only be able to migrate to other x86 cpus with virtualization extensions.

Reply Parent Bookmark Score: 2