Skip to main content

A Framework for Compiler Driven Design Space Exploration for Embedded System Customization

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3321))

Abstract

Designing custom solutions has been central to meeting a range of stringent and specialized needs of embedded computing, along such dimensions as physical size, power consumption, and performance that includes real-time behavior. For this trend to continue, we must find ways to overcome the twin hurdles of rising non-recurring engineering (NRE) costs and decreasing time-to-market windows by providing major improvements in designer productivity. This paper presents compiler directed design space exploration as a framework for articulating, formulating, and implementing global optimizations for embedded systems customization, where the design space is spanned by parametric representations of both candidate compiler optimizations and architecture parameters, and the navigation of the design space is driven by quantifiable, machine independent metrics. This paper describes the elements of such a framework and an example of its application.

This work was supported in part by DARPA PCA program under contract #F33615-03-C-4105 and DARPA DIS program under contract #F33165-99-1-1499.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Celoxica: http://www.celoxica.com/

  2. Impulse accelerated technologies: http://www.impulsec.com/

  3. LSI logic rapid chip platform ASIC: http://www.lsilogic.com/products/rapidchip_breakplatform_asic/

  4. Quicksilver technology: http://www.qstech.com/

  5. Stretch inc., http://www.stretchinc.com/

  6. Tensilica: http://www.tensilica.com/

  7. Baleani, M., Gennari, F., Jiang, Y., Patel, R.B.Y., Sangiovanni-Vincentelli, A.: HW/SW partitioning and code generation of embedded control applications on a reconfigurable architecture platform. In: Proceedings of the tenth international symposium on Hardware/software codesign, pp. 151–156 (2002)

    Google Scholar 

  8. Baron, M.: Stretching performance. In: Microprocessor Report, April 18 (2004)

    Google Scholar 

  9. Carr, S., McKinley, K.S., Tseng, C.-W.: Compiler optimizations for improving data locality. In: Proceedings of the sixth international conference on Architectural support for programming languages and operating systems (1994)

    Google Scholar 

  10. Chilimbi, T.M., Davidson, B., Larus, J.R.: Cache-conscious structure definition. In: Proceedings of the ACM SIGPLAN 1999 Conference on Programming Language Design and Implementation (1999)

    Google Scholar 

  11. Goering, R.: C design goes soft: EETimes (April 2001), http://www.eetimes.com/story/oeg20010423s003

  12. Hardnett, C.R., Jayaraj, A., Kumar, T., Palem, K.V., Yalamanchili, S.: Compiling stream kernels for polymorphous computing architectures. In: The Twelfth International Conference on Parallel Architectures and Compilation Techniques (2003)

    Google Scholar 

  13. Jones, H.: How to slow the design cost spiral (September 2002), Electronic design Chaing: http://www.designchain.com

  14. Liao, J., Wong, W., Tulika, M.: A model for hardware realization of kernel loops. In: Y. K. Cheung, P., Constantinides, G.A. (eds.) FPL 2003. LNCS, vol. 2778. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  15. Mei, B., Vernalde, S., Verkest, D., Man, H.D., Lauwereins, R.: Exploiting loop-level parallelism on coarse-grained reconfigurable architectures using modulo scheduling. In: Design, Automation and Test in Europe Conference and Exhibition (2003)

    Google Scholar 

  16. Mei, W., Hwu, W., Hank, R.E., Gallagher, D.M., Mahlke, S.A., Lavery, D.M., Haab, G.E., Gyllenhaal, J.C., August, D.I.: Compiler technology for future microprocessors. Proceedings of the IEEE 83(12) (December 1995)

    Google Scholar 

  17. Palem, K., Talla, S., Wong, W.: Compiler optimizations for adaptive epic processors. In: Henzinger, T.A., Kirsch, C.M. (eds.) EMSOFT 2001. LNCS, vol. 2211, p. 257. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  18. Palem, K.V.: C-based architecture assembly supports custom design: EETimes (February 2002), http://www.eet.com/in_focus/embedded_systems/oeg20020208s0058

  19. Palem, K.V., Fussell, D.S., Welch, A.J.: High level optimization in a silicon compiler. Department of Computer Sciences, Technical Report No 215, University of Texas, Austin, Texas (November 1982)

    Google Scholar 

  20. Palem, K.V., Rabbah, R.M.: Data remapping for design space optimization of embedded cache systems. Georgia Institute of Technology, College of Computing Technical Report, GIT-CC-02-10 (2002)

    Google Scholar 

  21. Palem, K.V., Rabbah, R.M., III, V.M., Korkmaz, P., Puttaswamy, K.: Design space optimization of embedded memory systems via data remapping. In: Proceedings of the Languages, Compilers, and Tools for Embedded Systems and Software and Compilers for Embedded Systems (LCTES-SCOPES) (June 2002)

    Google Scholar 

  22. Palem, K.V., Talla, S., Devaney, P.W.: Adaptive explicitly parallel instruction computing. In: Proceedings of the 4th Australasian Computer Architecture Conference (January 1999)

    Google Scholar 

  23. Rabbah, R.M., Palem, K.V.: Data remapping for design space optimization of embedded memory systems. ACM Transactions on Embedded Computing Systems (TECS) 2(2) (2003)

    Google Scholar 

  24. Rau, B.R., Schlansker, M.: Embedded computing: New directions in architecture and automation. HP Labs technical report: HPL-2000-115 (2000)

    Google Scholar 

  25. Sankaralingam, K., Nagarajan, R., Liu, H., Huh, J., Kim, C., Burger, D., Keckler, S., Moore, C.: Exploiting ilp, tlp, and dlp using polymorphism in the trips architecture. In: 30th Annual International Symposium on Computer Architecture, ISCA (2003)

    Google Scholar 

  26. Scholz, S.-B.: Single assignment c – efficient support for high-level array operations in a functional setting. Journal of Functional Programming 13(6) (2003)

    Google Scholar 

  27. Schreiber, R., Aditya, S., Mahlke, S., Kathail, V., Rau, B.R., Cronquist, D., Sivaraman, M.: Pico-npa: High-level synthesis of nonprogrammable hardware accelerators. HP Labs technical report: HPL-2001-249 (2001)

    Google Scholar 

  28. Schreiber, R., Aditya, S., Rau, B.R., Kathail, V., Mahlke, S., Abraham, S., Snider, G.: High-level synthesis of nonprogrammable hardware accelerators. HP Labs technical report: HPL-2000-31 (2000)

    Google Scholar 

  29. Seng, S.P., Palem, K.V., Rabbah, R.M., Wong, W.-F., Luk, W., Cheung, P.: Pd-xml: Extensible markup language for processor description. In: Proceedings of the IEEE International Conference on Field-Programmable Technology (ICFPT) (December 2002)

    Google Scholar 

  30. So, B., Hall, M.W., Diniz, P.C.: A compiler approach to fast hardware design space exploration in fpga based systems. In: ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI (2002)

    Google Scholar 

  31. Talla, S.: Adaptive Explicitly Parallel Instruction Computing. PhD thesis, New York University, Department of Computer Science (2000)

    Google Scholar 

  32. VanderWiel, S., Lilja, D.J.: Data prefetch mechanisms. ACM Computing Surveys (CSUR) 32(2) (June 2000)

    Google Scholar 

  33. Waingold, E., Taylor, M., Srikrishna, D., Sarkar, V., Lee, W., Lee, V., Kim, J., Frank, M., Finch, P., Barua, R., Babb, J., Amarasinghe, S., Agarwal, A.: Baring it all to software: Raw machines. IEEE Computer (September 1997)

    Google Scholar 

  34. Wolf, M.E., Lam, M.S.: A loop transformation theory and an algorithm to maximize parallelism. Proceedings of the IEEE Transactions on Parallel and Distributed Systems 2(4) (October 1991)

    Google Scholar 

  35. Zahiri, B.: Structured asics: Opportunities and challenges. In: 21st International Conference on Computer Design (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Palem, K.V., Chakrapani, L.N., Yalamanchili, S. (2004). A Framework for Compiler Driven Design Space Exploration for Embedded System Customization. In: Maher, M.J. (eds) Advances in Computer Science - ASIAN 2004. Higher-Level Decision Making. ASIAN 2004. Lecture Notes in Computer Science, vol 3321. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30502-6_29

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-30502-6_29

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-24087-7

  • Online ISBN: 978-3-540-30502-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics