Abstract
Embedded multimedia applications consist of regular and irregular memory access patterns. Particularly, irregular pattern are not amenable to static analysis for extraction of access patterns, and thus prevent efficient use of a Scratch Pad Memory (SPM) hierarchy for performance and energy improvements. To resolve this, we present a compiler strategy to optimize data layout in regular/irregular multimedia applications running on embedded multiprocessor environments. The goal is to maximize the amount of accesses to the SPM over the entire system which leads to a reduction in the energy consumption of the system. This is achieved by optimizing data placement of application-wide reused data so that it resides in the SPMs of processing elements. Specifically, our scheme is based on a profiling that generates a memory access footprint. The memory access footprint is used to identify data elements with fine granularity that can profitably be placed in the SPMs to maximize performance and energy gains. We present a heuristic approach that efficiently exploits the SPMs using memory access footprint. Our experimental results show that our approach is able to reduce energy consumption by 30% and improve performance by 18% over cache based memory subsystems for various multimedia applications.
- R. Banakar, S. Steinke, B. Lee, M. Balakrishnan, and P. Marwedel, "Scratchpad memory: A design alternative for cache on-chip memory in embedded systems," in Proc. of the 10th International Workshop on Hardware/Software Codesign, May 2002. Google Scholar
Digital Library
- M. T. Kandemir, J. Ramanujam, M. J. Irwin, N. Vijaykrishnan, I. Kadayif, and A. Parikh, "Dynamic management of scratch-pad memory space," in Design Automation Conference, 2001, pp. 690--695. Google Scholar
Digital Library
- M. Verma, L. Wehmeyer, and P. Marwedel, "Dynamic overlay of scratchpad memory for energy minimization," in Proc. of the 2nd ACM international conference on Hardware/software codesign and system synthesis, 2004, pp. 104--109. Google Scholar
Digital Library
- D. F. Bacon, S. L. Graham, and O. J. Sharp, "Compiler transformations for high-performance computing," ACM Comput. Surv., vol. 26, no. 4, pp. 345--420, 1994. Google Scholar
Digital Library
- K. S. McKinley, S. Carr, and C.-W. Tseng, "Improving data locality with loop transformations," ACM Trans. on Programming Languages and Systems, vol. 18, no. 4, pp. 424--453, July 1996. Google Scholar
Digital Library
- O. Avissar, R. Barua, and D. Stewart, "An optimal memory allocation scheme for scratch-pad-based embedded systems," ACM Trans. on Embedded Computing Sys., vol. 1, no. 1, pp. 6--26, 2002. Google Scholar
Digital Library
- P. R. Panda, N. D. Dutt, and A. Nicolau, "Efficient utilization of scratch-pad memory in embedded processor applications," in Proc. of the European conference on Design and Test, 1997, p. 7. Google Scholar
Digital Library
- J. Sjödin and C. von Platen, "Storage allocation for embedded processors," in Proc. of the international conference on Compilers, architecture, and synthesis for embedded systems, 2001, pp. 15--23. Google Scholar
Digital Library
- S. Steinke, L. Wehmeyer, B. Lee, and P. Marwedel, "Assigning program and data objects to scratchpad for energy reduction," in Proc. of the conference on Design, automation and test in Europe, 2002, p. 409. Google Scholar
Digital Library
- M. Verma, S. Steinke, and P. Marwedel, "Data partitioning for maximal scratchpad usage," in Proc. of Asia South Pacific Design Automated Conference, 2003. Google Scholar
Digital Library
- K. D. Cooper and T. J. Harvey, "Compiler-controlled memory," in Architectural Support for Programming Languages and Operating Systems, 1998, pp. 2--11. Google Scholar
Digital Library
- I. Issenin, E. Brockmeyer, M. Miranda, and N. Dutt, "Drdu: A data reuse analysis technique for efficient scratch-pad memory management," ACM Trans. Des. Autom. Electron. Syst., vol. 12, no. 2, p. 15, 2007. Google Scholar
Digital Library
- A. Dominguez, S. Udayakumaran, and R. Barua, "Heap data allocation to scratch-pad memory in embedded systems," J. Embedded Comput., vol. 1, no. 4, pp. 521--540, 2005. Google Scholar
Digital Library
- S. Udayakumaran and R. Barua, "Compiler-decided dynamic memory allocation for scratch-pad based embedded systems," in Proc. of the international conference on Compilers, architecture and synthesis for embedded systems, 2003, pp. 276--286. Google Scholar
Digital Library
- S. Meftali, F. Gharsalli, F. Rousseau, and A. A. Jerraya, "An optimal memory allocation for application-specific multiprocessor system-on-chip," in Proc. of the 14th international symposium on Systems synthesis, 2001, pp. 19--24. Google Scholar
Digital Library
- M. Kandemir and N. Dutt, Memory Systems and Compiler Support for MPSoC Architectures. Morgan Kaufmann, 2005.Google Scholar
Cross Ref
- I. Issenin, E. Brockmeyer, B. Durinck, and N. Dutt, "Multiprocessor system-on-chip data reuse analysis for exploring customized memory hierarchies," in Proc. of the 43rd annual conference on Design automation, 2006, pp. 49--52. Google Scholar
Digital Library
- L. Li, L. Gao, and J. Xue, "Memory coloring: A compiler approach for scratchpad memory management," in Proc. of the 14th International Conference on Parallel Architectures and Compilation Techniques, 2005, pp. 329--338. Google Scholar
Digital Library
- M. J. Absar and F. Catthoor, "Compiler-based approach for exploiting scratch-pad in presence of irregular array access," in Proc. of the conference on Design, Automation and Test in Europe, 2005, pp. 1162--1167. Google Scholar
Digital Library
- G. Chen, O. Ozturk, M. Kandemir, and M. Karakoy, "Dynamic scratch-pad memory management for irregular array access patterns," in Proc. of the conference on Design, automation and test in Europe. European Design and Automation Association, 2006, pp. 931--936. Google Scholar
Digital Library
- "Arm advanced micro bus architecture (amba)," ARM. {Online}. Available: http://www.arm.com/products/solutions/AMBAHomePage.htmlGoogle Scholar
- "Sonics, integration architectures." {Online}. Available: http://www.sonicsinc.comGoogle Scholar
- M. Gschwind, H. P. Hofstee, B. K. Flachs, M. Hopkins, Y. Watanabe, and T. Yamazaki, "Synergistic processing in cell's multicore architecture." IEEE Micro, vol. 26, no. 2, pp. 10--24, 2006. Google Scholar
Digital Library
- W. J. S. H. Yongjoo Kim, Seongnam Kwon and Y. Paek, "An openmp translator with retargetable parallel programming model for mpsoc," in Proc. of Intl. Conf. on Ubiquitous Information Technologies and Applications, 2007.Google Scholar
- Y. Wu, "Efficient discovery of regular stride patterns in irregular programs and its use in compiler prefetching," SIGPLAN Not., vol. 37, no. 5, pp. 210--221, 2002. Google Scholar
Digital Library
- A. Felner and S. Kraus, "Kbfs: K-best-first search," in Annuals of Mathematics and Artificial Intelligence, 2003, pp. 19--39. Google Scholar
Digital Library
- C. Lee, M. Potkonjak, and W. H. Mangione-Smith, "Mediabench: A tool for evaluating and synthesizing multimedia and communicatons systems," in International Symposium on Microarchitecture, 1997, pp. 330--335. Google Scholar
Digital Library
- D. C. Burger and T. M. Austin, "The simplescalar tool set, version 2.0," Tech. Rep. CS-TR-1997-1342, 1997.Google Scholar
Digital Library
- P. Shivakumar and N. P. Jouppi, "Cacti 3.0: An integrated cache timing, power, and area model."Google Scholar
- "128 mbit micron mobile sdram data sheet." Micron Technology Incorporated. {Online}. Available: http://www.micron.comGoogle Scholar
- L. Benini, A. Macii, E. Macii, and M. Poncino, "Increasing energy efficiency of embedded systems by application-specific memory hierarchy generation," IEEE Des. Test, vol. 17, no. 2, pp. 74--85, 2000. Google Scholar
Digital Library
Index Terms
Compiler driven data layout optimization for regular/irregular array access patterns
Recommendations
Compiler driven data layout optimization for regular/irregular array access patterns
LCTES '08: Proceedings of the 2008 ACM SIGPLAN-SIGBED conference on Languages, compilers, and tools for embedded systemsEmbedded multimedia applications consist of regular and irregular memory access patterns. Particularly, irregular pattern are not amenable to static analysis for extraction of access patterns, and thus prevent efficient use of a Scratch Pad Memory (SPM) ...
Access Pattern Restructuring for Memory Energy
Abstract--Improving memory energy consumption of programs that manipulate arrays is an important problem as these codes spend large amounts of energy in accessing off-chip memory. In this paper, we propose a data-driven strategy to optimize the memory ...
Software controlled memory layout reorganization for irregular array access patterns
CASES '07: Proceedings of the 2007 international conference on Compilers, architecture, and synthesis for embedded systemsMany embedded array-intensive applications have irregular access patterns that are not amenable to static analysis for extraction of access patterns, and thus prevent efficient use of a Scratch Pad Memory (SPM) hierarchy for performance and power ...









Comments