270 likes | 426 Views
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
E N D
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 • Experiment • Conclusion
Introduction • Non-Volatile Memory (NVM) • Replace DRAM for main memory
STT-MRAM Cell Structure Top Electrode current Top AF Layer Spacing Layer Synthetic Anti ferromagnetic (SyAF) structure Bottom AF Layer free layer MTJ* Buffer Layer tunnel oxide Capping Layer Pinned Layer fixed layer Tunnel Barrier Free Layer Seed Layer Bottom Electrode(substrate) Gate Source Drain (*MTJ : Magnetic Tunnel Junction)
Reduction of Retention Time The reduction of the retention time contributes the cell density, leakage power, dynamic power consumption, and performance.
System with Multiple Retention Time Memories 26.5μs STT1 memory 3.24s STT2 memory processor 4.27y STT3 memory
Application Specification • 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 3 2 A B
Motivational Example } 1ms Tretention= 1 ms Tretention= 4 ms 16 refresh operations no refresh operation
Outline • Introduction • Non-volatile Memory (NVM) • Synchronous dataflow (SDF) • Problem Definition • Answer Set Programming • Experiment • Conclusion
Problem Definition • Input • Target architecture: A system with multiple relaxed retention 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 memory system for the application. • Output • The mapping of buffers to STT-MRAM modules.
Problem Definition Map the buffer to memory to minimize the energy consumption 3 2 A B SDF graph, schedule and execution time are given A system with multiple retention time memories
Our Approach 1. Construct a schedule AACBDDFEEEE Energy consumption = 13860 STT- Short STT- Long Energy consumption = 15033 2. Build lifetime chart 3. Determine buffer mapping
Buffer Mapping Formulation • Write energy • Refresh energy • Total energy = write energy+refresh energy
Outline • Introduction • Non-volatile Memory (NVM) • Synchronous dataflow (SDF) • Problem Definition • Answer Set Programming • Experiment • Conclusion
Answer Set Programming (ASP) • Declarative approach for NP problems • Problem - logic predicates “ AND” • Solutions - answer sets • Easy to understand the formulation • Fast ASP solvers have been introduced
Problem Solving Flow Answer: 1memory_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: 2memory_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: 3memory_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 lifetime(E,Inv, Duration) :- fire(A,S), fire(B,F), edge(E,A,B,P,C,I), numFiredBefore(A,S,SN), numFiredBefore(B,F,FN), Inv=FN*C-C+1..FN*C, SN*P-P <Inv, Inv <= SN*P, accRealTime(Start,S), accRealTime(Finish,F), Duration=Finish-Start+ATime, Duration>0, Inv>0, Inv<= R*P,repetition(A,R), S<F, extime(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), memory_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,_,_,_,_,_)]. 5 2 2 A B 3 3 SDF Graph ASP formulation Result 3 node(1..2). edge(1,1,2,3,3,3).edge(2,2,1,2,2,5). repetition(1,1).repetition(2,1).
Outline • Introduction • Non-volatile Memory (NVM) • Synchronous dataflow (SDF) • Problem Definition • Answer Set Programming • Experiments • Conclusion
Experiments • 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.
Normalized Energy Consumption w/ multiple retention memories Scale factor = 1 Scale factor = 10 Scale factor = 50000 Scale factor = 1000
Mapped STT-MRAMs ratio scale factor
Normalized Energy Consumption w/ an STT-MRAM Scale factor=1 Scale factor=10
Conclusion • Buffer mapping algorithm for a system with multiple retention STT-MRAM memories can reduce the energy consumption by 30~70%. • The mapped STT-MRAM memory is dependent on the variable lifetime.