Keywords

1 Introduction

Many cloud service providers and the arising business need have created an enormous demand for computing power, platform, and applications across the globe. Digital Business Technology (DBT) is a combination of Operation Technology (OT) and Information Technology (IT). Everything as a Service (XAAS) can be easily provisioned with the help of a virtual machine. All the information technology infrastructure needs can be seamlessly provisioned as a virtual environment to the remote users with the support of virtualization. Cloud computing offers software, platform, database, infrastructure, security, and anything in IT as a service. For all kinds of offerings in public, private, and hybrid cloud, virtualization is the basic building block for the multi-cloud environment. A hypervisor is a tool used to create an abstraction of the resources to provide a multi-tenant computing model in a multi-cloud environment.

Virtualization is a broad term that refers to an abstraction of resources across many aspects of computing. One physical machine to support multiple virtual machines that run in parallel is the purpose. Many enterprises prefer to have a virtualized environment because of the drawbacks in the traditional computing environment like too many servers for too little work, aging of hardware and end of usable life, high infrastructure requirements, and the limited flexibility in the shared environments. The core technology behind virtualization is the hypervisor, sometimes referred to as the Virtual Machine Monitor. Hypervisor was introduced in the 1970s as part of the IBM S/360. A hypervisor is a computing layer that allows multiple operating systems to run a host computer simultaneously. The hypervisors are broadly classified as Type-1 and Type-2 hypervisor. The first type runs directly on the underlying host system, known as a bare-metal hypervisor or native hypervisor. The second of this kind has a host operating system running over the underlying host system and is also known as a hosted hypervisor (Fig. 12.1).

Fig. 12.1
figure 1

Types of hypervisor

In the bare-metal hypervisor, the abstraction is done at the hardware layer and managed by the Virtual Machine Monitor (VMM). In the hosted system, the virtual machine is created, and the total control of the guest operating system is within the host operating system. This facilitates the option multi-tenant model with different operating systems and applications from multiple physical servers for the multi-cloud environment. Any user of private, public, hybrid cloud models can also share the resources among themselves in several regions where the computing model is called Inter-Cloud Computing. Server virtualization technology helps the enterprise provide platform, software, infrastructure, and security as a service in their private cloud owned by them or managed by the third-party service provider [1]. It is a promising technology to reduce the cost through server consolidation. Microsoft Hyper-V, VMware ESX are server-centric tools that tend to focus on the virtualization of the infrastructure. The other famous virtualization tools from VMware, Citrix, Oracle, and Amazon also play a significant role in hypervising the hardware. Each hypervisor has its features and limits, and choosing the appropriate hypervisors for digital business technology today is always challenging. Different virtualization types include server virtualization, storage virtualization, network virtualization, memory virtualization, and data virtualization in a multi-cloud computing environment. The multi-tenant deployed modes in data centers and application servers help the end user use the services from a fully isolated server, virtualized server, or shared virtualized server. The tenants can also share the database, schema, and server [2].

Virtualization can be done at any level, starting from the instruction set architecture level, hardware abstraction level, operating system level, user level API, and application level. Therefore, estimating CPU performance, memory, and disk helps the enterprise to choose the appropriate virtualization model by analyzing the number of iterations, number of threads, number of floating-point operations per second, and number of input/output operations per second. The memory performance is measured based upon the number of iteration, number of threads, throughput, size, and latency. The disk performance is calculated based on the read and write operations, size of the file, and time taken for read and write operations [3].

2 Related Works

Cloud computing continues to dominate by making the data and computing facilities available in an unprecedented economy, thereby increasing the end-user reliability and scalability. Nimbus and Open Nebula provide full freedom to build and manage enterprise cloud with advanced features for multi-tenancy, resource provision, and elasticity with virtualized services and applications. Open Nebula can integrate any hypervisor for any workload and server deployments. Xen and KVM are the two virtual managers taken for the performance measures, and results obtained prove that Xen outperforms in most cases than the KVM [4]. There are multiple challenges in configuring the hypervisor parameters to optimize its performance in the data center. The normal practice of tuning the scheduler parameter will not be effective in the highly dynamic workloads and utilization of the host machine resource. Discover, optimize, and observe were the three steps used to improve efficiency and termed as dynamic scheduler reconfigurations [5]. Cloud data centers have a collection of servers available to provide services to users at different times virtually. Continuous and uninterrupted services are essential, and therefore scheduling and maintenance activities in the data center are more difficult when the services are offered. A study was conducted to understand the server resources management, queuing the server requests with proper maintenance schedules for the server using an Open Nebula tool kit. Scheduling and maintenance algorithms are devised and deployed to estimate the system performance and evaluated through the Sunstone GUI server [6]. An experimental study was conducted with virtual machines, operating systems, and hardware and analyzed how configurations influence a deterministic algorithm [7]. The targeted system with multi-processor virtual machines placed on a commodity chip-multiprocessor and the performance degradation in a virtualized environment is analyzed considering the hypervisor slowdowns and the nearby VM neighborhood hypervisor noise. The aim is to reduce the noise level using different hardware and software techniques and ensure that they are ready for the cloud [8]. The use of virtual PC machine is considered in the context of interoperability with Network Controlled System, and specific application requests answer the need for virtualization, services, and security. Xen hypervisor is used to demonstrate the performance of the guest operating system and their control in the virtual environment [9].The online gaming system in the public cloud platforms was implemented as a virtualized cloud gaming platform supported with the latest software and hardware, and extended support is provided for both remote servers and local clients. This has achieved full-fledged deployment of gaming services, optimization, and integration of all the modules [10]. The workload-aware credit scheduling method is used for improving the network I/O performance in the virtual environment that gains better bandwidth and less response time, and fairness is achieved between I/O-intensive and CPU-intensive domains [11]. The distributed performance management schemes in virtual environments using non-linear controls have improved scalability among 10 virtual machines [12]. Variations in performance and scalability in IaaS clouds using multi-tier workloads in three hypervisors, namely, CVM, XEN, and KVM, show that each one has its own individual characteristics and performance according to their configurations [13]. Elastic applications for mobile cloud services with VM were implemented with a suspend and run the model. The front end screen reads the input and sends the same to back end server for processing. The processed result is displayed back on the user screen. This gives the user the feeling that the computation has happened in the mobile phone but was originally computed at the back end server [14]. Throughput based resource allocation model addresses the need for clustering and scheduling in a virtual environment. Virtual machine performance is computed, and based on the need, it is migrated to the next physical server available, thereby optimizing the server performance. This increases the overall efficiency of the virtual environment and has the key characteristics of cloud computing [15].The sharing of resources in a mobile environment with the help of remote method invocation is an added entity for the peer-to-peer computing model, which also supports the multi-cloud under heavy loads [16]. Feedback control for hypervisor-based multi-core is implemented with two controls. One control will limit the sharing of the resources, and the second control maintains the performance. These controls guarantee the execution of critical partitions, and it is recommended for the use of multi-core execution platforms [17]. Software-Defined Networking (SDN) plays a major role in separating the data plane from the control plane. Network Function Virtualization (NFV) allows multiple tenants the flexibility of sharing the physical resources. SDN and NFV are complementary technologies as virtualization allows the SDN networks to leverage the combined benefits of SDN networking and network virtualization. Therefore, centralized and distributed hypervisors are part of the SDN hypervisor [18]. Fault tolerance hypervisor is introduced to have a back-up hypervisor and the primary hypervisor running parallelly, and when the primary VM fails, the back-up hypervisor will start functioning within a time of 10 ms which is emerging approach for time-sensitive applications. Synchronization of both the virtual machines is done to provide economic and fault tolerant solution [19]. A virtual machine with a webserver running is used to study the performance degradation when Denial of Service (DoS) attacks happen in the network and it is observed that the performance degrades up to 23% when compared to non-virtual system. Generally, the performance degradation due to security threat is high when compared to the normal physical resources [20]. Project managers maintaining the infrastructure availability prefer to move virtualization to cloud computing to reduce capital expenses, operational expenses, and the total cost for ownership [21]. Common vulnerabilities, security, and threats during VM image sharing, VM migration, and secure host os were studied and recommended that the hypervisor should analyze the need for VM and ensure that unnecessary operations are not carried out [22]. Browser is the main entity of cloud computing environment where any user can directly connect themselves to the virtual environment. Minimizing the system resources while using the cloud-based application can be supported with browser add-on which is also secured and provides user friendliness [23].

3 Methodology

The virtual boxes VMware Workstation, Oracle VirtualBox, and Windows Subsystem for Linux (WSL) are used to study the virtual machine performance. VMware Workstation is a hosted hypervisor that supports the users to set up virtual machines on a single physical machine and run simultaneously. The hosted hypervisor runs on x64 version and x86–32 version of Microsoft Windows, Linux, BSD, and MS-DOS. The VMware Workstation has the free-of-charge version known as VMware Workstation player, and it can be used for non-commercial. However, the operating system needed to use is proprietary like Windows. VMware Workstation helps bridging the existing host network adaptors and sharing of host resources like physical disk drives, USB devices, and mounting of disk drives. The main benefit of using VMware Workstation is snapshot; the current state of the virtual machines can be saved and later resumed. One more added advantage of using VMware Workstation is grouping multiple images in an inventory folder; therefore the machines in the folder can be powered on and powered off as a single object and useful for client-server environments. The cross-platform virtualization software Oracle VM VirtualBox allows the system to run multiple operating systems at the same time. The latest release of Oracle VM VirtualBox 6.0 provides integration with the open source and the cloud development. Therefore, creating and deploying virtual machines can be done everywhere with upload and download option, review, and make changes offline. It also provides the developers to create multiplatform environments and also to develop applications for container within the Oracle VM VirtualBox on a single machine. The virtual machine can further be deployed to Oracle VM server in the case of server virtualization environments. Windows subsystem for Linux is compatible for running Linux binary executable natively on Windows 10 and Windows Server 2019. It uses the Linux kernel through a subset of Hyper-V features and allows the user to run Linux command-line tools alongside with the Windows command-line, desktop, and applications and access the Windows files from Linux. Each of the virtual machines is configured in three different players with certain workloads. For the execution of the task, each virtual machine is designed with one virtual CPU and 1GB of memory. The Windows Server framework was introduced inside the virtual machine. The 64-piece machine is favored since most of the hypervisors are perfect with the x64. HP Pavilion pc designed with an Intel i5-6200 U 2.40GHz processor with 8GB RAM is used for the study. Although the test framework has 8GB of RAM introduced, it is booted with just 2GB of RAM for local tests. Windows Subsystem for Linux is a compatibility layer for running Linux binary executables natively on Windows 10 and Windows Server 2019. The WSL has Full Linux kernel, increased file I/O performance, and full system call compatibility.

3.1 Setting Up of the Virtual Machines

  1. 1.

    Set up the initial system with Intel i7 processor and 8GB Ram.

  2. 2.

    Create a Virtual Machine over the host operating system.

  3. 3.

    Create three VM using VMware Workstation, Oracle VirtualBox, and WSL.

  4. 4.

    Kali Linux Operating System installed in all three Virtual Machines.

  5. 5.

    Key VM Configurations.

  • Processors: 1VCPUs

  • Memory: 2048 MB

  • Network Adapter: Internal Virtual Switch

  • Percentage of Total System Resources: 25%

  • Clustered: No

  1. 6.

    Benchmark Tests, run on each Kali Virtual Machine to test the efficiency of the underlying Hypervisor.

3.2 Setting Up of the Benchmark Tests

Benchmark test is introduced to test the effectiveness and efficiency of the asset usage for the virtual environment.

The three benchmark tests are:

  • CPU Benchmark

  • Memory Benchmark

  • Disk Performance Benchmark

3.2.1 CPU Test

A CPU benchmark (CPU benchmarking) is a progression of tests intended to quantify the presence of a PC or gadget CPU (or SoC). Many gauges or standard estimations are utilized to look at the exhibition of various frameworks, using similar strategies and conditions. A typical CPU benchmark test will test the framework against the gauges for the sort of CPU utilized. CPU particulars regularly estimated by a benchmark test incorporate the clock speed, the quantity of directions executed, library calls per cycle, and large engineering effectiveness factors. The benchmark norms change between ages of CPU and among Intel and AMD CPU. CPU benchmark programming will likewise assemble and give data on many principle gadgets in a PC framework, such as the processor, motherboard and chipset, and memory.

3.2.2 Memory Utilization Test

When a PC program needs to utilize an area of memory to store information, it makes a solicitation to windows for the measure of memory it requires. Windows designates the memory to the program (except if framework assets are deficient) and comes back to the mentioning program, the allotted square’s primary memory opening. It is conceivable that a few projects may demand a lot of memory. The “Memory Speed Per Block Size” test, like the “Memory Speed Per Access Step Size” test, is made out of numerous means. During each test’s progression, the performance test demands a square of memory and goes through the square estimating the entrance speed. memory benchmarking is a straightforward memory benchmark program, which attempts to quantify the pinnacle transfer speed of successive memory gets and the idleness of irregular memory brings. Data transmission is estimated by running diverse get-together codes for the adjusted memory squares and endeavoring distinctive prefetch techniques.

3.2.3 Disk Utilization Test

When PC clients get another hard drive plate, it is mandatory to know the hard drive’s particular execution in their PCs. A plate execution test is done to understand the specific performance. Circle benchmarking is the way toward running programs that precisely measure move speeds under different plates in different situations. The point is to deliver figures in Mbps that abridge the speed attributes of a circle. There are a few free programming choices accessible, which you can, without much of a stretch, download and run yourself to benchmark your own drive.

4 Implementation

The proposed method is executed to study the CPU performance, memory performance, and disk performance. The virtual boxes VMware Workstation, Oracle VirtualBox, and WSL are used to review the virtual machines’ performance. Each of the virtual machines is configured in three different players with certain workloads. All the three virtual machines created are executed to study the CPU performance w.r.t number of iterations, the number of threads, the number of Floating-Point operations per second, and the number of input/output operations second. The memory performance is measured based upon the number of iteration, number of threads, throughput, size, and latency. The disk performance is based on read and write operations, size of the file, and time taken for read and write operations. Kali Linux operating system was uniquely used in all the virtual machine, and the results obtained at the end of each iteration are tabulated.

4.1 Running Kali Linux on Windows Subsystem on Linux (Hypervisor—I)

The CPU benchmark testing is done using the code written in C/C++, and the obtained results are tabulated according to the iterations, number of threads, number of floating-point operations per second, and the number of I/O operations per second. A total number of 10 iterations are carried out to study the CPU performance for the hypervisor using Kali Linux on Windows Subsystem on Linux.

The memory performance is tabulated based on the memory benchmarking test parameters like size in bytes, number of threads, and throughput for the read and write operations for both random and sequential access for the number of iterations. The latency is also computed to understand the delay in read and write operations for the given task with the CPU performance for the hypervisor using Kali Linux on Windows Subsystem on Linux (Tables 12.1, 12.2, 12.3, 12.4, 12.5, 12.6, 12.7, 12.8, and 12.9).

Table 12.1 CPU performance
Table 12.2 Memory performance
Table 12.3 Disk performance
Table 12.4 CPU performance
Table 12.5 Memory performance
Table 12.6 Disk performance
Table 12.7 CPU performance
Table 12.8 Memory performance
Table 12.9 Disk performance

The performance of the disk is carried out to estimate the reading and writing rate in Mbps; the size of the file is also considered for the total read and write operations per milliseconds. Disk benchmarking test is conducted along with the CPU and memory test for the hypervisor using Kali Linux on Windows Subsystem on Linux.

4.2 Running Kali Linux on VMware Workstation (Hypervisor-II)

The CPU benchmark testing is done using the code written in C/C++, and the obtained results are tabulated according to the iterations, number of threads, number of floating-point operations per second, and the number of I/O operations per second. A total number of 10 iterations are carried out to study the CPU performance for the hypervisor using Kali Linux on VMware Workstation.

The memory performance is tabulated based the memory benchmarking test parameters like Size in bytes, Number of Threads, Throughput for the read and write operations for both random and sequential access for the number of iterations. The latency is also computed to understand the delay in read and write operations for the given task with the CPU Performance for the hypervisor using Kali Linux on VMware Workstation.

The performance of the disk is carried out to estimate the reading and writing rate in Mbps, the size of the file is also considered for the total read and write operations per milliseconds. Disk benchmarking test is conducted along with the CPU and memory test for the hypervisor using Kali Linux on Windows Subsystem on VMware Workstation.

4.3 Running Kali Linux on Oracle Virtual Box (Hypervisor-III)

The CPU benchmark testing is done using the code written in C/C++, and the obtained results are tabulated according to the iterations, number of threads, number of floating-point operations per second, and the number of I/O operations per second. A total number of 10 iterations are carried out to study the CPU performance for the hypervisor using Kali Linux on Oracle VirtualBox.

The memory performance is tabulated based on the memory benchmarking test parameters like size in bytes, number of threads, and throughput for the read and write operations for both random and sequential access for the number of iterations. The latency is also computed to understand the delay in read and write operations for the given task with the CPU performance for the hypervisor using Kali Linux on Oracle VirtualBox.

The performance of the disk is carried out to estimate the reading and writing rate in Mbps; the size of the file is also considered for the total read and write operations per milliseconds. Disk benchmarking test is conducted along with the CPU and memory test for the hypervisor using Kali Linux on Windows Subsystem on Oracle VirtualBox.

5 Results and Discussion

The results obtained after the execution of all the three virtual machines are summarized, and the average of each and every parameter is computed. The CPU performance of the three virtual machines is calculated based on the average floating-point operations per second. The averages of WSL, VMware Workstation, and Oracle VirtualBox are computed, and the average input/output operation per second (Fig. 12.2).

Fig. 12.2
figure 2

Average floating-point operations per second – CPU performance

It is observed that the average flops obtained are less in Oracle VirtualBox when compared to the VMware Workstation and the WSL. However, the deviation is very less when compared. The I/O operations per second obtained and on computing the average of the input/output operations per second have yielded less in Oracle VirtualBox than the VMware Workstation and the WSL (Fig. 12.3).

Fig. 12.3
figure 3

Average I/O operations per second – CPU performance

The disk performance is measured by computing the average of the reading and writing rate. The WSL has claimed to have the lowest writing time when compared with the other two virtual boxes (Fig. 12.4).

Fig. 12.4
figure 4

Average writing rate – disk performance

The WSL reading time creditably has less reading time even though same operations were performed in the other two virtual boxes (Fig. 12.5).

Fig. 12.5
figure 5

Average reading rate – disk performance

The three virtual environments’ overall memory performance and the throughput are calculated for sequential read/write operations and random read/write operations (Fig. 12.6).

Fig. 12.6
figure 6

Memory performance

The latency in the memory performance is measured for all the three virtual boxes, and WSL claims the minimum latency when compared to the other VM boxes (Fig. 12.7).

Fig. 12.7
figure 7

Latency

The average memory performance looks better in Oracle VirtualBox than in the other virtual environments, and the latency is also significantly less. Contrasting over three virtual machines, Oracle VirtualBox has the best memory performance compared to VMware Workstation and WSL. However, WSL tops floating-point operations but is placed second to VMware Workstation in input/output operations in CPU performance. In disk performance, the average writing rate is better in VMware Workstation, but the average reading rate is better in Oracle VirtualBox.

6 Conclusion

The performance of the CPU, memory, and disk utilization is considered as the main components in this study. The exhibition of frameworks utilizing Linux as Guest OS is impressively better contrasted with the Windows Host-Guest framework. The experimental results show that each hypervisor has got its own identity. Each one is better than the other in different aspects and can be used according to the enterprise demand and the need for the applications in the virtual environment.