1 / 17

Overview of Virtual Machines and Class Presentation Schedule

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)?.

baxter
Download Presentation

Overview of Virtual Machines and Class Presentation Schedule

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Overview of Virtual Machines andClass Presentation Schedule

  2. 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

  3. 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)

  4. 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

  5. Why do we need a VM? • Portability is essential in networked computing • Ina 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,

  6. 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)

  7. VM Solution for our Problems • Implementing a layer of S/W (VM) for virtualization • There are two types of VM • Process VM • System VM

  8. Process VM • Run executable of different ISA or OS • VM (runtime) emulates user-level instructions & system calls

  9. Process VM Example • Java VM • Digital FX!32

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

  11. VM Variations • Many variations of VMMs

  12. System VM Example • Hosted VM • Stand-Alone

  13. Implementation Issues - Execution How 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 directly on the hardware

  14. 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

  15. 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 VMware instances running on a single machine) • Security • Security damage is minimized on a single VM

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

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

More Related