hybrid cache architecture (hca) with disparate memory ...isca09.cs.columbia.edu/pres/04.pdf ·...

21
1 Hybrid Cache Architecture (HCA) with Disparate Memory Technologies Xiaoxia Wu , Jian Li , Lixin Zhang , Evan Speight , Ram Rajamony , Yuan Xie Pennsylvania State University IBM Austin Research Laboratory Acknowledgement : Elmootazbellah (Mootaz) Elnozahy, Hung Le, Balaram Sinharoy, William (Bill) J. Starke, and Chung-Lung Kevin Shum

Upload: dothu

Post on 29-Sep-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Hybrid Cache Architecture (HCA) with Disparate Memory ...isca09.cs.columbia.edu/pres/04.pdf · Hybrid Cache Architecture (HCA) with Disparate Memory Technologies ... Evan Speight

1

Hybrid Cache Architecture (HCA) with Disparate Memory Technologies

Xiaoxia Wu†, Jian Li‡, Lixin Zhang‡,

Evan Speight‡, Ram Rajamony‡, Yuan Xie†

† Pennsylvania State University‡ IBM Austin Research Laboratory

Acknowledgement: Elmootazbellah (Mootaz) Elnozahy, Hung Le,

Balaram Sinharoy, William (Bill) J. Starke, and Chung-Lung Kevin Shum

Page 2: Hybrid Cache Architecture (HCA) with Disparate Memory ...isca09.cs.columbia.edu/pres/04.pdf · Hybrid Cache Architecture (HCA) with Disparate Memory Technologies ... Evan Speight

2

Outline

Motivation and IntroductionMethodologyLevel based Hybrid Cache Architecture Region based Hybrid Cache Architecture 3D Hybrid Cache StackingConclusion

Page 3: Hybrid Cache Architecture (HCA) with Disparate Memory ...isca09.cs.columbia.edu/pres/04.pdf · Hybrid Cache Architecture (HCA) with Disparate Memory Technologies ... Evan Speight

3

IntroductionTraditional SRAM-based Cache Architecture

- Limited size with CMP: cache-core balance

- Leakage power

- More cache levels: design overhead, coherence

- Non-Uniform Cache Architecture (wire delay)

Improve cache power-performance with Emerging Memory Technologies, under the same chip area/footprint

- Embedded DRAM

- Magnetic RAM

- Phase Change RAM

- Three-dimensional space

Page 4: Hybrid Cache Architecture (HCA) with Disparate Memory ...isca09.cs.columbia.edu/pres/04.pdf · Hybrid Cache Architecture (HCA) with Disparate Memory Technologies ... Evan Speight

4

Different Memory Technologies

SRAM 6T structure

Magnetic RAM1T1J structure

MTJ (Magnetic Tunnel Junction)

Phase Change RAM1T1J structure

DRAM 1T1C structure

Page 5: Hybrid Cache Architecture (HCA) with Disparate Memory ...isca09.cs.columbia.edu/pres/04.pdf · Hybrid Cache Architecture (HCA) with Disparate Memory Technologies ... Evan Speight

5

Comparisons

SRAM eDRAM MRAM PRAMDensity (ratio) Low (1) High (4) High (4) High(16)

Dynamic Power Low Medium Low for read; High for write

Medium for read; High for

write

Leakage Power High Medium Low LowSpeed Very

FastFast Fast for read;

Slow for writeSlow for read;Very slow for

write

Non-volatility No No Yes Yes

Scalability Yes Yes Yes Yes

Endurance 1016 1016 >1015 108

Reduce Cache miss rateIncrease hit latency

Low leakage power High dynamic power

Page 6: Hybrid Cache Architecture (HCA) with Disparate Memory ...isca09.cs.columbia.edu/pres/04.pdf · Hybrid Cache Architecture (HCA) with Disparate Memory Technologies ... Evan Speight

6

Motivation

0.20.6

11.4

astar

bzip2 gc

cgo

bmk

h264

hmmer-

splib

quan

tum mcfom

netpp pe

rlsje

ngbla

st bt cgclu

stalw

hmmer lu mg sp ua

spec

jbbde

dup

fluida

nimate

freqm

ine

strea

mcluste

rGeo

meanN

orm

aliz

ed IP

C

1M-SRAM 4M-DRAM 4M-MRAM 16M-PRAM

00.20.40.60.8

1

astar

bzip2 gc

cgo

bmk

h264

hmmer-

splib

quan

tum mcfom

netpp pe

rlsje

ngbla

st bt cgclu

stalw

hmmer lu mg sp ua

spec

jbbde

dup

fluida

nimate

freqm

ine

strea

mcluste

rGeo

mean

Nor

mal

ized

Pow

er

Static Dynamic

1.88 1.89

No single memory technology has

the best power-performance

Hybrid Cache may outperform

its counterpart of single technology

Page 7: Hybrid Cache Architecture (HCA) with Disparate Memory ...isca09.cs.columbia.edu/pres/04.pdf · Hybrid Cache Architecture (HCA) with Disparate Memory Technologies ... Evan Speight

7

Outline

Introduction and MotivationMethodologyLevel based Hybrid Cache Architecture Region based Hybrid Cache Architecture3D Hybrid Cache StackingConclusions

Page 8: Hybrid Cache Architecture (HCA) with Disparate Memory ...isca09.cs.columbia.edu/pres/04.pdf · Hybrid Cache Architecture (HCA) with Disparate Memory Technologies ... Evan Speight

8

Evaluation MethodologyCore w/ L1s

L2(SRAM)

L3(eDRAM/MRAM/PRAM)

A cache design scenario with 3D chip integration

Flattening L3 and L4 with hybrid cache

Flattening L2, L3 and L4 with hybrid cache

Core w/ L1s

L2(SRAM)

L3(eDRAM/MRAM)

L4(PRAM)

Core w/ L1s

L2 Fast(SRAM)

L2 Slow(eDRAM/MRAM)

L3(PRAM)

Core w/ L1s

L2 Fast(SRAM)

L2Middle

(eDRAM/MRAM)

L2Slow

(PRAM)

3D Layer 1

3D Layer 2

Core w/ L1s

L2 Fast(SRAM)

L2 Slow(eDRAM/MRAM/PRAM)

Core

w/ L1sL2L3

Core

w/ L1sL2L3

Core

w/ L1sL2L3

Core

w/ L1sL2L3

Cor

e w

/ L1s

L2 L3

Cor

e w

/ L1s

L2 L3

Cor

e w

/ L1s

L2 L3

Cor

e w

/ L1s

L2 L3Flattening L2 and L3

with hybrid cache

Baseline: a 2D 8-core CMP (3-level SRAM Caches)

A B

CDE

LHCA RHCA

3DHCA 3DHCA 3DHCA

Core w/ L1s

L2(SRAM)

L3(SRAM)

3D design scenario

Core w/ L1s

L2(SRAM)

L3(SRAM)

Core w/ L1s

L2(SRAM)

L3(eDRAM/MRAM/PRAM)

Core w/ L1sL2 Fast(SRAM)

L2 Slow(eDRAM/MRAM/PRAM)

Core w/ L1s

L2(SRAM)

L3(eDRAM/MRAM)

L4(PRAM)

Core w/ L1s

L2 Fast(SRAM)

L2Middle

(eDRAM/MRAM)

L2Slow

(PRAM)

Core w/ L1s

L2 Fast(SRAM)

L2 Slow(eDRAM/MRAM)

L3(PRAM)

Page 9: Hybrid Cache Architecture (HCA) with Disparate Memory ...isca09.cs.columbia.edu/pres/04.pdf · Hybrid Cache Architecture (HCA) with Disparate Memory Technologies ... Evan Speight

9

Evaluation SetupCache Density Latency

(cycles)Dyn. eng (nJ) Static power

(W)SRAM(1MB) 1 8 0.388 1.36

eDRAM(4MB) 4 24 0.72 0.4MRAM(4MB) 4 Read:20,

write:60Read:0.4 write:2.3

0.15

PRAM(16MB) 16 Read:40 write:200

Read:0.8 write:1.5

0.3

Processor 8-way issue out-of-order, 8-core, 4GHzL1 32KB DL1, 32KB IL1, 128B, 4-way, 1 R/W port

L2/L3/L4 See corresponding design casesMemory 400 cycles latency

Benchmarks: SpecInt06, Specjbb, NAS, Bioperf, Parsec

Simulator: SystemSim full system simulator

Page 10: Hybrid Cache Architecture (HCA) with Disparate Memory ...isca09.cs.columbia.edu/pres/04.pdf · Hybrid Cache Architecture (HCA) with Disparate Memory Technologies ... Evan Speight

10

Outline

Introduction and MotivationMethodologyLevel based Hybrid Cache ArchitectureIntra-Level Hybrid Cache Architecture3D Hybrid Cache StackingConclusions

Page 11: Hybrid Cache Architecture (HCA) with Disparate Memory ...isca09.cs.columbia.edu/pres/04.pdf · Hybrid Cache Architecture (HCA) with Disparate Memory Technologies ... Evan Speight

11

LHCA: Performance and Power

0.60.8

11.21.4

astar

bzip2 gc

cgo

bmk

h264

hmmer-

splib

quan

tum mcfom

netpp pe

rlsje

ngbla

st bt cgclu

stalw

hmmer lu mg sp ua

spec

jbbde

dup

fluida

nimate

freqm

ine

strea

mcluste

rGeo

mean

Nor

mal

ized

IPC

L3-SRAM eDRAM-LHCA MRAM-LHCA PRAM-LHCA

00.20.40.60.8

1

astar

bzip2 gc

cgo

bmk

h264

hmmer-

splib

quan

tum mcfom

netpp pe

rlsje

ngbla

st bt cgclu

stalw

hmmer lu mg sp ua

spec

jbbde

dup

fluida

nimate

freqm

ine

strea

mcluste

rGeo

mean

Nor

mal

ized

Pow

er

Static Dynamic

Core w/ L1s

L2(SRAM)

L3(eDRAM/MRAM/PRAM)

A

LHCA

Processor 8-way issure out-of-order, 8-core, 4GHzL1 32KB DL1, 32KB IL1, 128B, 4-way, 1 R/W portL2 256KB, 128B, 4-way, 1 R/W portL3 Parameters from the methodology

1.72 1.48

0.59

Simple LHCA can provide

Performance and Power benefits

Page 12: Hybrid Cache Architecture (HCA) with Disparate Memory ...isca09.cs.columbia.edu/pres/04.pdf · Hybrid Cache Architecture (HCA) with Disparate Memory Technologies ... Evan Speight

12

Outline

Introduction and MotivationMethodologyLevel based Hybrid Cache ArchitectureRegion based Hybrid Cache Architecture3D Hybrid Cache StackingConclusions

Page 13: Hybrid Cache Architecture (HCA) with Disparate Memory ...isca09.cs.columbia.edu/pres/04.pdf · Hybrid Cache Architecture (HCA) with Disparate Memory Technologies ... Evan Speight

13

RHCA Features

RHCADrowsy RHCA:

Keep slow region in drowsy mode, wake up latency (details in paper)

Intra-cache data movement policy:

Move frequently used data to the

fast region

Mutually Exclusive Regions

Fast and slow regions in one

cache level

Parallel search

Unified LRU

Page 14: Hybrid Cache Architecture (HCA) with Disparate Memory ...isca09.cs.columbia.edu/pres/04.pdf · Hybrid Cache Architecture (HCA) with Disparate Memory Technologies ... Evan Speight

14

RHCA PolicyCache line migration policy

Hit?Y

Access cache line

Allocate the new line and replace an LRU

line if needed, across all regions

N

Reset 2-bit saturationcounter; set sticky bit

Provide data;increment

saturation counter

MSB set (hot) in slow region?

YSelect an LRU cache line of the same set in

the fast region

Sticky bit set?Y

Clear sticky bit

Cancel swap Swap; reset saturationcounter; set sticky bit

N

NNo action

Page 15: Hybrid Cache Architecture (HCA) with Disparate Memory ...isca09.cs.columbia.edu/pres/04.pdf · Hybrid Cache Architecture (HCA) with Disparate Memory Technologies ... Evan Speight

15

RHCA Hardware Support

Offs

etIn

dex

Tag

=?

=?

Saturating counter(s)swap buffer

Tag & Status Array Decoder Data Array

Offs

etIn

dex

Tag

Fast Region

Slow Region

Fast Region

Slow Region

valid tag

valid tag

Hardware supportSaturating counter in slow and sticky bit in fast, swap bufferMinimum hardware support: 1-bit sticky bit in fast region

Sticky bit and Saturating counter(s)

Page 16: Hybrid Cache Architecture (HCA) with Disparate Memory ...isca09.cs.columbia.edu/pres/04.pdf · Hybrid Cache Architecture (HCA) with Disparate Memory Technologies ... Evan Speight

16

RHCA Configuration

RHCA (fast+slow) Fast region L2 total size (latency)SRAM+eDRAM 256KB (6 cycles) 4MB (24 cycles)SRAM+MRAM 256KB (6 cycles) 4MB (r:20, w:60)SRAM+PRAM 256KB (6 cycles) 16MB (r:40, w:200)

Slow region: 256KB/bank, 1 r/w port, block size 128B, associativity:16, 16, 64

RHCA is 256KB less size than corresponding LHCAAvoid odd-sized cache

DNUCA policy: more fine grained, move a line to a closer bank on each hit, bank-based, same size

BRHCA

Core w/ L1s

L2 Fast(SRAM)

L2 Slow(eDRAM/MRAM/PRAM)

Page 17: Hybrid Cache Architecture (HCA) with Disparate Memory ...isca09.cs.columbia.edu/pres/04.pdf · Hybrid Cache Architecture (HCA) with Disparate Memory Technologies ... Evan Speight

17

RHCA Result

0.80.9

11.11.21.31.4

astar

bzip2 gc

cgo

bmk

h264

hmmer-

splib

quan

tum mcfom

netpp pe

rlsje

ngbla

st bt cgclu

stalw

hmmer lu mg sp ua

spec

jbbde

dup

fluida

nimate

freqm

ine

strea

mcluste

rGeo

mean

Nor

mal

ized

IPC

3-level SRAM Best LHCA DNUCA RHCA

0.60.8

11.21.4

astar

bzip2 gc

cgo

bmk

h264

hmmer-

splib

quan

tum mcfom

netpp pe

rlsje

ngbla

st bt cgclu

stalw

hmmer lu mg sp ua

spec

jbbde

dup

fluida

nimate

freqm

ine

strea

mcluste

rGeo

mean

Nor

mal

ized

IPC

3-level SRAM Best LHCA DNUCA RHCA

0.40.60.8

11.21.4

astar

bzip2 gc

cgo

bmk

h264

hmmer-

splib

quan

tum mcfom

netpp pe

rlsje

ngbla

st bt cgclu

stalw

hmmer lu mg sp ua

spec

jbbde

dup

fluida

nimate

freqm

ine

strea

mcluste

rGeo

mean

Nor

mal

ized

IPC

3-level SRAM Best LHCA DNUCA RHCA

SRAM-eDRAM RHCA

SRAM-MRAM RHCA

SRAM-PRAM RHCA

RHCA achieves better performance

than SRAM baseline and LHCA

PRAM is not promising for Cache

Page 18: Hybrid Cache Architecture (HCA) with Disparate Memory ...isca09.cs.columbia.edu/pres/04.pdf · Hybrid Cache Architecture (HCA) with Disparate Memory Technologies ... Evan Speight

18

Outline

Introduction and MotivationMethodologyLevel based Hybrid Cache ArchitectureRegion based Hybrid Cache Architecture3D Hybrid Cache StackingConclusions

Page 19: Hybrid Cache Architecture (HCA) with Disparate Memory ...isca09.cs.columbia.edu/pres/04.pdf · Hybrid Cache Architecture (HCA) with Disparate Memory Technologies ... Evan Speight

19

3DHCA-configuration

3DHCA-C (3D LHCA): 256KB L2 SRAM, 4M L3 eDRAM, 32M L4 PRAM

3DHCA-D: 32M L2 fast, middle, slow region (3D RHCA)Data in slow region can be moved to fast and middle regions

3DHCA-E: 4M L2 fast+slow region, 32M L3 PRAM (LHCA+RHCA)

Core w/ L1sL2

(SRAM)L3

eDRAM/

L4(PRAM)

Core w/ L1sL2 Fast

(SRAM)

L2 SloweDRAM/

L3(PRAM)

Core w/ L1s

L2 Fast(SRAM)

L2Middle

eDRAM/

L2Slow

(PRAM)

3D Layer 1

3D Layer 2

C D E3DHCA3DHCA3DHCA

Page 20: Hybrid Cache Architecture (HCA) with Disparate Memory ...isca09.cs.columbia.edu/pres/04.pdf · Hybrid Cache Architecture (HCA) with Disparate Memory Technologies ... Evan Speight

20

3DHCA-result

0.60.8

11.21.41.61.8

astar

bzip2 gc

cgo

bmk

h264

hmmer-

splib

quan

tum mcfom

netpp pe

rlsje

ngbla

st bt cgclu

stalw

hmmer lu mg sp ua

spec

jbbde

dup

fluida

nimate

freqm

ine

strea

mcluste

rGeo

mean

Nor

mal

ized

IPC

3-level SRAM Best LHCA RHCA 3DHCA-C 3DHCA-D 3DHCA-E

00.20.40.60.8

1

astar

bzip2 gc

cgo

bmk

h264

hmmer-

splib

quan

tum mcfom

netpp pe

rlsje

ngbla

st bt cgclu

stalw

hmmer lu mg sp ua

spec

jbbde

dup

fluida

nimate

freqmine

strea

mcluste

rGeo

mean

Nor

mal

ized

Pow

er

Static Normal_dyn Swap_dyn

Page 21: Hybrid Cache Architecture (HCA) with Disparate Memory ...isca09.cs.columbia.edu/pres/04.pdf · Hybrid Cache Architecture (HCA) with Disparate Memory Technologies ... Evan Speight

21

ConclusionHybrid cache architecture is promising to improve cache power-performance under same chip area/footprint

RHCA and LHCA achieve better power-performance than SRAM-based design

RHCA outperforms LHCA with minimal hardware support

3DHCA achieves better performance than LHCA and RHCA, while still maintains lower power than 2D SRAM baseline