skip to main content
10.1145/1086228.1086271acmconferencesArticle/Chapter ViewAbstractPublication PagesesweekConference Proceedingsconference-collections
Article

Optimizing inter-processor data locality on embedded chip multiprocessors

Authors Info & Claims
Published:18 September 2005Publication History

ABSTRACT

Recent research in embedded computing indicates that packing multiple processor cores on the same die is an effective way of utilizing the ever-increasing number of transistors. The advantage of placing multiple cores into a single die is that it reduces on-chip communication costs (in terms of both execution cycles and power consumption) between the processor cores that are traditionally very high in conventional high-performance parallel architectures (such as SMPs). However, on the negative side, this tighter integration exerts an even higher pressure on off-chip accesses to the memory system. This makes minimizing the number of off-chip accesses a critical optimization goal.This paper discusses a compiler-based solution to this problem for the embedded applications that perform stencil computations. An important characteristic of this solution is that it distinguishes between the intra-processor data reuse and inter-processor data reuse. The first of these captures the data reuse that occurs across loop iterations assigned to the same processor, whereas the second one represents the data reuse that takes place across the loop iterations assigned to different processors. The proposed approach then optimizes inter-processor reuse by re-organizing the loop iterations of each processor carefully, considering how data elements are shared across processors. The goal is to ensure that the different processors access the shared data within a short period of time, so that the data can be captured in the on-chip memory space at the time of the reuse. This paper also presents an evaluation of the proposed optimization and compares it to an alternate scheme that optimizes data locality for each processor in isolation. The results obtained by applying our implementation to eight loop-intensive benchmark codes from the embedded computing domain show that our approach improves over the mentioned alternate scheme by 15.6% on average.

References

  1. R. Allen and K. Kennedy. Automatic translation of FORTRAN programs to vector form. ACM Transactions on Programming Languages and Systems. 9(4):491--542, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. U. Banerjee. A theory of loop permutations. In Proc. 2nd Workshop on Languages and Compilers for Parallel Computing. August 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. E. H. Bareiss. Sylvester's Identity and Multistep Integer-Preserving Gaussian Elimination. Mathematics of Computation, 22(103):565--578, July 1968.Google ScholarGoogle Scholar
  4. R. Bordawekar, A. Choudhary, and J. Ramanujam. Automatic optimization of communication in compiling out-of-core stencil codes. In Proc. ACM International Conference on Supercomputing, May 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. R. G. Brickner, W. George, S. L. Johnsson, and A. Ruttenberg. A stencil compiler for the connection machine models CM-2/200. Technical Report TR-22-93, Center for Research in Computing Technology, Harvard University, December 1993.Google ScholarGoogle Scholar
  6. R. G. Brickner, K. Holian, B. Thiagarajan, and S. L. Johnsson. A stencil compiler for the Connection Machine model CM-5. Technical Report CRPC-TR94457, Center for Research on Parallel Computation, Rice University, June 1994.Google ScholarGoogle ScholarCross RefCross Ref
  7. M. Bromley, S. Heller, T. McNerney, and G. L. Steele Jr. Fortran at ten gigaflops: the connection machine convolution compiler. In Proc. ACM Conference on Programming Language Design and Implementation, June 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. S. Cabay. Exact solution of linear equations. In Proc. ACM Symposium on Symbolic and Algebraic Manipulation, pp. 392--398, 1971. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. D. Culler, J. P. Singh, and A. Gupta. Parallel Computer Architecture: A Hardware/Software Approach. Morgan Kaufmann, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. K. Davis and F. Bassetti. Exploiting temporal locality in stencil based applications. In Proc. International Conference on Information Systems Analysis and Synthesis, 1999.Google ScholarGoogle Scholar
  11. M. Gomaa, C. Scarbrough, T. N. Vijaykumar, and I. Pomeranz. Transient-fault recovery for chip multiprocessors. In Proc. International Symposium on Computer Architecture, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. L. Hammond, B. A. Nayfeh, and K. Olukotun. A single-chip multiprocessor. IEEE Computer Special Issue on "Billion-Transistor Processors", September 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. F. F. Lee. Partitioning of regular computation on multiprocessor systems. Journal of Parallel and Distributed Computing, 9:312--317, July 1990.Google ScholarGoogle ScholarCross RefCross Ref
  14. S.-T. Leung and J. Zahorjan. Optimizing data locality by array restructuring. Technical Report 95-09-01, University of Washington, September 1995.Google ScholarGoogle Scholar
  15. W. Li and K. Pingali. A singular loop transformation framework based on non-singular matrices. In Proc. 5th Workshop on Languages and Compilers for Parallel Computing, Yale University, August 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. B. A. Nayfeh and K. Olukotun. Exploring the design space for a shared-cache multiprocessor. In Proc. International Symposium on Computer Architecture, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. S. Richardson. MPOC: A chip multiprocessor for embedded systems. Technical Report HPL-2002-186, HP Labs, 2002.Google ScholarGoogle Scholar
  18. G. Roth, J. Mellor-Crummey, K. Kennedy, and R. G. Brickner. Compiling stencils in high performance Fortran. In Proc. ACM/IEEE conference on Supercomputing, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. SIMICS Toolset. http://www.virtutech.com.Google ScholarGoogle Scholar
  20. SUIF Compiler Infrastructure. http://suif.stanford.edu/Google ScholarGoogle Scholar
  21. W. Wolf. The future of multiprocessor systems-on-chips. In Proc. ACM Design Automation Conference, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. M. E. Wolf and M. S. Lam. A data locality optimizing algorithm. In Proc. ACM Conference on Programming Language Design and Implementation, pp. 30--44, June 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. M. E. Wolf and M. S. Lam. A loop transformation theory and an algorithm to maximize parallelism. IEEE Transactions on Parallel and Distributed Systems, 2(4):452--471, July, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. M. J. Wolfe. Optimizing Supercompilers for Supercomputers. Cambridge, MIT Press, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Optimizing inter-processor data locality on embedded chip multiprocessors

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      EMSOFT '05: Proceedings of the 5th ACM international conference on Embedded software
      September 2005
      390 pages
      ISBN:1595930914
      DOI:10.1145/1086228
      • Conference Chair:
      • Wayne Wolf

      Copyright © 2005 ACM

      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

      Publication History

      • Published: 18 September 2005

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • Article

      Acceptance Rates

      Overall Acceptance Rate60of203submissions,30%

      Upcoming Conference

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

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader