본문 바로가기
KERD
논문KCI 등재

Efficient Use of On-chip Memory through Profile-Driven Array Reorganization

0

조회

0

다운로드

0

인용

0

참고문헌

키워드

초록

In high performance embedded systems, the use of multiple on-chip memories is an essential architectural feature for exploiting inherent parallelism in multimedia applications. This feature allows multiple data accesses to be executed in parallel. However, it remains difficult to effectively exploit of multiple on-chip memories. The successful use of this architecture strongly depends on how to efficiently detect and exploit memory parallelism in target applications. In this paper, we propose a technique based on a linear array access descriptor [1], which is generated from profiled data, to detect and exploit memory parallelism. The proposed technique tackles an array reorganization problem to maximize memory parallelism in multimedia applications. We present preliminary experiments applying the proposed technique onto a representative coarse grained reconfigurable array processor (CGRA) with multimedia kernel codes. Our experimental results demonstrate that our technique optimizes data placement by putting independent data on separate storage. The results exhibit 9.8% higher performance on average compared to the existing method.

Abstract

In high performance embedded systems, the use of multiple on-chip memories is an essential architectural feature for exploiting inherent parallelism in multimedia applications. This feature allows multiple data accesses to be executed in parallel. However, it remains difficult to effectively exploit of multiple on-chip memories. The successful use of this architecture strongly depends on how to efficiently detect and exploit memory parallelism in target applications. In this paper, we propose a technique based on a linear array access descriptor [1], which is generated from profiled data, to detect and exploit memory parallelism. The proposed technique tackles an array reorganization problem to maximize memory parallelism in multimedia applications. We present preliminary experiments applying the proposed technique onto a representative coarse grained reconfigurable array processor (CGRA) with multimedia kernel codes. Our experimental results demonstrate that our technique optimizes data placement by putting independent data on separate storage. The results exhibit 9.8% higher performance on average compared to the existing method.

참고문헌 (23)

  1. Yunheung Paek, "Simplification of array access patterns for compiler optimizations", PLDI’98, pp.60~71 (1998)
  2. Jean-Francois Collard, "Optimizations to prevent cache penalties for the intel Itanium 2 processor", Proceedings of the CGO'03, pp.105~114 (2003)
  3. P. Grun, "Access pattern based local memory customization for low power embedded systems", Proceedings of the conference on DATE, pp.778~784
  4. M.Gupta, "Demonstration of automatic data partitioning techniques for parallelizing compilers on multicomputers", IEEE Trans.Parallel Distrib.Syst, 3(2), pp.179~193 (1992)
  5. Hartej Singh, "Morphosys:case study of a reconfigurable computing system targeting multimedia applications", Proceedings of DAC, pp.573~578 (2000)
  6. M. Wolfe, "More iteration space tiling", Proceedings of the ACM, 1989, 655~664
  7. Nainesh Agarwal, "Dspstone benchmark of codel’s automated clock gating platform", Proceedings of the IEEE VLSI, pp.508~509 (2007)
  8. M.R.Guthaus, "Mibench: A free, commercially representative embedded benchmark suite", Proceedings of the WWC-4 (2001)
  9. "ICD-C compiler framework,University of Dortmund"[URL]
  10. 김윤진, "Resource sharing and pipelining in coarse-grained reconfigurable architecture for domain-specific optimization", Design, Automation and Test in Europe, pp.12~17 (2005), IEEE Computer Society[DOI]
  11. A.Hatanaka, "A modulo scheduling algorithm for a coarse-grain reconfigurable array template", Proceedings of the IPDPS’07, pp.1~8 (2007)
  12. Hyunchul Park, "Modulo graph embedding: mapping applications onto coarse-grained reconfigurable architectures", Proceedings of CASES’06, pp.136~146 (2006)
  13. Kathryn McKinley, "Improving data locality with loop transformations", ACM Transactions on Programming Languages and Systems, 18, pp.424~453 (1996)
  14. B. Mei, "Adres: An architecture with tightly coupled vliw processor and coarse grained reconfigurable matrix", Proceeding of Field Programmable Logic, FPL’03, pp.61~70 (2003)
  15. Michael Joseph Wolfe, "High Performance Compilers for Parallel Computing" (1995), Addison-Wesley Longman Publishing Co
  16. Wei Li, "Compiling for numa parallel machines", 박사, pp.1993
  17. Michael E. Wolf, "A data locality optimizing algorithm", Proceedings of the ACM SIGPLAN 1991, pp.30~44 (1991)
  18. Michael E.Wolf, "Combining loop transformations considering caches and scheduling", MICRO29, pp.274~286 (1996)
  19. Daniel Edward Lenoski, "The design and analysis of DASH:a scalable directory-based multiprocessor", 박사, pp.1992
  20. Kai Li, "Shared virtual memory on loosely coupled multiprocessors", 박사, pp.1986
  21. S.Lumetta, "Decentralized optimal power pricing:The development of a parallel program", IEEE Parallel and Distributed Technology, pp.240~249 (1993)
  22. V. Balasundaram, "A technique for summarizing data access and its use in parallelism enhancing transformations", Proceedings of the ACM SIGPLAN 1989, pp.41~53 (1989)
  23. Chau wen Tseng, "Compiler optimizations for eliminating barrier synchronization", ACM SIGPLAN, pp.144~155 (1995)

관련 논문AI추천

이 간행물의 다른 논문 (6건)