Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1016720.1016748acmconferencesArticle/Chapter ViewAbstractPublication PagesesweekConference Proceedingsconference-collections
Article

Dynamic overlay of scratchpad memory for energy minimization

Published: 08 September 2004 Publication History

Abstract

The memory subsystem accounts for a significant portion of the aggregate energy budget of contemporary embedded systems. Moreover, there exists a large potential for optimizing the energy consumption of the memory subsystem. Consequently, novel memories as well as novel algorithms for their efficient utilization are being designed. Scratchpads are known to perform better than caches in terms of power, performance, area and predictability. However, unlike caches they depend upon software allocation techniques for their utilization. In this paper, we present an allocation technique which analyzes the application and inserts instructions to dynamically copy both code segments and variables onto the scratchpad at runtime. We demonstrate that the problem of dynamically overlaying scratchpad is an extension of the Global Register Allocation problem. The overlay problem is solved optimally using ILP formulation techniques. Our approach improves upon the only previously known allocation technique for statically allocating both variables and code segments onto the scratchpad. Experiments report an average reduction of 34% and 18% in the energy consumption and the runtime of the applications, respectively. A minimal increase in code size is also reported.

References

[1]
A. W. Appel and L. George. Optimal spilling for cisc machines with few registers. In Proc. of the Conference on Programming Language Design and Implementation (PLDI), pages 243--253, Snowbird, Utah, USA, 2001.
[2]
ARM. Advanced RISC Machines Ltd. http://www.arm.com.
[3]
O. Avissar, R. Barua, and D. Stewart. An Optimal Memory Allocation Scheme for Scratch-Pad-Based Embedded Systems. IEEE Transactions on Embedded Computing Systems, 1(1):6--26, November 2002.
[4]
R. Banakar, S. Steinke, B.-S. Lee, M. Balakrishnan, and P. Marwedel. Scratchpad Memory: A Design Alternative for Cache On-chip Memory in Embedded Systems. In Proc. of 10th International Symposium on Hardware/Software Codesign, Colorado, USA, May 2002.
[5]
G. J. Chaitin. Register allocation & spilling via graph coloring. In Proc. of the 1982 SIGPLAN Symposium on Compiler Construction, pages 98--101, Boston, Massachusetts, USA, 1982.
[6]
CPLEX. CPLEX limited. http://www.cplex.com.
[7]
M. R. Garey and D. S. Johnson. Computers and Intractability: A Guide To the Theory of NP-Completeness. Freeman, New York, USA, 1979.
[8]
D. W. Goodwin and K. D. Wilken. Optimal and Near-optimal Global Register Allocation Using 0-1 Integer Programming. Software-Practice and Experience, 26(8):929--965, August 1996.
[9]
J. L. Hennessy and D. A. Patterson. Computer Architecture : A Quantitative Approach; second edition. Morgan Kaufmann, 1996.
[10]
M. Kandemir, I. Kadayif, and U. Sezer. Exploiting Scratch-Pad Memory Using Presburger Formulas. In Proc. of the 14th International Symposium on System Synthesis (ISSS), pages 7--12, Montreal, P.Q., Canada, 2001.
[11]
T. Kong and K. D. Wilken. Precise register allocation for irregular architectures. In Proc. of the 31st annual ACM/IEEE International Symposium on Microarchitecture, Dallas, TX, USA, 1998.
[12]
MediabenchII. Benchmark Suite for Multimedia and Communication Systems. http://cares.icsl.ucla.edu/MediaBenchII/.
[13]
S. Muchnick. Advanced Compiler Design and Implementation. Morgan Kaufmann Publishers, San Francisco, California, 1. edition, 1997.
[14]
P. R. Panda, N. D. Dutt, and A. Nicolau. Memory Issues in Embedded Systems-On-Chip. Kluwer Academic Publishers, Norwell, MA, 1999.
[15]
S. Steinke, N. Grunwald, L. Wehmeyer, R. Banakar, M. Balakrishnan, and P. Marwedel. Reducing Energy Consumption by Dynamic Copying of Instructions onto Onchip Memory. In Proc. of the 15th International Symposium on System Synthesis (ISSS), Kyoto Japan, October 2002.
[16]
S. Steinke, M. Knauer, L. Wehmeyer, and P. Marwedel. An Accurate and Fine Grain Instruction-Level Energy Model Supporting Software Optimizations. In Proc. of International Workshop on Power And Timing Modeling, Optimization and Simulation PATMOS, Yverdon-Les-Bains, Switzerland, Sep. 2001.
[17]
S. Steinke, L. Wehmeyer, B. S. Lee, and P. Marwedel. Assigning program and data objects to scratchpad for energy reduction. In Proc. of Design Automation and Test in Europe (DATE), Paris France, March 2002.
[18]
H. Tomiyama and H. Yasuura. Optimal code placement of embedded software for instruction caches. In Proc. of the 9th European Design and Test Conference, Paris France, March 1996. ET&TC.
[19]
M. Verma, S. Steinke, and P. Marwedel. Data Partitioning for Maximal Scratchpad Usage. In Proc. of the Asia and South Pacific Design Automation Conference (ASPDAC), page 77, January 2003.
[20]
M. Verma, L. Wehmeyer, and P. Marwedel. Cache-aware Scratchpad Allocation Algorihm. In Proc. of Design, Automation and Test in Europe (DATE), February 2004.

Cited By

View all
  • (2023)Mapi-Pro: An Energy Efficient Memory Mapping Technique for Intermittent ComputingACM Transactions on Architecture and Code Optimization10.1145/362952420:4(1-25)Online publication date: 20-Oct-2023
  • (2023)COMPAD: A heterogeneous cache-scratchpad CPU architecture with data layout compaction for embedded loop-dominated applicationsJournal of Systems Architecture10.1016/j.sysarc.2023.103022145(103022)Online publication date: Dec-2023
  • (2020)Local Memory Mapping of Multicore Processors on an Automatic Parallelizing CompilerIEICE Transactions on Electronics10.1587/transele.2019LHP0010E103.C:3(98-109)Online publication date: 1-Mar-2020
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
CODES+ISSS '04: Proceedings of the 2nd IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis
September 2004
266 pages
ISBN:158113 9373
DOI:10.1145/1016720
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 08 September 2004

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. dynamic allocation
  2. overlay
  3. scratchpad

Qualifiers

  • Article

Conference

CODES/ISSS04

Acceptance Rates

Overall Acceptance Rate 280 of 864 submissions, 32%

Upcoming Conference

ESWEEK '24
Twentieth Embedded Systems Week
September 29 - October 4, 2024
Raleigh , NC , USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)11
  • Downloads (Last 6 weeks)0
Reflects downloads up to 03 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Mapi-Pro: An Energy Efficient Memory Mapping Technique for Intermittent ComputingACM Transactions on Architecture and Code Optimization10.1145/362952420:4(1-25)Online publication date: 20-Oct-2023
  • (2023)COMPAD: A heterogeneous cache-scratchpad CPU architecture with data layout compaction for embedded loop-dominated applicationsJournal of Systems Architecture10.1016/j.sysarc.2023.103022145(103022)Online publication date: Dec-2023
  • (2020)Local Memory Mapping of Multicore Processors on an Automatic Parallelizing CompilerIEICE Transactions on Electronics10.1587/transele.2019LHP0010E103.C:3(98-109)Online publication date: 1-Mar-2020
  • (2019)SA-SPM: an efficient compiler for security aware scratchpad memory (invited paper)Proceedings of the 20th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems10.1145/3316482.3326347(57-69)Online publication date: 23-Jun-2019
  • (2019)Scratchpad-Memory Management for Multi-Threaded Applications on Many-Core ArchitecturesACM Transactions on Embedded Computing Systems10.1145/330130818:1(1-28)Online publication date: 5-Feb-2019
  • (2017)Value Congruence, Trust, and Their Effects on Purchase Intention and Reservation PriceACM Transactions on Management Information Systems10.1145/31109398:4(1-28)Online publication date: 30-Aug-2017
  • (2017)Architectural Supports to Protect OS Kernels from Code-Injection Attacks and Their ApplicationsACM Transactions on Design Automation of Electronic Systems10.1145/311022323:1(1-25)Online publication date: 31-Aug-2017
  • (2017)Power and Performance Estimation for Fine-Grained Server Power Capping via Controlling Heterogeneous ApplicationsACM Transactions on Management Information Systems10.1145/30864498:4(1-19)Online publication date: 30-Aug-2017
  • (2017)Electric Vehicle Optimized Charge and Drive ManagementACM Transactions on Design Automation of Electronic Systems10.1145/308468623:1(1-25)Online publication date: 1-Aug-2017
  • (2017)WCET-Aware Function-Level Dynamic Code Management on Scratchpad MemoryACM Transactions on Embedded Computing Systems10.1145/306338316:4(1-26)Online publication date: 11-May-2017
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media