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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Celoxica: http://www.celoxica.com/
Impulse accelerated technologies: http://www.impulsec.com/
LSI logic rapid chip platform ASIC: http://www.lsilogic.com/products/rapidchip_breakplatform_asic/
Quicksilver technology: http://www.qstech.com/
Stretch inc., http://www.stretchinc.com/
Tensilica: http://www.tensilica.com/
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)
Baron, M.: Stretching performance. In: Microprocessor Report, April 18 (2004)
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)
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)
Goering, R.: C design goes soft: EETimes (April 2001), http://www.eetimes.com/story/oeg20010423s003
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)
Jones, H.: How to slow the design cost spiral (September 2002), Electronic design Chaing: http://www.designchain.com
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)
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)
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)
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)
Palem, K.V.: C-based architecture assembly supports custom design: EETimes (February 2002), http://www.eet.com/in_focus/embedded_systems/oeg20020208s0058
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)
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)
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)
Palem, K.V., Talla, S., Devaney, P.W.: Adaptive explicitly parallel instruction computing. In: Proceedings of the 4th Australasian Computer Architecture Conference (January 1999)
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)
Rau, B.R., Schlansker, M.: Embedded computing: New directions in architecture and automation. HP Labs technical report: HPL-2000-115 (2000)
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)
Scholz, S.-B.: Single assignment c – efficient support for high-level array operations in a functional setting. Journal of Functional Programming 13(6) (2003)
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)
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)
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)
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)
Talla, S.: Adaptive Explicitly Parallel Instruction Computing. PhD thesis, New York University, Department of Computer Science (2000)
VanderWiel, S., Lilja, D.J.: Data prefetch mechanisms. ACM Computing Surveys (CSUR) 32(2) (June 2000)
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)
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)
Zahiri, B.: Structured asics: Opportunities and challenges. In: 21st International Conference on Computer Design (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)