Simuboost: Scalable Parallelization of Functional System Simulation

Total Page:16

File Type:pdf, Size:1020Kb

Simuboost: Scalable Parallelization of Functional System Simulation SimuBoost: Scalable Parallelization of Functional System Simulation Zur Erlangung des akademischen Grades eines Doktors der Ingenieurwissenschaften von der KIT-Fakultät für Informatik des Karlsruher Instituts für Technologie (KIT) genehmigte Dissertation von Dipl.-Inform. Marc Rittinghaus aus Iserlohn Tag der mündlichen Prüfung: 19.07.2019 Hauptreferent: Prof. Dr. Frank Bellosa Karlsruher Institut für Technologie Korreferent: Prof. Dr. Hans P. Reiser Universität Passau KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Abstract Gathering detailed run-time information such as memory access traces in operating system and security research often involves functional full system simulation (FFSS). The simulator runs the workload of interest in a virtual machine (VM), gradually interpreting or translating instructions so that they operate on the state of the VM and allow for comprehensive instrumentation. While functional full system simulation is a powerful tool, a severe limitation is its immense slowdown. For QEMU, we have measured average slowdowns of 30x and 60x for plain simulation and tracing of memory accesses, respectively. Simulators offering more advanced instrumentation capabilities can even be an order of magnitude slower. This quickly renders functional simulation impractical for long-running, networked, or interactive workloads. Furthermore, the slowdown creates unrealistic timing behavior whenever activities external to the virtual machine (e.g., I/O) are involved. In this thesis, we present SimuBoost, a method for drastically accelerating func- tional full system simulation. SimuBoost runs the workload in a fast and interactive hardware-assisted virtual machine while periodically taking checkpoints. These checkpoints then serve as starting points for simulations, enabling to simulate and analyze each interval simultaneously in one job per interval. Heterogeneous de- terministic replay guarantees that the simulations repeat the exact same execution as in the hardware-assisted run, including interactions and recorded timing. Our prototype is able to significantly reduce the run time of functional full system simulation while providing full interactivity. Simulating an entire kernel build completes in just 16% more time than needed to run the same workload in a regular hardware-assisted virtual machine. SimuBoost is able to maintain this performance even with full instrumentation for memory tracing. This thesis represents the first project to apply the concept of partitioning and parallelization of execution time to interactive full system virtualization in a manner that allows for immediate parallel functional simulation. We complement iv the practical implementation with a performance model to formally describe the properties of the acceleration method and predict speedups. In contrast to previous work, SimuBoost places a strong focus on scalability beyond the limits of a single physical machine. It therefore makes heavy use of virtual machine checkpointing technology. In this course, we present two novel methods for efficiently and effectively reducing the size of periodic checkpoints. Contents 1 Introduction 1 1.1 Contributions . 4 1.2 Scope of This Thesis . 5 1.3 Underlying Publications and Theses . 6 1.4 Organization . 7 2 Background 9 2.1 Virtualization . 9 2.1.1 Virtual Machines . 11 2.1.2 Conclusion and Terms . 16 2.2 Virtualization Techniques . 17 2.2.1 Processor Virtualization . 18 2.2.2 Memory Virtualization . 30 2.2.3 I/O Virtualization . 38 2.2.4 Conclusion and Terms . 41 2.2.5 Case Study: QEMU/KVM . 42 2.3 Checkpointing . 46 2.3.1 Pre- and Post-Copy . 47 2.3.2 Data Exclusion . 49 2.3.3 Data Deduplication . 51 2.3.4 Data Compression . 52 2.3.5 Other Techniques . 53 2.3.6 Conclusion . 54 2.4 Deterministic Replay . 55 2.4.1 Homogeneous Replay . 57 2.4.2 Heterogeneous Replay . 59 2.4.3 Multiprocessor Replay . 61 2.4.4 Conclusion . 63 Contents vii 3 Functional Full System Simulation 65 3.1 Assessment of Simulation Speed . 67 3.2 Acceleration Techniques . 69 3.2.1 Optimizing the Execution Engine . 69 3.2.2 Reducing the Observation Space . 70 3.2.3 Parallelizing Multicore Simulations . 72 3.2.4 Parallelizing the Simulation Time . 73 3.3 Conclusion: Limitations of the State of the Art . 75 4 SimuBoost 77 4.1 Goals . 78 4.2 Approach . 79 4.2.1 State Deviation . 81 4.3 Comparison with Related Work . 82 4.4 Conclusion . 85 5 Performance Model 87 5.1 Optimal Setup . 88 5.1.1 Parallel Simulation Time and Speedup . 89 5.1.2 Optimal Interval Length . 91 5.1.3 Optimal Number of Nodes and Efficiency . 93 5.2 Constrained Setup . 94 5.2.1 Parallel Simulation Time and Speedup . 95 5.2.2 Optimal Interval Length . 98 5.3 Conclusion . 99 6 Continuous Checkpointing 101 6.1 Checkpoint Creation . 103 6.1.1 Incremental Checkpointing . 105 6.1.2 Dirty Logging Techniques . 114 6.1.3 Dirty Logging Granularity . 119 6.1.4 Design and Implementation . 122 6.2 Checkpoint Storage . 125 6.2.1 SimuBoost Extension for Simutrace . 126 6.3 Checkpoint Loading . 128 6.3.1 Sparse Checkpoints . 129 6.4 Conclusion . 133 7 Checkpoint Distribution 135 7.1 Pulling versus Pushing . 137 7.2 Checkpoint Data Reduction . 139 7.2.1 Data Deduplication . 144 7.2.2 Delta Compression . 148 7.2.3 Device State Compression . 151 7.3 Multicast Checkpoint Distribution . 155 7.4 Conclusion . 159 viii Contents 8 Heterogeneous Deterministic Replay 161 8.1 General Architecture . 162 8.1.1 Landmark . 164 8.1.2 Replay Boundary . 168 8.1.3 Evaluation . 170 8.2 Simulation Refining . 174 8.2.1 Status Flag Computation . 175 8.2.2 Read-Write Instructions . 176 8.2.3 MMU-induced Non-Determinism . 177 8.2.4 Atomic Instructions (ARM only) . 180 8.2.5 Miscellaneous . 181 8.3 Conclusion . 183 9 Evaluation 185 9.1 Evaluation Setup . 185 9.1.1 Hardware and Software Configuration . 189 9.1.2 Benchmark Scenarios . 191 9.2 Speedup . 192 9.3 Scalability and Efficiency . 195 9.4 Performance Model . 202 9.5 Conclusion . 204 10 Conclusion 207 10.1 Limitations and Future Work . 208 A Deutsche Zusammenfassung 211 B Additional Figures and Data 213 Lists 223 Tables . 223 Figures . 223 Bibliography . 226 Chapter 1 Introduction A common approach to gathering detailed run-time information about applications is to run the software of interest in a functional, that is instruction-level, simulator such as Valgrind [190] or Pin [162]. In contrast to regular execution, where instructions run natively on the CPU, a functional simulator executes applications in a virtual machine (VM). It gradually interprets or translates instructions so that they operate on the state of the VM instead of the physical machine. This way, the execution becomes completely transparent and can be freely instrumented. Whenever functional simulation is involved, operating-system-centric research usually depends on functional full system simulation (FFSS), which includes system libraries, services, drivers, and privileged kernel-mode components. FFSS has been demonstrated to be very effective for OS debugging [137], security analyses [287], and collecting detailed execution traces [286]. Google engineers identified over 20 kernel security vulnerabilities in Windows 8 by analyzing the memory access patterns at the system call interface [133]. In a similar analysis, we revealed a critical code execution vulnerability in the Xen hypervisor [279]. However, full system simulation is not only an important tool in operating system research. It has been shown that even for application-level studies simulating the application without the underlying operating system can be highly inaccurate [53, 135, 169, 292]. While functional full system simulation has proven to be very powerful, a well- known limitation is its immense slowdown. Depending on the required level of detail and the degree of instrumentation, running a workload with FFSS is up to multiple orders of magnitude slower compared to native execution. We have measured average slowdowns of 30x and 60x with QEMU [38] for plain simulation and tracing of memory accesses, respectively. While a kernel build takes less than 13 mins natively, running the exact same execution takes around 5 hours with QEMU; and 10 hours when tracing memory accesses. A single tracing run of povray even takes almost 2 days, whereas a non-instrumented execution 2 Introduction completes in less than 19 mins natively. With Simics [163], a full system simulator offering more advanced instrumentation capabilities, we measured a slowdown of up to 1000x when hooks for memory tracing are installed [219]. Similar slowdowns for functional simulation have been reported by other researchers [58, 135, 164, 200, 286]. In practice, this slowdown creates severe obstacles for comprehensive use of functional full system simulation: Interactivity Scenarios that should capture interactivity with a human user or an external network device are not feasible. A single keystroke can quickly take from multiple seconds up to minutes until being fully processed, making human-user interactions cumbersome and unnatural. Network protocols such as TCP,in turn, react to the slowdown with throttling and timeouts. Accuracy of Results Since the simulation considerably slows down the simulated applications and operating system, activities dependent on events external to the virtual machine such as I/O operations appear to complete faster – a phenomenon called time dilation [169]. This distorts measurements and produces unrealistic execution behavior. Coverage Evaluating a test scenario in full length can take considerable time, forcing researchers to reduce coverage. The authors of the Google study summarize that the slowdown was the primary restrictive factor, which limited the coverage of their analysis to the system boot phase.
Recommended publications
  • Using EMC VNX Storage with Vmware Vsphere Techbook CONTENTS
    Using EMC® VNX® Storage with VMware vSphere Version 4.0 TechBook P/N H8229 REV 05 Copyright © 2015 EMC Corporation. All rights reserved. Published in the USA. Published January 2015 EMC believes the information in this publication is accurate as of its publication date. The information is subject to change without notice. The information in this publication is provided as is. EMC Corporation makes no representations or warranties of any kind with respect to the information in this publication, and specifically disclaims implied warranties of merchantability or fitness for a particular purpose. Use, copying, and distribution of any EMC software described in this publication requires an applicable software license. EMC2, EMC, and the EMC logo are registered trademarks or trademarks of EMC Corporation in the United States and other countries. All other trademarks used herein are the property of their respective owners. For the most up-to-date regulatory document for your product line, go to EMC Online Support (https://support.emc.com). 2 Using EMC VNX Storage with VMware vSphere TechBook CONTENTS Preface Chapter 1 Configuring VMware vSphere on VNX Storage Technology overview................................................................................... 18 EMC VNX family..................................................................................... 18 FLASH 1st.............................................................................................. 18 MCx multicore optimization..................................................................
    [Show full text]
  • 5 Ways Vmware Vsphere Improves Backup and Recovery
    5 Ways VMware vSphereChapter1. Improves An Introduction Backup and to VMware Recovery Virtualization CONTENTS CONTENTS..............................................................................................................2 INTRODUCTION......................................................................................................2 A BRIEF HISTORY OF VMWARE ..............................................................................3 VIRTUALIZATION ARCHITECTURE...........................................................................4 THE HYPERVISOR............................................................................................................................4 RINGS IN VIRTUALIZATION..............................................................................................................7 CPU SCHEDULER............................................................................................................................9 DIFFERENCES BETWEEN ESX & ESXI.............................................................................................9 WHAT IS A VIRTUAL MACHINE?...........................................................................12 ENCAPSULATION.......................................................................................................................... 12 VIRTUAL MACHINE HARDWARE ................................................................................................. 13 VIRTUAL MACHINE FILES ...........................................................................................................
    [Show full text]
  • Introduction to Virtualization Virtualization
    Introduction to Virtualization Prashant Shenoy Computer Science CS691D: Hot-OS Lecture 2, page 1 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 by running apps in VMs – Portability and flexibility Computer Science CS691D: Hot-OS Lecture 2, page 2 Types of Interfaces • Different types of interfaces – Assembly instructions – System calls – APIs • Depending on what is replaced /mimiced, we obtain different forms of virtualization Computer Science CS691D: Hot-OS Lecture 2, page 3 Types of Virtualization • Emulation – VM emulates/simulates complete hardware – Unmodified guest OS for a different PC can be run • Bochs, VirtualPC for Mac, QEMU • Full/native Virtualization – VM simulates “enough” hardware to allow an unmodified guest OS to be run in isolation • Same hardware CPU – IBM VM family, VMWare Workstation, Parallels,… Computer Science CS691D: Hot-OS Lecture 2, page 4 Types of virtualization • Para-virtualization – VM does not simulate hardware – Use special API that a modified guest OS must use – Hypercalls trapped by the Hypervisor and serviced – Xen, VMWare ESX Server • OS-level virtualization – OS allows multiple secure virtual servers to be run – Guest OS is the same as the host OS, but appears isolated • apps see an isolated OS – Solaris Containers, BSD Jails, Linux Vserver • Application level virtualization – Application is gives its own copy of components that are not shared • (E.g., own registry files, global objects) - VE prevents conflicts – JVM Computer Science CS691D: Hot-OS Lecture 2, page 5 Examples • Application-level virtualization: “process virtual machine” • VMM /hypervisor Computer Science CS691D: Hot-OS Lecture 2, page 6 The Architecture of Virtual Machines J Smith and R.
    [Show full text]
  • IBM Virtual Machine Facility/370 : Systems Introduction
    GC20-1800-0 IBM Virtual Machine Facility/370 : Systems Introduction The IBM Virtual Machine Facility/370 (VM/370) is a System Control Program (SCP) that has been designed specifically for the IBM System/370. VM/370 manages the IBM System/370 in such a way that mUltiple remote terminal users appear to have a dedicated computing system at their disposal. Within this "virtual machine" the user may run the operaHng system of his choice, subject to the restrictions noted in "Appendix C: VM/370 Restrictions" of this manual. The design of VM/370 is based on the IBM Control Program-67/Cam­ bridge Monitor System (CP-67/CMS) which is executed on an IBM System/360 Model 67. The Conversational Monitor System (CMS) is the major subsystem ofVM/370. CMS provides problem solving and program development services to the user, as well as supporting facilities for a remote user who chooses to run some other operating system in his virtual machine. This manual provides introductory information about the facilities provided by VM/370, and defines the min­ imum equipment configuration necessary for execution. Preface This manual provides introductory information on the IBM Virtual Machine Facility/370 (VM/370) and its associated subsystem, the Conversational Monitor Sys­ tem (CMS), as well as an overview of the purpose and functions of VM/370. It is assumed that the user has a prior knowledge of virtual storage concepts as implemented on the IBM System/370 via dynamic address translation. The reader is referred to Part I of the student text publication Introduction to Virtual Storage in System/370, Order No.
    [Show full text]
  • System Administration Guide
    Experion PKS Release 516 System Administration Guide EPDOC-X139-en-516A August 2020 DISCLAIMER This document contains Honeywell proprietary information. Information contained herein is to be used solely for the purpose submitted, and no part of this document or its contents shall be reproduced, published, or disclosed to a third party without the express permission of Honeywell International Sàrl. While this information is presented in good faith and believed to be accurate, Honeywell disclaims the implied warranties of merchantability and fitness for a purpose and makes no express warranties except as may be stated in its written agreement with and for its customer. In no event is Honeywell liable to anyone for any direct, special, or consequential damages. The information and specifications in this document are subject to change without notice. Copyright 2020 - Honeywell International Sàrl 2 Contents CONTENTS Contents 3 Chapter 1 - About this guide 9 Before reading this guide 10 Chapter 2 - System administration 11 Administering users 12 Windows user accounts 12 Users and groups 12 Passwords administration 13 Deleting a user 13 Experion Operator accounts 14 Control Builder client licenses 14 Administering displays 15 Changing service account passwords 16 Service account scope types 18 Changing passwords for single-machine scope accounts 21 Changing passwords for multi-machine scope accounts 22 Preparing to change passwords for system-wide scope accounts 23 Changing passwords for system-wide scope accounts 26 Changing DSA Advanced Security
    [Show full text]
  • Virtual Machine Benchmarking Kim-Thomas M¨Oller Diploma Thesis
    Universitat¨ Karlsruhe (TH) Institut fur¨ Betriebs- und Dialogsysteme Lehrstuhl Systemarchitektur Virtual Machine Benchmarking Kim-Thomas Moller¨ Diploma Thesis Advisors: Prof. Dr. Frank Bellosa Joshua LeVasseur 17. April 2007 I hereby declare that this thesis is the result of my own work, and that all informa- tion sources and literature used are indicated in the thesis. I also certify that the work in this thesis has not previously been submitted as part of requirements for a degree. Hiermit erklare¨ ich, die vorliegende Arbeit selbstandig¨ und nur unter Benutzung der angegebenen Literatur und Hilfsmittel angefertigt zu haben. Alle Stellen, die wortlich¨ oder sinngemaߨ aus veroffentlichten¨ und nicht veroffentlichten¨ Schriften entnommen wurden, sind als solche kenntlich gemacht. Die Arbeit hat in gleicher oder ahnlicher¨ Form keiner anderen Prufungsbeh¨ orde¨ vorgelegen. Karlsruhe, den 17. April 2007 Kim-Thomas Moller¨ Abstract The resurgence of system virtualization has provoked diverse virtualization tech- niques targeting different application workloads and requirements. However, a methodology to compare the performance of virtualization techniques at fine gran- ularity has not yet been introduced. VMbench is a novel benchmarking suite that focusses on virtual machine environments. By applying the pre-virtualization ap- proach for hypervisor interoperability, VMbench achieves hypervisor-neutral in- strumentation of virtual machines at the instruction level. Measurements of dif- ferent virtual machine configurations demonstrate how VMbench helps rate and predict virtual machine performance. Kurzfassung Das wiedererwachte Interesse an der Systemvirtualisierung hat verschiedenartige Virtualisierungstechniken fur¨ unterschiedliche Anwendungslasten und Anforde- rungen hervorgebracht. Jedoch wurde bislang noch keine Methodik eingefuhrt,¨ um Virtualisierungstechniken mit hoher Granularitat¨ zu vergleichen. VMbench ist eine neuartige Benchmarking-Suite fur¨ Virtuelle-Maschinen-Umgebungen.
    [Show full text]
  • Virtualization with Cisco UCS, Nexus 1000V, and Vmware Technology Design Guide
    Virtualization with Cisco UCS, Nexus 1000V, and VMware TECHNOLOGY DESIGN GUIDE August 2013 Table of Contents Preface ........................................................................................................................................1 CVD Navigator .............................................................................................................................2 Use Cases .................................................................................................................................. 2 Scope ......................................................................................................................................... 2 Proficiency .................................................................................................................................. 3 Introduction .................................................................................................................................4 Technology Use Cases ............................................................................................................... 4 Use Case: Reduce Application Deployment Time ................................................................... 5 Use Case: Simplify Network Management in the Data Center ................................................ 5 Use Case: Increase Network Performance in the Hypervisor Environment ............................. 5 Design Overview ........................................................................................................................
    [Show full text]
  • Understanding Abstraction and Virtualization
    12/07/2016 Understanding Abstraction and Virtualization Víctor J. Sosa S. [email protected] VIRTUALIZATION Virtualization is a technology that allows creating an abstraction (a virtual version) of computer resources , such as hardware architecture, operating system, storage, network, etc. With this abstraction, for example, a single machine can act like many machines working independently. The usual goal of virtualization is to centralize administrative tasks while improving scalability and workloads. It is not a new concept or technology in computer sciences. Virtual machine concept was in existence since 1960s when it was first developed by IBM to provide concurrent, interactive access to a mainframe computer. 1 12/07/2016 VIRTUALIZATION Reduce power consumption (air conditioning needs, trim the building space and land requirements associated with server farm growth), High availability for critical applications , and streamlines application deployment and migrations, Simplifies IT operations and allow IT organizations to respond faster to changing business demands , Greenhouse gas reduction The socio-political ramifications of global warming requiring good corporate citizens to meet targets, creates an added incentive for virtualization. 2 12/07/2016 EXAMPLE OF USE OF A VIRTUAL MACHINE MONITOR (VMM) APPLICATION PROGRAMMING INTERFACE , A PPLICATION BINARY INTERFACE , AND INSTRUCTION SET ARCHITECTURE . A N APPLICATION USES LIBRARY FUNCTIONS (A1), MAKES SYSTEM CALLS (A2), AND EXECUTES MACHINE INSTRUCTIONS (A3). 3 12/07/2016 VIRTUAL MACHINE MONITOR : EXAMPLES VM technology allows multiple virtual machines to run on a single physical machine. App App App App App Xen Guest OS Guest OS Guest OS (Linux) (NetBSD) (Windows) VMWare VM VM VM Virtual Machine Monitor (VMM) / Hypervisor UserModeLinux Hardware Denali etc.
    [Show full text]
  • Block-Level Storage Virtualization
    Virtulization Nelson L. S. da Fonseca IEEE ComSoc Summer Scool Albuquerque, July 17-21, 2017 Acknowledgement • Some slides in this set of slides were kindly provided by: • Luiz Fernando Bittencourt, University of Campinas • EMC Corporation Virtualization “Virtualization means to create a virtual version of a device or resource, such as a server, storage device, network or even an operating system where the framework divides the resource into one or more execution environments. Devices, applications and human users are able to interact with the virtual resource as if it were a real single logical resource.” http://www.webopedia.com/TERM/V/virtualization.html Virtualization - Features • Sharing of resources • Isolation • Agregation Virtualization - advantages • Fast deployment • Scalability • Load consolidation • Flexibility • Mobility • Green Virtualized Data Center (VDC) Virtualize Network Virtualize Storage Virtualize Compute Classic Data Center (CDC) Server Virtualization Compute Virtualization • It is a technique of masking or abstracting the physical compute hardware and enabling multiple operating systems (OSs) to run concurrently on a single or clustered physical machine(s). • Virtual Machine is a logical entity that looks and behaves like physical machine • Virtualization layer resides between hardware and VMs (hypervisor) • VMs are provided with standardized hardware resources Process Virtual Machine X System Virtual Machine Virtual Machine • From a user’s perspective, a logical compute system • Runs an operating system (OS) and
    [Show full text]
  • Implementation of Nested Virtual Laboratory System
    Jaakko Nurmi Implementation of Nested Virtual Laboratory System Bachelor thesis Information Technology March 2016 Tekijä/Tekijät Tutkinto Aika Jaakko Nurmi Insinööri (AMK) maaliskuu 2016 Opinnäytetyön nimi 39 sivua Implementation of nested Virtual Laboratory System 3 liitesivua Toimeksiantaja Kymenlaakson ammattikorkeakoulu Ohjaaja Lehtori Vesa Kankare Tiivistelmä Tämän opinnäytetyön tarkoituksena oli luoda helppokäyttöinen virtualisoitu laboratorio- alusta tietoverkkotekniikan ja kyberturvallisuuden käytännön harjoituksiin. Työssä hyö- dynnettiin paljon jo olemassa olevaa teknologiaa ja lisäksi luotiin muutamia omia tek- nologioita. Yksi niistä on virtuaalinen kytkentäkaapeli, joka kykenee simuloimaan kaa- pelissa tapahtuvia häiriöitä. Työssä käsitellään sisäkkäistä virtualisointia (Nested virtualization) ja muita käytettyjä teknologioita sekä niiden ominaisuuksia. Käytännön osuudessa käsitellään virtuaalisen laboratorioympäristön toimintaa, ominaisuuksia ja etuja verrattuna fyysisiin laitteisiin sekä muutamia kehitysideoita tulevaisuuden varalle. Lopputuloksena syntyi helppokäyttöinen virtualisoitu tietoverkkolaboratorioympäristö, joita käytettiin ja kokeiltiin muun muassa Advanced routing-, Network security equip- ment ja Service provider networks -kursseilla pääsääntöisesti hyvin lopputuloksin. Si- vutuotteena syntyi kaksi virtuaalista demoskenaariota kyberturvallisuuden opettami- seen. Näitä skenaarioita kokeiltiin penetraatiotestaus-kurssilla. Työn loppupuolella toteutettiin pieni käyttäjäkysely, jolla mitattiin loppukäyttäjien
    [Show full text]
  • Dynamic Load Balancing of Virtual Machines Hosted on Xen
    Brigham Young University BYU ScholarsArchive Theses and Dissertations 2008-12-10 Dynamic Load Balancing of Virtual Machines Hosted on Xen Terry Clyde Wilcox Brigham Young University - Provo Follow this and additional works at: https://scholarsarchive.byu.edu/etd Part of the Computer Sciences Commons BYU ScholarsArchive Citation Wilcox, Terry Clyde, "Dynamic Load Balancing of Virtual Machines Hosted on Xen" (2008). Theses and Dissertations. 1654. https://scholarsarchive.byu.edu/etd/1654 This Thesis is brought to you for free and open access by BYU ScholarsArchive. It has been accepted for inclusion in Theses and Dissertations by an authorized administrator of BYU ScholarsArchive. For more information, please contact [email protected], [email protected]. DYNAMIC LOAD BALANCING OF VIRTUAL MACHINES HOSTED ON XEN by Terry C. Wilcox Jr. A thesis submitted to the faculty of Brigham Young University in partial fulfillment of the requirements for the degree of Master of Science Department of Computer Science Brigham Young University April 2009 Copyright c 2009 Terry C. Wilcox Jr. All Rights Reserved BRIGHAM YOUNG UNIVERSITY GRADUATE COMMITTEE APPROVAL of a thesis submitted by Terry C. Wilcox Jr. This thesis has been read by each member of the following graduate committee and by majority vote has been found to be satisfactory. Date Phillip J. Windley, Chair Date Kelly J. Flanagan Date Tony R. Martinez BRIGHAM YOUNG UNIVERSITY As chair of the candidate’s graduate committee, I have read the thesis of Terry C. Wilcox Jr. in its final form and have found that (1) its format, citations, and bibli- ographical style are consistent and acceptable and fulfill university and department style requirements; (2) its illustrative materials including figures, tables, and charts are in place; and (3) the final manuscript is satisfactory to the graduate committee and is ready for submission to the university library.
    [Show full text]
  • A Taxonomy of Virtual Machines
    Aula 02 - Virtualização Livro texto Virtualization for Datacenter Automation to serve millions of clients, simultaneously . Server Consolidation in Virtualized Datacenter . Virtual Storage Provisioning and Deprovisioning . Cloud Operating Systems for Virtual Datacenters . Trust Management in virtualized Datacenters Copyright © 2012, Elsevier Inc. All rights reserved. 3 - 3 Difference between Traditional Computer and Virtual machines (Courtesy of VMWare, 2008) Copyright © 2012, Elsevier Inc. All rights reserved. 3 - 4 What is Virtualization ? Copyright © 2012, Elsevier Inc. All rights reserved. 3 - 5 Copyright © 2012, Elsevier Inc. All rights reserved. 3 - 6 Virtual Machine, Guest Operating System, and VMM (Virtual Machine Monitor) : The Virtualization layer is the middleware between the underlying hardware and virtual machines represented in the system, also known as virtual machine monitor (VMM). Copyright © 2012, Elsevier Inc. All rights reserved. 3 - 7 (Courtesy of VMWare, 2008) Copyright © 2012, Elsevier Inc. All rights reserved. 3 - 8 VMM : Virtual Machine Monitor (Courtesy of Mendel Rosenblum, 2005) Copyright © 2012, Elsevier Inc. All rights reserved. 3 - 9 Low-Level VMM Operations (1) (Courtesy of Mendel Rosenblum, 2006) Copyright © 2012, Elsevier Inc. All rights reserved. 3 - 10 Low-Level VMM Operations (2) (Courtesy of Mendel Rosenblum, 2006) Copyright © 2012, Elsevier Inc. All rights reserved. 3 - 11 Low-Level VMM Operations (3) (Courtesy of Mendel Rosenblum, 2006) Copyright © 2012, Elsevier Inc. All rights reserved. 3 - 12 Low-Level VMM Operations (4) (Courtesy of Mendel Rosenblum, 2006) Copyright © 2012, Elsevier Inc. All rights reserved. 3 - 13 Copyright © 2012, Elsevier Inc. All rights reserved. 3 - 14 Virtualization at ISA level: Emulating a given ISA by the ISA of the host machine.
    [Show full text]