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