Survey of Server Virtualization: Radhwan Y Ameen Asmaa Y. Hamo
Survey of Server Virtualization: Radhwan Y Ameen Asmaa Y. Hamo
Abstract— Virtualization is a term that refers to the abstraction into several logical instances and to run on single physical
of computer resources. The purpose of virtual computing mainframe hardware as the host. This feature was invented
environment is to improve resource utilization by providing a because maintaining the larger mainframe computers became
unified integrated operating platform for users and applications cumbersome. The scientist realized that this capability of
based on aggregation of heterogeneous and autonomous partitioning allows multiple processes and applications to run at
resources. More recently, virtualization at all levels (system, the same time, thus increasing the efficiency of the
storage, and network) became important again as a way to environment and decreasing the maintenance overhead[15].
improve system security, reliability and availability, reduce
costs, and provide greater flexibility. Virtualization has rapidly II. VIRTUAL MACHINE
become a go-to technology for increasing efficiency in the
data center. With virtualization technologies providing A. Virtual Machine History
tremendous flexibility, even disparate architectures may be Virtual machines have been in the computing community
deployed on a single machine without interference This paper since 1960s, systems engineers and programmers at
explains the basics of server virtualization and addresses pros Massachusetts Institute of Technology (MIT ) recognized
and cons of virtualization . the need for virtual machines. In her authoritative discourse
Melinda Varian [15] introduces virtual machine technology,
Keywords- virtualization ,server ,hypervisor ,Virtual starting with the ccompatible Time-Sharing System (CTSS).
Machine Manager, VMM , para virtualization , full IBM engineers had worked with MIT programmers to
virtualization, OS level server. develop a time-sharing system to allow project teams to use
part of the mainframe computers. Varian goes on to describe
I. INTRODUCTION the creation, development, and use of virtual machines on the
IBM OS/360 Model 67 to the VM/370 and the OS/390 [15].
Virtualization is a technique for hiding the physical
Varian’s paper covers virtual machine history, emerging
characteristics of computing resources from the way in which
virtual machine designs, important milestones and meetings,
other systems, applications, or end users interact with those
resources. It introduces a software abstraction layer between and influential engineers in the virtual computing community.
the hardware and the operating system and applications In 1973, Srodowa and Bates [14] demonstrated how to
running on top of it [9] [ l ].This abstraction layer is called create virtual machines on IBM OS/360s. They describe the
virtual machine monitor (VMM) or hypervisor and basically use of IBM’s Virtual Machine Monitor, a hypervisor, to build
hides the physical resources of the computing system from the virtual machines and allocate memory, storage, and I/O
operating system (OS). Since the hardware resources are effectively. Srodowa and Bates touch on virtual machine
directly controlled by the VMM and not by the OS, it is topics still debated today: performance degradation, capacity,
possible to run multiple (possibly different) OSs in parallel on CPU allocation, and storage security.
the same hardware. As a result, the hardware platform is Goldberg concludes “the majority of today’s computer
partitioned into one or more logical units called virtual systems do not and cannot support virtual machines. The few
machines (VMs). ”Virtuality” differs from ”reality” only in the virtual machine systems currently operational, e.g., CP-67,
formal world, while possessing a similar essence or effect. In utilize awkward and inadequate techniques because of
the computer world, a virtual environment is perceived the unsuitable architectures“ [16].
same as that of a real environment by application programs and Goldberg proposes the “Hardware Virtualizer,” in which a
the rest of the world, though the underlying mechanisms are virtual machine would communicate directly with hardware
formally different. instead of going through the host software. Nearly 30 years
Virtualization was first developed in 1960’s by IBM later, industry analysts are excited about the announcement of
Corporation, originally to partition large mainframe computer hardware architectures capable of supporting virtual machines
(IJCSIS) International Journal of Computer Science and Information Security,
Vol.11, No. 3, 2013
efficiently. AMD and Intel have revealed specifications for many virtual machines and shares system hardware
Pacifica and Vanderpool chip technologies with special components such as CPUs, controllers, disk, memory, and I/O
virtualization support features. among virtual servers" [18].
The 1980s and early 1990s brought distributing computing
C. Virtual Machine Types
to data centers. Centralized computing and virtual machine
interest was replaced by standalone servers with dedicated Virtual machines are implemented in various forms.
functions: email, database ,Web, applications. Mainframe, open source, para virtualization, and custom
After significant investments in distributed architectures, approaches to virtual machines have been designed over the
renewed focus on virtual machines as a complimentary years. Complexity in chip technology and approaches to
solution for server consolidation projects and data center solving the x86 limitations of virtualization have led to three
management initiatives has resurfaced [17]. different variants of virtual machines:
Recent developments in virtual machines on the Windows 1. software virtual machines (see Figure 2), which manage
x86 platform merit a new chapter in virtual machine history. interactions between the host operating system and guest
Virtual machine software from Virtuozzo, Microsoft, Xen, and operating system (e.g., Microsoft Virtual Server 2005);
EMC (VMWare) has spurred creative virtual machine
solutions. Grid computing,computing on demand, and utility
computing technologies seek to maximize computing power in
VM VM VM
an efficient, manageable way.
The virtual machine was created on the mainframe. It has Hypervisor
only recently been introduced on the mid-range, distributed,
x86 platform. Technological advancements in hardware and Host Operating System
software make virtual machines stable, affordable, and offer
tremendous value, given the right implementation.
Host Hardware
B. Virtual Machine Concepts Fig. 2 Software virtual machines
Goldberg R. P defined Virtual machines as :"A 2. hardware virtual machines (see Figure 3), in which
system...which...is a hardware-software duplicate of a real virtualization technology sits directly on host hardware (bare
existing machine, in which a non-trivial subset of the virtual metal) using hypervisors, modified code, or APIs to facilitate
machine's instructions execute directly on the host machine..." faster transactions with hardware devices (e.g., VMWare
[22,23].While Goldberg R, June defined Virtual machines as: ESX);
"A virtual machine is taken to be an efficient, isolated
duplicate of the real machine. We explain these notions
through the idea of a virtual machine monitor” (VMM). VM VM VM
See Figure 1.
VMM
Hypervisor
Hardware Host Hardware
Fig. 3 Hardware virtual machines.
Advantages:
provides the guest OS with the illusion of a standard
physical server with well-defined hardware devices.
Fig 8 Hosted OS, application-layer abstraction virtualization
No need to modified guest OS.
Disadvantages: iv. Hardware- assisted virtualization (full virtualization,
low performance efficiency bare-metal virtualization)
With hardware-assisted virtualization (sometimes referred
design complexity due to the incapability of classical
to as full virtualization) as shown in figure 9, the hypervisor is
trap-and-emulate virtualization
assisted by the processor hardware such as AMD-V or Intel
VT-x processor virtualization technologies. In this scenario,
(IJCSIS) International Journal of Computer Science and Information Security,
Vol.11, No. 3, 2013
when the guest OS makes a privileged instruction call, the is that it does not simulate hardware resources but instead
processor (CPU) traps the instruction and returns it to the offers a special Application Programming Interface (API) to
hypervisor to be emulated. Once the operation is serviced by hosted virtual machines. Examples of this approach are Xen,
means of the hypervisor, the modified instruction is returned Denali and User-Mode Linux (UML) [36] [26][31][1][6]
back to the CPU for continued execution. Hardware assistance [3][7] [35] [ 37] [38].
reduces the software overhead required by the hypervisor.
Hardware assistance from AMD-V and Intel VT-x Advantages:
technologies extends the x86 instruction set with new significant performance improvements over other
instructions that affect the processor, memory, and local I/O virtualization solutions
address translations. The new instructions enable guest
Disadvantages:
operating systems to run in the standard Ring-0 architectural
The VM OS must be modified.
layer, as they were designed to do, removing the need for ring
compression. Examples of this approach are Microsoft Hyper-
v, Citrix Xen , Parallels Workstation, Virtual Iron and
VMWare ESX Server [26][31][1][7][8][35] [ 37] [38]
Advantages:
Performance .
Products are distributed as appliances or server OSes.
Disadvantages
Vendor publishes a hardware compatibility list (HCL)
that dictates what hardware can be used with their Fig. 10 The Paravirtualization approach
virtualization product. [36]
vi. Hosted OS, kernel-layer abstraction (OS Containers
virtualization, Single Kernel Image (SKI))
Kernel-layer abstraction as shown in figure 11, refers to a
technique in which the abstraction technology is built directly
into the OS kernel rather than having a separate hypervisor
layer. System - level virtualization is based on the change root
(CHROOT) concept that is available on all modern UNIX -
like systems.. The direct access to hardware could potentially
provide greater performance than using a binary translation
technology; however, because there is no separation between
Fig. 9 The hardware assist approach the hypervisor and the operating system, there is the
possibility that resource conflicts may occur between multiple
v. Paravirtualization virtual machines. Virtual OS containers do not use hypervisors
Paravirtualization as shown in figure 10, refers to a (or VMM), which is a software application that works to
technique in which the guest OS includes modified manage the logical separate of physical resource [40]. They
(paravirtualized) I/O drivers for the hardware. Unlike a binary use containers, or sandboxes, called chroot, to partition the
translation approach, the hypervisor does not need to trap and host operating system into containers or zones (e.g., Solaris
translate all privileged layer instructions between the guest OS Zones, BSD Jail), so multiple applications can run in isolated
and the actual server hardware. Instead, the modified guest OS partitions on a single operating system. [26][31] [35] [ 37]
makes calls directly to the virtualized I/O services and other this concept implements virtualization by running more
privileged operations. Therefore, paravirtualization techniques instances of the same OS in parallel. This means that not the
have the potential to exhibit faster raw I/O performance than hardware but the host OS is the one being virtualized[1] OS-
binary translation techniques. Some of the hypervisor layer virtualization tends to be more efficient and fails only by
implementations that use this method (Citrix XenServer, Red little to provide the same isolation [41]. Examples of this
Hat Enterprise Linux 5, and SUSE Linux Enterprise) are approach are FreeBSD ’ s chroot jails, FreeVPS, Linux
unique in that they support paravirtualization when using a VServer, OpenVZ, Solaris Zones and Containers, and
modified guest OS and hardware-assisted virtualization when Virtuozzo. [8] [38].
the guest OS is not virtualization-aware. Device interaction in Advantages:
paravirtualized environment is very similar to the device
interaction in full virtualized environment; the virtual devices Performance
in paravirtualized environment also rely on physical device Reduced disk space requirements, containers can use
drivers of the underlying host. Where paravirtualization differs the same files
(IJCSIS) International Journal of Computer Science and Information Security,
Vol.11, No. 3, 2013
Disadvantages: Type 1 and Type 2 (see Figure 13,14). A Type 1
The VM OS must be the same OS as the host OS. [36] hypervisor, also known as a native or bare metal hypervisor,
type 1 hypervisors run directly on the system hardware. The
following figure shows one physical system with a type 1
hypervisor running directly on the system hardware, and three
virtual systems using virtual resources provided by the
hypervisor.
A Type 2 hypervisor, also known as a hosted hypervisor, it
run on a host operating system that provides virtualization
services, such as I/O device support and memory management.
The following figure shows one physical system with a type 2
hypervisor running on a host operating system and three
virtual systems using the virtual resources provided by the
hypervisor.[25][29]
Fig.11 Containers virtualization