1 / 13

Heterogeneous Chip Multiprocessor Design for Virtual Machines

Heterogeneous Chip Multiprocessor Design for Virtual Machines. Dan Upton and Kim Hazelwood University of Virginia. Pairing CMPs and VMs. Challenge for chip multiprocessors: exploiting all available thread-level parallelism Challenge for virtual machines: reducing overhead

vance-ball
Download Presentation

Heterogeneous Chip Multiprocessor Design for Virtual Machines

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. Heterogeneous Chip Multiprocessor Design for Virtual Machines Dan Upton and Kim Hazelwood University of Virginia

  2. Pairing CMPs and VMs • Challenge for chip multiprocessors: exploiting all available thread-level parallelism • Challenge for virtual machines: reducing overhead • Our solution: moving the VM to a separate core – only give a VM core what the VM needs

  3. Heterogeneous Chip Multiprocessors • Applications have different needs • Ex: Cache performance, available ILP • Heterogeneous CMPs can be used to meet design constraints • Ex: Size, power, cost

  4. Virtual machines • Many practical applications • Dynamic translation (legacy ISA support) • Security • Instrumentation • … App App App App VM OS OS VM HW HW Process VMs (Ex: Pin, JVM, Rosetta) System VMs (Ex: Xen, Transmeta)

  5. Design Approach • Characterize a VM’s microarchitectural performance • Examine processor organization options • Consider beneficial modifcations for support Application Pin SimpleScalar-x86

  6. Two Examples • Comparison of branch behavior against benchmarks from SPECINT 2000 • Comparison of cache performance • Other experiments in paper

  7. Example: Branch Prediction

  8. Example: L1 Caches

  9. Example: L2 Cache

  10. Design Options • Two basic classes: VM General Purpose General Purpose 1 General Purpose 2 General Purpose VM (other specialized) VM VM General Purpose General Purpose VM

  11. Support Structures • Support for tasks normally handled in software where to compile VM Core Application Core support for indirect branches where to resume executing

  12. Related Work • Hardware support for VMs (Trident, DAISY, Kim and Smith) • Transmeta • Java in hardware (picoJava, JOP)

  13. Work in Progress • Comparing similarity of Pin to other VM software • Characterizing VM compilation, cache management

More Related