CASA: Contention-Aware Scratchpad Memory Allocation for Online Hybrid On-Chip Memory Management

Scratchpad memory (SPM) has been increasingly used in embedded systems due to its higher efficiency in terms of energy and area compared to that of ordinary cache. A hybrid on-chip memory architecture that combines SPM with a mini-cache has been proposed. One key issue for hybrid on-chip memory architectures is to reduce the number of off-chip memory accesses and energy consumption. Existing methods achieve this by moving the most frequently accessed data into SPM. However, these methods may be ineffective because the main source of off-chip memory accesses may not be the most frequently accessed data. Instead, most off-chip memory accesses are caused by cache misses, so reducing the latter will reduce the former. Cache misses are mainly caused by data contending for cache lines. Therefore, this paper proposes a contention-aware SPM allocation method for hybrid on-chip management. The number of cache misses for a page is used as a metric to determine whether a page should be moved to SPM. When the number of misses for a page exceeds a threshold, the page is moved to SPM, reducing cache contention. Experimental results show that the proposed method can reduce the energy delay product by 35% to 53% compared to a cache-only on-chip memory architecture and 19% to 31% compared to an existing hybrid on-chip memory architecture.

[1]  Nikil D. Dutt,et al.  Efficient utilization of scratch-pad memory in embedded processor applications , 1997, Proceedings European Design and Test Conference. ED & TC 97.

[2]  Peter Marwedel,et al.  Assigning program and data objects to scratchpad for energy reduction , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

[3]  Soonhoi Ha,et al.  A Novel Technique to Use Scratch-pad Memory for Stack Management , 2007, 2007 Design, Automation & Test in Europe Conference & Exhibition.

[4]  Todd M. Austin,et al.  The SimpleScalar tool set, version 2.0 , 1997, CARN.

[5]  Mahmut T. Kandemir,et al.  Exploiting shared scratch pad memory space in embedded multiprocessor systems , 2002, DAC '02.

[6]  Wei-Che Tseng,et al.  Towards energy efficient hybrid on-chip Scratch Pad Memory with non-volatile memory , 2011, 2011 Design, Automation & Test in Europe.

[7]  Antônio Augusto Fröhlich,et al.  A run-time memory management approach for scratch-pad-based embedded systems , 2010, 2010 IEEE 15th Conference on Emerging Technologies & Factory Automation (ETFA 2010).

[8]  Peter Marwedel,et al.  Scratchpad memory: a design alternative for cache on-chip memory in embedded systems , 2002, Proceedings of the Tenth International Symposium on Hardware/Software Codesign. CODES 2002 (IEEE Cat. No.02TH8627).

[9]  Luca Benini,et al.  An efficient profile-based algorithm for scratchpad memory partitioning , 2005, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[10]  Mahmut T. Kandemir,et al.  Shared scratch-pad memory space management , 2006, 7th International Symposium on Quality Electronic Design (ISQED'06).

[11]  Peter Marwedel,et al.  Overlay techniques for scratchpad memories in low power embedded processors , 2006, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[12]  Mahmut T. Kandemir,et al.  Dynamic management of scratch-pad memory space , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[13]  Alvin Wen-Yu Su,et al.  A hardware/software framework for instruction and data scratchpad memory allocation , 2010, TACO.

[14]  Sri Parameswaran,et al.  Hardware/software managed scratchpad memory for embedded system , 2004, IEEE/ACM International Conference on Computer Aided Design, 2004. ICCAD-2004..

[15]  Peter Marwedel,et al.  Operating system integrated energy aware scratchpad allocation strategies for multiprocess applications , 2007, SCOPES '07.

[16]  Heonshik Shin,et al.  Scratchpad memory management in a multitasking environment , 2008, EMSOFT '08.

[17]  Rajeev Barua,et al.  Heap data allocation to scratch-pad memory in embedded systems , 2005, J. Embed. Comput..

[18]  Feng Shi,et al.  Dynamic and adaptive SPM management for a multi-task environment , 2011, J. Syst. Archit..

[19]  Tulika Mitra,et al.  Integrated scratchpad memory optimization and task scheduling for MPSoC architectures , 2006, CASES '06.

[20]  Sumesh Udayakumaran,et al.  Compiler-decided dynamic memory allocation for scratch-pad based embedded systems , 2003, CASES '03.

[21]  Nikil D. Dutt,et al.  SPMVisor: Dynamic scratchpad memory virtualization for secure, low power, and high performance distributed on-chip memories , 2011, 2011 Proceedings of the Ninth IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[22]  Tiago Rogerio Muck,et al.  Run-time scratch-pad memory management for embedded systems , 2011, IECON 2011 - 37th Annual Conference of the IEEE Industrial Electronics Society.

[23]  Sang Lyul Min,et al.  Scratchpad Memory Management Techniques for Code in Embedded Systems without an MMU , 2010, IEEE Transactions on Computers.

[24]  Hiroaki Takada,et al.  Partitioning and allocation of scratch-pad memory for priority-based preemptive multi-task systems , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[25]  Abhik Roychoudhury,et al.  Static bus schedule aware scratchpad allocation in multiprocessors , 2011, LCTES '11.

[26]  Luca Benini,et al.  Polynomial-time algorithm for on-chip scratchpad memory partitioning , 2003, CASES '03.

[27]  Hui Wu,et al.  WCET-aware data selection and allocation for scratchpad memory , 2012, LCTES '12.

[28]  Craig Zilles,et al.  Execution-based prediction using speculative slices , 2001, ISCA 2001.

[29]  Trevor Mudge,et al.  MiBench: A free, commercially representative embedded benchmark suite , 2001 .

[30]  N. Muralimanohar,et al.  CACTI 6 . 0 : A Tool to Understand Large Caches , 2007 .

[31]  Peter Marwedel,et al.  Cache-Aware Scratchpad-Allocation Algorithms for Energy-Constrained Embedded Systems , 2006, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[32]  Rajeev Barua,et al.  An optimal memory allocation scheme for scratch-pad-based embedded systems , 2002, TECS.

[33]  Ting Chen,et al.  WCET centric data allocation to scratchpad memory , 2005, 26th IEEE International Real-Time Systems Symposium (RTSS'05).