Presentation is loading. Please wait.

Presentation is loading. Please wait.

Virtualization Dr. Michael L. Collard

Similar presentations

Presentation on theme: "Virtualization Dr. Michael L. Collard"— Presentation transcript:

1 Virtualization Dr. Michael L. Collard

2 Platform Virtualization
Hide the physical characteristics of computer resources from the applications Not a new idea: IBM’s CP , CP/CMS, VM Full Virtualization Simulate enough hardware so that an unmodified guest operating system can be run Provides a full “virtual machine” Scenarios: Run Linux in a virtual machine on Windows Run multiple logical servers (each with their own virtual machine) on a single physical server

3 Virtual Machine Monitors (VMMs)
VMn App0 App1 Appn ... Guest OS0 Guest OS1 Guest OSn Virtual Machine Monitor (VMM) Platform HW Memory Processor/CS I/O Devices Source: Understanding Intel Virtualization Technology”, N. Sahgal, D. Rodgers

4 Challenges of Running a VMM
OS and Apps in a VM don't know that the VMM exists or that they share CPU resources with other VMs VM0 VM1 VMM should isolate Guest SW stacks from one another ... ... App App App App App App Guest OS0 ... Guest OS1 VMM should run protected from all Guest software VM Monitor VMM should present a virtual platform interface to Guest SW Platform Hardware Source: Understanding Intel Virtualization Technology”, N. Sahgal, D. Rodgers

5 Popek & Goldberg Formal Requirements for Virtualizable Third Generation Architectures – 1974 article Virtual Machine capable of virtualizing all hardware resources, processors, memory, storage, and peripherals Virtual Machine Monitor (VMM) provides virtual machine abstraction Also referred to as hypervisor

6 Popek & Goldberg VMM Properties
Equivalence Program running under a VMM should exhibit a behavior identical to that of running on the equivalent machine Resource Control VMM is in full control of virtualized resources Efficiency A statistically dominant fraction of machine instructions may be executed without VMM intervention

7 Popek & Goldberg: Instructions
Privileged instructions those that trap in user mode, and only run in system mode Control-sensitive instructions those that change the resource configuration of the system Behavior-sensitive instructions behavior or results depend on the configuration of resources

8 Theorem 1: Virtualization
Can construct a VMM if set of control-sensitive instructions is a subset of the privileged instructions All control-sensitive instructions always trap and pass control to the VMM Guarantees resource control property non-privileged instructions must be executed natively

9 Theorem 2: Recursive Virtualization
Recursive virtualization – VMM can run on a copy of itself For an architecture, this is possible if: The architecture is virtualizable A VMM without timing dependences can be built

10 Non-Virtualizable Machines
VMMs (under Popek & Goldberg definition) cannot be build on non-virtualizable machines Workarounds: patching – critical instructions removed and replaced with trap to VMM paravirtualization – guest o.s. is modified (e.g., IBM VM)

11 x86 Virtualization Before 2005: Intel VT (Virtual Technology) (IVT)
x86 processor architecture did not meet Popek & Goldberg virtualization requirements Intel VT (Virtual Technology) (IVT) IA-32, IA-64, Directed I/O, DMA & interrupt remapping, Connectivity AMD-V (Pacifica) AMD Athlon 64, Turion, Opteron

12 Virtualization: Isolation
App1 App2 App1 App2 OS OS OS HW VMM HW Source: Understanding Intel Virtualization Technology”, N. Sahgal, D. Rodgers

13 Virtualization: Consolidation
App1 App2 App1 App2 OS1 OS2 OS1 OS2 HW1 HW2 VMM HW Source: Understanding Intel Virtualization Technology”, N. Sahgal, D. Rodgers

14 Virtualization: Migration
App App OS OS VMM VMM VMM VMM HW1 HW2 HW1 HW2 Source: Understanding Intel Virtualization Technology”, N. Sahgal, D. Rodgers

15 Usages Legacy software support – Consolidation
Training/QA – Consolidation Activity Partioning – Isolation Administration – Consolidation, Isolation, Migration Failover Infrastructure - Migration

16 Questions about a VMM What OS does it run on? Does it need an OS?
What OSs does it allows as guests? Can it support a VM even if the instructions are not on the physical CPU, e.g., IA-64 VM on IA-32 machine? How much can the resources be shared between guest Oss? What tools does it provide for managing VMs?

17 VMWare Desktop – runs in a host OS Server
VMWare Workstation (1999) – runs on PC VMWare Fusion – runs on Mac OS X VMWare Player – run, but not create images Server VMWare Server (GSX Server) –hosted on Linux or Windows VMWare ESX (ESX Server) – no host OS VMWare ESXi (ESX 3i) – freeware (July 2008)

18 VMWare ESX Part of VMWare Infrastructure
Runs “bare-metal”, i.e., has its own vmkernel, with near native performance Guest/Host CPU: x86 (ESXi only), x86-64, AMD Guest OS: Windows, Linux Management capabilities: Move VM between servers on the fly Move VM based on host/VM load requirements/demands

19 Microsoft Hyper-V Viridian, Windows Server Virtualization
Host CPU: x64 + IVT or AMD-V VMM runs directly on the hardware, however requires one parent partition of Windows Server Parent manages child VMs Guest OS: Windows, SUSE, Linux (?) Enlightened I/O: direct access for enabled guests

20 Other Xen UML (User Mode Linux) free software
runs native, but with required “dom0” OS (Linux, NetBSD, Solaris), which starts other VMs UML (User Mode Linux) Run Linux in Linux Support integrated into Linux kernel

21 Summary Virtualization is an old approach, but new software techniques and hardware support have it becoming more visible New tools/method/processes being developed to fully utilize virtualization In the mainstream of system administration

Download ppt "Virtualization Dr. Michael L. Collard"

Similar presentations

Ads by Google