Virtualization B. Ramamurthy
References • Practical Virtualization Solutions: Virtualization from the Trenches by K. Hess and A. Newman, Prentice-Hall Inc., 2009, ISBN 13: 978-0-13-714297-2. • P. Li. Selecting and using virtualization solutions – our experiences with VMware and Virtualbox, CCSC 2009, vol.25, no.3, Jan 2010, pp.11-17.
Moore’s law • Intel co-founder Gordon Moore is a visionary. His prediction, popularly known as Moore's Law, states that the number of transistors on a chip will double about every two years. Intel and other semiconductor companies kept that pace for over 40 years. • GPU’s performance and functionality have been increasing at a faster pace than Moore’s law.
Recent Advances • Multi-core: how to fully harness the power of multi-core? Intel has been trying really hard to make us all program for multi-core!!! • Large scale data: How to manage large scale data? Google, Yahoo, NSF and CRA have been promoting their file systems and MapReduce!! • Parallel processing of data: How to configure clusters to process data in parallel? • Answer: Virtualization?
Virtualization • Virtualization is creation of an alternative to actual version of something: • virtual memory (more memory than physically available), • virtual time (buffering provides virtual/effective download time that less than the actual time), • Virtual hardware, desktop, disk, appliances, scenes, • Virtual worlds • In our context it is realizing one or more complete computer systems as guests on the base machine/operating system. • This offers an excellent conduit for delivering the vastly underutilized power of the multi-core and other resources such as storage and devices.
Early days of VM • Technology was initially popularized in 1960’s by IBM. • IBM 370 /VM • 1990 VMware released its virtualization product: slow, based on x86 platform (no multi-core), expensive • Now, we have • VMware suite; • MS virtual PC, Hypervisor; • QEMU (Quick Emulator): open source • XEN • OpenVZ • KVM • VirtualBox
Types of Virtualization • Bare metal virtualization (Hypervisor?): A system is installed directly on the hardware rather than on the host operating system • Difficult parts of the underlying hardware need not be virtualized • Paravirtualization: is a virtualization technique that presents a software interface to virtual machines that is similar but not identical to that of the underlying hardware: VMware, XEN • A hypervisor as a privileged level accessing the hardware • On top of the hypervisor is the guest system • Hardware-Assisted Virtualization (HVM): Zen-HVM allows interaction between paravirtualized system and the hypervisor
HostOS/GuestOS Products • VMware server: introductory package for small environments: limited use in large environments • Sun(now Oracle) xVM or Virtual Box: favorite among academicians as well as the authors of this text. Adjustable video memory, remote device connectivity, RDP connectivity, snappy performance, may be best hosted virtualization package.
Hypervisor Products • Hypervisor: Hypervisor is a bare metal approach; is installed on the bare metal and then the operating systems is installed (paravirtualized); the operating system is designed as VM zero. • Ex: VMware ESXi: 32MB footprint! • Hardware is virtualization optimized • VM management via Direct Console User Interface (DCUI) at the physical console of the server system • Vmkernel allows for remote mangementvis a set of APIs and agents.
Hypervisor-based Products • Citrix Xen: Earlier versions (<=3.0) were very slow. >4.0 version is very fast and the speciality is the template engine, high end virtualization • VMware ESX/ESXi: enterprise virtualization at its best. Free product • Microsoft Hyper-V: above products are Linux based and MS came up with Windows server version of virtualization in this product.
Emulation-based Products • Emulation refers to the capability to mimic a particular type of hardware for an operating system regardless of the underlying host operating systems. • Ex: Sparc version of Solaris on a non-Sparc machine. • Slow; • Examples: Bochs, QEMU, MS Virtual PC and Virtual Server • Bochs is a free, open source Intel architecture x86b (32-bit) emulator that runs on Unix, Linux, Windows, and Mac OS • QEMU is another free, open source emulation program that runs on limited number of host archs.: x86, Sparcx, MIPS, PowerPC, m68K guest OS.
Emulation Products (contd.) • MS Virtual PC is a software package from Microsoft. • For windows env. These are good products.
Kernel-level Virtualization • Multiple root systems • VM uses its own kernel to boot the guest VM (called root file system) • Examples: KVM (Kernel Virtual Machine): modified QEMU but uses virtualization processor extension • User Mode Linux (UML) uses an executable kernel and a root file system to create a VM. UML is a part of Linux after 2.6.x kernels!
Shared kernel • Is also called Operating system virtualization or system level virtualization, takes advantage of the unique ability of Unix and Linux to share kernel with other processes in the system. • chroot is the command typically used • Container-based virtualization • Examples: Solaris container zones, • OpenVZ
Recommendation • Xen • VMware ESX • MS Virtual PC (for Windows env.) • For us: VMware server and Sun’s Virtual box Finally, there are other products besides these and many more to appear esp. with the explosion of cloud computing.