[Info-vax] VMware
Dave Froble
davef at tsoft-inc.com
Wed Dec 11 01:10:23 EST 2019
On 12/10/2019 9:35 PM, Grant Taylor wrote:
> On 12/10/19 4:22 PM, Craig A. Berry wrote:
>> So there is a perfect up-to-date mirror in hard real time of all of
>> the states of all of the devices and all these different states are
>> coordinated with each other?
>
> For supported (read: virtualized / emulated) devices, yes.
>
> What is state, other than the contents of memory and CPU registers
> (which are themselves another memory)?
>
> Said state is replicated from the primary host to the secondary host in
> very close to real time. When a memory write happens on one system, the
> same write (or delta) is pushed to the secondary system.
>
>> For example, if I'm in the middle of changing my password when one of
>> these transitions happens, the state of this process on the new
>> instance looks exactly like it was on the old one regardless of
>> whether the I/O is in a network buffer, heap memory, file system
>> buffer, on disk, or split among some combination of two or more of the
>> above?
>
> My working understanding of migrations (vmotions in VMware parlance) is
> that the source host starts replicating memory to the destination host.
> It keeps track of what has and has not been replicated. (The guest is
> still running.) If the guest writes to a page that has been replicated,
> the page considered dirty and needs to be re-replicated. Eventually the
> source host will be down to only pages that are changing extremely
> quickly. So the source host pauses the VM, replicates the remaining
> memory pages. CPU state is also replicated. Once that is done the
> destination host resumes the guest VM. The guest has no real idea that
> anything has happened. The password change that you were in the middle
> of is partially executed on one host, paused, transferred, and resumed
> on the next host.
>
> The over all transfer takes time, but the guest VM is running during the
> vast majority of it. The guest VM is paused for a very brief period of
> time. Where very brief is likely on the order of a few hundredths of a
> second, if that.
This all sounds really great. As I may have mentioned, I've not been
involved with VMs in the past. In some ways, but not identical, sounds
a bit like Galaxy.
Doesn't sound like something that would support real-time, but, that
doesn't seem to be the market.
> This type of migration has been standard operating procedure to the
> point that it's an old hat trick. (Purportedly even the free KVM can do
> this.)
>
> It is so SoP / routine that it is common to run software to monitor load
> on VMware hosts and automatically move VMs around between hosts,
> particularly if you have one demanding more CPU for some reason.
> Automation will move other guests off of that host to give the hog more
> resources. (Within reasons.) Or optionally, move the hog to a lesser
> loaded system.
>
> It's so common that VMware doesn't care about vmotions.
>
>> If that's true it sounds impressive.
Yes, very impressive.
Except when I tried to test VMware, it told me my network device was not
supported. That wasn't so impressive.
>> But if the hypervisors are that
>> good it makes me wonder why Microsoft needed to spend megabucks on
>> making SQL Server and Windows work better under hypervisors (and I
>> believe similar efforts have gone into Linux).
>
> In a word, "Optimization". They spent time, effort, and money to alter
> how Windows / Linux work to make them even nicer under virtualization.
> You can hot add CPUs and memory to guests if the OS supports it.
> Similarly, you can hot remove CPUs and memory from guests.
>
> So, much like you can move VMs around to balance load, it's also
> possible to move CPU and memory between guests to best "sweat the
> assets" as is commonly said.
>
> I believe there was also effort to make Windows (and likely Linux) more
> clearly expose if a memory page was dirty or not. The idea being that
> multiple VMs running the same version of the OS, kernel, libraries,
> etc., can have their memory pages deduplicated. Thus further saving
> memory and making it easier for a hypervisor to know the current state
> of things without needing to understand the nuance of each OSs kernel.
>
> These are (some of) the optimizations that have gone into Windows and
> Linux to make them more friendly to virtualization. The changes weren't
> done because they /needed/ to be done to make the OS compatible. They
> were done /opportunistically/ to allow better use of the hardware.
>
>
>
--
David Froble Tel: 724-529-0450
Dave Froble Enterprises, Inc. E-Mail: davef at tsoft-inc.com
DFE Ultralights, Inc.
170 Grimplin Road
Vanderbilt, PA 15486
More information about the Info-vax
mailing list