Overview of Virtual Machines and Class Presentation Schedule

Post on 13-Jan-2016

28 views 0 download

Tags:

description

Overview of Virtual Machines and Class Presentation Schedule. Contents. What is a virtual machine (VM)? Why do we need a VM? VM solutions Classification of VMs Implementation issues of VM VM usages Class presentation schedule. What is a Virtual Machine (VM)?. - PowerPoint PPT Presentation

transcript

Overview of Virtual Machines andClass Presentation Schedule

Contents

• What is a virtual machine (VM)?• Why do we need a VM?• VM solutions• Classification of VMs• Implementation issues of VM• VM usages• Class presentation schedule

What is a Virtual Machine (VM)?• Software for cross-platform compatibility

– Traditionally, an application program is bound to a specific platform (which is ISA + OS)

What is a Virtual Machine (VM)?• VM eliminates this real-platform constraint for

higher degree of portability and flexibility– How? added to a platform to give an appearance

of a different platform or even multiple platforms

– Result: a platform can run a program bounded to a different platform

– VM may have an OS or an ISA or both, which are different from the ones in the real platform

Why do we need a VM?

• Portability is essential in networked computing– In a network-is-a-computer environment– Especially useful for mobile, wireless-download platforms where

we can achieve consistent execution environment on diverse CPU + OS + H/W devices

• Innovations are limited by old interfaces– Supporting old ISA may make new high-performance H/W

features difficult to implement • E.g., superscalar execution for x86

– On the other hand, new CPUs that cannot run x86 binaries are not viable

• E.g., alpha is dead, MIPS is dying, same is SPARC

– Solution: run x86 binaries on high-performance, low-power CPUs• Crusoe, FX!32, DAISY,

Why do we need a VM?

• Optimizations across interfaces are difficult– E.g., a binary is optimized for one processor

model but it can be executed on different processor model

– Solution: dynamic optimization (e.g., Dynamo)

• Single OS on a H/W may open a security hole– E.g., a server shared by different groups of users

who want to be assured of a secure environment– Solution: some logical decomposition (e.g. IBM

z/VM)

VM Solution for our Problems

• Implementing a layer of S/W (VM) for virtualization

• There are two types of VM– Process VM– System VM

Process VM

• Run executable of different ISA or OS – VM (runtime) emulates user-level instructions & system

calls

Process VM Example

• Java VM

• Digital FX!32

System VM

• Run whole OS(es) & executables– VM (VMM) emulates user-level & system-level ISA

VM Variations

• Many variations of VMMs

System VM Example

• Hosted VM

• Stand-Alone

Implementation Issues - ExecutionHow to execute guest instructions on a host

– Interpretation• Slow execution speed, but easy implementation

– Translation• Dynamic translation: recompile/translation done while running• Static translation: multiple binary problem• Complicated but faster execution, especially with optimization

– Run directly on the hardware• When the host and guest ISA is the same• E.g., VMWare handles system calls only, and run x86 instructions dir

ectly on the hardware

Implementation Issues – Platform• Standalone

– Does all hardware operations all by itself– VMWare ESX, IBM z/VM– Need to control real hardware all by itself

• Highly efficient

• Hosted– Runs on an existing host operating system– VMWare GSX, User-mode Linux, etc.

• More flexibility• Easier hardware management

Virtual Machine Usage

• Improved portability: “write once, run everywhere” as in Java• Better availability• Better workload distribution

– VM can move from hardware to hardware instantly

• Running x86 binaries on a new, high-performance, low-power CPUs (e.g., Crusoe chip)

• Legacy support– Vax emulator, HP calculator emulator

• Development environment– Can simulate a network of servers on a single H/W (e.g., multiple VM

ware instances running on a single machine)• Security

– Security damage is minimized on a single VM

Class Presentation Schedule

• Chap 1: 9/12 (Mon)– Introduction, basics (any): 김지훈

• Chap 2: 9/14 (Wed), 9/21 (Wed)– Emulation, optimized emulation (any): 이해옥 , 김재욱

• Chap 3: 9/26 (Mon), 9/28 (Wed)– Process VM (architecture, OS): Li, Huang

• Invited Talk: 10/5 (Mon): TBD

• Chap 4: 10/10 (Mon), 10/12 (Wed)– Binary optimization (compiler): 김진철 , 김성무

Class Presentation Schedule

• Chap 5: 10/17 (Mon), 10/19 (Wed)– JVM & .Net (compiler): 장춘기 , 신진우

• Chap 6: 10/24 (Mon), 10/26 (Wed)– JVM (compiler): 박해우 , 양회석

• Chap 7: 10/31 (Mon), 11/2 (Wed)– Co-designed VM, Crusoe (OS, architecture): 이창현 , 김덕환

• Chap 8: 11/7 (Mon), 11/9 (Wed)– System VM, VMWare (OS): 신동인 , 이종필