Presentation is loading. Please wait.

Presentation is loading. Please wait.

The Whats and Whys of Whole System Virtualization Peter A. Dinda Prescience Lab Department of Computer Science Northwestern University

Similar presentations


Presentation on theme: "The Whats and Whys of Whole System Virtualization Peter A. Dinda Prescience Lab Department of Computer Science Northwestern University"— Presentation transcript:

1 The Whats and Whys of Whole System Virtualization Peter A. Dinda Prescience Lab Department of Computer Science Northwestern University http://plab.cs.northwestern.edu Virtuoso Project: http://virtuoso.cs.northwestern.edu Peter A. Dinda Prescience Lab Department of Computer Science Northwestern University http://plab.cs.northwestern.edu Virtuoso Project: http://virtuoso.cs.northwestern.edu

2 Whole System Virtualization  “Many problems in computer science can be solved by adding a layer of indirection” (bad paraphrase)  Virtualized X  X is a semantically invisible layer of the software stack  Exports exactly the interface it builds on  Adds functionality and/or solves problems  Whole system: span the stack horizontally  “Many problems in computer science can be solved by adding a layer of indirection” (bad paraphrase)  Virtualized X  X is a semantically invisible layer of the software stack  Exports exactly the interface it builds on  Adds functionality and/or solves problems  Whole system: span the stack horizontally

3 OS Virtual Machines  Traditional (Goldberg types I and II)  Run off-the-shelf operating systems  Very low computational overhead but some I/O overheads (arguable how far it can be reduced)  VMware, Microsoft (and VM from the early ‘70s)  Paravirtualized  OS kernels must be ported to them  Very low computational and I/O overhead  Xen, User Mode Linux  Virtual servers  OS kernel extensions (one OS, many instances)  Negligible computational and I/O overhead  Vserver, BSD Jails  Traditional (Goldberg types I and II)  Run off-the-shelf operating systems  Very low computational overhead but some I/O overheads (arguable how far it can be reduced)  VMware, Microsoft (and VM from the early ‘70s)  Paravirtualized  OS kernels must be ported to them  Very low computational and I/O overhead  Xen, User Mode Linux  Virtual servers  OS kernel extensions (one OS, many instances)  Negligible computational and I/O overhead  Vserver, BSD Jails

4 Language Virtual Machines  Compiler targets abstract machine  Usually stack machine  Run-time interprets and dynamically translates to base ISA  Large standard library for I/O  JVM, CLR, (and p-System from late ‘70s)  Arguably also Lisp, Scheme, Perl, Python, …  Compiler targets abstract machine  Usually stack machine  Run-time interprets and dynamically translates to base ISA  Large standard library for I/O  JVM, CLR, (and p-System from late ‘70s)  Arguably also Lisp, Scheme, Perl, Python, …

5 Overlay Networks and P2P  VPNs and VLANs  Multisource multicast (ESM, etc)  Distributed hash tables (Chord, etc)  Resilient routing (RON, etc)  Anonymous routing (Tor, etc)  VM-specialized (VNET, VIOLIN)  VPNs and VLANs  Multisource multicast (ESM, etc)  Distributed hash tables (Chord, etc)  Resilient routing (RON, etc)  Anonymous routing (Tor, etc)  VM-specialized (VNET, VIOLIN)

6 Virtual Storage And Devices  Storage Area Networks  iSCSI  Remote device support  Network block device  Storage Area Networks  iSCSI  Remote device support  Network block device

7 Virtualized Services  Tunneling  ssh  Virtual file systems  System-call interposition  Tunneling  ssh  Virtual file systems  System-call interposition

8 Reducing Complexity  Ownership  Give the user the parallel/distributed systems analogue of a PC  Deployment and distribution  Whole system image  See Potter’s snapshots for a very nice example  Automatic policy avoidance^Wnavigation  Route through the diverse security policies in a multi-site computing environment  Ownership  Give the user the parallel/distributed systems analogue of a PC  Deployment and distribution  Whole system image  See Potter’s snapshots for a very nice example  Automatic policy avoidance^Wnavigation  Route through the diverse security policies in a multi-site computing environment

9 Adaptive Systems  Bring automatic adaptation and resource reservations to existing, unmodified applications  Virtualization as a layer for observation, a provider of adaptation mechanisms, and an impedance matcher to reservations  Bring automatic adaptation and resource reservations to existing, unmodified applications  Virtualization as a layer for observation, a provider of adaptation mechanisms, and an impedance matcher to reservations VM Layer Virtualization Layer Physical Layer

10 Making High-end Computing A Commodity  Virtualization for fungibility  Provider’s perspective  Simple, straightforward abstraction to sell  User’s perspective  Maximum flexibility  “Giant PC”  Virtualization for fungibility  Provider’s perspective  Simple, straightforward abstraction to sell  User’s perspective  Maximum flexibility  “Giant PC”

11 Open-source Virtual Machine Monitor  Type-I OS VMM for modern architectures  Intel’s VT extension to IA32 and IA32e, and AMD’s Pacifica extension to AMD64  Make these commodity architectures virtualizable in the Goldberg sense  VT/Pacifica VMM can be MUCH simpler than existing VMMs for these architectures  Think 50K lines of code (VAX Secure VMM example)  Potentially a very high impact project from this community  Type-I OS VMM for modern architectures  Intel’s VT extension to IA32 and IA32e, and AMD’s Pacifica extension to AMD64  Make these commodity architectures virtualizable in the Goldberg sense  VT/Pacifica VMM can be MUCH simpler than existing VMMs for these architectures  Think 50K lines of code (VAX Secure VMM example)  Potentially a very high impact project from this community

12 Trustless Computing and Language VMs  Trust asymmetry problem in grid and utility computing  Encrypted computation to the rescue  Language VMs are perfect place to implement  Translate binary to binary  Portable  Trust asymmetry problem in grid and utility computing  Encrypted computation to the rescue  Language VMs are perfect place to implement  Translate binary to binary  Portable


Download ppt "The Whats and Whys of Whole System Virtualization Peter A. Dinda Prescience Lab Department of Computer Science Northwestern University"

Similar presentations


Ads by Google