Skip to main content

Advertisement

Log in

Efficient architecture/compiler co-exploration using analytical models

  • Published:
Design Automation for Embedded Systems Aims and scope Submit manuscript

Abstract

The hardware/software co-exploration is a critical phase for a broad range of embedded platforms based on the System-On-Chip approach. Traditionally, the compilation and the architectural design sub-spaces have been explored independently. Only recently, some approaches have analyzed the problem of the concurrent exploration of the compilation/architecture sub-spaces. This paper proposes a framework to support the co-exploration phase of the design space composed of architectural parameters and source program transformations. The objective space is multi-dimensional, including conflicting objectives such as energy and delay. In the proposed framework, heuristic co-exploration techniques based on Pareto Simulated Annealing (PSA) have been used to efficiently explore the architecture/compiler co-design space. A first result of this paper consists of showing how the architecture/compiler co-exploration can be more effective than a traditional two-phase exploration. Since the co-exploration space is quite large, to speed up the co-exploration phase by several orders of magnitude over simulation-based approaches, a methodology based on analytical models has been introduced in the co-exploration framework. The goal of analytical models is to quickly evaluate energy/delay metrics at the systems level, while maintaining accuracy with respect to simulation-based co-exploration. The proposed co-exploration framework has been applied to a parameterized SoC superscalar architecture during the execution of a selected set of multimedia applications.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Vijaykrishnan, N. et al. Evaluating Integrated Hardware-Software Optimizations Using a Unified Energy Estimation Framework. IEEE Trans. on Computers, 52(1):59–76, Jan. 2003.

    Google Scholar 

  2. Kandemir, M. et al. Influence of Compiler Optimizations on System Power. IEEE Trans. on VLSI Systems, 9(6):801–804, Dec. 2001.

    Article  Google Scholar 

  3. Fischer, D., J. Teich, M. Thies, and R. Weper. Efficient Architecture/Compiler Co-exploration for ASIPs. In CASES ’02: Proceedings of the 2002 International Conference on Compilers, Architecture, and Synthesis for Embedded Systems, ACM Press, New York, NY, USA, 2002, pp. 27–34.

  4. Agosta, G., G. Palermo, and C. Silvano. Multi-objective Co-exploration of Source Code Transformations and Design Space Architectures for Low-power Embedded Systems. In SAC ’04: Proceedings of the 2004 ACM Symposium on Applied computing, Nicosia, Cyprus, ACM Press, New York, NY, USA, 2004, pp. 891–896.

  5. Conte, T.M., K.N. Menezes, S.W. Sathaye, and M.C. Toburen. System-level Power Consumption Modeling and Tradeoff Analysis Techniques for Superscalar Processor Design. IEEE Trans. on Very Large Scale Integration (VLSI) Systems, 8(2):129–137, April 2000.

    Google Scholar 

  6. Austin, T.M., D. Burger, and S. Bennett. Evaluating Future Microprocessors: The SimpleScalar Tool Set. Tech. Rep. CS-TR-1996-1308, University of Wisconsin, 1996.

  7. Tiwari, V., D. Brooks, and M. Martonosi. Wattch: A Framework for Architectural-Level Power Analysis and Optimizations. In Proceedings ISCA2000, 2000, pp. 83–94.

  8. Vijaykrishnan, N., M. Kandemir, M.J. Irwin, H.S. Kim, and W. Ye. Energy-Driven Integrated Hardware-Software Optimizations Using SimplePower. ISCA 2000, June 2000.

  9. Givargis, T.D. and F. Vahid. Platune: A Tuning Framework for System-on-a-chip Platforms. IEEE Transactions on, Computer-Aided Design of Integrated Circuits and Systems, 21(11):1317–1327, Nov. 2002.

    Google Scholar 

  10. Palesi, M. and T. Givargis. Multi-objective Design Space Exploration Using Genetic Algorithms. In Proceedings of the Tenth International Symposium on Hardware/Software Codesign, 2002. CODES 2002, May 6–8, 2002.

  11. Palermo, G., C. Silvano, and V. Zaccaria. A Flexible Framework for Fast Multi-objective Design Space Exploration of Embedded Systems. In PATMOS, 2003, pp. 249–258.

  12. Bacon, D.F., S.L. Graham, and O.J. Sharp. Compiler Transformations for High-Performance Computing. ACM Computing Surveys, 26(4):345–420, 1994.

    Google Scholar 

  13. Benini, L. and G. De Micheli. System-Level Power Optimization Techniques and Tools. ACM TODAES, 5(2):115–192, 2000.

    Article  MathSciNet  Google Scholar 

  14. De Micheli, G., T. Simunic, L. Benini, and M. Hans. Source-Code Optimization and Profiling of Energy Consumption in Embedded Systems. In Proc. of ISSS00, 2000, 193–198.

  15. Tiwari, V., S. Malik, A. Wolfe, and M. Lee. Instruction Level Power Analysis and Optimization of Software. J. VLSI Signal Processing, pp. 1–18, 1996.

  16. Panda, P.R., F. Catthoor, N.D. Dutt, K. Danckaert, E. Brockmeyer, C. Kulkarni, A. Vandercappelle, and P.G. Kjeldsberg. Data and Memory Optimization Techniques for Embedded Systems. ACM Trans. Des. Autom. Electron. Syst., 6(2):149–206, 2001.

    Article  Google Scholar 

  17. Chung, E.-Y., L. Benini, and G. De Micheli. Automatic Source Code Specialization for Energy Reduction. In ISLPED ’01: Proceedings of the 2001 International Symposium on Low Power Electronics and Design, ACM Press, New York, NY, USA, 2001, pp. 80–83.

  18. Franke, B., M. O’Boyle, J. Thomson, and G. Fursin. Probabilistic Source-level Optimisation of Embedded Programs. In LCTES’05: Proceedings of the 2005 ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems, ACM Press, New York, NY, USA, 2005, pp. 78–86.

  19. Givargis, T.D., F. Vahid, and J. Henkel. Evaluating Power Consumption of Parameterized Cache and Bus Architectures in System-on-a-Chip Designs. IEEE Transactions on VLSI Systems, 9(4), Aug. 2001.

  20. Benini, L., E.-Y. Chung, and G. De Micheli. Source Code Transformation based on Software Cost Analysis. In Proc. of ISSS2001, 2001, pp. 153–158.

  21. Brandolese, C.W. Fornaciari, F. Salice, and D. Sciuto. Analysis and Modeling of Energy Reducing Source Code Transformations. In DATE, 2004, pp. 306–311.

  22. Li, Y. and J. Henkel. A Framework for Estimating and Minimizing Energy Dissipation of Embedded HW/SW Systems. DAC-35, June 1998.

  23. Bellas, N., I.N. Hajj, D. Polychronopoulos, and G. Stamoulis. Architectural and Compiler Techniques for Energy Reduction in High-Performance Microprocessors. IEEE Transactions on VLSI Systems, 8(3), June 2000.

  24. Wieferink, A., T. Kogel, R. Leupers, G. Ascheid, H. Meyr, G. Braun, and A. Nohl. A System Level Processor/Communication Co-exploration Methodology for Multi-processor System-on-chip Platforms. In DATE ’04: Proceedings of the Conference on Design, Automation and Test in Europe, IEEE Computer Society, Washington, DC, USA, 2004, p. 21256.

  25. Halambi, A., P. Grun, V. Ganesh, A. Khare, N. Dutt, and A. Nicolau. EXPRESSION: A Language for Architecture Exploration through Compiler/Simulator Retargetability. In DATE ’99: Proceedings of the Conference on Design, Automation and Test in Europe, ACM Press, New York, NY, USA, 1999, p. 100.

  26. Shrivastava, A., N. Dutt, A. Nicolau, and E. Earlie, PBExplore: A Framework for Compiler-in-the-Loop Exploration of Partial Bypassing in Embedded Processors. In DATE ’05: Proceedings of the conference on Design, Automation and Test in Europe, IEEE Computer Society, Washington, DC, USA, 2005, pp. 1264–1269.

  27. Wilson R.P. et al. SUIF: An Infrastructure for Research on Parallelizing and Optimizing Compilers SIGPLAN Notices, 29(12):31–37, 1994.

    Article  Google Scholar 

  28. Czyak, P. and A. Jaszkiewicz. Pareto Simulated Annealing—A Metaheuristic Technique for Multiple-objective Combinatorial Optimisation. Journal of Multi-Criteria Decision Analysis, (7):34–47, April 1998.

  29. Palermo, G., C. Silvano, and V. Zaccaria. Multi-objective Design Space Exploration of Embedded Systems. Journal of Embedded Computing, 1(3):305–316, 2005.

    Google Scholar 

  30. Givargis, T.D. and F. Vahid. Parameterized System Design. In Proceedings of the Eighth International Workshop on Hardware/Software Codesign, ACM Press, 2000, pp. 98–102.

  31. Hennessy, J.L. and D.A. Patterson. Computer Architecture A Quantative Approach, 3rd edition, Morgan Kaufmann Publisher Inc., CA, 2003.

  32. Gordon-Ross, A, and F. Vahid. Frequent loop Detection Using Efficient Nonintrusive On-chip Hardware. IEEE Transactions on Computers, 54(10):1203–1215, 2006.

    Article  Google Scholar 

  33. Zitzler, E. and L. Thiele, Multiobjective Evolutionary Algorithms: A Comparative Case Study and the Strength Pareto Approach. IEEE Transactions on Evolutionary Computation, 3(4):257–271, 1999.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Cristina Silvano.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Silvano, C., Agosta, G. & Palermo, G. Efficient architecture/compiler co-exploration using analytical models. Des Autom Embed Syst 11, 1–23 (2007). https://doi.org/10.1007/s10617-006-9588-7

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10617-006-9588-7

Keywords

Navigation