skip to main content
10.1145/780732.780734acmconferencesArticle/Chapter ViewAbstractPublication PagescpsweekConference Proceedingsconference-collections
Article

Predicting the impact of optimizations for embedded systems

Published:11 June 2003Publication History

ABSTRACT

When applying optimizations, a number of decisions are made using fixed strategies, such as always applying an optimization if it is applicable, applying optimizations in a fixed order and assuming a fixed configuration for optimizations such as tile size and loop unrolling factor. While it is widely recognized that these fixed strategies may not be the most appropriate for producing high quality code, especially for embedded systems, there are no general and automatic strategies that do otherwise. In this paper, we present a framework that enables these decisions to be made based on predicting the impact of an optimization, taking into account resources and code context. The framework consists of optimization models, code models and resource models, which are integrated for predicting the impact of applying optimizations. Because data cache performance is important to embedded codes, we focus on cache performance and present an instance of the framework for cache performance in this paper. Since most opportunities for cache improvement come from loop optimizations, we describe code, optimization and cache models tailored to predict the impact of applying loop optimizations for data locality. Experimentally we demonstrate the need to selectively apply optimizations and show the performance benefit of our framework in predicting when to apply an optimization. We also show that our framework can be used to choose the most beneficial optimization when a number of optimizations can be applied to a loop nest. And lastly, we show that we can use the framework to combine optimizations on a loop nest.

References

  1. Ampro's EnCore Family of Processor-Independent Modules for Embedded Systems, 2000, http://www.ampro.com/assets/applets/EnCore_Backgrounder.PDFGoogle ScholarGoogle Scholar
  2. D.C. Burger and T. M. Austin. The SimpleScalar Tool Set, Version 2.0. UW Computer Sciences Technical Report 1342, June, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. M. Berry, D. Chen, P. Koss, D. Kuck and et al. PERFECT Club Benchmarks: Effective Performance Evaluation of Supercomputers. The International Journal of Supercomputer Applications,1988.Google ScholarGoogle Scholar
  4. D. Bacon, S. Graham, and O. Sharp. Compiler Transformations for High-Performance Computing. ACM Computing Surveys, 26(4): 345--420, December 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Click, C. and Cooper, K. D. Combining Analyses, Combining Optimizations. ACM Transactions on Programming Languages and Systems (TOPLAS) March 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. B. Chandramouli, J. Carter, W. Hsieh, and S. McKee. A Cost Framework for Evaluating Integrated Restructuring Optimizations. International Conference on Parallel Architectures and Compilation Techniques, Barcelona, Spain, September 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. K. Cooper, D. Subramanian, and L. Torczon. Adaptive Optimizing Compilers for the 21st Century. Proceedings of the 2001 LACSI Symposium, Santa Fe, NM, USA, October, 2001.Google ScholarGoogle Scholar
  8. S. Ghosh, M. Martonosi, and S. Malik. Cache Miss Equations: A Compiler Framework for Analyzing and Tuning Behavior. ACM Transactions on Programming Languages and Systems, 21(4): 703--746, July 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. J. S. Hu, M. Kandemir, N. Vijaykrishnan, M. J. Irwin, H. Saputra, and W. Zhang. Compiler-Directed Cache Polymorphism. In Proc. of LCTES/SCOPES, June 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. M. Kandemir, J. Ramanujam, and A. Choudhary. Improving Cache Locality by a Combination of Loop and Data Transformations. IEEE Transactions on Computers, Vol. 48, No. 2, February 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. C. Lee, M. Potkonjak, and W.H. Mangione-Smith, "MediaBench: A tool for evaluating and synthesizing multimedia and communications systems", 30th Int'l. Symposium on Microarchitecture (MICRO-30), December 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. K. Mckinley, S. Carr, and C. Tseng. Improving Data Locality with Loop Transformations. ACM Transactions on Programming Languages and Systems, 18(4): 424--453, July 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. K. McKinley and O. Temam. A Quantitative Analysis of Loop Nest Locality. Proc. of the Seventh International Symposium on Architectural Support for Programming Languages and Operating Systems, October 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. G. Rivera and C. Tseng. Data Transformations for Eliminating Conflict Misses. In Proc. of SIGPLAN'98 Conference on Programming Language Design and Implementation, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. V. Sarkar, Automatic Selection of high-order transformations in the IBM XL FORTRAN compilers, IBM Journal of Research and Development, May 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. V. Sarkar and R. Thekkath, A General Framework for Iteration-Reordering Loop Transformations. SIGPLAN Conf. on Programming Lang. Design and Implementation, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Jim Turley, Embedded Processors by the Numbers, http://www.embedded.com/1999/9905/9905turley.htmGoogle ScholarGoogle Scholar
  18. O. Temam, C. Fricker and W. Jalby. Cache Interference Phenomena. In Proc. of SIGMETRICS Conference on Measurement and Modeling Computer Systems, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. S. Triantafyllis, M. Vachharajani, N. Vachharajani, and D.I. August. Compiler Optimization-space Exploration. 1st International Symposium on Code Generation and Optimization, March 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. N. Vijaykrishnan, M. Kandemir, M. J. Irwin, H. Kim and W. Ye. A unified energy estimation framework with integrated hardware-software optimizations. In Proc. of the 27th International Symposium on Computer Architecture, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. M. Wolf and M. Lam, A Data Locality Optimizing Algorithm, In Proc. of SIGPLAN'91 Conference on Programming Language Design and Implementation, Toronto, Canada, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. D. Weikle, S. Mckee, K. Skadron, and W. Wulf. Caches As Filters: A New Approach To Cache Analysis. 6th Intl. Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS'98), July 1998, Montreal Canada. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. D. Whitfield and M. L. Soffa. An Approach for Exploring Code Improving Transformations. ACM Transactions on Programming Languages, 19(6):1053--1084, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. W. Zhao, B. Cai, D. Whalley et al., VISTA: A System for Interactive Code Improvement, ACM Conf. On Languages, Compilers, and Tools for Embedded Systems, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. V. Zivojnovic, J. Martinez, C. Schlager, and H. Meyr, DSPstone: A DSP-Oriented Benchmarking methodology, Proc. of International Conference on Signal Processing Applications and Technology, Dallas, Texas, Oct 1994.Google ScholarGoogle Scholar

Index Terms

  1. Predicting the impact of optimizations for embedded systems

    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
      LCTES '03: Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems
      June 2003
      304 pages
      ISBN:1581136471
      DOI:10.1145/780732
      • cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 38, Issue 7
        Special Issue: Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool support for embedded systems (San Diego, CA).
        July 2003
        293 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/780731
        Issue’s Table of Contents

      Copyright © 2003 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: 11 June 2003

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • Article

      Acceptance Rates

      LCTES '03 Paper Acceptance Rate29of128submissions,23%Overall Acceptance Rate116of438submissions,26%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader