Anda di halaman 1dari 16

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/326972348

Literature Survey and Review: Virtualization Technologies

Article · December 2016

CITATIONS READS
0 891

2 authors:

Sugumar T N N. Rajam Ramasamy


Coimbatore Institute of Technology Coimbatore Institute of Technology
2 PUBLICATIONS   0 CITATIONS    5 PUBLICATIONS   107 CITATIONS   

SEE PROFILE SEE PROFILE

All content following this page was uploaded by Sugumar T N on 11 August 2018.

The user has requested enhancement of the downloaded file.


International Journal of Printing, Packaging & Allied Sciences, Vol. 4, No. 2, December 2016 1135

Literature Survey and Review: Virtualization


Technologies
T.N. Sugumar and Dr.N. Rajam Ramasamy

Abstract--- Virtualization is a framework used to optimize the utilization of computing resource either through
aggregation or dividing the existing system virtually. In this process, the actual or initial configuration of the
system is hidden or masked from the end user. This technique enables hardware independence, isolation,
encapsulation and compatibility. This article presents an investigation on various virtualization technologies and
techniques in practice. This study mainly focused parallel virtual machines on a single desktop that brings to the
virtualization environment. The Virtual Machine (VM) performance is evaluated based on its data retrieval across
the platform, security solutions and monitoring process. However, this review paper is a result of the survey of 60
research articles that were published in the leading international journals. The purpose of this literature review is to
look at virtualization environment from the perspective of the authors. Also, this paper aims to provide a critical
understanding of what already exists in virtualization, what needs to be done in virtualization and implementation of
virtualization environment.

Keywords--- Aggregation, Hardware Independence, Isolation, Encapsulation, Performance Evaluation.

I. INTRODUCTION
Virtualization is a framework that aggregates or partitions the physical computing resources to offer dissimilar
operating environments by various methodologies and techniques. Virtualization hides the complexity and
heterogeneity of the core hardware. On the top of core hardware, many operating systems were running all at once
by this technology. The concept of virtualization that divides a physical machine into one or more isolated machines
is called as a virtual machine [1] (VM). At the time of VM creation, the attributes of VM like hardware
independence, isolation, encapsulation, compatibility, control, equivalence and performance are set automatically.

The isolation of VM can be made by the virtualizable processor, which allows any instruction altering or
examining machine state to be trapped when executed in any, but the highest privileged mode. Normally, a machine
operates in two modes: user and supervisor. In supervisor mode, the privileged/non-privileged instructions can be
executed, where in the operating system (OS) runs where as only non-privileged instructions can be executed in user
mode. Before handing over CPU control to the user, the OS sets the mode bit to user. In user mode, if privileged
instruction is executed in OS then interrupt is invoked and it is to be serviced by interrupt service routine (ISR).

The duplication process of the physical machine by using a software, mapping is the process of trapping
software routines and passing instructions to the physical machine is called emulation. The imitation process is to

T.N. Sugumar, Assistant Professor, Department of Computing, Coimbatore Institute of Technology, Coimbatore, Tamil Nadu, India.
Dr.N. Rajam Ramasamy, Associate Professor, Department of Mechanical Engineering, Coimbatore Institute of Technology, Tamil Nadu,
India.

ISSN 2320-4387 | © EDITOR IJPPAS


International Journal of Printing, Packaging & Allied Sciences, Vol. 4, No. 2, December 2016 1136

accept the pre-defined inputs and providing the pre-defined responses is called simulation. An emulated hardware,
VM, managed by the software is called a virtual machine monitor (VMM) or hypervisor.

In this paper, the virtualization technologies are classified in different abstraction levels. Using these
technologies and techniques, and how they are used for implementing the researches, is surveyed and summarized
based on the classifications and levels discussed by the research papers. The creation of abstraction by the
virtualization software using virtualization layer at the different levels of a computer is discussed in the next section.
The Virtualization layer consists of instruction set architecture (ISA) level, hardware abstraction layer (HAL) level,
operating system level, library support level, and application/programming language level. An overview of the
classifications and products of the hypervisor is discussed in the later section.

II. ABSTRACTION LEVELS OF VIRTUALIZATION


2.1. Instruction Set Architecture (ISA) Level

Virtualization is implemented by emulating an ISA completely in software. An emulator executes instruction


issued by guest machine (VM) by translating them to asset of native instructions and then executing on available
hardware. With this approach, it is possible to execute a bulk of legacy binary code written for different processors
on any given new hardware host machine. Creating virtual ISAs was leaded by instruction set emulation on any
hardware machine. This emulation method is done through code interpretation. An interpreter is a program that
interprets instructions from the source to target one by one. One source instruction performed its function that
required tens or hundreds of native target instructions. This translation is relatively slow. To get the better
performance, dynamic binary translation method is required. By this method, a block of source instructions is
translated into target instructions. A virtual ISA requires adding a layer of processor-specific software translation to
the compiler. Examples: Bochs, QEMU, Crusoe, and BIRD.

2.2. Hardware Abstraction Layer (HAL) Level

Virtualization at this level exploits the resemblance in guest architectures and host platforms to cut down the
interpretation latency. Virtualization technique helps map the virtual resources to physical resources and use the
native hardware for VM computations. When an emulated machine communicates the physical resources, the
simulator takes over and multiplexes appropriately. It is performed on top of the bare hardware. This approach
generates a VM in virtual hardware environment. The computer resources are virtualized, such as its processors,
memory, and I/O devices. The objective of this virtualization is, to increase the hardware utilization by multiple
users concurrently. Examples: Xen, VMware, VirtualBox, VirtualPC, Denali, User-Mode- Linux (UML), and
Plex86.

2.3. Operating System Level

The virtual machines at this level, the hardware and OS can be shared on the real machine and on top of the OS,
multiple independent and isolated machines are presented to the user by the virtualization layer. At this level,
isolated containers were created in a single server and that behaved like a real server. Both the hardware and
software were utilized for the OS instances. Also, the virtual hosting environments created hardware resource

ISSN 2320-4387 | © EDITOR IJPPAS


International Journal of Printing, Packaging & Allied Sciences, Vol. 4, No. 2, December 2016 1137

allocation among more number of untrusted users. During server consolidation, the individual host services can be
moved to the containers/VMs on one server. Examples: FreeBSD Jail, Ensim, and Linux-Kernel-Mode
Virtualization, FUSE and NetBSD Linux Emulation.

2.4. Library Support Level

The application binary interface (ABI) gives a program access to the hardware resources and services available
in a system through the user ISA and the system call interface. The ABI does not include system instructions; rather,
the hardware resources communicated indirectly by the application programs by calling the operating system’s
services via the system call interface. System calls provide to perform operations on behalf of a user program after
validating their authenticity and safety. The application programming interface (API) gives a program that accesses
the system services and resources via the user ISA supplemented with high-level language (HLL) library calls. Any
system calls are performed through libraries. Virtualization techniques are used to implement a different ABI and/or
a different API using the underlying system. Such techniques are done by the ABI/API emulation. Virtualization
with library interfaces is controlling the communication link between the applications and the rest of a system
through API hooks. Using this approach, WINE software tool supports Windows applications on top of UNIX hosts
and vCUDA software tool allows to execute applications within VMs to leverage GPU hardware acceleration [2].
Other examples: WABI, LxRun, OpenGL, Mocking and Visual MainWin.

2.5. User-Application Level

Virtualization at this level virtualizes an application as a VM, which executes as a process in traditional OS. It is
also called as process-level virtualization and deploys in high level language (HLL) VMs. The process involves
packaging of isolated application VM from the host OS and other applications. At this level, the created VM
behaves like a machine that supports a set of applications and a new self-defined set of instructions. Application VM
resides on top of the OS and deploys self-contained executable files as application software in an isolated
environment exclusive of installation, system modifications, or elevated security privileges. Examples: Microsoft
.NET CLR, Java Virtual Machine (JVM) and Parrot.

III. VIRTUALIZATION IMPLEMENTATION TECHNIQUES


3.1. Guest Operating System Virtualization

It is the physical host computer system that runs a standard unmodified OS. Using virtualization application, one
or more virtual machines are created, which are operated by the guest OS on top of host OS. The virtualization
application performs certain operations for each VM like start, stop and manage. On behalf of each VM, the physical
hardware resources can be accessed and controlled efficiently by the virtualization application. The virtualization
application keeps binary rewriting process, which includes scanning of guest system instruction flow of execution
and changing any privileged instructions by secured emulations. The guest system is thinking that it runs on a bare
machine directly. Examples: VMware Server and VirtualBox.

ISSN 2320-4387 | © EDITOR IJPPAS


International Journal of Printing, Packaging & Allied Sciences, Vol. 4, No. 2, December 2016 1138

3.2. Shared Kernel Virtualization


It works in two major components of Linux or UNIX OS. First, Kernel is the core of the OS and handles all
communications between OS and physical hardware. Second, the root files system which consists of all libraries,
files and utilities for OS to function. Under shared kernel virtualization, each VM has its own root file system, but
shares the kernel of the host OS, and to change the current root files system to different root files system without
rebooting the entire system, dynamically, known as chroot. Drawback: the guest OS must be compatible with kernel
versions, which is being shared. Examples: Linux VServer, Solaris Zones and Containers, FreeVPS and OpenVZ.

3.3. Kernel Level Virtualization

The host OS runs on a specially modified kernel, which includes to manage and control multiple VMs each
containing a guest OS. Unlike shared kernel virtualization, each guest runs its own kernel, although similar
restrictions apply in that the guest OS must have been compiled for the same hardware as the kernel in which, they
are running. Examples: User Mode Linux (UML) and Kernel-based Virtual Machine (KVM).

3.4. Hypervisor Virtualization

The x86 CPU families offer various protection levels, like system space, kernel mode or supervisor mode called
as rings in which the code can execute. Under hypervisor virtualization, hypervisor or type 1 VMM is a software
program that runs directly on the host machine in ring 0, i.e., highest level privilege. The task of this hypervisor is to
handle resource allocation and memory allocation for the VM in addition, to providing interfaces for higher level
administration and monitoring tools. Any guest OS kernels running on the system must run in ring 3, i.e., less
privilege.

A hypervisor can be a firmware, hardware and piece of software that provides an impression to the guest
machines, as if they were operating on a real or physical hardware. It allows many operating systems to share a
single host and its hardware. It controls demands by virtual machines to access to the hardware resources, like CPU,
RAM, NIC, etc, acting as an independent machine. It is also known as Virtual Machine Monitor (VMM). The
hypervisor can be categorized into two types, such as Type I Hypervisor and Type II Hypervisor [3].

• Type I Hypervisor: It is also known as native or embedded or bare metal, as it directly runs on top of the
underlying hardware. It does not have an OS running below it. In this case, VMM is a small code which is
responsible for scheduling and allocating of the system’s resources between virtual machines. It is more
secure than Type II Hypervisor. Example: VMware ESX and Xen.
• Type II Hypervisor: The host OS does not have any knowledge about Type II VMM; it treats it as any other
process. The OS run inside of the Type II VMM is referred to as the Guest OS. It typically performs I/O on
behalf of guest OS. The guest OS issues the I/O request that is trapped by host OS that in turn send to device
driver that perform I/O. The completed I/O request is again routed back to the guest OS via host OS. It is
less secure than Type I, because any security Vulnerabilities that lead to the compromise of the host OS will
also give full control of the guest OS. The Host OS are heavyweight than Type I. Example: VMware GSX
(Workstation) and UML (User-Mode Linux)[4].

ISSN 2320-4387 | © EDITOR IJPPAS


International Journal of Printing, Packaging & Allied Sciences, Vol. 4, No. 2, December 2016 1139

Fig. 1: Type I Hypervisor Runs Directly on the Fig. 2: Type II Hypervisor Runs Directly on the Host
Hardware OS

3.4.1. Full Virtualization or Native Virtualization


The unmodified OS preserves guest OS kernel and consequently executes instructions in privileged level as ring
0. The full virtualization offers support for unmodified guest OS. The hypervisor provides CPU emulation to handle
and modified privileged and protected CPU operations made by unmodified guest OS kernels. Unfortunately, this
emulation process needs mutually computing time and system resources to operate resulting in lower performance
levels when compared to paravirtualization.

3.4.2. Para Virtualization


The guest OS kernel is modified exclusively to run on the hypervisor. The hypervisor performs the task for the
guest kernel. This limits support to open source Linux OS, which may be freely modified and proprietary operating
systems, where the owners have decided to build the essential code modifications to target a specific hypervisor. In
spite of these issues, the ability of the guest kernel to directly communicate with the hypervisor results in greater
performance levels compared to other virtualization.

3.4.3. Hardware Assisted Virtualization


It is a new CPU execution mode. In this mode, the hypervisor is permitted to run in supervisor mode. This mode
allows privileged and sensitive calls to trap the hypervisor. Since 2006, AMD-V x86 and Intel VT-X processors
enable built-in hardware virtualization that create a trusted "supervisor mode" and an untrusted "non-supervisor
mode". The hypervisor resides in the supervisor mode whereas, the guest OS resides in the non-supervisor mode
and the hypervisor is responsible for resource allocation and I/O device interaction.

IV. OTHER TYPES OF VIRTUALIZATION


4.1. Application Virtualization
In this virtualization, a server application is accessed and executed by the user locally using the local resources
without this application required on user machine. Applications are virtualized and designed to run in a small virtual
environment containing the only resources required for the application to execute. Accordingly, each user has an

ISSN 2320-4387 | © EDITOR IJPPAS


International Journal of Printing, Packaging & Allied Sciences, Vol. 4, No. 2, December 2016 1140

isolated application environment virtually in this virtualization. This small isolated virtual environment acts as a
layer between the application and the host operating system.

4.2. Network Virtualization


It suggests functionality decoupling in a networking environment by dividing the role of Internet Service
Providers (ISPs), such as infrastructure providers (InPs), that administer the physical infrastructure, and service
providers (SPs), who create virtual networks (VNs) by consolidating resources from many infrastructure providers
and recommend end-to-end network services [5]. A networking environment supports network virtualization, if it
allows concurrent of multiple VNs on the same physical substrate. A virtual network is a subset of basic physical
network resources. In network virtualization environment (NVE), each VN is an aggregation of virtual nodes and
virtual links, and the local or external network accessed by one or more virtual machines using the physical network
adaptor linked to physical machine. It can be connected to logical network adaptor without physical network adaptor
[6].

4.3. Storage Virtualization


Storage virtualization is comprised of a set of technologies that create an abstraction layer between the logical
storage and physical storage systems. Many storage devices in a network will be logically pooled into what appears
to be a single storage device. The storage pool can be managed from a central console. This technique can be
divided into file virtualization and block virtualization. Block virtualization focuses on creating virtual disks, so that
the distributed storage networks appear as one (physical) storage system. File virtualization creates a virtual file
system of the storage devices in the network. It involves uniting multiple storage devices into a single logical pool of
files. It keeps track of which files reside on which storage devices and maintains a global mapping of file locations.
It hides the physical complexity from applications and storage administrators, making it possible to manage it as a
single resource [7].

4.4. Automotive Virtualization


This technology needs to be adapted to the constraints and requirements of a real time environment. The first
requirement is for the guest OS, which is typically an Automotive Open Software Architecture (Auto-SAR) OS that
runs un-modified, as on bare hardware. Second, the embedded control software implementing an actuator control
loop and consisting of sensor input, processing and actuator output is quite heavy on IO operations. Third, an
automotive control system is a closed system. Its configuration is known and static. Its partitioning is defined by the
systems engineer and is dynamically changed at runtime, if at all; only within the manageable bounds in case,
reconfigurability is needed for fault tolerance in fail operational systems [8].

4.5. Desktop Virtualization


It is the partition of desktop which consists of an operating system, applications and user data, from the
underlying endpoint or desktop computer that it is used to access the desktop. It can be divided into the client side
and server side. With server side desktop virtualization, the centralized server applications are executed remotely by
the end-user, and streamed towards the endpoint through either Remote Display Protocol or other

ISSN 2320-4387 | © EDITOR IJPPAS


International Journal of Printing, Packaging & Allied Sciences, Vol. 4, No. 2, December 2016 1141

presentation/access virtualization technology [9]. A desktop can be controlled from remote location is called
presentation/access virtualization, because the images of screen are streamed from one location to another. With
client side desktop virtualization, the applications are executed at the endpoint from the user location and presented
locally on the user’s computer.

4.6. Parallel Desktop Virtualization


Parallel desktop for Mac processor is a hardware emulation technology with hypervisor that communicates the
virtual machine resources directly to the host machine resources. Each virtual machine runs identically to the host
machine. All the guest VMs utilize the same hardware drivers regardless of the actual hardware on the host machine.
VM instances are highly portable among the computers. This VM operating processes are copying, stopping and
restarting. This virtualization is utilizing the Apple–Intel architecture to Macintosh computers, which is
manufactured by the Apple Inc. that uses Intel x86 processors. Apple preferred the Intel-designed Extensible
Firmware Interface (EFI) as similar component to the Open Firmware used on its PowerPC architectures and as the
firmware-based substitution for the PC BIOS from Intel.

V. LITERATURE SURVEY DESIGN


This literature survey was motivated by the emerging technology of virtualization to diverse in techniques and its
applications which resulted in numerous research publications in the recent years. The next section shows the survey
finding. In total, 186 research papers published in scholarly journals in the last two decades are investigated and
grouped under the abstraction levels as per the methodology used, architectures, complexity, security, performance
and applications. The papers under these groupings are reviewed from Section 5.1 till Section 5.7.

5.1. Survey Findings


Fig. 3 shows the number of research papers published in year-wise. Prior to 2000, very few publications
appeared in the journals and then gradually increased from 2005 onwards. Maximum numbers of research papers
were published in various areas from 2007 onwards.

Fig. 3: Year-wise Publication

ISSN 2320-4387 | © EDITOR IJPPAS


International Journal of Printing, Packaging & Allied Sciences, Vol. 4, No. 2, December 2016 1142

5.2. Survey Findings in Instruction Set Architecture (ISA) Level


In ISA, the authors furnish a detailed overview of the architecture and various processor models. The authors
have made several benchmarking performance analysis tests.

Robert L. Bocchino, et al (2006) [10], presented Vector LLVA, processor-level virtual instruction set that
precisely designed vector computations encoding in support of media processing hardware. They implemented
translators for Motorola RSVP, AltiVec and SSE-SIMD family processors from Vector LLVA and achieved high
performance libraries and simply writing application programs in source-level language extensions for Vector
LLVA model. Stephen Wright, (2009) [11], described the EventB notation permitted a captured abstract model of
binary ISA generic properties, subsequent machine refinement and provided reusable template for development of
proven ISAs formally, and EventB refinement process permitted reusability maximization, incremental structure in
abstract model, and concretization for automatic conversion to implementation. Pedro Martinez-Julia, et al (2013)
[12] had introduced the architecture, GVA, which resolved the filling gap in the future internet using overlay
network with extensive virtualization and robust control plane and the locators and identifiers and the separation
attained by the group of CVL and I2, and its provided heterogeneity and scalability of underlying architectures.

5.3. Survey Findings in Hardware Abstraction Layer (HAL) Level

Bryan D. Payne, et al (2007) [13], introduced sound security protection approach that measured design
principles, which consists economy of mechanism, default fail-safe, entire mediation, open design, least privilege,
privilege separation, psychological acceptability and least common mechanism. Geoffroy Vallee, et al (2008) [14],
identified to implement the system-level solution in virtualization for high performance computing (HPC) in the
following challenges, like apt HPC hypervisor, VM environment (VE) support, high availability support and fault
tolerance capabilities, advances resource management capability support, system-level virtualization usage for
resource management, and I/O mechanism support and storage solution for VE to implement the system-level.
Monirul Sharif, et al (2009) [15], presented Secure In-VM Monitoring (SIM) framework that provided out-VM
monitoring guaranteed security with in-VM monitoring low performance overhead and they implemented SIM
prototype on KVM that performed security monitoring applications. Edison and Zakaria (2009) [16], surveyed the
development of virtual machine, including pure virtualization, para-virtualization, binary translation, pre-
virtualization and hardware-assisted virtualization. They examined the security, performance benefits and challenges
brought by VMM.

Muhammad and Hiroshi (2010) [17], presented the approach toward building a Web-based Computer Networks
laboratory (NVLab) where, the students can freely practice on designing, configuring, and troubleshooting a
network scenario. Virtualization enabled creating a number of networked VMs on one server, and VNC facilitated
remote access to the server hosting these VMs in order to configure them and test their work. Jiang Wang, et al
(2010) [18], proposed and analyzed a new architecture that attempts to use recent advances to provide enhanced
kernel isolation without sacrificing performance, extended the hypervisor capabilities with a lightweight VMM
which enforces “identity context” to all the assigned devices for each of the hosted kernels. Michael and Jivka
(2013) [19], offered the product development embedded systems in integrated virtual environments (VEs). It kept

ISSN 2320-4387 | © EDITOR IJPPAS


International Journal of Printing, Packaging & Allied Sciences, Vol. 4, No. 2, December 2016 1143

sufficient hardware resources and captured VEs requirements. Within VM, emulators eliminated the limitations of
accessing physical interfaces, but the result of this performance was reduced. Also, the merits of the virtualization
was more cost-effective during dynamic system allocation, reduction of time delays, disaster recovery, add to
availability of VM during hardware independence and effective data backup. R.K. Pateriya (2014) [20], reviewed
live migration of virtual machine to increase resource utilization and to reduce power consumption and observed
that the location of VM was a critical task for consuming energy with resource utilization. Minimizing the number
of servers and proper VM location achieved reduction of energy consumption. Łukasz Ogrodowczyk, et al (2014)
[21], defined the Hardware Abstraction Layer (HAL) enabled non-openflow capable devices, which tackled control-
place protocol and that supported different classes of network devices. Seongwook, et al (2015) [22], designed a
new hardware-assisted secure virtual machine (H-SVM), which isolated the VM memory in a secured manner under
risked hypervisor. This design implemented system prototype had proved low hardware complexity and feasibility
via threat model, where systems were protected from physical intrusions.

5.4. Survey Findings in OS-Level

Andrew D. Gordon (2006) [23] proposed a process calculus, V, with primitives to start and stop VMs and to read
and write data in a hierarchical store and V as a simple formalism for modeling OS virtualization might be useful for
programming and reasoning about various applications of virtualization, such as VM-based trusted computing or
VM-based computational grids. Yang Yu (2007) [24], demonstrated FVM framework applications, such as secure
mobile code execution service-prevention of untrusted content execution inside VM, vulnerability assessment
support engine-anonymous side effects isolation and cloning service scanned into VM, scalable web site testing-
identification of exploiting browser vulnerabilities, rendering untrusted sites and scrutinized their execution
behaviors, application deployment in shared binary service-patched, stored and managed, and display-only File
server distribution-protection from information theft by insiders. Goran Martinovic, et al (2010) [25], evaluated and
compared the performance of Windows XP, vista and 7 that installed on separate three VMs on a single physical
machine. Finally, they concluded the evaluation of VM performance by Windows OS that indicated best 7, poor
Vista and worst XP in virtual machines.

Wesam Dawoud, et al (2011) [26], proposed Elastic VM as a fine-grained vertical scaling architecture to
overcome the coarse-grained scaling-out overhead limitations in cloud. They proved that Elastic VM architecture
implies less consumption of resources, mitigates Service Level Objectives (SLOs) violation, and avoids scaling-up
overhead. Hadi Salimi, et al (2012) [27], proposed an optimization technique, virtual processor co-scheduling
method. This technique was described and evaluated through simulation that a higher system performance was
attainable, when concurrent and dependant jobs were mapped to executing processors at the same time. D. V.
Silakov (2012) [28], described a virtualization-based approach to protecting context of trusted processes running
inside potentially compromised environment. Protection system hypervisor monitored all events inside the operating
system and prevented unauthorized access to process resources. Fernando, et al (2012) [29], classified the
virtualization techniques from the OS view. They discussed two techniques that executed modified guest OSs:
operating system-level virtualization and para-virtualization and another two techniques that executed unmodified
guest OSs: binary translation and hardware assisted. Finally, they presented a summary of resource management

ISSN 2320-4387 | © EDITOR IJPPAS


International Journal of Printing, Packaging & Allied Sciences, Vol. 4, No. 2, December 2016 1144

facilities for capacity planning and consolidation of server applications. Yaozu Dong, et al (2014) [30], proposed a
solution called HYVI, grouping of hybrid for manageability and hardware for scalability and performance
virtualization. Using OS and vConsolidate benchmark, hardware acceleration was optimized and improved the
performance of hybrid virtualization, respectively.

5.5. Survey Findings in Application Level


Durelli, et al (2010) [31], conducted the study of systematic mapping on HLL VM. They classified contribution,
HLL VM implementation and type by the research papers, discussed the fundamental design and built the
components of contemporary JVM proof-of-concept implementation. In runtime, VM-integrated approach supported
weak mutation. Using this mutation, HLL VM capitalized among program execution and execution environment.
Yaohui Hu, et al (2012) [32], presented privacy-preserving check pointing (PPC) approach in VirtualBox VM
running on Linux OS, which enabled VM check pointing mechanism to find confidential user data, prohibited
memory locations and VM restoration in safe state before restarting process. Tudor-Ioan Salomie, et al (2013) [33],
introduced a new mechanism, application level ballooning (ALB) for reallocation of memory among the
applications that controlled its own memory running in collocated VMs. Carlos and Ricardo (2014) [34], focused the
use of Jail environment in cloud. They tested the performance of jail using the sharing of binaries, which it was
better than the virtualized systems for high availability. Shu-Sheng Guo, et al (2015) [35], proposed a new approach
called Transform-Extract-Load (TEL) based on data virtualization. This approach migrated from heterogeneous
databases and the various strategies: query, cache and disk objectification, based on various business scenarios.
They designed TELQ for real-time queries, TELS for single source and TELM for multisource heterogeneous data
migration. They experimented to evaluate this approach by three metrics such as low response time, huge space and
high execution efficiency.

5.6. Survey Findings in Kernel Level Virtualization


Francois Armand and Michel Gien,(2008) [36], presented two approaches, such as micro-kernel and hypervisor.
Here, the virtualization was an extension to OS in micro-kernel whereby, extension to the hardware in hypervisor.
At the end, the hypervisor approach used embedded systems was an alternative for complete OS as guest than the
microkernel functionality extension. Micro-kernel OS was used to execute applications and Linux processes when
introduced a new OS into their devices. Tzi-cker Chiueh et al (2009) [37], designed, implemented and evaluated a
mechanism called SADE, stealthy agent deployment and execution that required easy installation and hidden agent
code execution. Linux-based and Windows-based target VM scanned the kernel memory for other running user VM
on the same real machine using shared kernel memory scanner. Binbin Zhang, et al (2010) [38], evaluated and
optimized KVM I/O performance using two methods, such as VM Exit reduction via merging consecutive I/O
instructions and decreasing the timer interrupt frequency, Guest OS simplification by removing redundant
operations in the virtual environment. In virtual environment, useless operations are removed and bypass the I/O
scheduling in Guest OS whose results are rescheduled in Host OS. Xiaolin Wang, et al (2010) [39], proposed an
efficient method, called Competition in Bucket Method (CBM), to track VM exits online at any time. They found
the most frequent VM exits and then optimized them correspondently. For each VM exit, they used O(1) time to

ISSN 2320-4387 | © EDITOR IJPPAS


International Journal of Printing, Packaging & Allied Sciences, Vol. 4, No. 2, December 2016 1145

count the number of its appearance and at any time, K the most frequent VM exits extracted in O(K) time. The
experiment result proved that, CBM found the mostly frequent VM exits exactly.

Sanghyun Han and Hyun-Wook Jin (2011) [40], studied to extend XML schema defined by full virtualization
based ARINC 653, resource partitioning of avionics application software, to specify VMM for each partition. They
suggested the design of fixed-priority partition scheduler that supports Type-2 full virtualized environment. They
tackled the virtual machine boot-up overhead issue for a faster system startup. Hyunwoo Joe, et al (2012) [41],
designed a prototype, which is Type-II full virtualized hypervisor with kernel-level ARINC 653 partitioning on a
dual-core LEON4-based flight computer, Next Generation Multicore Processor(NGMP), for spacecraft. Sudha, et al
(2013) [42], discussed and compared the performance of a KVM and Type 2 hypervisor, under two different
configurations, KVM was adhered to the core and Type2 VM was not adhered to the core. With this configuration, a
test was conducted by Phoronix Test Suite’s Apache compilation and proved that the VMs performance was more
efficient when adhered to the core. Sudha M, et al (2014) [43], investigated the KVM and Linux containers (LXC).
The KVM and LXC performances were analyzed by computation and I/O. With these results, LXC proved as light
weight and better than KVM. Jordan Shropshire (2014) [44], investigated the micro and monolithic kernel
architectures that impacted on the size and attack the surface. Microkernel offered and agreed the tailored solutions
and simplified development process. Monolithic required a small amount of domain knowledge and provided the
tampering options. The author compared with the following features of architecture: Interrupts, hypercalls,
Monitoring Interface, API Controller, I/O and networking.

5.7. Survey Findings in Network Virtualization


Ming zhao, et al (2006) [45], accomplished the distributed file system virtualization techniques supporting on-
demand virtual machine environments for grid computing. It provided on-demand cross-domain access to VM state
for unmodified VM monitors; it enabled private file system channels for VM instantiation by secure tunneling and
session-key based authentication; it supported user-level and write-back disk caches, per-application caching
policies and middleware-driven consistency models; and it leveraged application-specific meta-data associated with
files to expedite data transfers. Chang-Hao Tsai, et al (2007) [47], explored the use of virtualization technology to
enable multi-tenancy for systems and network management tools with minimal. The multi-tenant reduced the cost of
hosting database servers and improved scalability. Chowdhury and Raouf Boutaba (2008) [48], surveyed the past
and the state of the art in network virtualization research that was flexible, and heterogeneous networking
environment. They created the challenges in terms of instantiation, operation, and management that coordinated
attention from researchers working in networking and other related fields for its success and wide acceptance. Yunfa
Li,et al(2010) [49], presented the technologies, such as virtualization, resource scheduling, migration, security and
performance evaluation. Also, they mainly focused present and future trends of virtual machine system, such as an
overview of the future CPU architecture, the management mode of future memory and resource, the future
maintaining method of system security and the performance evaluation method of future multiple virtual machine
system.

ISSN 2320-4387 | © EDITOR IJPPAS


International Journal of Printing, Packaging & Allied Sciences, Vol. 4, No. 2, December 2016 1146

Rabi Prasad Padhy, et al (2011) [50], surveyed the basic concept of virtualization, virtualization techniques,
technologies, and services. The evolution of datacenter transformation from traditional approach to virtualization i.e.
from dedicated processing to pool processing with strategic business values and methodologies were analyzed.
Shivani Sud, et al (2011) [51], proposed to experiment the dynamic migration of computation through virtualization
of the mobile platform, using high throughput WLAN/WPAN radios to achieve this transition. Pontus Skoldstrom,
et al (2012) [52], reviewed a number of different virtualization models and pointed out areas in the current Open
Flow specification that needed enhancements and suggested improvements to the protocol, either through
extensions or through restricting the usage of certain functionalities. They presented a highly flexible virtualization
system that enabled fair allocation of switch data path and the virtual network control channel resources. Md.
Motaharul Islam and Eui-Nam Huh (2013) [53], surveyed virtualization in sensor network in different area, such as
home automation, patient monitoring, battlefield surveillance, rock sliding and animal crossing in a mountainous
retain. Multi vendor sensor network architecture deployed for efficient utilization of physical sensor infrastructure.
By allowing multiple heterogeneous wireless sensor network architecture to coexist on a shared physical substrate,
virtualization in sensor network provided flexibility, promote diversity, ensure security and increase manageability.

Weizhe Zhang, et al (2013) [54], explored the resource dynamic management problem for multiple virtual
machine in cloud computing. They proposed multiple VM CPU regulation system that included both the local and
global utility device and transformed the multiple virtual machine utility optimization problem into an integer
constrained optimization problem and global CPU regulation algorithm based on the utility optimization theory. Lin
Wang, et al (2013) [55], studied the distinctive features of energy saving problem in data center networks. They
proposed a combined framework of virtual machine assignment and traffic engineering, which were integrated and
created traffic-aware Energy-efficient virtual machine assignment algorithm and two-phase energy-efficient routing
algorithm for the above frameworks respectively, using these algorithms the framework performance proved both
theoretical analysis and simulation results.

En-Hao Chang, et al (2014) [56], dealt with issues of TCP/IP Offload Engine (TOE). The factors were classified
by the authors, such as architectures of I/O virtualization, QoS and VMM scheduler and affected the performance of
TOE. The authors proved to extend the utilization TOE using the above factors. Qing-long DAI, et al(2014) [57],
introduced the aggregation of fiber networks and wireless networks called fiber-wireles (FiWi) access networks.
Control plane and data plane were separated for improving the bandwidth tension and avail the new service
deployment using this FiWi network. They showed that the FiWi network was better by the bandwidth, throughput,
multipath flow transmission via simulation results. Fabio, et al (2014) [58], proposed the VM scheduling using real-
time multicore via Xen hypervisor. Using this scheduling, reduced the cost, enhanced the flexibility and shared the
resource on isolated host, besides integration of VMs at top multicore processor. Raman Raghunath and Annappa
(2015) [59], presented the intelligent decision maker which predicted the migration triggering. This process
achieved by the vertical and horizontal scaling for adding/removing VM resources. This system facilitated to
improve the resource utilization compared with thresholds by the removal of unnecessary migrations for triggering
migration. Monali and Swati Nikam (2015) [60], presented smart home application using sensor network by the
agent based virtualization. This application provided the flexibility, diversity promotion, guaranteed security and

ISSN 2320-4387 | © EDITOR IJPPAS


International Journal of Printing, Packaging & Allied Sciences, Vol. 4, No. 2, December 2016 1147

increase manageability. Also, they accomplished mathematical model for improving resource allocation, scheduling,
measurement, minimizing energy consumption and evaluation to implement the smart home based on VSN.

VI. CONCLUSION
This paper offers a discussion about the virtualization technologies and its implementation techniques in various
applications. Also, this paper discusses the levels of abstraction and their software products, to understand how
virtualization is attained in various abstraction levels. This paper enables researchers to wisely prefer proper
hypervisor based on the abstraction levels. How to improve the performance, entire hardware resource utilization,
scalability and flexibility using concurrent virtualization techniques on desktop are revealed in the survey. Finally,
this paper evinces the fact that the virtual machine monitor techniques are useful to support developing more
protective hypervisor.

REFERENCES

[1] R. Goldberg, “Survey of Virtual Machine Research”, IEEE Computer Society, Pp. 34-45, 1974.
[2] L. Shi, H. Chen and J. Sun, “vCUDA: GPU accelerated high performance computing in virtual machines”,
Proceedings of the IEEE International Symposium on Parallel and Distributed Processing, 2009.
[3] Milind Ramesh Kolte, “Survey Paper On Different Virtualization TechnologyWith Its Merits And Demerits
On Organization”, International Journal of Engineering Research and Applications, Vol. 2, No. 5,
Pp. 764-770, 2012.
[4] B. Quetier, V. Neri and F. Cappello, “Scalability Comparison of Four Host Virtualization Tools” Springer
Science + Business Media B.V., J Grid Computing, Vol. 5, Pp. 83-98, 2006.
[5] John R. Lange, “Automatic Dynamic Run-time Optical Network Reservations”, Department of Computer
Science, Northwestern University, 2005.
[6] Ashish Gupta and Peter A.Dinda, “Inferring the Topology and Traffic Load of Parallel Programs Running
In a Virtual Machine Environment”, Department of Computer Science, NorthWestern University, 2005.
[7] Ashish Gupta, “Measuring and Understanding User ComfortWith Resource Borrowing”, Department of
Computer Science, Northwestern University, 2005.
[8] Fabio Marchio, Boris Vittorelli and Roberto Colombo, “Automotive Electronics: Application &
Technology Megatrends”, IEEE Computer Society, 2014.
[9] Bin Lin, et al, “User-driven Scheduling Of Interactive Virtual Machines”, Department of Computer
Science, Northwestern University, 2005.
[10] R.L. Bocchino Jr and V.S. Adve, “Vector LLVA: a virtual vector instruction set for media processing”,
Proceedings of the 2nd international conference on Virtual execution environments, Pp. 46-56, 2006.
[11] Stephen Wright, “Using EventB to Create a Virtual Machine Instruction Set Architecture”, Department of
Computer Science, University of Bristol, UK, 2009.
[12] P. Martinez-Julia, A.F. Skarmeta and A. Galis, “Towards a secure network virtualization architecture for
the future internet”, The Future Internet Assembly, Springer Berlin Heidelberg, Pp. 141-152, 2013.
[13] Bryan D. Payne, et al, "A Layered Approach to Simplified Access Control in Virtualized Systems," ACM,
Chicago, Illinois, USA , 2007.
[14] Geoffroy Vallee, et al, “System-Level Virtualization for High Performance Computing”, Technical Report,
Laboratory Directed Research and Development Program of Oak Ridge National Laboratory (ORNL),
USA, 2008.
[15] Monirul Sharif, et al, “Secure In-VM Monitoring Using Hardware Virtualization”, CCS’09, ACM,
Chicago, Illinois, USA, 2009.
[16] Edison Tsui Ka Wing and Zakaria Lamliki, “Survey on Virtual Machine”, International Federation for
Information Processing, 2009.
[17] Muhammad Wannous and Hiroshi Nakano, “NVLab, a Networking Virtual Web-Based Laboratory that
Implements Virtualization and Virtual Network Computing Technologies”, IEEE Transactions on Learning
Technologies, Vol. 3, 2010.

ISSN 2320-4387 | © EDITOR IJPPAS


International Journal of Printing, Packaging & Allied Sciences, Vol. 4, No. 2, December 2016 1148

[18] Jiang Wang, et al, “A Virtualization Architecture for In-depth Kernel Isolation”, Proceedings of the 43rd
Hawaii International Conference on System Sciences-2010, Center for Secure Information Systems,George
Mason University Fairfax, VAGeorge Mason University Fairfax, VA, 2010.
[19] Michael Hopf and Jivka Ovtcharova, “Integration of virtualized environments in PDM systems for
embedded software product development”, 2nd International Through-life Engineering Services
Conference, Procedia CIRP 11 ( 2013 ), Elsevier, 2013.
[20] Rajeev Kumar Gupta and R.K. Pateriya, “A Complete Theoretical Review on Virtual Machine Migration in
Cloud Environment”, International Journal of Cloud Computing and Services Science (IJ-CLOSER),
Vol. 3, Pp. 172-178, 2014.
[21] Lukasz Ogrodowczyk, et al, “Hardware Abstraction Layer for Non-Openflow Capable Devices”, Trans-
European research and education networking association, 2014.
[22] Seongwook Jin, et al, “H-SVM: Hardware-Assisted Secure Virtual Machines under a Vulnerable
Hypervisor”, IEEE Transactions on Computers, Vol. 64, Pp. 2833-2846, 2015.
[23] Andrew D. Gordon, “V for Virtual”,Elsevier, Electronic Notes in Theoretical Computer Science,
Pp. 177-181, 2006.
[24] Yang Yu, “OS-level Virtualization and Its Applications”, Stony Brook University, 2007.
[25] Goran Martinovic, et al, “Impact of the Host Operating Systems on Virtual Machine Performance”, IEEE
Computer Society, 2010.
[26] Wesam Dawoud, et al, “Elastic Virtual Machine for Fine-grained Cloud Resource Provisioning”, Springer-
Verlag Berlin Heidelberg, 2011.
[27] Hadi Salimi, et al, “Advantages, Challenges and Optimizations of Virtual Machine Scheduling in Cloud
Computing Environments”, International Journal of Computer Theory and Engineering, Vol. 4, Pp. 189-
193, 2012.
[28] D.V. Silakov, “The Use of Hardware Virtualization in the Context of Information Security”, Programming
and Computer Software, Pleiades Publishing, Ltd., Vol. 38, Pp. 276–280, 2012.
[29] Fernando Rodríguez-Haro, et al, “A summary of virtualization techniques”, The 2012 Iberoamerican
Conference on Electronics Engineering and Computer Science, Procedia Technology, Elsevier,
Pp. 267-272, 2012.
[30] Yaozu Dong, et al, “HYVI: A HYbrid VIrtualization Solution Balancing Performance and Manageability”,
IEEE Transactions on Parallel and Distributed Systems, Vol. 25, Pp. 2322-2341, 2014.
[31] Durelli, “A Systematic Mapping Study on High-level Language Virtual Machines”, VMIL’10, ACM,
Reno, USA, 2010.
[32] Yaohui Hu, et al, “An Application-Level Approach for Privacy-preserving Virtual Machine Check
pointing”, ACM, Chicago, Illinois, USA , 2012.
[33] Tudor-Ioan Salomie, et al , “Application Level Ballooning for Efficient Server Consolidation”,Eurosys’13,
ACM, Prague, Czech Republic, 2013.
[34] Carlos Antunesa and Ricardo Vardascab, “Performance of Jails versus Virtualization for Cloud Computing
Solutions”, Conference on ENTERprise Information Systems-International Conference on Project
MANagement / HCIST 2014 - International Conference on Health and Social Care Information Systems
and Technologies, Procedia Technology, Elsevier, Pp. 649-658, 2014.
[35] Shu-Sheng Guo, et al, “A New ETL Approach Based on Data Virtualization”, Journal Of Computer
Science And Technology, Springer Science+Business Media, LLC & Science Press, China, pp. 311-323,
2015.
[36] Francois Armand and Michel Gien, “A Practical Look at Micro-Kernels and Virtual Machine Monitors”,
IEEE Computer Society, 2008.
[37] Tzi-cker Chiueh et al, “Stealthy Deployment and Execution of In-Guest Kernel Agents”, Technical Report,
Symantec Research Labs, 2009.
[38] Binbin Zhang, et al, “A Survey on I/O Virtualization and Optimization”, The Fifth Annual ChinaGrid
Conference, IEEE Computer Society, pp. 117-123, 2010.
[39] Xiaolin Wang, et al, “Detecting and Analyzing VM-exits”, 10th IEEE International Conference on
Computer and Information Technology (CIT 2010), Pp. 2273-2277, 2010.
[40] Sanghyun Han andHyun-Wook Jin, “Full Virtualization based ARINC 653 Partitioning”, IEEE Computer
Society, Pp. 7E1-1-7E1-11, 2011.
[41] Hyunwoo Joe, et al, “Full Virtualizing Micro Hypervisor For Spacecraft Flight Computer”, IEEE Computer
Society, Pp. 6C5-1-6C5-9, 2012.

ISSN 2320-4387 | © EDITOR IJPPAS


International Journal of Printing, Packaging & Allied Sciences, Vol. 4, No. 2, December 2016 1149

[42] Sudha M, et al, “Performance Analysis Of Kernel-Based Virtual Machine”, International Journal of
Computer Science & Information Technology (IJCSIT), vol. 5, pp. 137-144, 2013.
[43] Sudha M, et al, “Performance Analysis of Linux Containers-An Alternative Approach to Virtual
Machines”, International Journal of Advanced Research in Computer Science and Software Engineering,
Vol. 4, No. 1, Pp. 820-824, 2014.
[44] Dr. Jordan Shropshire, “Analysis of Monolithic and Microkernel Architectures: Towards Secure
Hypervisor Design”, 47th Hawaii International Conference on System Science, Pp. 5008-5017, 2014.
[45] Ming Zhao, et al, “Distributed File System Virtualization Techniques Supporting On-Demand Virtual
Machine Environments for Grid Computing”, Springer Science + Business Media, Inc., Cluster Computing,
Pp. 45-56, 2006.
[46] Peter A. Dinda, et al, “The User In Experimental Computer Systems Research”, ACM, San Diego, CA,
2007.
[47] Chang-Hao Tsai, et al, “Virtualization-Based Techniques for Enabling Multi-tenant Management Tools”,
International Federation for Information Processing, Pp. 171-182, 2007.
[48] N.M. Mosharaf Kabir Chowdhury and Raouf Boutaba, “A Survey of Network Virtualization”, Technical
Report, David R. Cheriton School of Computer Science, University of Waterloo, 2008.
[49] Yunfa Li, et al, “A Survey of Virtual Machine System: Current Technology and Future Trends”, Third
International Symposium on Electronic Commerce and Security, IEEE Computer Society, 2010.
[50] Rabi Prasad Padhy, et al, “Virtualization Techniques & Technologies: State-Of-The-Art”, Journal of Global
Research in Computer Science, Vol. 2, Pp. 30-43, 2011.
[51] Shivani Sud, et al, “Dynamic Migration of Computation Through Virtualization of the Mobile Platform”,
Mobile Netw Appl, Springer Science+Business Media, Pp. 206–215, 2012.
[52] Pontus Skoldstrom, et al, “Network Virtualization and Resource Allocation in OpenFlow-based Wide Area
Networks”, IEEE Computer Society, Pp. 6622-6626, 2012.
[53] Md. Motaharul Islam, et al, “An Efficient Model for Smart Home by the Virtualization of Wireless Sensor
Network”, International Journal of Distributed Sensor Networks, 2013.
[54] Weizhe Zhang, et al, “Multiple Virtual Machines Resource Scheduling for Cloud Computing”, An
International Journal, Applied Mathematics & Information Sciences, Vol. 7, Pp. 2089-2096, 2013.
[55] Lin Wang, et al, “Joint Virtual Machine Assignment and Traffic Engineering for Green Data Center
Networks”, Greenmetrics ’13, ACM, Pittsburgh, Pennsylvania USA, 2013.
[56] En-Hao Chang, et al, “Virtualization Technology for TCP/IP Offload Engine”, IEEE Transaction on Cloud
Computing, Vol. 2, Pp. 117-129, 2014.
[57] Qing-long DAI, et al, “Performance improvement for applying network virtualization in fiber-wireless
(FiWi) access networks”, Journal of Zhejiang University-SCIENCE C (Computers & Electronics),
Pp. 1058-1070, 2014.
[58] Fabio Marchio, et al, “Automotive Electronics: Application & Technology Megatrends”, IEEE Computer
Society, Pp. 23-29, 2014.
[59] Bane Raman Raghunath and B. Annappa, “Virtual Machine Migration Triggering using Application
Workload Prediction”, Eleventh International Multi-Conference on Information Processing-2015 (IMCIP-
2015), Procedia Computer Science 54, Elsevier, Pp. 167-176, 2015.
[60] Monali G.Sonule and Swati Nikam, “Improved Energy Consumption and Resource Utilization through
Sensor Virtualization in Smart home”, International Journal Of Engineering And Computer Science, Vol. 4,
No. 1, Pp. 10152-10157, 2015.

ISSN 2320-4387 | © EDITOR IJPPAS

View publication stats

Anda mungkin juga menyukai