Kwangil Choi, Hyunok Oh Hanyang University. Introduction ◦ Non-volatile Memory (NVM) ◦...

27
An Energy Aware Buffer Mapping Technique on Multiple Retention Time STT-MRAMs for Stream Applications Kwangil Choi, Hyunok Oh Hanyang University

Transcript of Kwangil Choi, Hyunok Oh Hanyang University. Introduction ◦ Non-volatile Memory (NVM) ◦...

Page 1: Kwangil Choi, Hyunok Oh Hanyang University.  Introduction ◦ Non-volatile Memory (NVM) ◦ Synchronous dataflow (SDF)  Problem Definition  Answer Set.

An Energy Aware Buffer Mapping Technique on Multiple Retention Time STT-MRAMs for Stream Applications

Kwangil Choi, Hyunok OhHanyang University

Page 2: Kwangil Choi, Hyunok Oh Hanyang University.  Introduction ◦ Non-volatile Memory (NVM) ◦ Synchronous dataflow (SDF)  Problem Definition  Answer Set.

Introduction◦ Non-volatile Memory (NVM)◦ Synchronous dataflow (SDF)

Problem Definition Answer Set Programming Experiment Conclusion

Outline

Page 3: Kwangil Choi, Hyunok Oh Hanyang University.  Introduction ◦ Non-volatile Memory (NVM) ◦ Synchronous dataflow (SDF)  Problem Definition  Answer Set.

Non-Volatile Memory (NVM) Replace DRAM for main memory

Introduction

Type Phase change RAM (PRAM) Spin-transfer torque magneto resistive RAM(STT-MRAM)Ferroelectric RAM(FRAM)

Pros High densityLow static energy consumption

Cons High write energy consumptionPoor write performance

Page 4: Kwangil Choi, Hyunok Oh Hanyang University.  Introduction ◦ Non-volatile Memory (NVM) ◦ Synchronous dataflow (SDF)  Problem Definition  Answer Set.

STT-MRAM Cell Structure

(*MTJ : Magnetic Tunnel Junction)

current

free layertunnel oxide

fixed layer

Gate

Source Drain

Synthetic Antiferromagnetic(SyAF) structure

Bottom Electrode(substrate)

Tunnel Barrier

Free Layer

Pinned Layer

Seed Layer

Capping Layer

Spacing Layer

Top AF Layer

Top Electrode

Bottom AF Layer

Buffer Layer

MTJ*

Page 5: Kwangil Choi, Hyunok Oh Hanyang University.  Introduction ◦ Non-volatile Memory (NVM) ◦ Synchronous dataflow (SDF)  Problem Definition  Answer Set.

Reduction of Retention Time

The reduction of the retention time contributes the cell density, leakage power, dynamic power consumption, and perfor-mance.

Page 6: Kwangil Choi, Hyunok Oh Hanyang University.  Introduction ◦ Non-volatile Memory (NVM) ◦ Synchronous dataflow (SDF)  Problem Definition  Answer Set.

STT-MRAMs with Different Retention Times

  STT1 STT2 STT3

Cell size (F2) 20.7 22 23

Tretention 26.5μs 3.24s 4.27yr

LatR(ns) 2.065 2.118 2.158

Latw(ns) 3.373 6.415 11.447

DynR(nJ) 0.081 0.083 0.085

DynW(nJ) 0.347 0.932 1.916

Pleak(mW) 96.1 104 110

Page 7: Kwangil Choi, Hyunok Oh Hanyang University.  Introduction ◦ Non-volatile Memory (NVM) ◦ Synchronous dataflow (SDF)  Problem Definition  Answer Set.

System with Multiple Retention Time Memories

26.5μs

3.24s

4.27y

processor

STT1 memory

STT2 memory

STT3 memory

Page 8: Kwangil Choi, Hyunok Oh Hanyang University.  Introduction ◦ Non-volatile Memory (NVM) ◦ Synchronous dataflow (SDF)  Problem Definition  Answer Set.

Synchronous dataflow (SDF)◦ represents streaming applications like multimedia that

require frequent memory access◦ Node(Actor) - functional algorithm◦ Edge - communication between two actors ◦ Producing / Consuming rate

the number of produced and consumed samples◦ Rate is fixed

Application Specification

A B3 2

Page 9: Kwangil Choi, Hyunok Oh Hanyang University.  Introduction ◦ Non-volatile Memory (NVM) ◦ Synchronous dataflow (SDF)  Problem Definition  Answer Set.

Motivational Example

A B3 2

Schedule : ABABB

A AB B B

1ms}

Tretention= 1 ms

16 refresh operations

Tretention= 4 ms

no refresh operation

Page 10: Kwangil Choi, Hyunok Oh Hanyang University.  Introduction ◦ Non-volatile Memory (NVM) ◦ Synchronous dataflow (SDF)  Problem Definition  Answer Set.

Introduction◦ Non-volatile Memory (NVM)◦ Synchronous dataflow (SDF)

Problem Definition Answer Set Programming Experiment Conclusion

Outline

Page 11: Kwangil Choi, Hyunok Oh Hanyang University.  Introduction ◦ Non-volatile Memory (NVM) ◦ Synchronous dataflow (SDF)  Problem Definition  Answer Set.

Problem Definition Input

◦ Target architecture: A system with multiple relaxed re-tention time STT-MRAM modules. Note that the memory refreshes memory cells containing valid data.

◦ Characteristics of STT-MRAM : retention time, read/write energy, and refresh energy.

◦ Application : An application is specified in SDF model. A schedule and the execution time of each node are given.

Goal◦ Minimization the total energy consumption on the mem-

ory system for the application. Output

◦ The mapping of buffers to STT-MRAM modules.

Page 12: Kwangil Choi, Hyunok Oh Hanyang University.  Introduction ◦ Non-volatile Memory (NVM) ◦ Synchronous dataflow (SDF)  Problem Definition  Answer Set.

Problem Definition

A B3 2

SDF graph, scheduleand execution time are given

A system with multiple retention time memories

Map the buffer to memoryto minimize the energy consumption

Page 13: Kwangil Choi, Hyunok Oh Hanyang University.  Introduction ◦ Non-volatile Memory (NVM) ◦ Synchronous dataflow (SDF)  Problem Definition  Answer Set.

Our Approach

A

B

D

C E

F1

2 1 2

1

21

1 1

2

1. Construct a scheduleAACBDDFEEEE

A A C B D D F E E E E

2. Build lifetime chart

STT-Short

STT-Long

3. Determine buffer mapping

Energy consumption = 13860

Energy consumption = 15033

Page 14: Kwangil Choi, Hyunok Oh Hanyang University.  Introduction ◦ Non-volatile Memory (NVM) ◦ Synchronous dataflow (SDF)  Problem Definition  Answer Set.

Write energy

Refresh energy

Total energy = write energy+refresh energy

Buffer Mapping Formulation

Constraint Meaning

lt(tj) The lifetime of token belonging to buffer

map(bi) The mapped memory for buffer

rt(m) The retention time of memory

bi The buffer size on edge

Eref(m) The refresh energy for a token in memory

Page 15: Kwangil Choi, Hyunok Oh Hanyang University.  Introduction ◦ Non-volatile Memory (NVM) ◦ Synchronous dataflow (SDF)  Problem Definition  Answer Set.

Introduction◦ Non-volatile Memory (NVM)◦ Synchronous dataflow (SDF)

Problem Definition Answer Set Programming Experiment Conclusion

Outline

Page 16: Kwangil Choi, Hyunok Oh Hanyang University.  Introduction ◦ Non-volatile Memory (NVM) ◦ Synchronous dataflow (SDF)  Problem Definition  Answer Set.

Declarative approach for NP problems Problem - logic predicates “ AND” Solutions - answer sets Easy to understand the formulation Fast ASP solvers have been introduced

Answer Set Programming (ASP)

Page 17: Kwangil Choi, Hyunok Oh Hanyang University.  Introduction ◦ Non-volatile Memory (NVM) ◦ Synchronous dataflow (SDF)  Problem Definition  Answer Set.

Problem Solving Flow

A B3 3

2 25

3

node(1..2).edge(1,1,2,3,3,3).edge(2,2,1,2,2,5).repetition(1,1).repetition(2,1).

lifetime(E,Inv, Duration) :- fire(A,S), fire(B,F), edge(E,A,B,P,C,I), numFiredBefore(A,S,SN), num-FiredBefore(B,F,FN), Inv=FN*C-C+1..FN*C, SN*P-P <Inv, Inv <= SN*P, accRealTime(Start,S), accRe-alTime(Finish,F), Duration=Finish-Start+ATime, Du-ration>0, Inv>0, Inv<= R*P,repetition(A,R), S<F, ex-time(A,ATime).

buffer_energy(E,Write*P*Rep+Refresh*Energy) :- Energy = [lifetime(E,T,Duration)=Duration/Retention+1], edge(E,A,_,P,_,I), retention(Type,Retention), mem-ory_type(M,Type), map(E,M), refresh_energy(Type,Refresh), write_energy(Type,Write), repetition(A,Rep).

1 { memory_type(M,T) : retention(T,_) } 1 :- memory(M).

1 { map(E,M) : memory(M) } 1 :- edge(E,_,_,_,_,_).sample(E,S-C,T) :- fire(B,T), edge(E,_,B,P,C,I), sample(E,S,T-1), S>= C, time(T).

#minimize [buffer_energy(E,Energy)=Energy : edge(E,_,_,_,_,_)].

 

Answer: 1

memory_type(2,1) memory_type(1,1) map(8,2) map(7,2) map(6,2) map(5,2) map(4,2) map(3,2) map(2,2) map(1,2) buffer_energy(8,3123) buffer_energy(7,11196) buffer_energy(6,12438) buffer_energy(5,4850) buffer_energy(4,11196) buffer_energy(3,11196) buffer_energy(2,11196) buffer_energy(1,19269)

Optimization: 84464

Answer: 2

memory_type(2,2) memory_type(1,1) map(8,2) map(7,2) map(6,2) map(5,2) map(4,2) map(3,2) map(2,2) map(1,2) buffer_energy(8,5004) buffer_energy(7,5994) buffer_energy(6,5994) buffer_energy(5,6660) buffer_energy(4,5994) buffer_energy(3,5994) buffer_energy(2,5994) buffer_energy(1,5994)

Optimization: 47628

Answer: 3

memory_type(2,2) memory_type(1,1) map(8,2) map(7,2) map(6,2) map(5,1) map(4,2) map(3,2) map(2,2) map(1,2) buffer_energy(8,5004) buffer_energy(7,5994) buffer_energy(6,5994) buffer_energy(5,4850) buffer_energy(4,5994) buffer_energy(3,5994) buffer_energy(2,5994) buffer_energy(1,5994)

Optimization: 45818

OPTIMUM FOUND

SDF Graph ASP formulation Result

Page 18: Kwangil Choi, Hyunok Oh Hanyang University.  Introduction ◦ Non-volatile Memory (NVM) ◦ Synchronous dataflow (SDF)  Problem Definition  Answer Set.

Introduction◦ Non-volatile Memory (NVM)◦ Synchronous dataflow (SDF)

Problem Definition Answer Set Programming Experiments Conclusion

Outline

Page 19: Kwangil Choi, Hyunok Oh Hanyang University.  Introduction ◦ Non-volatile Memory (NVM) ◦ Synchronous dataflow (SDF)  Problem Definition  Answer Set.

Synthetic examples◦7 randomly generated examples◦ 3 to 7 actors

Real-life applications◦ Part of CELP ◦ H.263 encoder / decoder◦ MP3 decoder

Each node n has the execution time ◦ T(n) = k*Ti(n)

◦ where k represents the scale factor, Ti(n) the initial execution time, and T(n) the execution time of node n.

Experiments

CPU Intel i5

RAM 8GB

OS Ubuntu Linux

ASP Solver Clingo 3.0

Page 20: Kwangil Choi, Hyunok Oh Hanyang University.  Introduction ◦ Non-volatile Memory (NVM) ◦ Synchronous dataflow (SDF)  Problem Definition  Answer Set.

Synthetic SDF Graphs

A

B

C

1

3

1 2

3

2

(a)

A

B

C

D

2

2

3

3

1

1

1

1

(b)

A

B

C

D1

3

1

12

1

2

1

2

(c)

B

C

D

E G

FA1

21

2

11

2 2

2 2

3

1

3 3

(d)

A

B

D

C E

F1

2 1 2

1

21

1 1

2

(e)

A

B

C E

D F2 1 1 2

3223

3

1

(f)

A

B

D

C

E

F

46

9

213

39 2

6

(g)

88

Page 21: Kwangil Choi, Hyunok Oh Hanyang University.  Introduction ◦ Non-volatile Memory (NVM) ◦ Synchronous dataflow (SDF)  Problem Definition  Answer Set.

Real-life SDF Graphs

Page 22: Kwangil Choi, Hyunok Oh Hanyang University.  Introduction ◦ Non-volatile Memory (NVM) ◦ Synchronous dataflow (SDF)  Problem Definition  Answer Set.

Assumed STT-MRAM Parameters

Page 23: Kwangil Choi, Hyunok Oh Hanyang University.  Introduction ◦ Non-volatile Memory (NVM) ◦ Synchronous dataflow (SDF)  Problem Definition  Answer Set.

Normalized Energy Consumption w/ multiple retention memories

Scale factor = 1 Scale factor = 10

Scale factor = 1000 Scale factor = 50000

Page 24: Kwangil Choi, Hyunok Oh Hanyang University.  Introduction ◦ Non-volatile Memory (NVM) ◦ Synchronous dataflow (SDF)  Problem Definition  Answer Set.

Mapped STT-MRAMs

scale factor

ratio

Page 25: Kwangil Choi, Hyunok Oh Hanyang University.  Introduction ◦ Non-volatile Memory (NVM) ◦ Synchronous dataflow (SDF)  Problem Definition  Answer Set.

Normalized Energy Consumption w/ an STT-MRAM

Scale factor=1 Scale factor=10

Page 26: Kwangil Choi, Hyunok Oh Hanyang University.  Introduction ◦ Non-volatile Memory (NVM) ◦ Synchronous dataflow (SDF)  Problem Definition  Answer Set.

Buffer mapping algorithm for a system with mul-tiple retention STT-MRAM memories can reduce the energy consumption by 30~70%.

The mapped STT-MRAM memory is dependent on the variable lifetime.

Conclusion

Page 27: Kwangil Choi, Hyunok Oh Hanyang University.  Introduction ◦ Non-volatile Memory (NVM) ◦ Synchronous dataflow (SDF)  Problem Definition  Answer Set.

Thank you