
Copyright © 2019 American Scientific Publishers Journal of All rights reserved Low Power Electronics Printed in the United States of America Vol. 15, 273–281, 2019 Performance Analysis of Microkernel Based Virtualization Techniques on Embedded Systems Deepa Mathew1,BijoyA.Jose1 ∗, and Priyadarsan Patra2 1Department of Electronics, Cochin University of Science and Technology, Kochi 682022, Kerala, India 2Dean of the School of Computer Science and Engineering, Xavier University, Bhubaneswar 751013, India (Received: 31 March 2019; Accepted: 17 April 2019) Exploiting the benefits of Virtualization in the world of Embedded technology has opened up new avenues for effective resource utilization, increased scalability, security and cost savings. With the above in perspective, the performance benchmarking of virtualized embedded systems is important. In this paper, we have assessed the performance of various types of virtualization techniques such as paravirtualization and hardware-assisted virtualization in a desktop environment. Microkernel based virtualization techniques are more suitable for embedded system environment, due to its low memory footprint and security advantages as only a small amount of trusted code is running at a high privileged level. We have used this implementation to analyze the performance of an OS on a microkernel based virtual environment and compared its performance with an OS in a nonvirtual environment on the same board. In addition to this, we have analyzed the performance of different types of virtualization techniques possible with a microkernel on a low power arm based embedded system with a benchmarking tool. Keywords: Virtualization,IP: 192.168.39.151 Microkernel, Embedded On: Thu, Systems,30 Sep 2021 Virtual 04:06:00 Machines. Copyright: American Scientific Publishers Delivered by Ingenta 1. INTRODUCTION Virtualization allows simultaneous execution of real time The term Virtualization refers to the creation of a virtual OS and a general purpose OS on the same hardware, which version of any device. A Virtual Machine would be an improves the performance and security of the systems. independent working environment which provides isola- In today’s world, the embedded system board has pro- tion and the experience of working with physical hard- cessing capability equal to that of desktop computers, ware. Virtualization allows more than one virtual machine which has facilitated enhanced capabilities in its appli- (VM) on the same physical hardware.1 This way the cation areas like robotics, automotive and mobile sys- resources can be shared between different VMs based on tems. The functionalities expected from a mobile phone is demand or pre-decided schemes. In the enterprise sector, increasing and software is becoming more complex and it this also gives additional advantages in configuring differ- may need to run multiple OS on the same phone. Most ent Operating Systems (OS) on the same physical machine of the recent ARM boards come equipped with multicore and operating them in parallel. Each OS runs on a vir- architectures, which facilitates extension of the advantages tual machine and each of them is unaware of other virtual of virtualization to the embedded system applications. As machines accessing the system. Alternatively, this facility the technology advances further and boards become more also provides the basis for having multiple sessions for economical, virtualization allows us to replace functional- different users and many other extensions. ities provided by two or three microcontrollers to a sin- A VM is an environment created by the virtualization gle multicore board. Hence, this enables to capitalize on layer, which is also known as a hypervisor.2 VMs are envi- advantages of cost savings and optimized resource utiliza- sioned to provide isolation and protection of resources. tion. Each microcontroller functionality resides on each Virtualization began when IBM first introduced virtualiza- virtual machine and these virtual machines are independent tion for servers. From then on, it has evolved over the of each other. Failure of a virtual machine does not affect years and now it finds its application in embedded systems. the other. This finds application in automotive and control industries. Some of the advantages of using virtualization ∗Author to whom correspondence should be addressed. are effective resource utilization, increased scalability, reli- Email: [email protected] ability, cost savings in terms of energy and space. J. Low Power Electron. 2019, Vol. 15, No. 2 1546-1998/2019/15/273/009 doi:10.1166/jolpe.2019.1602 273 Performance Analysis of Microkernel Based Virtualization Techniques on Embedded Systems Mathew et al. There are different approaches by which virtualization is Interprocess communications. All the other required func- possible in embedded systems such as Xen, KVM, QEMU, tionalities are added as user level services and these and different microkernel based OKL4, SEL4, Fiasco.OC. services run in different address space or threads. In a The microkernel based virtualization is apt for the embed- microkernel based operating system, the Microkernel runs ded system due to its low memory footprint. The micro- at a higher privileged mode, known as Kernel mode. kernel selected for the work is Fiasco.OC, which is a third All other functionalities like File system management, generation microkernel from L4 microkernel family and Network management, Memory management, and Device is developed at TU Dresden University. Fiasco.OC sup- drivers run at lower privilege level, i.e., as user level ports both paravirtualization and hardware-assisted virtu- threads on top of this Microkernel as shown in Figure 2. alization. L4linux, which is paravirtualized Linux, runs So the amount of code running at higher privilege level on top of Fiasco.OC. Benchmarking tools Coremark and is lesser compared to a Monolithic kernel. This helps to LMbench have been used to analyze the performance. build a robust trustworthy base for the system, which in turn improves the overall system security. These features of microkernel match to the requirements of a hypervisor.5 2. BACKGROUND AND RELATED WORK A microkernel based system allows easier management of 2.1. Virtualization code as only the required functionality needs to be added Virtualization allows multiple VMs to run parallelly on to the system as user level service. a single hardware. A software layer called Hypervisor or Virtual Machine Monitor (VMM) provides the abstraction 2.2.1. L4 Family 3 of the underlying hardware to the virtual machine (VM)s. The work of first generation microkernels started in the The VMM provides isolation for each VM. The hypervi- 1980s and was not successful because of its poor design sor is also known as a control program as it controls and and performance.6 e.g.: Mach, Chorus. In the 1990s the manages the virtual machines running on top of it. The second generation microkernel L4 is created by Jochen VMM is classified into two types2 depending upon the Liedtke mainly to overcome the performance limitations layer at which VMM comes as shown in Figure 1. When of first generation microkernels. Developed at the con- the hypervisor runs directly on top of hardware it is called cept of a minimal kernel, accordingly a concept is toler- Type 1 VMM or a bare metal hypervisor. In Type 1 VMM, ated inside the kernel only if it cannot be moved out of the hypervisor runs at highest privilegeIP: 192.168.39.151 mode. Example On: of Thu,the 30 kernel. Sep 72021The 04:06:00 main reimplementation work of L4 hap- Type 1 hypervisors is Xen hypervisor.Copyright: In Type 2 American VMM, Scientificpened at threePublishers universities and are shown in the Figure 3 the hypervisor runs on top of the host operating systemDelivered and byalong Ingenta with the main implementation names.8 At the Uni- hence it is called hosted hypervisor. Examples of Type 2 versity of Karlsruhe, they developed a highly portable hypervisors are VMware Workstation, VMware Player and microkernel named L4ka:Pistachio. At the University of VirtualBox. Type 2 hypervisor can make use of the ser- South Wales, they named the original version of L4 as vices provided by the host operating system but has higher L4/x86 and developed L4/MIPS and L4/Alpha, these ver- overhead as it can access the hardware only through the sions were unportable and later they were interested in host OS. Different virtualization approaches are available the portability of L4ka:Pistachio and which led to the for an embedded system4 from among them we chose new version NICTA::L4-embedded. NICTA ported it to a microkernel based virtualization due to its low memory number of architectures including ARM and optimized it footprint and small trusted computing base. for use in resource constrained embedded systems. Qual- comm’s association with NICTA created the commer- 2.2. Microkernel as Hypervisor cial OKL4. The third generation microkernel at NICTA A microkernel provides only the basic functionality is SeL4. At the Dresden University of Technology, they required for the functioning of the operating system such as Address space management, Thread management and Fig. 1. (a) Type 1 hypervisor (b) type 2 hypervisor. Fig. 2. Microkernel based system. 274 J. Low Power Electron. 15, 273–281, 2019 Mathew et al. Performance Analysis of Microkernel Based Virtualization Techniques on Embedded Systems Fig. 3. Major reimplementations of L4. developed C++ implementation of L4 kernel interface, the object. The services running on Fiasco and L4Re are called L4/Fiasco. Fiasco is a preemptible real time ker- called servers and there are many standard servers namely nel and is used in Dresden Real Time Operating Sys- sigma0, Ned, moe. Sigma0 is the initial resource manager tems Project (DROPS).9 The third generation microkernel and is responsible for handling the page faults of the root of fiasco is called Fiasco.OC.10 We selected Fiasco.OC task. Moe is the first task or the root task of L4Re started for our analysis of virtualization on embedded boards and by the Microkernel.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages9 Page
-
File Size-