
A Classification of Middleware to Support Virtual Machines Adaptability in IaaS José Simão Luís Veiga INESC-ID Lisboa INESC-ID Lisboa Instituto Superior de Engenharia de Lisboa Instituto Superior Técnico [email protected] Universidade Técnica de Lisboa [email protected] ABSTRACT they virtualize the hardware, giving the ability to guest mul- The Infrastructure-as-a-Service (IaaS) model makes exten- tiple instances of an operating system on multi-core architec- sive use of virtualization to achieve workload isolation and tures, sharing computational resources in a secure way. At efficient resource management. In general, the underlying the high level programming languages, and similarly to the supporting technologies are virtual machines monitors (e.g. system level virtual machines, these VMs abstract from the hypervisors). Isolation is a static mechanism, relying on underlying hardware resources, introducing a layer that can hardware or operating system support to be enforced. On be used for fine grained resource control [13]. Furthermore, the other hand, resource management is dynamic and mid- they promote portability through dynamic translation of an dleware must be employed to adapt VMs in order to fit their intermediate representation to a specific instruction set. guest's needs. Virtual machines lay between guest systems and the un- Although the services offered by virtual machines are used derlying physical support (i.e. host hardware or operating or extended in several works in the literature, the community systems) and are used to regulate resource usage, finding a lacks an organized and integrated perspective of the mech- way to partition the available resources by the guests. Most anisms and strategies regarding resource management and notably, VMs aim to optimize the operation of their guests, focusing on adaptation, which would allow for an effective eventually using different algorithms or different parameters comparison on the quality of the adaptation process. for each of them. In this work we review the main approaches for adapta- System level VMs, or hypervisors, are strongly motivated tion and monitoring in virtual machines deployments, their by the sharing of low-level resources. In result of this, many tradeoff, and their main mechanisms for resource manage- research and industry work can be found about how re- ment. We frame them into the control loop (monitoring, sources are to be delivered to each guest operating sys- decision and actuation). Furthermore, we propose a classifi- tem. The partition is done with different reasonings, ranging cation framework that, when applied to a group of systems, from a simple round robin algorithm, to autonomic behavior can help visually in determining their similarities and differ- where the hypervisor automatically distributes the available ences. resources to the guests that, given the current workload, can make the best out of them. Among all resources, CPU [17, 6, 12] and memory [15, 8] are the two for which a larger Categories and Subject Descriptors body of work can be found. Nevertheless, other resources A.1 [Introductory and Survey]; D.4.1 [Process Man- such as storage and network are also target of adaptation. agement]: Scheduling; D.4.2 [Storage Management]: Vir- Virtual machines are not only a isomorphism between the tual memory guest system and a host [14], but a powerful software layer that can adapt its behavior, or be instructed to adapt, in order to transparently improve their guests's performance, Keywords minimizing the virtualization cost. In order to do so, VMs, Virtualization, Resource-driven adaptability, Taxonomy and the middleware augmenting their services, can be framed into the well known adaptation loop [11]: i) monitoring or sensing, ii) control and decision, and iii) enforcement or ac- 1. INTRODUCTION tuation. Monitoring determines which components of the Virtual machines (VM) are being used today both at the VM are observed. Control and decision take these obser- system and programming language level. At the system level vations and use them in some simple or complex strategy to decide what has to be changed. Enforcement deals with applying the decision to a given component/mechanism of the VM. Permission to make digital or hard copies of all or part of this work for Adaptation is accomplished at different levels. As a conse- personal or classroom use is granted without fee provided that copies are quence, monitoring, control and enforcement are applied in not made or distributed for profit or commercial advantage and that copies a way that have different impacts. For example, for the allo- bear this notice and the full citation on the first page. To copy otherwise, to cation of processing resources, the adaptation can be limited republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. to the tuning of a parameter in the scheduling algorithm, the ARM’12 December XX, 2012, Montreal, Quebec, Canada. replacement of the algorithm, or the migration of the guest Copyright 2012 ACM 978-1-4503-1609-5/12/12 ...$15.00. VM to another node. CPU scheduling is a well known issue in operating sys- In this work we present a framework to classify and help tems.A VMM scheduler has additional requisites when com- understand the quality of resource monitoring and adap- pared to the OS scheduler, namely the capacity to enforce a tation techniques in virtual machines. Because of space re- resource usage specified at the user's level. To achieve this, strictions, this paper focus on system level virtual machines, the CPU scheduler must take into account the share (or although the framework can also be applied to other virtual- weight) given to each VM and make scheduling decisions ization layers such as high level virtual machines (i.e. man- proportional to this share [6]. However, in these schedulers, aged runtimes). Section 2 presents the architecture of these shares are not directly seen by the end user making it hard VMs, depicting the building blocks that are used in research to define a high level resource management policy. Section 5 regarding resource usage and adaption. In Section 3 the clas- presents systems that dynamically change the scheduler pa- sification framework is presented. For each of the resources rameters to give the VMM guests the resources that best fits considered, and for each of the three steps of the adapta- their needs (e.g. performance, cost, energy consumption). tion loop, we propose the use of a quantitative classification regarding the impact of the mechanisms used by each sys- 2.2 Memory as a resource tem. Furthermore, systems are globally classified regarding Memory is virtualized with a goal: give the illusion that the dependency on low level monitoring, the complexity of guests have an virtually unbounded address space. Because control techniques and the latency of the enforcement mech- memory is effectively limited, it will eventually end and the anisms. We use this framework to classify state of the art guest (operating systems or application) will have to deal systems in Section 5. Section 6 closes the document present- with memory shortage. An extra level of indirection is added ing some conclusions based on the previous discussion. to the already virtualized environment of the guest operat- ing systems. Operating systems give to their guests (i.e. 2. VIRTUAL MACHINES FUNDAMENTALS processes) a dedicated address space, eventually bigger than Virtual machines have their roots in the 60's with the IBM the real available hardware. 360 and 370 [2]. These systems provided a time-sharing en- The VMM can be managing multiple VMs, each with his vironment where users had a complete abstraction of the guest OS. Therefore, the mapping between physical and real underlying hardware resources. IBM goal was to provide addresses must be extended because what is seen by an OS better isolation among different users, providing virtual ma- as a real address (i.e. machine address), can now change each chines to each one. The architecture of the IBM System/370 time the VM hosting the OS is scheduled to run. The VMM was divided in three layers: the hardware, the control pro- introduces an extra level of indirection to the virtual ! real gram (CP) and the conversational monitor system (CMS). mapping of each OS, keeping a real ! physical to each of The CP controlled the resource provision and the CMS de- the running VMs. livered the services to the end user underpinned on these When the VMM needs to free memory it has to decide resources. The same architecture can be found in mod- which page(s) from which VM(s) to reclaim. This deci- ern System VMs [3] where CP's role is given to the virtual sion might have a poor performance impact. If the wrong machine monitor (VMM). Figure 1 depicts these three lay- choice is made, the guest OS will soon need to access the ers, where CP's role is given to the virtual machine monitor reclaimed page, resulting in wasted time. Another issue re- (VMM). The VMM purpose is to control the access of the lated to memory management in the VMM is the sharing of guest operating systems running in each virtual machine to machine pages between different VMs. If these pages have the physical resources, virtualizing processors, memory and code or read-only data they can be shared avoiding redun- I/O. dant copies. Section 5 present the way some relevant sys- The next three sections will briefly describe how funda- tems are built so that their choices are based on monitored mental resources, CPU, memory and I/O are virtualized. parameters from the VM's memory utilization. The systems discussed in Section 5 are based on the building blocks presented here, extending them towards self-adaptation 3.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages6 Page
-
File Size-