A Practical Look at Micro-Kernels and Virtual Machine Monitors

Size: px
Start display at page:

Download "A Practical Look at Micro-Kernels and Virtual Machine Monitors"

Transcription

1 A Practical Look at Micro-Kernels and Virtual Machine Monitors François Armand, Michel Gien, Member, IEEE Abstract In this paper, we look at two different approaches used to provide embedded system support for virtualization and virtual machine monitors for consumer electronics and mobile devices. We compare the micro-kernel approach, which has been a popular choice for building embedded operating systems with the Virtual Machine Monitor (VMM) or hypervisor approach widely deployed in general purpose computing environments such as desktops and data center servers. Comparison criteria are based on virtualization use cases that are typical of Consumer Electronics (CE) systems such as mobile devices and IPTV. These approaches are further evaluated based on performance and on their ability to allow re-use of existing (often real-time) software as well as modern open operating systems such as Linux while remaining as transparently as possible. Such transparency can come through different paths, including: leveraging of hardware virtualization support, minimal modifications to the original operating system internals (kernel, device drivers, etc.), and the ability to use existing operating system applications as-is and without the need to port them to a new environment. An analysis of the fundamental principles behind each approach is presented with a discussion of their impact on existing operating environments, together with practical performance results based on existing micro-kernels and real-time hypervisor benchmarks. We conclude that mapping the VMM (hypervisor) approach used in data centers to the needs of embedded systems is a better option for the support of complete operating systems (as guests) than extending micro-kernels for such functionality. Keywords Virtual machine monitors for CE systems such as mobile devices and IPTV, Virtualization for security and fault-isolation on CE systems, Embedded operating system support for virtualization, Virtualization architecture for real-time applications Index Terms Embedded system, hypervisor, micro-kernel, Operating System (OS), virtualization, Virtual Machine Monitor (VMM). I. INTRODUCTION FTER several years of availability in the enterprise and Aserver space, virtualization is becoming a hot topic in embedded systems, particularly for consumer electronics systems such as mobile devices and IPTV set-top boxes. One Manuscript received October 10, François Armand is with VirtualLogix, 6 avenue Gustave Eiffel, Montigny-le-Bretonneux, France (phone: ; fax: ; ( Michel Gien is with VirtualLogix, 6 avenue Gustave Eiffel, Montigny-le-Bretonneux, France (phone: ; fax: ; of the main drivers is the need to run new or feature-rich open system software while maintaining existing legacy software that has been already tested and validated in their own operating environment. Such open software commonly includes Linux and more established operating systems such as Windows or Symbian where developers want to run the operating system unchanged while also extending their device security and manageability at all levels. Co-existence of several operating environments on the same hardware platform is one of the main purposes of hardware virtualization software, made possible by the provision of a virtual image of the hardware to each operating system, which believes it is running alone on the underlying hardware. Mobile phone platform products that are now been deployed with such virtualized operating environments include the NXP 7210 platform used in the Purple Magic single core Linux reference phone design [1], [2]. Hardware virtualization is not a new concept. It has been used in data centers for years. However, its introduction in embedded systems, in particular mobile devices is relatively new. Several approaches are being used to provide hardware virtualization in embedded devices. One extends the data center Virtual Machine Monitor (VMM) or hypervisor approach to fit the constraints of embedded systems. Another approach extends micro-kernels that have traditionally been used in embedded systems so they can support full operating system kernels in addition to their own embedded applications. This paper examines foundation concepts of each approach and discusses their implications on the expected benefits of virtualization in embedded devices. A parallel can be made with the arguments exchanged in two papers issued by stakeholders from each camp, ie, Xen [3] and L4 [4]. Finally actual measurements and performance benchmarks of the L4 microkernel and the VirtualLogix VLX hypervisor illustrate the implications of the two approaches in real-world scenario. II. VIRTUAL MACHINE MONITORS AND HYPERVISORS A. Virtualization in the Data Center The common term, virtual machine monitor (VMM), refers to software that controls and virtualizes the system "physical" hardware and reflects that this software generates and monitors "virtual machines" in which operating systems (OS) are executed. An operating system that executes in the context of a virtual machine is often referred to as a "guest OS," as /09/$ IEEE 1

2 opposed to a "native OS" that has full control over the hardware resources (i.e. the "real machine"). The VMM may sometimes be called a "hypervisor" by analogy to the term "supervisor" used to designate the function of the inner part of an OS called the OS kernel, which supervises the execution of applications and their access to hardware resources (computing, memory, storage, network, etc.). In the case of "virtualization technology," the hypervisor provides access to the hardware resources for the operating systems via fully or partially virtualized interfaces. This adds one layer of hardware management which multiplexes usage of the real hardware to several operating systems or several instances of the same operating system, which can thus share that same hardware. The first hypervisor, called Control Program 67 (CP-67) [5], was introduced in the summer of 1966 by IBM in its famous System/360 family of mainframe computers, the 360/67. It then became VM/370 on the S/370 and was used to run various operating systems such as "single user" (e.g. CMS) or "batch" operating systems (e.g. OS 360) simultaneously and securely on the same computer. Essentially VM/370 and hardware cooperate so multiple instances of any operating system, each with protected access to the full instruction set, can peacefully and concurrently coexist. This is one of the more successful hypervisors and still sees wide use in IBM mainframes today. Since then, hypervisors have gained increasing popularity in the computing space with many commercial and public options now available. The most widely used hypervisor on x86-based computers is VMware [6], which is offered by a subsidiary of the EMC Corporation. The University of Cambridge Computer Laboratory has developed a competing open source project called Xen [7] that is supported by various computer manufacturers including IBM, Sun Microsystems and HP to run several instances of Linux and other operating systems primarily on x86-based servers. Microsoft recently announced its own hypervisor software named Hyper-V [8]. Hypervisors provide "hardware virtual machines" and should not be confused with interpreters providing "application virtual machines." Interpreters isolate the application used by the user from the computer it is running on. Because versions of the virtual machine are written as interpreters for various computer platforms, any application written for the virtual machine can be operated on any of the platforms, instead of having to produce separate versions of the application for each computer and operating system. One of the best known examples of an application virtual machine is Sun Microsystem's Java Virtual Machine [9]. B. Virtualization in a Consumer Device The amount of processing power and memory available in today s mobile handsets enable them to run high-level, general purpose operating systems such as Linux, Windows or Symbian providing rich sets of services and applications. Smart phones increasingly resemble laptops in terms of features that they offer to users. Similar to what happened with personal computers in past years, today s convergence of increased processing power and operating system support allows virtualization technology to be applied to mobile handsets and provide them with a software architecture that allows them to consolidate different operating environments on the same hardware platform. Running along side of a feature-rich open operating system, a real-time operating system (RTOS) is used in mobile handsets to support deterministic tasks, such as running wireless protocol stacks and core phone services. Aside from the operating system choices, mobile handsets present a further challenge to virtualization solutions in their support for real-time operating systems and for many peripherals such as screen, touchpad, keyboard, audio I/O, camera, flash memory, disk, Bluetooth, USB, WiFi as well as wireless telecom network protocols. Emerging from these market and technical requirements is a new generation of hypervisors, sometimes referred to as using "real-time virtualization" technology targeting embedded devices by allowing a guest OS of the hypervisor to be a realtime operating system (RTOS) without compromising its native real-time characteristics and behavior. VirtualLogix VLX is an example of such a real-time virtualization hypervisor [10]. Like other hypervisors in the traditional computing space, real-time hypervisors ensure strict isolation and secure communication between multiple virtualized execution environments. In addition, real-time hypervisors support the ARM processor family powering the vast majority of mobile phones and when it is made available by the silicon manufacturer, these hypervisors are able to leverage hardware support for virtualization, on Intel VT-based architectures for example. "Real-time virtualization" can be used to securely consolidate a RTOS and a rich operating system which would otherwise run on independent processors on a single CPU lowering the cost of smart phones and bringing more functionality into the high-volume mass market. It can also be used to support a trusted execution environment (TEE), compliant with the requirement standards of the Open Mobile Terminal Platform (OMTP) industry organization [11]. Unlike virtualization technologies used in IT servers in the data center, such as provided by VMware, Xen, or Microsoft, VirtualLogix VLX has been specifically designed to address the requirements of devices such as mobile handsets, by meeting stringent cost, performance and memory constraints. Such hypervisor-based virtualization products can be summarized as providing real-time deterministic execution environments dedicating specific hardware resources to particular guest OS's for performance reasons, and supporting embedded processors such as the ARM and low power Intel Atom processor families. They support Linux, Windows, Symbian, several commercial real-time operating systems and a variety of legacy "home-grown" proprietary embedded OS's. Their realtime virtualization technology provides a flexible architecture that enables various tradeoffs between resource isolation and sharing policies, based upon use case requirements. 2

3 III. MICRO-KERNELS A. Operating system complexity Complexity of operating systems has been increasing in a rather exponential way during the last 20 years. Using a measure as simple as the number of lines of code, Unix and Linux systems have evolved from of lines of C code (Unix V7, in the early 80 s) to more than 8.5 million lines of code in the Linux kernel 1 [12]. Services provided by an operating system have extended and cover a much larger scope than 20 years ago. Peripheral devices are much more diverse and complex than they used to be and operating systems needs to abstract an ever larger set of services to their applications (eg, audio, video, input devices, sensor driven services). Systems designers have attempted to address operating system internal complexity issues using various modularization approaches. Micro-kernels, exo-kernels and other similar approaches have been studied and tested to try to fragment and reduce the overall complexity of systems with the hope that managing smaller and less complex pieces would lead to an overall simpler design. In the late 80 s, the Mach micro-kernel [13] developed at CMU (Carnegie Mellon University) had a similar approach to reduce operating system complexity although primarily towards data center operating systems. A derivative is still used by Apple as the underpinning of MacOS X. Between 1980 and 2001, the Chorus micro-kernel [13][14] has gone thru five major iterations, starting as a research project at INRIA (Institut National de Recherche en Informatique et Automatique in France) then evolving as a software product by Chorus Systems then Sun Microsystems. It has been used to re-architect the UNIX operating system as a set of cooperating system services on top of a minimum micro-kernel, as well as to combine real-time tasks with general purpose UNIX applications in consumer devices such as Java terminals and network infrastructure equipment. The experience gained during the years of applying micro-kernel technology to combine several operating environments on the same hardware led the Chorus Systems engineering team to fund VirtualLogix in In doing so, they took a different approach and designed native hardware virtualization software that allows re-use of existing operating systems with minimum changes instead of attempting to forcefully merge monolithic operating system kernel functions along microkernel services. QNX [15] evolved from an embedded real-time kernel to a micro-kernel based operating system supporting combinations of real-time tasks and POSIX processes. It is now used primarily in the automotive industry and some industrial systems. More recently several academic research communities started to develop a new generation of micro-kernels based along the L4 concept and APIs originally expressed in the mid 90 s [16]. Several variants are still being developed in academic research [17] and in industry [18]. 1 Today, lines of code is the difference between the and releases of the Linux kernel. B. Micro-kernel goals and services Micro-kernels share the common goal of keeping things as simple as possible in the micro-kernel, implementing low level mechanisms only, and isolating operating system servers in user mode. Inter-process communication (IPC) is usually provided at the lowest level possible and is widely used as a general communication paradigm between operating system servers and between servers and the micro-kernel, and as a substitute to system traps. C. Drawbacks Due to its basic and low-level nature, the micro-kernel API itself is not suitable to run meaningful applications. Therefore it must be extended with higher level APIs necessary to run real-time tasks or UNIX-like applications. For real-time tasks, micro-kernels frequently introduce new proprietary interfaces and services, which add to the already plethoric set of embedded and real-time operating systems in the market. For general purpose applications, POSIX is one of the commonly adopted standards. However, POSIX interfaces need to be implemented by means of operating system servers running on top of the micro-kernel and using its low-level APIs and services. This approach requires significant rearchitecting of operating system kernel components so they run in different independent system servers communicating by means of the underlying micro-kernel IPC. The result diverges significantly from already existing and widely adopted operating system implementations such as Linux and is therefore difficult to maintain and evolve. This probably explains why all projects to re-architect UNIX along a microkernel approach failed so far, both in the industry (Novell s UNIX System V/MK based on Chorus, or OSF/1 based on Mach) and thus far in the open source community, (GNU/Hurd). These failures are due to the fact that the multi-layer operating system architecture proposed by micro-kernels, although modular and elegant, adds significant complexity to system designers who need to provide standard APIs to their application developers, compared to already existing and widely adopted monolithic implementations, such as existing real-time operating systems or open systems such as Linux, Window or Symbian. Performance can be impacted as well due to multiple interactions between kernel components running at different levels and communicating by means of the underlying micro-kernel IPC. IV. HARDWARE VIRTUALIZATION REQUIREMENTS The goal of hardware virtualization is to run several existing operating environments on a single underlying physical hardware platform. Virtualization requirements that should be satisfied when applied to embedded system products may be summarized as follows: Run an existing operating system and its supported applications in a virtualized environment, such that modifications required to the operating system are minimized (ideally none), and performance 3

4 overhead is as low as possible; It should be straightforward to move from one version of an operating system to another one; this is especially important to keep up with frequent Linux evolutions; Reuse native device drivers from their existing execution environments with no modifications; Support existing legacy often real-time operating systems and their applications while guaranteeing their deterministic real-time behavior. While consumer electronic devices leverage performance critical software on an RTOS and open operating systems such as Linux, there is usually little need for a tight integration between applications running on each environment. Traditionally, these functions are distributed between different processors and associated hardware. In today s devices where additional hardware is replaced with software virtualization, the existence of virtualization is not expected to impact the system interactions even though they run on the same piece of physical hardware. In some cases however, sharing of peripheral devices between execution environments can be required. Typical examples in mobile devices include audio peripherals, power management and modem access. V. VIRTUALIZATION APPROACHES A. Transparent and para-virtualization There are basically two ways to provide transparent virtualization, ie run multiple operating systems simultaneously on the same processor with no modifications: Dynamic binary translation where a hypervisor dynamically rewrites some part of the guest OS, Hardware assisted virtualization as supported by the latest x86 processors from Intel and AMD. The first approach, as used by VMware requires a large hypervisor with high overhead. Although suited for a wide number of uses in the data center, this architecture introduces non deterministic caching mechanisms which make it unsuitable for embedded systems products. The second approach, hardware assisted virtualization, is used today for deployment within network infrastructure equipment, when combined with a real-time hypervisor. However, even though most embedded processor manufacturers or licensors plan to provide hardware assisted virtualization features as part of their technology roadmap, these new processor technologies are not yet widely deployed in the embedded space. In order to minimize the performance impact on operating system performance, para-virtualization techniques have been introduced [19] that require modifications in the operating system kernel so that it calls the underlying virtualization software instead of relying on complete emulation of the hardware. In order to preserve as much transparency as possible to the guest operating system, such modifications can be limited to its Hardware Abstraction Layer (HAL) or Board Support Package (BSP) hence these para-virtualization changes are no more than what is required to adapt an OS to a new hardware board. B. Hosted versus native virtualization Although one can think of an operating system as a virtualization of the hardware, its primary purpose is to support a higher level of abstraction to facilitate the operation of applications. Basic hardware features such as processor(s), physical memory, disks, networks and other peripheral devices are abstracted by the operating system into processes or tasks, virtual memory, files, inter-process communication and the like. These abstractions could be used in turn to provide an emulation of the physical hardware on which on can run a complete operating system kernel. This technique of providing hardware virtualization is referred to as hosted virtualization software (or Type II Virtual Machines). This is a convenient approach but it comes at the cost of high memory footprint and relatively low performance because the system overhead compared to native operating systems is quite high. Traditionally a host is a full operating system such as UNIX, Linux, Windows. With a micro-kernel based operating system, on might think of using the micro-kernel services to provide the hardware abstractions necessary to support virtual machines. However, as we will detail later in this paper, the level of services provided by the micro-kernel are at the same time too high-level (tasks or threads, inter-process communication) and insufficient (memory management, peripheral devices) requiring additional system services. The result of implementing virtualization on a micro-kernel host is a level of complexity similar to fully hosted VMs with high performance impact. Hypervisors on the other hand providing native hardware virtualization (or Type I Virtual Machines) have been designed to emulate the low level features of the hardware that are expected by an operating system kernel, so they can be run into virtual machines with no changes. VI. MICRO-KERNELS VERSUS HYPERVISORS Para-virtualization techniques have been applied to both hosted and native approaches to virtualization. However, the level of modification required in guest operating systems depends on how closely the virtualization software abstractions model the native hardware. Higher level abstractions require more intrusive modifications. In that sense, micro-kernels and hypervisor approaches have a quite different impact on the amount and difficulty of modifications required to run a guest operating system. Hypervisors typically know only about virtual machines and guest operating systems but tend to ignore all of the internal details of the workload being run in a virtual machine. Hence, an hypervisor knows only the properties of virtual machines it manages (memory, devices, scheduling). Such properties are quite close to those seen by a native operating system running on bare hardware. On the other hand, micro-kernels provide higher level abstractions, such as tasks, threads, memory contexts and IPC mechanisms which are similar to those already implemented 4

5 by a complete operating system kernel, thus involving a more TABLE I OS PARA-VIRTUALIZATION ON MICRO-KERNEL VERSUS HYPERVISOR Threads Services Micro-kernel Hypervisor Processes Memory Communication Interrupts & Exceptions Peripherals Knows all threads of any OS and imposes global scheduling Knows about tasks and OS processes Knows memory context of tasks and is Involved in memory context switch, page faults, etc. IPC imposes API and semantics Catch and forward as IPC Device drivers as microkernel processes Knows and schedule only guest OS Knows only guest OS partitions. Hypervisor can easily start, stop, resume complete OS Knows only memory partitions. Memory management is done by guest OS IPC services left to guest OS Virtual Interrupts forwarded to guest OS. Exceptions managed by guestos Core drivers in hypervisor, peripheral drivers in OS partitions Hypervisor approach is less intrusive and closer to what a native operating system is expecting from physical hardware. complex mapping. Table I below outlines some of the differences in paravirtualization of an operating systems kernel to a micro-kernel versus a hypervisor. A. Tasks and Threads Micro-kernels manage tasks and threads: they offer services to create, delete and list them. They schedule threads they have created. As a result, the typical way to run an OS kernel on top of a micro-kernel is to insure that all processes and threads managed by the guest OS are known to, and managed by the underlying micro-kernel. This requires heavy guest OS modifications to allow this. Creation and deletion of such objects in the guest OS need to rely on a corresponding invocation of the micro-kernel. For mostly static embedded systems, such overhead could be acceptable as it would be incurred only at initialization time. However, a thread (task) is now described by two data structures, one in the guest OS and one in the micro-kernel, which introduces memory footprint overhead. Hypervisors on the other hand, do not know about tasks and threads managed by their guest OSes. This independence avoids overhead in duplicate task creation and deletion operations or for managing such objects. B. Scheduling Micro-kernels provide services to schedule threads according to micro-kernel scheduling policies that replace the existing guest OS processor scheduling policies. The guest OS must be heavily modified to allow this. When more than one OS is supported, threads from different OSes are scheduled by the micro-kernel independently to the OS they belong to thus creating complex situations to analyze and debug. Since hypervisors schedule only guest OS, each one keeps its own scheduling policy, which allow running an OpenOS with a time share policy and a real-time OS with a fixed priority scheduling policy with no pain. C. Memory Micro-kernels (or dedicated servers) manage physical and virtual memory for the tasks they support whether these are native micro-kernel tasks or guest OS tasks. Each task context is known by the micro-kernel. The micro-kernel is involved in every memory context switch and the guest OS must be heavily modified to allow this. Memory and page faults are also captured by the micro-kernel and typically forwarded to the OS by means of the micro-kernel IPC. Hypervisors know physical memory partition granted to each virtual machine (guest OS) and check the validity of memory mappings used by guest OS. Memory and page faults handler provided by guest OSes are triggered directly by that guest OS without involving an additional generic IPC mechanism. D. Communications Within a micro-kernel, there is no other way to communicate between threads running in different tasks of a guest OS than to use the microkernel IPC. Hypervisors on the other hand enable communication between guest OSes by means of very low level mechanisms such as shared memory used to implement ring buffers to exchange data and virtual cross-interrupt to signal that some data is available for consumption. Such mechanisms are not intended to be used by applications but by OS kernels and device drivers that can map their existing higher level communication services and protocols with minimum impact. E. Device Drivers Micro-kernels typically catch peripheral interrupts and forward them using the micro-kernel IPC. Sharing of devices between multiple guest OS also relies on the micro-kernel IPC. Hypervisors for embedded systems enable guest OSes to run with their native device drivers. Interrupts are transparently virtualized and delivered as they are expected and used by a native OS. In addition, some hypervisors provide a standard framework to share peripheral devices between several guest OS [20]. F. Virtual Machine Management Micro-kernels abstractions do not have concepts of a unique guest OS, virtual machine or memory partition. Hence, there is no straight-forward way to perform management operations such as stop or restart on guest OSes or virtual machines. Such operations could be implemented as a service on top of the micro-kernel, but this would add extra performance and memory overhead. Similarly, accounting for or limiting how much memory or CPU time is used by a given guest OS may be quite complex to implement. VII. MEASUREMENTS One of the measures of the impact of a micro-kernel versus hypervisor approach to operating system kernel par- 5

6 virtualization is to look at the number of files that need to be modified in order to support a guest operating system kernel. Here, due to the availability of Linux on both the VLX hypervisor and the L4 microkernel, we provide some comparative source code modifications information. On an ARM926 based platform, the Linux kernel includes 1200 files and 30 Board Support Packages (BSP) in the arch/arm and include/asm-arm directory trees. In order to make it run on the VLX MH 3.1 hypervisor, 51 files are modified and 40 files added in the ARM architecture tree. By contrast, the corresponding L4 release implementation requires the introduction of a new architecture tree (arch/l4) which includes 202 new files, 108 of which are ARM specific files. This new arch/l4 source tree requires that changes to the ARM Linux tree be migrated to the arch/l4 tree in order to leverage BSPs, ARM processor enhanced features, and device driver support. On the performance side, the following diagram illustrates the overhead of typical LMbench performance tests run on Linux with L4RootFS compiled with gcc on a Freescale imx31 ADS board (ARM1136 at 532 MHz with 128MB of RAM) on the VLX MH 3.2 hypervisor and on the OKL4 release 2.1 pistachio (April 15, 2008) micro-kernel respectively. The diagram shows the overhead factor of LMBench latency benchmark results obtained on Linux on L4 compared to the same tests results on Linux on VLX. The L4 overhead compared to VLX ranges from a 2x to 20x factor depending on the Linux system call benchmark. AF_UNIX socket pipe sh proc UDP exec proc LMBench Latency Benchmarks null call TCP 9 null IO fork proc Linux on VLX sig hndl sig inst VIII. CONCLUSION This paper has outlined different approaches to introducing virtualization technology into consumer electronics systems and mobile devices, with a key benefit being to support several existing execution environments on the same hardware platform, with no or minimum changes to the existing software. Although hardware virtualization software as provided by hypervisors or virtual machine monitors (VMMs) have been around for a number of years in general purpose computing 20 read Linux on L4 open/close write stat 13 fstat environments, its introduction into embedded systems is quite new. Light weight hypervisors such as provided by VirtualLogix VLX have been designed to provide real-time virtualization that fits the needs of such market. At the same time, virtualization has become a buzz word that is being used to sell micro-kernel technology, which has been designed from the outset as a better way to architect modern operating systems, and not as a way to share native hardware between existing operating systems as transparently as possible. We have shown that, although the hypervisor and microkernel approaches may seem to address similar concerns, their design centers are quite opposite. Micro-kernels introduce virtualization as an extension to operating systems, whereby hypervisors consider virtualization as an extension to the hardware, taking advantage of hardware assistance when available on modern processor architectures. Performance benchmarks also show that the impact of micro-kernel based virtualization on native operating system performance is bigger than with a hypervisor in addition to being more intrusive to operating system kernels when paravirtualization techniques are being used. In conclusion, micro-kernel operating systems should be used when one can start from a white sheet of paper and introduce a new operating system into their devices that is able to run applications as different as real-time tasks and general purpose Linux processes. On the other hand, a hypervisor that is providing native hardware abstractions that allows a close to native existing operating system to run should be used when one wants to re-use legacy software or extend the capabilities of devices based on established open operating systems such as Linux, Windows or Symbian OS. ACKNOWLEDGMENT The authors would like to thank the whole VirtualLogix team and in particular the systems architects who put into question their years of experience developing micro-kernel based operating systems and helped shape the design of VirtualLogix VLX to better address embedded systems needs. REFERENCES [1] NXP, Nexperia Cellular System Solutions for Linux. Available: [2] Purple Labs, Purple Magic first sub-$100 3G Linux Reference Phone for Emerging Markets. Available: [3] S. Hand, A. Warfield, K. Fraser, E. Kotsovinos, D. Magenheimer, Are Virtual Machine Monitors Microkernels Done Right?. In Proc. 10th Workshop on Hot Topics in Operating Systems (HotOS X), Sante Fe, NM, USA, June [4] G. Heiser, V. Uhlig, J. LeVasseur, Are Virtual Machine Monitors Microkernels Done Right? NICTA Tech. Rep. PA005103, Sep [5] CP 67, [6] VMware. Available: [7] P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt, and A. Warfield, Xen and the art of virtualization, In Proc. 19th ACM Symposium on Operating Systems Principles (SOSP), Bolton Landing, NY, pp , Oct [8] Microsoft, Virtualization and Consolidation with Hyper-V. Available: 6

7 [9] T. Lindholm, F; Yellin, The Java Virtual Machine Specification, Sun Microsystem, Available: [10] VirtualLogix VLX. Available: [11] OMTP, OMTP Advanced Trusted Environment: OMTP TR1, May 2008.Available:http://www.omtp.org/Publications/Display.aspx?Id=dbe 5b79c-216c-4ce6-a0f7-c482ac58f44c# [12] G. Kroah-Hartman, J. Corbet, A. McPherson, Linux Kernel Development.Available:http://www.linuxfoundation.org/publications/lin uxkerneldevelopment.php [13] M. Accetta, R. Baron, W. Bolosky, D. Golub, R. Rashid, A. Tevanian, and M. Young, Mach: A new kernel foundation for UNIX development. In Proc. Summer USENIX Conference, June [14] M. Rozier, V. Abrossimov, F. Armand, I. Boule, M. Gien, M. Guillemont, F. Herrmann, C. Kaiser, S. Langlois, P. Léonard, and W. Neuhauser, Chorus distributed operating systems, USENIX Computing Systems, 1(4), pp , [15] D. Hildebrand, An architectural overview of QNX. In Proc. of the USENIX Workshop on Microkernels and other Kernel Architectures, Seattle, WA, USA, pp , Apr [16] J. Liedtke, Towards real microkernels, Communications of the ACM, 39(9), pp , Sep [17] G. Heiser, K. Elphinstone, I. Kuz, G., Klein, S. M. Petters, Towards Trustworthy Computing Systems: Taking Microkernels to the Next Level, SIGOPS Operating Systems Review, July [18] R. Kaiser, S. Wagner, The PikeOS Concept: History and Design, SysGO AG White Paper. Available: [19] A. Whitaker, M. Shaw, S. D. Gribble, Denali: Lightweight Virtual Machines for Distributed and Networked Applications, In Proc. of the USENIX Annual Technical Conference, [20] F. Armand, M. Gien, G. Maigné, G. Mardinian, Shared Device Driver Model for Virtualized Mobile Handsets, In Proc. ACM MobiVirt Workshop held in conjunction with MobiSys 2008, Brekenridge, CO, USA, June 17,

Mesovirtualization: Lightweight Virtualization Technique for Embedded Systems

Mesovirtualization: Lightweight Virtualization Technique for Embedded Systems Mesovirtualization: Lightweight Virtualization Technique for Embedded Systems Megumi Ito Shuichi Oikawa Department of Computer Science, University of Tsukuba 1-1-1 Tennodai, Tsukuba, Ibaraki 305-8573,

More information

Virtualization. Jukka K. Nurminen 23.9.2015

Virtualization. Jukka K. Nurminen 23.9.2015 Virtualization Jukka K. Nurminen 23.9.2015 Virtualization Virtualization refers to the act of creating a virtual (rather than actual) version of something, including virtual computer hardware platforms,

More information

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Microkernels, virtualization, exokernels. Tutorial 1 CSC469 Microkernels, virtualization, exokernels Tutorial 1 CSC469 Monolithic kernel vs Microkernel Monolithic OS kernel Application VFS System call User mode What was the main idea? What were the problems? IPC,

More information

Full and Para Virtualization

Full and Para Virtualization Full and Para Virtualization Dr. Sanjay P. Ahuja, Ph.D. 2010-14 FIS Distinguished Professor of Computer Science School of Computing, UNF x86 Hardware Virtualization The x86 architecture offers four levels

More information

VMware Server 2.0 Essentials. Virtualization Deployment and Management

VMware Server 2.0 Essentials. Virtualization Deployment and Management VMware Server 2.0 Essentials Virtualization Deployment and Management . This PDF is provided for personal use only. Unauthorized use, reproduction and/or distribution strictly prohibited. All rights reserved.

More information

COS 318: Operating Systems. Virtual Machine Monitors

COS 318: Operating Systems. Virtual Machine Monitors COS 318: Operating Systems Virtual Machine Monitors Kai Li and Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall13/cos318/ Introduction u Have

More information

How do Users and Processes interact with the Operating System? Services for Processes. OS Structure with Services. Services for the OS Itself

How do Users and Processes interact with the Operating System? Services for Processes. OS Structure with Services. Services for the OS Itself How do Users and Processes interact with the Operating System? Users interact indirectly through a collection of system programs that make up the operating system interface. The interface could be: A GUI,

More information

Virtual Machines. www.viplavkambli.com

Virtual Machines. www.viplavkambli.com 1 Virtual Machines A virtual machine (VM) is a "completely isolated guest operating system installation within a normal host operating system". Modern virtual machines are implemented with either software

More information

evm Virtualization Platform for Windows

evm Virtualization Platform for Windows B A C K G R O U N D E R evm Virtualization Platform for Windows Host your Embedded OS and Windows on a Single Hardware Platform using Intel Virtualization Technology April, 2008 TenAsys Corporation 1400

More information

Virtualization for Future Internet

Virtualization for Future Internet Virtualization for Future Internet 2010.02.23 Korea University Chuck Yoo (hxy@os.korea.ac.kr) Why Virtualization Internet today Pro and con Your wonderful research results Mostly with simulation Deployment

More information

Leveraging Thin Hypervisors for Security on Embedded Systems

Leveraging Thin Hypervisors for Security on Embedded Systems Leveraging Thin Hypervisors for Security on Embedded Systems Christian Gehrmann A part of Swedish ICT What is virtualization? Separation of a resource or request for a service from the underlying physical

More information

12. Introduction to Virtual Machines

12. Introduction to Virtual Machines 12. Introduction to Virtual Machines 12. Introduction to Virtual Machines Modern Applications Challenges of Virtual Machine Monitors Historical Perspective Classification 332 / 352 12. Introduction to

More information

Virtualization Technologies (ENCS 691K Chapter 3)

Virtualization Technologies (ENCS 691K Chapter 3) Virtualization Technologies (ENCS 691K Chapter 3) Roch Glitho, PhD Associate Professor and Canada Research Chair My URL - http://users.encs.concordia.ca/~glitho/ The Key Technologies on Which Cloud Computing

More information

CSE 120 Principles of Operating Systems. Modules, Interfaces, Structure

CSE 120 Principles of Operating Systems. Modules, Interfaces, Structure CSE 120 Principles of Operating Systems Fall 2000 Lecture 3: Operating System Modules, Interfaces, and Structure Geoffrey M. Voelker Modules, Interfaces, Structure We roughly defined an OS as the layer

More information

Basics in Energy Information (& Communication) Systems Virtualization / Virtual Machines

Basics in Energy Information (& Communication) Systems Virtualization / Virtual Machines Basics in Energy Information (& Communication) Systems Virtualization / Virtual Machines Dr. Johann Pohany, Virtualization Virtualization deals with extending or replacing an existing interface so as to

More information

Performance Isolation of a Misbehaving Virtual Machine with Xen, VMware and Solaris Containers

Performance Isolation of a Misbehaving Virtual Machine with Xen, VMware and Solaris Containers Performance Isolation of a Misbehaving Virtual Machine with Xen, VMware and Solaris Containers Todd Deshane, Demetrios Dimatos, Gary Hamilton, Madhujith Hapuarachchi, Wenjin Hu, Michael McCabe, Jeanna

More information

Measuring and Modeling the Performance of the Xen VMM

Measuring and Modeling the Performance of the Xen VMM Measuring and Modeling the Performance of the Xen VMM Jie Lu, Lev Makhlis, Jianjiun Chen BMC Software Inc. Waltham, MA 2451 Server virtualization technology provides an alternative for server consolidation

More information

Chapter 2 Addendum (More on Virtualization)

Chapter 2 Addendum (More on Virtualization) Chapter 2 Addendum (More on Virtualization) Roch Glitho, PhD Associate Professor and Canada Research Chair My URL - http://users.encs.concordia.ca/~glitho/ More on Systems Virtualization Type I (bare metal)

More information

CPET 581 Cloud Computing: Technologies and Enterprise IT Strategies. Virtualization of Clusters and Data Centers

CPET 581 Cloud Computing: Technologies and Enterprise IT Strategies. Virtualization of Clusters and Data Centers CPET 581 Cloud Computing: Technologies and Enterprise IT Strategies Lecture 4 Virtualization of Clusters and Data Centers Text Book: Distributed and Cloud Computing, by K. Hwang, G C. Fox, and J.J. Dongarra,

More information

Virtual Machine Monitors. Dr. Marc E. Fiuczynski Research Scholar Princeton University

Virtual Machine Monitors. Dr. Marc E. Fiuczynski Research Scholar Princeton University Virtual Machine Monitors Dr. Marc E. Fiuczynski Research Scholar Princeton University Introduction Have been around since 1960 s on mainframes used for multitasking Good example VM/370 Have resurfaced

More information

OS Concepts and structure

OS Concepts and structure OS Concepts and structure Today OS services OS interface to programmers/users OS components & interconnects Structuring OSs Next time Processes Between hardware and your apps User processes Thunderbird

More information

COM 444 Cloud Computing

COM 444 Cloud Computing COM 444 Cloud Computing Lec 3: Virtual Machines and Virtualization of Clusters and Datacenters Prof. Dr. Halûk Gümüşkaya haluk.gumuskaya@gediz.edu.tr haluk@gumuskaya.com http://www.gumuskaya.com Virtual

More information

Hypervisors. Introduction. Introduction. Introduction. Introduction. Introduction. Credits:

Hypervisors. Introduction. Introduction. Introduction. Introduction. Introduction. Credits: Hypervisors Credits: P. Chaganti Xen Virtualization A practical handbook D. Chisnall The definitive guide to Xen Hypervisor G. Kesden Lect. 25 CS 15-440 G. Heiser UNSW/NICTA/OKL Virtualization is a technique

More information

Virtualization Technology. Zhiming Shen

Virtualization Technology. Zhiming Shen Virtualization Technology Zhiming Shen Virtualization: rejuvenation 1960 s: first track of virtualization Time and resource sharing on expensive mainframes IBM VM/370 Late 1970 s and early 1980 s: became

More information

Knut Omang Ifi/Oracle 19 Oct, 2015

Knut Omang Ifi/Oracle 19 Oct, 2015 Software and hardware support for Network Virtualization Knut Omang Ifi/Oracle 19 Oct, 2015 Motivation Goal: Introduction to challenges in providing fast networking to virtual machines Prerequisites: What

More information

Introduction to Virtual Machines

Introduction to Virtual Machines Introduction to Virtual Machines Introduction Abstraction and interfaces Virtualization Computer system architecture Process virtual machines System virtual machines 1 Abstraction Mechanism to manage complexity

More information

VMware and CPU Virtualization Technology. Jack Lo Sr. Director, R&D

VMware and CPU Virtualization Technology. Jack Lo Sr. Director, R&D ware and CPU Virtualization Technology Jack Lo Sr. Director, R&D This presentation may contain ware confidential information. Copyright 2005 ware, Inc. All rights reserved. All other marks and names mentioned

More information

Virtualization. Pradipta De pradipta.de@sunykorea.ac.kr

Virtualization. Pradipta De pradipta.de@sunykorea.ac.kr Virtualization Pradipta De pradipta.de@sunykorea.ac.kr Today s Topic Virtualization Basics System Virtualization Techniques CSE506: Ext Filesystem 2 Virtualization? A virtual machine (VM) is an emulation

More information

Virtualization. Dr. Yingwu Zhu

Virtualization. Dr. Yingwu Zhu Virtualization Dr. Yingwu Zhu What is virtualization? Virtualization allows one computer to do the job of multiple computers. Virtual environments let one computer host multiple operating systems at the

More information

CPS221 Lecture: Operating System Structure; Virtual Machines

CPS221 Lecture: Operating System Structure; Virtual Machines Objectives CPS221 Lecture: Operating System Structure; Virtual Machines 1. To discuss various ways of structuring the operating system proper 2. To discuss virtual machines Materials: 1. Projectable of

More information

Hypervisors and Virtual Machines

Hypervisors and Virtual Machines Hypervisors and Virtual Machines Implementation Insights on the x86 Architecture DON REVELLE Don is a performance engineer and Linux systems/kernel programmer, specializing in high-volume UNIX, Web, virtualization,

More information

Basics of Virtualisation

Basics of Virtualisation Basics of Virtualisation Volker Büge Institut für Experimentelle Kernphysik Universität Karlsruhe Die Kooperation von The x86 Architecture Why do we need virtualisation? x86 based operating systems are

More information

Virtual Machines. Virtualization

Virtual Machines. Virtualization Virtual Machines Marie Roch Tanenbaum 8.3 contains slides from: Tanenbaum 3 rd ed. 2008 1 Virtualization Started with the IBM System/360 in the 1960s Basic concept simulate multiple copies of the underlying

More information

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture Review from last time CS 537 Lecture 3 OS Structure What HW structures are used by the OS? What is a system call? Michael Swift Remzi Arpaci-Dussea, Michael Swift 1 Remzi Arpaci-Dussea, Michael Swift 2

More information

Uses for Virtual Machines. Virtual Machines. There are several uses for virtual machines:

Uses for Virtual Machines. Virtual Machines. There are several uses for virtual machines: Virtual Machines Uses for Virtual Machines Virtual machine technology, often just called virtualization, makes one computer behave as several computers by sharing the resources of a single computer between

More information

A Comparison of Distributed Systems: ChorusOS and Amoeba

A Comparison of Distributed Systems: ChorusOS and Amoeba A Comparison of Distributed Systems: ChorusOS and Amoeba Angelo Bertolli Prepared for MSIT 610 on October 27, 2004 University of Maryland University College Adelphi, Maryland United States of America Abstract.

More information

GUEST OPERATING SYSTEM BASED PERFORMANCE COMPARISON OF VMWARE AND XEN HYPERVISOR

GUEST OPERATING SYSTEM BASED PERFORMANCE COMPARISON OF VMWARE AND XEN HYPERVISOR GUEST OPERATING SYSTEM BASED PERFORMANCE COMPARISON OF VMWARE AND XEN HYPERVISOR ANKIT KUMAR, SAVITA SHIWANI 1 M. Tech Scholar, Software Engineering, Suresh Gyan Vihar University, Rajasthan, India, Email:

More information

x86 ISA Modifications to support Virtual Machines

x86 ISA Modifications to support Virtual Machines x86 ISA Modifications to support Virtual Machines Douglas Beal Ashish Kumar Gupta CSE 548 Project Outline of the talk Review of Virtual Machines What complicates Virtualization Technique for Virtualization

More information

COS 318: Operating Systems. Virtual Machine Monitors

COS 318: Operating Systems. Virtual Machine Monitors COS 318: Operating Systems Virtual Machine Monitors Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall10/cos318/ Introduction Have been around

More information

Virtualization. Types of Interfaces

Virtualization. Types of Interfaces Virtualization Virtualization: extend or replace an existing interface to mimic the behavior of another system. Introduced in 1970s: run legacy software on newer mainframe hardware Handle platform diversity

More information

Virtualization and the U2 Databases

Virtualization and the U2 Databases Virtualization and the U2 Databases Brian Kupzyk Senior Technical Support Engineer for Rocket U2 Nik Kesic Lead Technical Support for Rocket U2 Opening Procedure Orange arrow allows you to manipulate the

More information

International Journal of Advancements in Research & Technology, Volume 1, Issue6, November-2012 1 ISSN 2278-7763

International Journal of Advancements in Research & Technology, Volume 1, Issue6, November-2012 1 ISSN 2278-7763 International Journal of Advancements in Research & Technology, Volume 1, Issue6, November-2012 1 VIRTUALIZATION Vikas Garg Abstract: The main aim of the research was to get the knowledge of present trends

More information

Proteus, a hybrid Virtualization Platform for Embedded Systems

Proteus, a hybrid Virtualization Platform for Embedded Systems Proteus, a hybrid Virtualization Platform for Embedded Systems Dipl.-Inf. Daniel Baldin and Dipl.-Inf. Timo Kerstan Heinz-Nixdorf-Institute University of Paderborn 33102 Paderborn, Germany dbaldin@uni-paderborn.de

More information

nanohub.org An Overview of Virtualization Techniques

nanohub.org An Overview of Virtualization Techniques An Overview of Virtualization Techniques Renato Figueiredo Advanced Computing and Information Systems (ACIS) Electrical and Computer Engineering University of Florida NCN/NMI Team 2/3/2006 1 Outline Resource

More information

KVM: A Hypervisor for All Seasons. Avi Kivity avi@qumranet.com

KVM: A Hypervisor for All Seasons. Avi Kivity avi@qumranet.com KVM: A Hypervisor for All Seasons Avi Kivity avi@qumranet.com November 2007 Virtualization Simulation of computer system in software Components Processor: register state, instructions, exceptions Memory

More information

Xen Live Migration. Networks and Distributed Systems Seminar, 24 April 2006. Matúš Harvan Xen Live Migration 1

Xen Live Migration. Networks and Distributed Systems Seminar, 24 April 2006. Matúš Harvan Xen Live Migration 1 Xen Live Migration Matúš Harvan Networks and Distributed Systems Seminar, 24 April 2006 Matúš Harvan Xen Live Migration 1 Outline 1 Xen Overview 2 Live migration General Memory, Network, Storage Migration

More information

PERFORMANCE ANALYSIS OF KERNEL-BASED VIRTUAL MACHINE

PERFORMANCE ANALYSIS OF KERNEL-BASED VIRTUAL MACHINE PERFORMANCE ANALYSIS OF KERNEL-BASED VIRTUAL MACHINE Sudha M 1, Harish G M 2, Nandan A 3, Usha J 4 1 Department of MCA, R V College of Engineering, Bangalore : 560059, India sudha.mooki@gmail.com 2 Department

More information

Chapter 16: Virtual Machines. Operating System Concepts 9 th Edition

Chapter 16: Virtual Machines. Operating System Concepts 9 th Edition Chapter 16: Virtual Machines Silberschatz, Galvin and Gagne 2013 Chapter 16: Virtual Machines Overview History Benefits and Features Building Blocks Types of Virtual Machines and Their Implementations

More information

Virtualization for Cloud Computing

Virtualization for Cloud Computing Virtualization for Cloud Computing Dr. Sanjay P. Ahuja, Ph.D. 2010-14 FIS Distinguished Professor of Computer Science School of Computing, UNF CLOUD COMPUTING On demand provision of computational resources

More information

Comparing Free Virtualization Products

Comparing Free Virtualization Products A S P E I T Tr a i n i n g Comparing Free Virtualization Products A WHITE PAPER PREPARED FOR ASPE BY TONY UNGRUHE www.aspe-it.com toll-free: 877-800-5221 Comparing Free Virtualization Products In this

More information

Understanding Full Virtualization, Paravirtualization, and Hardware Assist. Introduction...1 Overview of x86 Virtualization...2 CPU Virtualization...

Understanding Full Virtualization, Paravirtualization, and Hardware Assist. Introduction...1 Overview of x86 Virtualization...2 CPU Virtualization... Contents Introduction...1 Overview of x86 Virtualization...2 CPU Virtualization...3 The Challenges of x86 Hardware Virtualization...3 Technique 1 - Full Virtualization using Binary Translation...4 Technique

More information

Chapter 14 Virtual Machines

Chapter 14 Virtual Machines Operating Systems: Internals and Design Principles Chapter 14 Virtual Machines Eighth Edition By William Stallings Virtual Machines (VM) Virtualization technology enables a single PC or server to simultaneously

More information

Outline. Outline. Why virtualization? Why not virtualize? Today s data center. Cloud computing. Virtual resource pool

Outline. Outline. Why virtualization? Why not virtualize? Today s data center. Cloud computing. Virtual resource pool Outline CS 6V81-05: System Security and Malicious Code Analysis Overview of System ization: The most powerful platform for program analysis and system security Zhiqiang Lin Department of Computer Science

More information

Virtualization Technologies

Virtualization Technologies 12 January 2010 Virtualization Technologies Alex Landau (lalex@il.ibm.com) IBM Haifa Research Lab What is virtualization? Virtualization is way to run multiple operating systems and user applications on

More information

Chapter 1: Operating System Models 1 2 Operating System Models 2.1 Introduction Over the past several years, a number of trends affecting operating system design are witnessed and foremost among them is

More information

Xen and the Art of. Virtualization. Ian Pratt

Xen and the Art of. Virtualization. Ian Pratt Xen and the Art of Virtualization Ian Pratt Keir Fraser, Steve Hand, Christian Limpach, Dan Magenheimer (HP), Mike Wray (HP), R Neugebauer (Intel), M Williamson (Intel) Computer Laboratory Outline Virtualization

More information

Chapter 2 System Structures

Chapter 2 System Structures Chapter 2 System Structures Operating-System Structures Goals: Provide a way to understand an operating systems Services Interface System Components The type of system desired is the basis for choices

More information

Satish Mohan. Head Engineering. AMD Developer Conference, Bangalore

Satish Mohan. Head Engineering. AMD Developer Conference, Bangalore Satish Mohan Head Engineering AMD Developer Conference, Bangalore Open source software Allows developers worldwide to collaborate and benefit. Strategic elimination of vendor lock in OSS naturally creates

More information

Chapter 3 Operating-System Structures

Chapter 3 Operating-System Structures Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual

More information

I/O Virtualization Using Mellanox InfiniBand And Channel I/O Virtualization (CIOV) Technology

I/O Virtualization Using Mellanox InfiniBand And Channel I/O Virtualization (CIOV) Technology I/O Virtualization Using Mellanox InfiniBand And Channel I/O Virtualization (CIOV) Technology Reduce I/O cost and power by 40 50% Reduce I/O real estate needs in blade servers through consolidation Maintain

More information

Virtualization in a Carrier Grade Environment

Virtualization in a Carrier Grade Environment Virtualization in a Carrier Grade Environment David Beal Director - Product Management Virtualization? Oh, Virtualization! Virtual Networking? Intel VT? UML? IBM/VM? Virtual Server? VMware? Transitive

More information

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts

More information

KVM - The kernel-based virtual machine

KVM - The kernel-based virtual machine KVM - The kernel-based virtual machine Timo Hirt timohirt@gmx.de 13. Februar 2010 Abstract Virtualization has been introduced in the 1960s, when computing systems were large and expensive to operate. It

More information

Chapter 5 Cloud Resource Virtualization

Chapter 5 Cloud Resource Virtualization Chapter 5 Cloud Resource Virtualization Contents Virtualization. Layering and virtualization. Virtual machine monitor. Virtual machine. Performance and security isolation. Architectural support for virtualization.

More information

Virtualization: Concepts, Applications, and Performance Modeling

Virtualization: Concepts, Applications, and Performance Modeling Virtualization: Concepts, s, and Performance Modeling Daniel A. Menascé, Ph.D. The Volgenau School of Information Technology and Engineering Department of Computer Science George Mason University www.cs.gmu.edu/faculty/menasce.html

More information

Distributed and Cloud Computing

Distributed and Cloud Computing Distributed and Cloud Computing K. Hwang, G. Fox and J. Dongarra Chapter 3: Virtual Machines and Virtualization of Clusters and datacenters Adapted from Kai Hwang University of Southern California March

More information

MODULE 3 VIRTUALIZED DATA CENTER COMPUTE

MODULE 3 VIRTUALIZED DATA CENTER COMPUTE MODULE 3 VIRTUALIZED DATA CENTER COMPUTE Module 3: Virtualized Data Center Compute Upon completion of this module, you should be able to: Describe compute virtualization Discuss the compute virtualization

More information

The Xen of Virtualization

The Xen of Virtualization The Xen of Virtualization Assignment for CLC-MIRI Amin Khan Universitat Politècnica de Catalunya March 4, 2013 Amin Khan (UPC) Xen Hypervisor March 4, 2013 1 / 19 Outline 1 Introduction 2 Architecture

More information

VIRTUALIZATION, The next step for online services

VIRTUALIZATION, The next step for online services Scientific Bulletin of the Petru Maior University of Tîrgu Mureş Vol. 10 (XXVII) no. 1, 2013 ISSN-L 1841-9267 (Print), ISSN 2285-438X (Online), ISSN 2286-3184 (CD-ROM) VIRTUALIZATION, The next step for

More information

Enabling Technologies for Distributed Computing

Enabling Technologies for Distributed Computing Enabling Technologies for Distributed Computing Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF Multi-core CPUs and Multithreading Technologies

More information

Virtualization and Other Tricks.

Virtualization and Other Tricks. Virtualization and Other Tricks. Pavel Parízek, Tomáš Kalibera, Peter Libič DEPARTMENT OF DISTRIBUTED AND DEPENDABLE SYSTEMS http://d3s.mff.cuni.cz CHARLES UNIVERSITY PRAGUE Faculty of Mathematics and

More information

9/26/2011. What is Virtualization? What are the different types of virtualization.

9/26/2011. What is Virtualization? What are the different types of virtualization. CSE 501 Monday, September 26, 2011 Kevin Cleary kpcleary@buffalo.edu What is Virtualization? What are the different types of virtualization. Practical Uses Popular virtualization products Demo Question,

More information

Recent Trends in Operating Systems and their Applicability to HPC

Recent Trends in Operating Systems and their Applicability to HPC Recent Trends in Operating Systems and their licability to HPC Arthur Maccabe and Patrick Bridges Ron Brightwell and Rolf Riesen Department of Computer Science Scalable Computing Systems Department MSC01-1130

More information

Virtualization Overview

Virtualization Overview VMWARE W HWHITE I T E PPAPER A P E R Virtualization Overview 1 Table of Contents Introduction... 3 Virtualization in a Nutshell... 3 Virtualization Approaches... 4 Virtualization for Server Consolidation

More information

Operating System Structures

Operating System Structures COP 4610: Introduction to Operating Systems (Spring 2015) Operating System Structures Zhi Wang Florida State University Content Operating system services User interface System calls System programs Operating

More information

VMkit A lightweight hypervisor library for Barrelfish

VMkit A lightweight hypervisor library for Barrelfish Masters Thesis VMkit A lightweight hypervisor library for Barrelfish by Raffaele Sandrini Due date 2 September 2009 Advisors: Simon Peter, Andrew Baumann, and Timothy Roscoe ETH Zurich, Systems Group Department

More information

Hybrid Virtualization The Next Generation of XenLinux

Hybrid Virtualization The Next Generation of XenLinux Hybrid Virtualization The Next Generation of XenLinux Jun Nakajima Principal Engineer Intel Open Source Technology Center Legal Disclaimer INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL

More information

Data Centers and Cloud Computing

Data Centers and Cloud Computing Data Centers and Cloud Computing CS377 Guest Lecture Tian Guo 1 Data Centers and Cloud Computing Intro. to Data centers Virtualization Basics Intro. to Cloud Computing Case Study: Amazon EC2 2 Data Centers

More information

Networking for Caribbean Development

Networking for Caribbean Development Networking for Caribbean Development BELIZE NOV 2 NOV 6, 2015 w w w. c a r i b n o g. o r g Virtualization: Architectural Considerations and Implementation Options Virtualization Virtualization is the

More information

Virtualization. Michael Tsai 2015/06/08

Virtualization. Michael Tsai 2015/06/08 Virtualization Michael Tsai 2015/06/08 What is virtualization? Let s first look at a video from VMware http://bcove.me/x9zhalcl Problems? Low utilization Different needs DNS DHCP Web mail 5% 5% 15% 8%

More information

Virtual Servers. Virtual machines. Virtualization. Design of IBM s VM. Virtual machine systems can give everyone the OS (and hardware) that they want.

Virtual Servers. Virtual machines. Virtualization. Design of IBM s VM. Virtual machine systems can give everyone the OS (and hardware) that they want. Virtual machines Virtual machine systems can give everyone the OS (and hardware) that they want. IBM s VM provided an exact copy of the hardware to the user. Virtual Servers Virtual machines are very widespread.

More information

Virtualization for Hard Real-Time Applications Partition where you can Virtualize where you have to

Virtualization for Hard Real-Time Applications Partition where you can Virtualize where you have to Virtualization for Hard Real-Time Applications Partition where you can Virtualize where you have to Hanspeter Vogel Triadem Solutions AG Real-Time Systems GmbH Gartenstrasse 33 D-88212 Ravensburg Germany

More information

Operating System Structures

Operating System Structures Operating System Structures Meelis ROOS mroos@ut.ee Institute of Computer Science Tartu University fall 2009 Literature A. S. Tanenbaum. Modern Operating Systems. 2nd ed. Prentice Hall. 2001. G. Nutt.

More information

Cloud Computing CS 15-319

Cloud Computing CS 15-319 Cloud Computing CS 15-319 Virtualization Case Studies : Xen and VMware Lecture 20 Majd F. Sakr, Mohammad Hammoud and Suhail Rehman 1 Today Last session Resource Virtualization Today s session Virtualization

More information

(Advanced Topics in) Operating Systems

(Advanced Topics in) Operating Systems (Advanced Topics in) Operating Systems Winter Term 2008 / 2009 Prof. Dr. André Brinkmann Andre.Brinkmann@uni-paderborn.de Universität Paderborn PC² Organization Schedules: Lectures: Thursday 9:00 11:00

More information

COS 318: Operating Systems

COS 318: Operating Systems COS 318: Operating Systems OS Structures and System Calls Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall10/cos318/ Outline Protection mechanisms

More information

Virtualization. Explain how today s virtualization movement is actually a reinvention

Virtualization. Explain how today s virtualization movement is actually a reinvention Virtualization Learning Objectives Explain how today s virtualization movement is actually a reinvention of the past. Explain how virtualization works. Discuss the technical challenges to virtualization.

More information

Example of Standard API

Example of Standard API 16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface

More information

Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies

Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies Kurt Klemperer, Principal System Performance Engineer kklemperer@blackboard.com Agenda Session Length:

More information

Dynamic Load Balancing of Virtual Machines using QEMU-KVM

Dynamic Load Balancing of Virtual Machines using QEMU-KVM Dynamic Load Balancing of Virtual Machines using QEMU-KVM Akshay Chandak Krishnakant Jaju Technology, College of Engineering, Pune. Maharashtra, India. Akshay Kanfade Pushkar Lohiya Technology, College

More information

XtratuM: a Hypervisor for Safety Critical Embedded Systems

XtratuM: a Hypervisor for Safety Critical Embedded Systems XtratuM: a Hypervisor for Safety Critical Embedded Systems M. Masmano, I. Ripoll, and A. Crespo Instituto de Informática Industrial, Universidad Politécnica de Valencia (Spain) {mmasmano, iripoll, alfons}@ai2.upv.es

More information

Anh Quach, Matthew Rajman, Bienvenido Rodriguez, Brian Rodriguez, Michael Roefs, Ahmed Shaikh

Anh Quach, Matthew Rajman, Bienvenido Rodriguez, Brian Rodriguez, Michael Roefs, Ahmed Shaikh Anh Quach, Matthew Rajman, Bienvenido Rodriguez, Brian Rodriguez, Michael Roefs, Ahmed Shaikh Introduction History, Advantages, Common Uses OS-Level Virtualization Hypervisors Type 1 vs. type 2 hypervisors

More information

Virtualization. Introduction to Virtualization Virtual Appliances Benefits to Virtualization Example Virtualization Products

Virtualization. Introduction to Virtualization Virtual Appliances Benefits to Virtualization Example Virtualization Products Virtualization Originally prepared by Greg Bosch; last modified April 2012 by B. Davison I. Introduction to Virtualization II. Virtual Appliances III. Benefits to Virtualization IV. Example Virtualization

More information

Cloud Computing #6 - Virtualization

Cloud Computing #6 - Virtualization Cloud Computing #6 - Virtualization Main source: Smith & Nair, Virtual Machines, Morgan Kaufmann, 2005 Today What do we mean by virtualization? Why is it important to cloud? What is the penalty? Current

More information

MobiVMM: a Virtual Machine Monitor for Mobile Phones

MobiVMM: a Virtual Machine Monitor for Mobile Phones MobiVMM: a Virtual Machine Monitor for Mobile Phones Seehwan Yoo shyoo@os.korea.ac.kr Chuck Yoo hxy@os.korea.ac.kr Yunxin Liu Shanghai Jiaotong University Microsoft Research Asia, China Yunxin.Liu@microsoft.com

More information

(Advanced Topics in) Operating Systems Winter Term 2009 / 2010. Jun.-Prof. Dr.-Ing. André Brinkmann brinkman@upb.de Universität Paderborn PC

(Advanced Topics in) Operating Systems Winter Term 2009 / 2010. Jun.-Prof. Dr.-Ing. André Brinkmann brinkman@upb.de Universität Paderborn PC (Advanced Topics in) Operating Systems Winter Term 2009 / 2010 Jun.-Prof. Dr.-Ing. André Brinkmann brinkman@upb.de Universität Paderborn PC 1 Overview Overview of chapter 3: Case Studies 3.1 Windows Architecture.....3

More information

Enabling Technologies for Distributed and Cloud Computing

Enabling Technologies for Distributed and Cloud Computing Enabling Technologies for Distributed and Cloud Computing Dr. Sanjay P. Ahuja, Ph.D. 2010-14 FIS Distinguished Professor of Computer Science School of Computing, UNF Multi-core CPUs and Multithreading

More information

Parallels Virtuozzo Containers

Parallels Virtuozzo Containers Parallels Virtuozzo Containers White Paper Top Ten Considerations For Choosing A Server Virtualization Technology www.parallels.com Version 1.0 Table of Contents Introduction... 3 Technology Overview...

More information

Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available:

Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available: Tools Page 1 of 13 ON PROGRAM TRANSLATION A priori, we have two translation mechanisms available: Interpretation Compilation On interpretation: Statements are translated one at a time and executed immediately.

More information

Jukka Ylitalo Tik-79.5401 TKK, April 24, 2006

Jukka Ylitalo Tik-79.5401 TKK, April 24, 2006 Rich Uhlig, et.al, Intel Virtualization Technology, Computer, published by the IEEE Computer Society, Volume 38, Issue 5, May 2005. Pages 48 56. Jukka Ylitalo Tik-79.5401 TKK, April 24, 2006 Outline of

More information