Information Technology Reference
In-Depth Information
FIGUREĀ 5.11 Memory tiers in a virtualized system
Virtual machine
Virtual memory
Applications
Guest
operating system
Guest physical memory
Host physical memory
Hypervisor
The host memory is finite, so it eventually runs out, but the guest OS has no idea of this,
so the hypervisor has to collect memory back through the balloon driver, which collects
the free memory from the guest OS. So, for example, if the guest OS has been allocated
4 GB of memory, after using most of it, it marks 2 GB as free. Since it does not know about
the memory mapping to the host physical memory, the free memory remains in the guest
OS. It is this free memory that the balloon driver collects. And as mentioned, if there is not
enough free memory to give to the driver, the guest OS will decide which areas of memory
have to be paged so that it can free memory to give to the balloon driver for remapping for
other purposes.
I/O Throttling
Even with top-end hardware, and lots of it, computing resources are finite, so intelligent
management is key for proper distribution and ensuring satisfaction. Aside from reclamation
of memory through ballooning, you can implement I/O throttling to control access to your
slowest resource, the disks.
I/O throttling is a function of the hypervisor that can be activated to set the maximum
rate at which all guest OSs or virtual machines in the system are allowed to initiate I/O with
real devices. This excludes the I/O operations that are initiated by the hypervisor itself.
The hypervisor converts the specified rate into a buffer time, the minimum time in which
there must be no I/O operation occurring. So if an I/O request is received before the time in
between I/O operations is past, that request is deferred or delayed.
In multitenant systems such as cloud computing systems where devices, channels, and
control units are shared, throttling is an effective method for preventing one system from
overutilizing shared resources.
Search WWH ::




Custom Search