Virtualization and Cloud Computing

Slides:



Advertisements
Similar presentations
Virtualization Dr. Michael L. Collard
Advertisements

Virtual Machine Technology Dr. Gregor von Laszewski Dr. Lizhe Wang.
Virtualisation From the Bottom Up From storage to application.
Network Implementation for Xen and KVM Class project for E : Network System Design and Implantation 12 Apr 2010 Kangkook Jee (kj2181)
© 2010 IBM Corporation Virtualization Technologies Alex Landau IBM Haifa Research Lab 12 January 2010.
1 Disco: Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine, and Mendel Rosenblum, Stanford University, 1997.
Cloud Computing and Virtualization Sorav Bansal CloudCamp 2010 IIT Delhi.
KVM/ARM: The Design and Implementation of the Linux ARM Hypervisor Fall 2014 Presented By: Probir Roy.
Virtualization and the Cloud
Presented by Sujit Tilak. Evolution of Client/Server Architecture Clients & Server on different computer systems Local Area Network for Server and Client.
Virtual Machines. Virtualization Virtualization deals with “extending or replacing an existing interface so as to mimic the behavior of another system”
Virtualization for Cloud Computing
Virtualization Performance H. Reza Taheri Senior Staff Eng. VMware.
Tanenbaum 8.3 See references
Operating System Virtualization
Zen and the Art of Virtualization Paul Barham, et al. University of Cambridge, Microsoft Research Cambridge Published by ACM SOSP’03 Presented by Tina.
Virtualization Virtualization is the creation of substitutes for real resources – abstraction of real resources Users/Applications are typically unaware.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
SAIGONTECH COPPERATIVE EDUCATION NETWORKING Spring 2010 Seminar #1 VIRTUALIZATION EVERYWHERE.
SAIGONTECH COPPERATIVE EDUCATION NETWORKING Spring 2009 Seminar #1 VIRTUALIZATION EVERYWHERE.
Virtualization Concepts Presented by: Mariano Diaz.
Xen I/O Overview. Xen is a popular open-source x86 virtual machine monitor – full-virtualization – para-virtualization para-virtualization as a more efficient.
Virtualization Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation is licensed.
Introduction 1-1 Introduction to Virtual Machines From “Virtual Machines” Smith and Nair Chapter 1.
Virtual Machine and its Role in Distributed Systems.
Server Virtualization
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
Cloud Operating System Unit 09 Cloud OS Core Technology M. C. Chiang Department of Computer Science and Engineering National Sun Yat-sen University Kaohsiung,
02/09/2010 Industrial Project Course (234313) Virtualization-aware database engine Final Presentation Industrial Project Course (234313) Virtualization-aware.
Introduction to virtualization
Full and Para Virtualization
Lecture 26 Virtual Machine Monitors. Virtual Machines Goal: run an guest OS over an host OS Who has done this? Why might it be useful? Examples: Vmware,
Lecture 12 Virtualization Overview 1 Dec. 1, 2015 Prof. Kyu Ho Park “Understanding Full Virtualization, Paravirtualization, and Hardware Assist”, White.
Introduction Why are virtual machines interesting?
Operating-System Structures
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
Cloud Computing Lecture 5-6 Muhammad Ahmad Jan.
CSE 451: Operating Systems Winter 2015 Module 25 Virtual Machine Monitors Mark Zbikowski Allen Center 476 © 2013 Gribble, Lazowska,
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
E Virtual Machines Lecture 1 What is Virtualization? Scott Devine VMware, Inc.
Unit 2 VIRTUALISATION. Unit 2 - Syllabus Basics of Virtualization Types of Virtualization Implementation Levels of Virtualization Virtualization Structures.
Virtualization Neependra Khare
Virtualization for Cloud Computing
Guide to Operating Systems, 5th Edition
A move towards Greener Planet
Introduction to Virtualization
Virtualization.
Virtual Machine Monitors
L2- Virtualization Technology
Virtualization Dr. Michael L. Collard
Prepared by: Assistant prof. Aslamzai
Virtualization Virtualization is the creation of substitutes for real resources – abstraction of real resources Users/Applications are typically unaware.
Virtualization overview
Virtual Machines Calum Aldridge.
Virtual Servers.
Group 8 Virtualization of the Cloud
Virtualization Virtualization is the creation of substitutes for real resources – abstraction of real resources Users/Applications are typically unaware.
OS Virtualization.
Virtualization Techniques
Guide to Operating Systems, 5th Edition
A Survey on Virtualization Technologies
Virtual machines benefits
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Introduction to Virtual Machines
Introduction to Virtual Machines
Virtualization Dr. S. R. Ahmed.
Xen and the Art of Virtualization
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Hypervisor A hypervisor or virtual machine monitor (VMM) is computer software, firmware or hardware that creates and runs virtual machines. A computer.
Presentation transcript:

Virtualization and Cloud Computing Vera Asodi VMware

What is Virtualization? Virtualization is a technology that allows you to transform hardware into software Virtualization allows you to run multiple operating systems simultaneously on a single computer

History 1960’s - IBM implemented virtualization as a way to logically partition mainframe computers into separate virtual machines to enable multitasking. 1960’s - MIT – Project ‘MAC’ – aimed to design and implement a better time sharing system. 1990’s – VMware invented x86 based architecture virtualization.

Virtual Machine

Traditional Architecture Traditional vs. Virtual Architecture Traditional Architecture Virtual Architecture

Benefits of Virtualization Encapsulation - VMs can be described in a file Possible to ‘snapshot’ Easy to move Enables running multiple operating systems Consolidation & use of unused computation power Resource management High availability & disaster recovery Create “Base Environment” Safe testing of new software Easy Management

Virtual Center

Types of Virtualization Hosted Bare Metal VMM APP APP Host OS VMM VMM – Virtual Machine Monitor (or hypervisor) – a software layer that allows virtual machines to run on a physical machine. The OS of the host (the physical machine) is called Host OS, and the OS of the VMs is called Guest OS. VMware player VMware workstation Microsoft virtual PC Sun VirtualBox QEMU KVM VMware ESX Microsoft Hyper-V XEN

Types of Virtualization (cont.) Hosted Bare Metal Virtualization installs like application rather than like OS Can run alongside conventional applications Avoid code duplication – OS already has process scheduler, memory management, device support etc. More suitable for personal users Better performance with lower overhead Highly efficient direct I/O pass- through architecture for network and disk Complete control over hardware Advanced features like live migration available Suitable for production environments

Running a VM The Virtual Machine Monitor (VMM) or Hypervisor is the software layer that runs the VMs. There are several ways of doing that.

Emulation Emulation: Do what the CPU does in SW. Example: addl %ebx, %eax is emulated as: enum {EAX=0, EBX=1, ECX=2, EDX=3, …}; unsigned long regs[8]; regs[EAX] += regs[EBX]; Pro: simple Con: slow Instead of emulation, it would be more efficient to run the VM directly on the host CPU.

The Difficulty of Virtualization Traditional Architecture Bare Metal Virtualized Architecture Ring 3 User Apps Ring 3 User Apps Ring 2 Ring 2 Ring 1 Ring 1 Guest OS Ring 0 OS Ring 0 VMM Host Computer System Hardware Host Computer System Hardware Challenge – x86 operating system are designed to run directly on the bare-metal hardware, so they naturally assume they fully ‘own’ the computer hardware. Some sensitive & privileged instruction have different semantics when not executed in Ring 0 The difficulty is in trapping and translating these sensitive and privileged instructions The problem: the guest OS runs in ring 1, while some privileged instructions need to run in ring 0.

Trap and Emulate Run the VM directly on the host CPU. Trap and emulate sensitive instructions. Pros: Efficient Cons: Harder to implement Need hardware support - not all sensitive instructions cause a trap when executed in a non-privileged mode.

Binary Translation Run the VM directly on the host CPU. The VMM takes a block of binary instructions that are about to be executed and dynamically translates it into safe instructions. Translation: Most of the instructions translate identically. Sensitive instructions are translated into safe ones. Pros: More efficient than emulation No need for hardware support Cons: Less efficient than trap and emulate Hard to implement

Paravirtualization The OS of the VM is modified so that it calls the hypervisor when it has to execute sensitive instructions. Pros: Efficient No need for hardware support Cons: Need a modified version of the guest OS, that is aware to the fact that it runs on a VM.

Running a VM - Summary Emulation and binary translation: No need for modification of HW or guest OS. Emulation – slow, binary translation – more efficient. Trap and emulate: HW modification is required. Improved performance. Paravirtualization: OS modified and aware. Improved performance. The technologies used in the industry are mainly trap and emulate and binary translation, or a combination of both.

I/O Virtualization Types of I/O: Block (hard disk) Network User input: keyboard, mouse Sound Video Most performance critical: Block

NIC – Network Interface Card The NIC is responsible for transmitting and receiving packets through the network. The packets that are transmitted and received are written in the memory. There are registers to which the driver writes the instructions to the NIC. The NIC sends interrupts to the host when it finishes its task. For example, in transmission: The OS prepares the packets in a memory buffer The driver writes the start address and the length of the packet to the appropriate registers The driver writes ‘GO’ to the appropriate register The NIC reads the packet and sends it on the wire The NIC interrupts the host to notify it that the transmission was completed and it is ready to receive the next packet

I/O Virtualization - Emulation Hypervisor implements a virtual NIC (by the specification of a real NIC, e.g., Intel, Realtek, Broadcom). NIC registers are variables. The hypervisor passes the instructions to the registers of the physical NIC. When physical NIC interrupts, hypervisor injects the interrupt into guest. vNICs Hypervisor pNIC

I/O Virtualization – Emulation (cont.) Pros: Unmodified guest (guest already has drivers for Intel NICs…). Cons: Slow – every access to every NIC register causes a VM exit (trap to hypervisor). Hypervisor needs to emulate complex hardware.

I/O Virtualization - Paravirtualization Add virtual NIC driver into guest (frontend). Implement the virtual NIC in the hypervisor (backend). Everything works just like in the emulation case… …except – protocol between frontend and backend vNICs Hypervisor pNIC

I/O Virtualization – Paravirtualization (cont.) Paravirtual protocol: Instead of writing to registers, guest calls the hypervisor, passes it start address and length as arguments Hypervisor knows what it should do Paravirtual protocol can be high-level, e.g., ring of buffers to transmit (so NIC doesn’t stay idle after one transmission), and independent of particular NIC registers Pro: fast – no need to emulate physical device Con: requires guest driver

I/O Virtualization – Direct Access “Pull” NIC out of the host, and “plug” it into the guest. Guest is allowed to access NIC registers directly, no hypervisor intervention. Host cannot access NIC anymore. Pros: As fast as possible Cons: Need NIC per guest (plus one for host). Cannot encapsulate guest packets, monitor or modify them at the hypervisor level. vNICs Hypervisor pNICs

I/O Virtualization – SR-IOV Single Root I/O Virtualization Contains a physical function controlled by the host, used to create multiple virtual functions. Each virtual function is assigned to a guest (like in direct assignment). Each guest thinks it has full control of the NIC, accesses registers directly (like in direct access). The NIC does multiplexing/demultiplexing of traffic. vNICs Hypervisor pNIC

I/O Virtualization – SR-IOV (cont.) Pros: As fast as possible Need only one NIC (as opposed to direct assignment) Cons: Few hypervisors fully support it Expensive Requires new hardware Cannot encapsulate guest packets, monitor or modify them at the hypervisor level.

Title Month Year Live Migration

Global Performance Optimization Title Month Year Global Performance Optimization Balanced Giant Computer Imbalanced Giant Computer Heavy Load Lighter Load

Global Power Optimization Title Month Year Global Power Optimization 20% Average Power Savings PWR APPs

Continue until n is small enough (depends on the desired downtime) Title Month Year Live Migration State 1 Continue until n is small enough (depends on the desired downtime) 2 Want to move a VM from one physical host to another with (almost) no downtime. Copy the state of the VM During the time the state is copied, the VM kept on running, so we have to copy the diff 1 During the time 1 is copied, the VM kept on running, so we have to copy the diff 2 1 is much smaller than the whole state  the time it takes to copy it is much shorter  2 is much smaller than 1  the time it takes to copy it is much shorter  3 is much smaller than 2 and so on… Continue until the diff is so small that the time it takes to copy it is short enough to be considered as no downtime – then shut down the VM, copy it and restart it. n

HW/SW Separation

Cloud Computing

Cloud Computing Abstract the technology infrastructure The user doesn’t have to know There is a compute power out there available for use Flexible * Dynamic * On Demand * Efficient

Principles of Cloud Computing Internal Cloud The user should focus on the Application All the rest is taken care of by the Cloud Provider

Types of Clouds SaaS – Software as a Service IaaS – Infrastructure as a Service PaaS – Platform as a Service

SaaS Software as a Service Examples: Gmail, Salesforce.com The cloud provider provides a SW that is available for use over the internet. The user only pays for usage rather than buy the SW. The user does not have to worry about installation, upgrades, and the infrastructure needed for the SW.

IaaS Infrastructure as a Service Example: Amazon EC2 The cloud provider provides the user a computer with CPU, memory, storage, network, etc. that is available for use through the internet. The user pays for the CPU cycles and network usage. The user does not have to buy the HW and provide the space, electricity maintenance, etc. Very suitable for startups.

PaaS Platform as a Service Example: Google’s App Engine The cloud provider provides not only the infrastructure but also the application stack (e.g. JVM, web server, development and testing tools). The user needs only to add the code.

Benefits of Cloud Computing Tap into external computing power quickly, as needed Accessible using standard internet protocols Consumption based pricing - reduced costs Lower maintenance costs High availability Scalability Improved economics due to shared infrastructure Eco-friendly