skip to main content
article

DRDU: A data reuse analysis technique for efficient scratch-pad memory management

Published: 01 April 2007 Publication History

Abstract

In multimedia and other streaming applications, a significant portion of energy is spent on data transfers. Exploiting data reuse opportunities in the application, we can reduce this energy by making copies of frequently used data in a small local memory and replacing speed- and power-inefficient transfers from main off-chip memory by more efficient local data transfers. In this article we present an automated approach for analyzing these opportunities in a program that allows modification of the program to use custom scratch-pad memory configurations comprising a hierarchical set of buffers for local storage of frequently reused data. Using our approach we are able to both reduce energy consumption of the memory subsystem when using a scratch-pad memory by about a factor of two, on average, and improve memory system performance compared to a cache of the same size.

References

[1]
Avissar, O., Barua, R., and Stewart, D. 2002. An optimal memory allocation scheme for scratch-pad based embedded systems. IEEE Trans. Embedded Comput. Syst. 1, 1, 6--26.
[2]
Bacon, D. F., Graham, S. L., and Sharp, O. J. 1994. Compiler transformations for high-performance computing. ACM Computing Surv. 26, 4.
[3]
Banakar, R., Steinke, S., Lee, B. S., Balakrishnan, M., and Marwedel, P. 2002. Scratchpad memory: Design alternative for cache on-chip memory in embedded systems. In Proceedings of the 10th International Workshop on Hardware/Software Codesign (CODES).
[4]
Brockmeyer, E., Miranda, M., Catthoor, F., and Corporaal, H. 2003. Layer assignment techniques for low energy in multi-layered memory organisations. In Proceedings of the Design, Automation, and Test in Europe Conference (DATE), Germany.
[5]
Burger, D. and Austin, T. M. 1997. The SimpleScalar tool set, version 2.0. Tech. Rep. 1342, Department of Computer Science, University of Wisconsin-Madison, WI
[6]
Cooper, K., and Harvey, T. 1998. Compiler-Controlled memory. In Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems (San Jose, CA). 2--11.
[7]
Diguet, J., Wuytack, S., Catthoor, F., and De Man, H. 1997. Formalized methodology for data reuse exploration in hierarchical memory mappings. In Proceedings of the IEEE International Symposium on Low Power Design (Monterey, CA). 30--35.
[8]
Falk, H. and Marwedel, P. 2003. Control flow driven splitting of loop nests at the source code level. In Proceedings of the Design, Automation, and Test in Europe Conference (DATE) (Munich, Germany).
[9]
Fischer, M. J. and Rabin, M. O. 1974. Super-Exponential complexity of Presburger arithmetic. In Proceedings of the American Mathematical Society Symposium on the Complexity of Computational Processes. 27--41.
[10]
Ghez, C., Miranda, M., Vandecappelle, A., Catthoor, F., and Verkest, D. 2000. Systematic high-level address code transformations for piece-wise linear indexing: Illustration on a medical imaging algorithm. In Workshop on Signal Processing Systems (Lafayette, LA).
[11]
Guthaus, M. R., Ringenberg, J. S., Ernst, D., Austin, T. M., Mudge, I., and Brown, R. B. 2001. MiBench: A free, commercially representative embedded benchmark suite. In 4th Annual Workshop on Workload Characterization.
[12]
Issenin, I., Brockmeyer, E., Miranda, M., and Dutt, N. 2004. Data reuse analysis technique for software-controlled memory hierarchies. In Proceedings of the Design, Automation and Test in Europe Conference.
[13]
Issenin, I. and Dutt, N. 2005. FORAY-GEN: Automatic generation of affine functions for memory optimizations. In Proceedings of the Design, Automation, and Test in Europe Conference (DATE) (Munich, Germany).
[14]
Kandemir, M. and Choudhary, A. 2002. Compiler-Directed scratch pad memory hierarchy design and management. In Proceedings of the 39th Design Automation Conference (New Orleans, LA).
[15]
Kandemir, M., Ramanujam, J., Irwin, M. J., Vijaykrishnan, N., Kadayif, I., and Parikh, A. 2001. Dynamic management of scratch-pad memory space. In Proceedings of the 38th Design Automation Conference (Las Vegas, NV).
[16]
Kelly, W., Maslov, V., Pugh, W., Rosser, E., Shipeisman, T., and Wonnacott, D. 1995. The Omega library interface guide. Tech. Rep. CS-TR-3445, Department of Computer Science, University of Maryland, College Park, MD.
[17]
Kulkarni, C., Miranda, M., Ghez, C., Catthoor, F., and De Man, H. 2001. Cache conscious data layout organization for embedded multimedia applications. In Proceedings of the Design, Automation and Test in Europe Conference (DATE) (Germany).
[18]
Lillevold, K. et al. 1995. Telenor R&D, H.263 test model simulation software.
[19]
McKinley, K., Carr, S., and Tseng, C.-W. 1996. Improving data locality with loop transformations. In ACM Trans. Program. Lang. Syst. 18, 4.
[20]
Ozturk, O., Kandemir, M., Demikiran, I., Chen, G., and Irwin, M. J. 2004. Data compression for improving SPM behavior. In Proceedings of the Design Automation Conference (San Diego, CA).
[21]
Panda, P., Dutt, N., and Nicolau, A. 1997. Efficient utilization of scratch-pad memory in embedded processor applications. In Proceedings of the Design, Automation and Test in Europe Conference (DATE) (Paris).
[22]
Shivakumar, P. and Jouppi, N. 2001. CACTI 3.0: An integrated cache timing, power, and area model. WRL Tech. Rep. 2001/2.
[23]
Sjödin, J. and Von Platen, C. 2001. Storage allocation for embedded processors. In Proceedings of the International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (Atlanta, GA). 15--23.
[24]
Steinke, S., Wehmeyer, L., Lee, B., and Marwedel, P. 2002. Assigning program and data objects to scratchpad for energy reduction. In Proceedings of the Design, Automation and Test in Europe Conference (DATE) (Paris).
[25]
Stobach, P. 1988. A new technique in scene adaptive coding. In Proceedings of EUSIPCO (Grenoble, France).
[26]
Udayakumaran, S. and Barua, R. 2003. Compiler-Decided dynamic memory allocation for scratch-pad based embedded systems. In Proceedings of the International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES) (San Jose, CA).
[27]
Van Achteren, T., Catthoor, F., Lauwereins, R., and Deconinck, G. 2003. Search space definition and exploration for nonuniform data reuse opportunities in data-dominant applications. ACM Trans. Desi. Autom. Electron. Syst. 8, 1.
[28]
Van Achteren, T., Catthoor, F., Lauwereins, R., and Deconinck, G. 2002. Data reuse exploration techniques for loop-dominated applications. In IEEE/ACM Design Automation and Test Conference (Paris).
[29]
Verma, M., Steinke, S., and Marwedel, P. 2003. Data partitioning for maximal scratchpad usage. In Proceedings of the Asia South Pacific Design Automation Conference (ASPDAC) (KitaKyushu, Japan).
[30]
Verma, M., Wehmeyer, L., and Marwedel, P. 2004. Dynamic overlay of scratchpad memory for energy minimization. In Proceedings of the International Workshop on Hardware/Software Codesign (CODES) (Stockholm, Sweden).
[31]
Wilde, D. 1993. A library for doing polyhedral operations. Tech. Rep. 785, IRISA Rennes, France.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Design Automation of Electronic Systems
ACM Transactions on Design Automation of Electronic Systems  Volume 12, Issue 2
April 2007
222 pages
ISSN:1084-4309
EISSN:1557-7309
DOI:10.1145/1230800
Issue’s Table of Contents
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]

Publisher

Association for Computing Machinery

New York, NY, United States

Journal Family

Publication History

Published: 01 April 2007
Published in TODAES Volume 12, Issue 2

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Scratch-pad memory management
  2. compiler analysis
  3. data reuse analysis
  4. memory hierarchy

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)8
  • Downloads (Last 6 weeks)1
Reflects downloads up to 03 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

Full Access

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