Oracle VM Server SPARC 2.1 Released
By jsavit on Jun 08, 2011
Oracle VM Server for SPARC (sometimes abbreviated as OVMSS) is the server virtualization technology previously (and often still) called Logical Domains, or LDoms. It is a virtual machine capability built into Oracle's T-series SPARC Chip Multithreading (CMT) servers, permitting up to 128 domains (virtual machines) on a single server at no extra cost.
LDoms (I still use the old name sometimes) exploits the "many CPUs" nature of CMT servers to efficiently implement virtual machines. Typical virtual machine environments timeslice multiple guest virtual machines onto the same CPUs. This creates overhead because cache and translation lookaside buffer (TLB) contents have to be discarded every few milliseconds. Worse, virtual machines must be run in constrained modes where executing "privileged" instructions (instructions that change machine state) have to be replaced or trapped, and then emulated in software. This causes substantial overhead, especially for I/O intensive workloads.
Instead, Oracle VM Server for SPARC gives each domain its own CPUs, which it can use at native speed. No timeslicing is needed, and guest operating systems can execute instructions that change machine state (eg: memory mapping or interrupt masks) run safely (in the virtual machine only) and without penalty. An elegant solution to a 40-year old problem.
New FeaturesEnough review - let's list the new features:
- Live Domain Migration - This is probably the most notable new feature, which I'll discuss further in a later post.
OVMSS 2.1 introduces "live migration", in which a virtual machine can be migrated between hosts
while continuing to run. This contrasts with the previous "warm migration" used to migrate running domains from
one host to another. In warm migration, a guest operation is suspended while its memory contents
and state are transfered from the "source" host to the "target", and then resumed. This could cause lengthy periods during
which the domain was unresponsive, though it would then resume from where it was without a reboot.
Now, warm migration copies a domain's state while it continues to run. Subsequent passes over the domain's memory retransmit the portion of memory that changed on the source system after being copied. A final pass, while the domain is briefly suspended, transmits residual changed memory contents.
Like with warm migration, memory contents are always compressed and encrypted (using the hardware crypto accelerators built into the T-series servers) before being transmitted across the network from source to target system. This is an essential security practice - consider credit card numbers or passwords that might otherwise be transferred in clear text. Unfortunately, some virtualization technologies from other vendors do not encrypt memory contents before transmission.
- CPU Dynamic Resource Management (DRM) - DRM was introduced in LDoms 1.3 and is now enhanced so a higher priority guest domain can take CPUs away from a lower priority domain. This occurs for guests that are under DRM control when a higher priority domain needs more CPUs to meet its utilization targets and no unallocated CPUs are available.
- DTrace enablement - the logical domain framework now exposes DTrace probes so you can introspect on domain activity
- Improved allocation and deallocation of CPUs and crypto units - the constraints engine is smarter about allocating and deallocating CPUs. For example, when removing CPUs from a domain it will try to avoid taking CPUs from cores allocated entirely to the guest, which helps improve Level 1 cache performance. It also tries to avoid taking CPUs away from cores where the guest has been allocated a crypto accelerator. If it does remove a guest's last CPU from a core where it has been allocated the crypto accelerator, it deallocates the accelerator from the domain - a usability enhancement.
There are other changes, plus bug fixes and performance improvements, but the above are the highlights. Please have a look at Oracle's virtualization blog for more.