10 likes | 78 Views
Find all recomputable arrays, S. Select the most dimensional array, A , in S Calculate performance cost, A C. τ C -A C ≥0. S = S – A τ C = τ C -A C. YES. NO. Restructure the code. STOP.
E N D
Find all recomputable arrays, S Select the most dimensional array, A, in S Calculate performance cost, AC τC-AC≥0 S = S – A τC=τC-AC YES NO Restructure the code STOP Minimizing Energy Consumption of Banked Memories Using Data RecomputationH. Koc†, O. Ozturk‡, M. Kandemir‡, S.H.K. Narayanan‡ and E. Ercanli††Syracuse University, ‡The Pennsylvania State University Motivation High Level View of the Approach A Simple Illustrative Example • Embedded systems have multiple important metrics such as: • Performance, Memory space consumption, Power, Reliability, Safety • In data-intensive applications, memory consumes significant fraction of total energy (more important in Deep Sub-Micron due to leakage) • One tradeoff is between performance and energy/power consumption. • Data sizes of embedded applications are increasing significantly • Reasonable improvements in energy consumption are desirable with acceptable performance degradation • Banking is an effective method for reducing memory energy consumption • Each bank has multiple operating modes such as active, power-down • Our goal is to improve the energy effectiveness of banked memory systems with multiple operating modes using data recomputation. • Our approach performs extra computations if doing so makes it unnecessary to reactivate a bank, which is in low-power operating mode. • When an access to a bank (which is in low-power operating mode) is to be made: • Check whether the required data can be recomputed by using the data in active banks. • If so, recompute the required data (do not activate the bank) • Otherwise, activate the bank and fetch the data • The code fragment and the mapping of data into banks are shown. • Assume the execution is about to touch the statement marked by “*”. • Banks 0 & 1 in active mode; Banks 3 & 4 in low-power mode. • Array E is mapped into Bank 2, then check whether E[i] can be ---------------recomputed. • Compute B[i+1]+C[i] instead of activating Bank 2 and fetching E[i]. • No need to activate Bank 2. Energy Evaluation Model Heuristic Approach Experimental Results • Application environment • Single processor, one level of memory with 4 banks, each 64KB • Application domain • Data-intensive applications, frequently used in image/video processing • Energy consumptions and resynchronization costs for operating modes, given for bank size of 64KB • Transition energy from power down to active : 25.6pJ • Memory requests are serviced only in active mode. • Etotal = Edynamic + Eleakage + Etrans • Edynamic = Naccess × DEaccess • Etrans = Ntrans × Eper_trans • Eleakage = Msize × Ncycles × ((Pactive×LEactive) +(1–Pactive)×LEdown) • Eover = Ncycles_extra×LEactive + Naccess_extra×DEaccess • Egain=Ntrans_less×Eper_trans + Naccess_less×DEaccess + Pgain×Msize×(LEactive-LEdown) • If (Egain > Eover), energy saving is possible. Experimental Results Experimental Results Conclusion • We studied the performance-energy consumption tradeoff in multi banked memory systems for array-dominated embedded applications. • Proposed approach improves the energy effectiveness of banked memory architectures with multiple operating modes. Whenever beneficial, it performs extra computations instead of activating and accessing a memory bank, which is in low-power operating mode. • Due to increasing leakage consumption, the approach could be more attractive in the future. • Experimental evaluation indicates 12.8% energy improvement with 6.9% performance degradation on the average. • Normalized energy consumptions __with different number of banks __for wss and tomcatv. • Normalized energy consumptions __for tomcatv when performance __degradation bound is increased. • Energy improvements a with performance bound of 20%. • On the average, 12.8% energy improvement with 6.9%__performance overhead.