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.
Similar content being viewed by others
References
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.
Kandemir, M. et al. Influence of Compiler Optimizations on System Power. IEEE Trans. on VLSI Systems, 9(6):801–804, Dec. 2001.
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.
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.
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.
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.
Tiwari, V., D. Brooks, and M. Martonosi. Wattch: A Framework for Architectural-Level Power Analysis and Optimizations. In Proceedings ISCA2000, 2000, pp. 83–94.
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.
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.
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.
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.
Bacon, D.F., S.L. Graham, and O.J. Sharp. Compiler Transformations for High-Performance Computing. ACM Computing Surveys, 26(4):345–420, 1994.
Benini, L. and G. De Micheli. System-Level Power Optimization Techniques and Tools. ACM TODAES, 5(2):115–192, 2000.
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.
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.
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.
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.
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.
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.
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.
Brandolese, C.W. Fornaciari, F. Salice, and D. Sciuto. Analysis and Modeling of Energy Reducing Source Code Transformations. In DATE, 2004, pp. 306–311.
Li, Y. and J. Henkel. A Framework for Estimating and Minimizing Energy Dissipation of Embedded HW/SW Systems. DAC-35, June 1998.
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.
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.
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.
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.
Wilson R.P. et al. SUIF: An Infrastructure for Research on Parallelizing and Optimizing Compilers SIGPLAN Notices, 29(12):31–37, 1994.
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.
Palermo, G., C. Silvano, and V. Zaccaria. Multi-objective Design Space Exploration of Embedded Systems. Journal of Embedded Computing, 1(3):305–316, 2005.
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.
Hennessy, J.L. and D.A. Patterson. Computer Architecture A Quantative Approach, 3rd edition, Morgan Kaufmann Publisher Inc., CA, 2003.
Gordon-Ross, A, and F. Vahid. Frequent loop Detection Using Efficient Nonintrusive On-chip Hardware. IEEE Transactions on Computers, 54(10):1203–1215, 2006.
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.
Author information
Authors and Affiliations
Corresponding author
Rights 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
Received:
Revised:
Accepted:
Issue Date:
DOI: https://doi.org/10.1007/s10617-006-9588-7