Virtual machines are popular because of their efficiency, ease of use and flexibility. There has been an increasing demand for deployment of a robust distributed network for maximizing the performance of such systems
and minimizing the infrastructural cost. In this paper we have discussed various levels at which virtualization can be implemented for distributed computing which can contribute to increased efficiency and performance of distributed
computing. The paper gives an overview of various types of virtualization techniques and their benefits. For eg: Server virtualization helps to create multiple server instances from one physical server. Such techniques will decrease
the infrastructure cost, make the system more scalable and help in full utilization of available resources.
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
Virtualization in Distributed System: A Brief Overview
1. BOHR International Journal of Intelligent Instrumentation and Computing
2021, Vol. 1, No. 1, pp. 34–38
https://doi.org/10.54646/bijiiac.006
www.bohrpub.com
Virtualization in Distributed System: A Brief Overview
Reeya Manandhar and Gajendra Sharma∗
Department of Computer Science and Engineering, Kathmandu University, Dhulikhel, Kavre, Nepal
∗Corresponding author: gajendra.sharma@ku.edu.np
Abstract. Virtual machines are popular because of their efficiency, ease of use and flexibility. There has been an
increasing demand for deployment of a robust distributed network for maximizing the performance of such systems
and minimizing the infrastructural cost. In this paper we have discussed various levels at which virtualization can be
implemented for distributed computing which can contribute to increased efficiency and performance of distributed
computing. The paper gives an overview of various types of virtualization techniques and their benefits. For eg:
Server virtualization helps to create multiple server instances from one physical server. Such techniques will decrease
the infrastructure cost, make the system more scalable and help in full utilization of available resources.
Keywords: Distributed system, virtualization, hypervisor, technology, virtual machine.
INTRODUCTION
The concept of virtual machines has been in the computing
community since the early 1960s [8]. The recent advance-
ment in virtualization technology pursues new opportu-
nities in delivering services, and represents a strategic
approach for IT operators to increase their organization
performance. Virtualization technique offers an isolated
secure system with flexible deployment. Such mechanisms
maximize the reliability, scalability and fault tolerance of
the distributed systems [11].
A distributed system, also known as distributed com-
puting, is a system consisting of a collection of independent
components located on different machines that commu-
nicate and coordinate actions with each other and are
linked together using the network. All of the nodes in this
network interact and coordinate with each other to com-
plete tasks and it appears as a single coherent network to
the end-user. The system is highly efficient as the work-
load is splitted and distributed to various nodes for fast
completion. The task running in different nodes forms a
common system where multiple machines can process the
same function at the same time. As computation takes
place separately on each node, adding additional nodes
and functionality as needed is simple, affordable and fault
tolerant.
Virtualization is the process of creating virtual instances
of a computer system abstracted from real resources
like OS, storage device or network system. With it, multiple
instances can run independently and simultaneously on a
single system. Technology advancements have propelled
virtualization to the spotlight of the IT sector. This technol-
ogy encompasses a variety of mechanisms and techniques
that addresses various problems such as performance, reli-
ability, security, resource expenses which are the reasons
for the rise of this technology.
Distributed virtualization is the process of transparently
sharing resources from several users [15]. Each node is
isolated and doesn’t interfere with each other. It helps
the end user to actress, store, analyze and organize the
distributed system components. There are various types
of virtualizations that can be used to increase the per-
formance in distributed systems. Some of them are OS
virtualization, storage virtualization, network virtualiza-
tion. Each of them has their own paradigm that offers a
reliable, secured and cost effective distributed system.
This paper gives an overview of virtualization, its type
and their benefits. The rest of the paper is organized as lit-
erature review in Section , different types of virtualization
techniques and their benefits in Section and final section
with a conclusion note.
LITERATURE REVIEW
The paper [2] presents an x86 virtual machine moni-
tor, Xen hypervisor that enables multiple operating sys-
tems to share conventional hardware in a secure and
34
2. Virtualization in Distributed System: A Brief Overview 35
resource-managed manner while preserving performance
and functionality. It provides applications such as server
consolidation, co-located hosting facilities, distributed web
services, secure computing platforms and application
mobility. It provides a platform for deployment of network
centric services and addresses the issue related to host tran-
sient servers. It is targeted to host up to 100 virtual machine
instances simultaneously. A single virtual machine can
host a real operating system which may securely mul-
tiplex into thousands of unmodified operating systems.
For eg: Linux and Windows XP can be hosted simultane-
ously with a negligible performance overhead. Each guest
OS handles paging on its own, with its own guaranteed
memory and disk allocation. Guest OS refers to OSes that
Xen can host. Using different virtualization strategies to
assess performance in a variety of microbenchmarks and
system-wide testing, Xen significantly outperforms rival
commercial and open-source alternatives.
The paper [14] presents a self-virtualized device
approach for high-performance I/O virtualization in high
end systems permitting guest virtual machines to more
efficiently interact with the virtualized device. A self-
virtualized network interface (SV-NIC) is developed and
tested which targets the high end NICs used in the high-
performance domain. The SV-NIC offers virtual interfaces
(VIFs) to guest virtual machines, manages the device’s
physical resources utilization, and delivers high perfor-
mance network connectivity to guest domains. The exper-
imental results demonstrate that it is highly scalable and
is about 2X better than that driver-domain approach. It
offers ∼77% higher throughput and ∼53% latency reduc-
tion as compared to the driver-domain approach and
virtual interfaces compared to Xen hypervisor. The per-
formance of the SV-NIC enables high performance as it
reduces hypervisor involvement and eliminates driver-
domain involvement in the I/O path.
The paper [13] proposes a Distributed Virtualization
System (DVS) that allows several instances of a distributed
Virtual Operating System (VOS) to operate on the same
cluster and can be extended beyond the physical machine
limits. It allocates a subset of nodes for each instance and
shares nodes between them i.e. supports resource aggre-
gation and resource partitioning. Each VOS runs isolated
within a Distributed Container (DC) and can be executed in
different nodes using the same abstract resources as offered
by the DVOS. Each single virtual resource provided by the
host-OS on each node acts as a resource allocation unit.
Such granularity allows a better use of resources and pro-
vides greater elasticity and efficiency. It simplifies applica-
tion deployment time and cost and benefits administrators
from the process location transparency because it elimi-
nates the need to deal with IP addresses, ports, URLs, and
other details. A DVS is suitable for software development
applications based on Microservices Architecture (MSA)
or Service Oriented Architecture (SOA), as it is inherently
distributed. The proposed model integrates Virtualization
and DOS technologies to give the benefits of both, mak-
ing it appropriate for delivering high-performance cloud
services, including high-availability, replication, elastic-
ity, load balancing, resource management, and process
migration.
The paper [6] explores container-based virtualization as
a lightweight alternative to the hypervisor-based approach
which can be adopted on smart objects for enhancing
the IoT Cloud service provisioning. It is also known as
Operating System Level virtualization which partitions
the physical machines resources, creating multiple iso-
lated user-space instances. It allows IoT Cloud providers
to deploy and analyze its performance on smart objects in
the perspective of a IoT scenario both in terms of cloud
service management and business opportunities. The two
general usage models for containers are Application Con-
tainer where a single application runs in the container
and System Container where multiple isolated instances
of user space run at the same time, each one with its
own Init process, process space, file system and network
stack. This technology is also supported by SBC (Single
Board Computer) devices equipped with a Linux Con-
tainer Virtualization (LCV) layer. Some popular container
engine solutions include Docker, LXC, lmctfy, OpenVZ. An
experiment is performed using Raspberry Pi and Docker
container engine to investigate the response of the device
when no container and several containers run according
to several configurations that could be adopted in real use
cases.The result shows that the overhead of container vir-
tualization is minimum with respect to the overhead due
to process the requests by CoAP servers.
The paper Service Level Enforcement Discipline for
Storage (SLEDS) system [7] provides statistical perfor-
mance guarantees on a storage system built from com-
modity components. It is a distributed controller that
manages client workloads to meet QoS goals. It guar-
antees that each client’s storage performance is good
as if a subset of physical resources were dedicated to
it and unaffected by the behavior of other clients. It
does so by collecting performance samples on a regular
basis and throttle (delaying) I/Os from overly-demanding
clients whenever other clients suffer poor performance.
It will redirect resources away from applications that are
receiving adequate QoS toward those with poor perfor-
mance. The reliability and performance of I/O service
is maintained by decoupling the gateway from com-
munications with the server and is based on a storage
area network system for block-level storage service. Test-
ing the prototype with heterogeneous clients, they con-
cluded that the system will facilitate both consolidated
and the non-consolidated worlds where applications ben-
efit from the reliability of high-end storage devices and
no longer suffer performance failures due to resource
limitation.
3. 36 R. Manandhar and G. Sharma
Table 1. Table representation of above-mentioned related work.
Author Year Objective Algorithm/Mechanism Tools/Protocol
Barham et al. 2003 enable users to dynamically instantiate
an operating system to execute
whatever they desire
Borrowed Virtual Time (BVT)
scheduling algorithm
2.4 GHz Xeon server with 2GB RAM,
a Broadcom Tigon 3 Gigabit Ethernet
NIC, and a single Hitachi DK32EJ
146GB 10k RPM SCSI disk.
Chambliss et al. 2003 statistical performance guarantees on a
storage system and improve its
effectiveness of the
Leaky bucket mechanism IBM xSeries 345 servers, with a 2.4
GHz Intel Xeon proces- sor and 512
MB (client)/2 GB (gateway) RAM,
FC SAN fabric
Raj et al. 2007 investigate the implications of
virtualization for the high-performance
domain, virtualization of peripheral
resources.
round-robin scheduling algorithm IXP2400-based ethernet board
Lombardi et al. 2011 Identify the security issues of cloud
computing and provide a solution to the
issue.
Based on (KvmSec: A security extension
and KvmSma: Security management
architecture) for the Kernel Virtual
Machines
Python, livibirt, Mysql, Turbogears
Celesti et al. 2016 Explores container virtualization to
analyze its performance on smart objects
from the perspective of a IoT scenario
Container based virtualization, Linux
Container Virtualization (LCV)
Raspberry Pi and Docker container
engine
Pessolani et al. 2019 integrates Virtualization and DOS
technologies to take the benefits of both
and making proposed system suitable to
deliver provider-class Cloud service
load balancing, process migration,
consensus, fault detection mechanism
POSIX APIs, RPC protocol
The paper [12] proposes an architecture, Advanced
Cloud Protection System (ACPS) for monitoring the
integrity of guest virtual machines and the cloud infras-
tructure components while remaining fully transparent to
the service user and to the service provider. It shows how
virtualization can increase the security of cloud computing.
It protects the guest virtual machines from intruders and
attacks such as worms and viruses. The paper highlights
various issues of cloud computing such as user access,
privacy, data segregation, recovery mechanism and devel-
ops a prototype to address those issues. The prototype of
proposed ACPS has been fully implemented on two open-
source solutions: Eucalyptus and OpenECP and is tested
for its effectiveness and performance evaluation. The find-
ings show that the system is resistant to attacks and incurs
minimal overhead.
About mentioned reviews are mentioned in short in
above table.
DIFFERENT TYPES OF VIRTUALIZATIONS
AND THEIR BENEFITS
Storage Virtualization
Storage virtualization is the process of grouping multi-
ple physical storage arrays from Virtual Area Network
(SAN) and making them look like a single virtual stor-
age device.The process involves abstracting the disks and
drives and presenting them as a single storage unit in order
to facilitate the application and network-independent
management of storage. It gathers information about the
amount of storage capacity accessible across physical stor-
age components, combines it, and makes it available to
applications [5]. It provides better utilization and manage-
ment of storage in heterogeneous environments. Storage
virtualization helps to address this problem by facilitating
easy backup, archiving and recovery tasks by consuming
less time.
Some of the virtualizing storages are:
• Simplicity:
It simplifies the IT environment as it eliminates com-
plexities related to data centers by reducing the
amount of hardware needed to run applications. It
enables dynamic storage utilization and virtual scal-
ability of attached storage resources.
• Affordable
It reduces costs related to hardware and other opera-
tional cost as it masks the complexities of managing
infrastructure and resources in memory, networks,
servers and storage.
• Storage Utilization
It helps in properly partitioning the storage. Most
commonly used data is stored on its highest perform-
ing storage pool and the least used data is put in
the weakest performance storage pool. They can be
quickly retrieved from virtual storage.
Operating System Virtualization
OS-level virtualization is a technology that partitions the
standard operating system to create multiple isolated
4. Virtualization in Distributed System: A Brief Overview 37
Virtual Machines (VM) so that it can run different appli-
cations handled by multiple users on a single computer at
a time. The kernel of an OS allows more than one isolated
platform instance. Such instances are called containers or
virtualization engines. Such a technique is installed on a
pre-existing operating system and that operating system is
called the host operating system [10]. The operating sys-
tem in OS-level virtualization is configured in such a way
that it behaves like numerous other, independent systems.
The virtualized environment accepts instruction from dif-
ferent users running different applications on the same
machine and does not interfere with each other. It provides
application-transparent virtualization to users by isolating
apps from the OS and offers granular control for individual
applications.
The advantages of operating system virtualization are as
follows:
1. Save time and cost as the user does not require
to install extra hardware support. Fewer machines
mean minimal maintenance, less power, higher elec-
trical saving, and less cooling systems requirement
2. As every instance of this system is virtual, no extra
space is occupied by it.
3. It is not only compatible with small businesses but
also useful for large businesses.
4. By integrating server hardware, OS Virtualization
distributes resources across individual servers.
Network Virtualization
Network virtualization is the process of transforming net-
work functions by combining the available resources in
a network to consolidate multiple physical networks into
one virtual, software-based network [16]. It abstracts net-
work resources from underlying hardware and enables vir-
tual network deployment. Each of the networks is secure
and independent from the others and can be allocated to
a particular server or device in real time. Every client has
shared access to all the resources on the network from a
single computer. There are two types of network virtu-
alization; internal virtualization which provides network-
like functionality to software containers to replicate the
functionality of a single network server and external vir-
tualization which combines multiple local networks into a
single virtual unit. It intends to optimize network speed,
improve productivity, manage network security of an orga-
nization
Some of the benefit of network virtualization are:
• Faster delivery of application:
Network virtualization automates network configu-
ration which reduces the deployment time allowing
for faster delivery of product rollouts or major appli-
cation updates.
• Enhances security
Sensitive data is isolated from one virtual device to
another. So, access to nodes is restricted making data
more secure.
• Improves manageability
Functional grouping of nodes in a virtual network are
eased. Virtual networks can share the same physical
network which enhances the utilization of network
resources and allows communication between nodes.
Application Virtualization
Application Virtualization also known as process-level vir-
tualization is a technology which allows users to access
and utilize an application from a computer or separate
device other than the one on which it was installed as
if it were installed on a user’s local device. It is use-
ful when you simply want to virtualize only an appli-
cation. The server-based technique is the most common
method to virtualize applications [1]. Remote applications
can be set up on a server by a service provider and are
sent to an end user’s computer. The user’s instructions
are sent back to the server to be executed. User experi-
ence is the same as that of an app installed on the real
system.
Some of the benefits of virtualized application are:
• Simplified management
Instead of manually installing apps on each user’s
workstation, IT administrators simply install an app
once on a central server and then distribute it as
required on user devices via app virtualization mak-
ing it easier to manage and maintain application
• Scalability
Virtual applications can be deployed in any con-
nected device regardless of that device’s operat-
ing system as the app is actually running on the
centralized server. This will lower the organization
hardware computing cost. As remote services, many
companies also share application access. It results in
reduction of software and infrastructure costs. Such
cost reductions are obtained by reducing organiza-
tional needs for several servers, which benefits in
decreased maintenance and power costs.
• Security
Security is maintained across several users. The IT
admin is responsible for managing resources and
controlling user access to the particular application.
If a user’s device is lost then the IT admin can revoke
sensitive data through remote access
Server Virtualization
Server virtualization is the process of creating multiple
unique server instances from one physical server each
5. 38 R. Manandhar and G. Sharma
running its own operating system independently. multi-
ple small, isolated virtual servers. It is a cost-effective way
to provide web hosting services and has boosted resource
utilization to the fullest, without having to invest more
in hardware. For creating virtual server instances, a vir-
tualization software layer called hypervisor is added to
a host machine [3]. Hypervisor separates host’s physical
resources from virtual instances. Then virtualization soft-
ware can be used to emulate the physical resources and
create a new virtual server on top of it.
Some of the server virtualization benefits are:
• Server consolidation
Virtualization enables partition of a single server
onto server servers. Due to which total number of
servers in the organization can be reduced. This pro-
cess is called server consolidation
• Cost reduction
Server consolidation minimizes costs by increas-
ing the utilization of existing resources. This elimi-
nates management costs for those servers, as well as
reduces the energy requirements needed to run the
servers.
• Saves Space
We can potentially save a lot of physical space by
hosting multiple virtual servers on fewer physical
servers.
CONCLUSION
The paper presents an overview of virtualization in dis-
tributed systems. Various papers related to virtualization
like Xen hypervisor, container-based virtualization, secu-
rity of cloud computing, storage performance is discussed
in this paper. Also, different types of virtualization tech-
niques with its benefits are described. In conclusion, Vir-
tualization in distributed systems enhances performance,
reliability, fault tolerance, flexibility, scalability and mini-
mizes infrastructure cost of an organization. As resources
are shared transparently among the nodes, security, pri-
vacy and network management are some key concerns
that need to be optimized to make the virtualization more
secure and organized.
REFERENCES
[1] A. (n.d.). What is Application Virtualization? App Virtualization Defini-
tion – Citrix. Citrix.Com. https://www.citrix.com/solutions/vdi-a
nd-daas/what-is-application-virtualization.html
[2] Barham, P., Dragovic, B., Fraser, K., Hand, S., Harris, T., Ho, A.,
Neugebauer, R., Pratt, I., and Warfield, A. (2003). Xen and the art of
virtualization. Proceedings of the Nineteenth ACM Symposium on Oper-
ating Systems Principles – SOSP ’03. https://doi.org/10.1145/945445
.945462
[3] Bigelow, S. J., and Gillis, A. S. (2021, March 17). What is server virtual-
ization? The ultimate guide. SearchServerVirtualization. https://sear
chservervirtualization.techtarget.com/definition/server-virtualizat
ion
[4] Brush, K., and Kirsch, B. (2021, October 13). virtualization. Search-
ServerVirtualization. https://searchservervirtualization.techtarget.
com/definition/virtualization
[5] Castagna, R., and Brown, R. (2021, February 1). storage virtualization.
SearchStorage. https://www.techtarget.com/searchstorage/definit
ion/storage-virtualization
[6] Celesti, A., Mulfari, D., Fazio, M., Villari, M., and Puliafito, A. (2016).
Exploring Container Virtualization in IoT Clouds. 2016 IEEE Interna-
tional Conference on Smart Computing (SMARTCOMP). https://doi.or
g/10.1109/smartcomp.2016.7501691
[7] Chambliss, D., Alvarez, G., Pandey, P., Jadav, D., Jian Xu, Menon, R.,
and Lee, T. (2003). Performance virtualization for large-scale storage
systems. 22nd International Symposium on Reliable Distributed Systems,
2003. Proceedings. https://doi.org/10.1109/reldis.2003.1238060
[8] Daniels, J. (2009). Server virtualization architecture and implemen-
tation. XRDS: Crossroads, The ACM Magazine for Students, 16(1), 8–12.
https://doi.org/10.1145/1618588.1618592
[9] Figueiredo, R., Dinda, P., and Fortes, J. (2005). Guest Editors’ Intro-
duction: Resource Virtualization Renaissance. Computer, 38(5), 28–
31. https://doi.org/10.1109/mc.2005.159
[10] GeeksforGeeks. (2021, November 9). Operating system based Virtual-
ization. https://www.geeksforgeeks.org/operating-system-based-v
irtualization/
[11] Kaul, A. N. U., Gupta, M. E. E. N. A., and Kaur, K. H. U. S. W. A.
N. T. (2015). Using virtualization for distributed computing. Using
Virtualization for Distributed Computing.
[12] Lombardi, F., and di Pietro, R. (2011). Secure virtualization for cloud
computing. Journal of Network and Computer Applications, 34(4), 1113–
1122. https://doi.org/10.1016/j.jnca.2010.06.008
[13] Pessolani, P. A. (2019). An Architecture Model for a Distributed Vir-
tualization System. Journal of Computer Science and Technology, 19(2),
e17. https://doi.org/10.24215/16666038.19.e17
[14] Raj, H., and Schwan, K. (2007). High performance and scalable
I/O virtualization via self-virtualized devices. Proceedings of the 16th
International Symposium on High Performance Distributed Computing –
HPDC ’07. https://doi.org/10.1145/1272366.1272390
[15] Shewandagn, S. (2022, January 6). Virtualization in Distributed
Systems – Sertsedengle Shewandagn. Medium. https://sertse.mediu
m.com/virtualization-in-distributed-systems-aa54c5c4ee10
[16] Shtil, D. (2020, December 8). What Is Network Virtualization? Gigamon
Blog. https://blog.gigamon.com/2018/01/04/network-virtualizati
on-optimize/
[17] Shukur, H., Zeebaree, S., Zebari, R., Zeebaree, D., Ahmed, O., and
Salih, A. (2020). Cloud Computing Virtualization of Resources Allo-
cation for Distributed Systems. Journal of Applied Science and Technol-
ogy Trends, 1(3), 98–105. https://doi.org/10.38094/jastt1331