13
Heterogeneous Chip Multiprocessor Design for Virtual Machines Dan Upton and Kim Hazelwood University of Virginia

Heterogeneous Chip Multiprocessor Design for Virtual Machines Dan Upton and Kim Hazelwood University of Virginia

Embed Size (px)

Citation preview

Page 1: Heterogeneous Chip Multiprocessor Design for Virtual Machines Dan Upton and Kim Hazelwood University of Virginia

Heterogeneous Chip Multiprocessor Design for Virtual Machines

Dan Upton and Kim Hazelwood

University of Virginia

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

• Our solution: moving the VM to a separate core – only give a VM core what the VM needs

Page 3: Heterogeneous Chip Multiprocessor Design for Virtual Machines Dan Upton and Kim Hazelwood University of Virginia

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

Page 4: Heterogeneous Chip Multiprocessor Design for Virtual Machines Dan Upton and Kim Hazelwood University of Virginia

Virtual machines• Many practical applications

– Dynamic translation (legacy ISA support)– Security– Instrumentation– …

HW

OS

App VM

App

HW

VM

OS

App App

Process VMs (Ex: Pin, JVM, Rosetta) System VMs (Ex: Xen, Transmeta)

Page 5: Heterogeneous Chip Multiprocessor Design for Virtual Machines Dan Upton and Kim Hazelwood University of Virginia

Design Approach

• Characterize a VM’s microarchitectural performance

• Examine processor organization options• Consider beneficial modifcations for support

SimpleScalar-x86

Pin

Application

Page 6: Heterogeneous Chip Multiprocessor Design for Virtual Machines Dan Upton and Kim Hazelwood University of Virginia

Two Examples

• Comparison of branch behavior against benchmarks from SPECINT 2000

• Comparison of cache performance

• Other experiments in paper

Page 7: Heterogeneous Chip Multiprocessor Design for Virtual Machines Dan Upton and Kim Hazelwood University of Virginia

Example: Branch Prediction

0

0 . 1

0 . 2

0 . 3

0 . 4

0 . 5

0 . 6

0 . 7

0 . 8

0 . 9

1

P in b z ip 2 c r a f t y g c c g z ip m c f p a r s e r

A p p l i c a t i o n s ( P i n + S P E C I N T 2 0 0 0 )

IPC

(n

orm

ali

ze

d t

o

pe

rfe

ct

bra

nc

h p

red

icti

on

)

B im o d a l O n l y

H a l f - s iz e C o m b in in g

C o m b in in g

Page 8: Heterogeneous Chip Multiprocessor Design for Virtual Machines Dan Upton and Kim Hazelwood University of Virginia

Example: L1 CachesP i n L 1 C a c h e P e r f o r m a n c e

0 . 0 0 %

1 . 0 0 %

2 . 0 0 %

3 . 0 0 %

4 . 0 0 %

5 . 0 0 %

6 . 0 0 %

7 . 0 0 %

8 . 0 0 %

D a t a In s t r u c t io n

Mis

s R

ate

6 4 k 4 - w a y 3 2 k 4 - w a y 3 2 k 2 - w a y 1 6 k 2 - w a y 1 6 k d m a p

Page 9: Heterogeneous Chip Multiprocessor Design for Virtual Machines Dan Upton and Kim Hazelwood University of Virginia

Example: L2 CacheP i n L 2 C a c h e P e r f o r m a n c e

0 . 0 0 %

1 0 . 0 0 %

2 0 . 0 0 %

3 0 . 0 0 %

4 0 . 0 0 %

5 0 . 0 0 %

6 0 . 0 0 %

7 0 . 0 0 %

5 1 2 k 4 w a y 2 5 6 k 4 w a y 1 2 8 k 4 w a y

Mis

s R

ate

Page 10: Heterogeneous Chip Multiprocessor Design for Virtual Machines Dan Upton and Kim Hazelwood University of Virginia

Design Options• Two basic classes:

General Purpose 1

General Purpose 2

VM(other

specialized)

General Purpose

VM

General Purpose

VM

General Purpose

VM

General Purpose

VM

Page 11: Heterogeneous Chip Multiprocessor Design for Virtual Machines Dan Upton and Kim Hazelwood University of Virginia

Support Structures

Application CoreVM Core

where to compile

where to resume executingsupport for

indirect branches

• Support for tasks normally handled in software

Page 12: Heterogeneous Chip Multiprocessor Design for Virtual Machines Dan Upton and Kim Hazelwood University of Virginia

Related Work

• Hardware support for VMs (Trident, DAISY, Kim and Smith)

• Transmeta

• Java in hardware (picoJava, JOP)

Page 13: Heterogeneous Chip Multiprocessor Design for Virtual Machines Dan Upton and Kim Hazelwood University of Virginia

Work in Progress

• Comparing similarity of Pin to other VM software

• Characterizing VM compilation, cache management