Kwangil Choi, Hyunok Oh Hanyang University

Post on 23-Feb-2016

40 views 0 download

Tags:

description

An Energy Aware Buffer Mapping Technique on Multiple Retention Time STT-MRAMs for Stream Applications. Kwangil Choi, Hyunok Oh Hanyang University. Outline. Introduction Non -volatile Memory (NVM) Synchronous dataflow (SDF) Problem Definition Answer Set Programming - PowerPoint PPT Presentation

Transcript of Kwangil Choi, Hyunok Oh Hanyang University

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

Kwangil Choi, Hyunok OhHanyang University

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

Problem Definition Answer Set Programming Experiment Conclusion

Outline

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

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 BarrierFree Layer

Pinned Layer

Seed Layer

Capping Layer

Spacing LayerTop AF Layer

Top Electrode

Bottom AF Layer

Buffer Layer

MTJ*

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

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

System with Multiple Retention Time Memories

26.5μs

3.24s

4.27y

processor

STT1 memory

STT2 memory

STT3 memory

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

Motivational Example

A B3 2

Schedule : ABABB

A AB B B

1ms}

Tretention= 1 ms16 refresh operations

Tretention= 4 ms no refresh operation

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

Problem Definition Answer Set Programming Experiment Conclusion

Outline

Problem Definition Input

◦ Target architecture: A system with multiple relaxed reten-tion time STT-MRAM modules. Note that the memory re-freshes 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.

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

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

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

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

Problem Definition Answer Set Programming Experiment Conclusion

Outline

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)

Problem Solving Flow

A B3 3

2 25

3node(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

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

Problem Definition Answer Set Programming Experiments Conclusion

Outline

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 i5RAM 8GBOS Ubuntu Linux ASP Solver Clingo 3.0

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

FA 1

21

2

1 12 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

F4

6

9

213

39 2

6

(g)

88

Real-life SDF Graphs

Assumed STT-MRAM Parameters

Normalized Energy Consumption w/ multiple retention memories

Scale factor = 1 Scale factor = 10

Scale factor = 1000 Scale factor = 50000

Mapped STT-MRAMs

scale factor

ratio

Normalized Energy Consumption w/ an STT-MRAM

Scale factor=1 Scale factor=10

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

Thank you