17
Overview of Virtual Machines and Class Presentation Schedule

Overview of Virtual Machines and Class Presentation Schedule

  • Upload
    baxter

  • View
    30

  • Download
    0

Embed Size (px)

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

Citation preview

Page 1: Overview of Virtual Machines and Class Presentation Schedule

Overview of Virtual Machines andClass Presentation Schedule

Page 2: 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

Page 3: Overview of Virtual Machines and 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)

Page 4: Overview of Virtual Machines and Class Presentation Schedule

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

Page 5: Overview of Virtual Machines and Class Presentation Schedule

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,

Page 6: Overview of Virtual Machines and Class Presentation Schedule

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)

Page 7: Overview of Virtual Machines and Class Presentation Schedule

VM Solution for our Problems

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

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

Page 8: Overview of Virtual Machines and Class Presentation Schedule

Process VM

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

calls

Page 9: Overview of Virtual Machines and Class Presentation Schedule

Process VM Example

• Java VM

• Digital FX!32

Page 10: Overview of Virtual Machines and Class Presentation Schedule

System VM

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

Page 11: Overview of Virtual Machines and Class Presentation Schedule

VM Variations

• Many variations of VMMs

Page 12: Overview of Virtual Machines and Class Presentation Schedule

System VM Example

• Hosted VM

• Stand-Alone

Page 13: Overview of Virtual Machines and Class Presentation Schedule

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

Page 14: Overview of Virtual Machines and Class Presentation Schedule

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

Page 15: Overview of Virtual Machines and Class Presentation Schedule

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

Page 16: Overview of Virtual Machines and Class Presentation Schedule

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): 김진철 , 김성무

Page 17: Overview of Virtual Machines and Class Presentation Schedule

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): 신동인 , 이종필