A Profiling Framework for Design Space Exploration in Heterogeneous System Context

Design of embedded systems is subject to different types of design constraints such as execution cycles, power consumption, and memory consumption/bandwidth. At the same time, modern computing systems make increasing use of reconfigurable and heterogeneous architectures. The increasing heterogeneous nature of embedded system platform and the application makes the design of embedded system very complicated. In hardware/software co-design environment, to make early design decision such as mapping of application onto heterogeneous set of processors, it is necessary to perform exhaustive design space exploration in order to identify the various design parameters such as execution time, memory, bandwidth etc. Profiling is one of the such techniques that helps to measure these design parameter and helps to quickly find promising candidate for mapping onto heterogeneous set of processor. Profiling and tracing provide necessary information to analyze the programs statically and/or dynamically in order to determine relevant information for design space exploration, hardware/software partitioning and optimization. Towards this goal, in this paper, we present an outlook of the methodology for the dynamic analysis of the application for design space exploration, hardware/software partitioning and parallelization within Delft Workbench.

[1]  Thomas Ball,et al.  Edge profiling versus path profiling: the showdown , 1998, POPL '98.

[2]  Stamatis Vassiliadis,et al.  A Quantitative Prediction Model for Hardware/Software Partitioning , 2007, 2007 International Conference on Field Programmable Logic and Applications.

[3]  James R. Larus,et al.  Optimally profiling and tracing programs , 1992, POPL '92.

[4]  Susan L. Graham,et al.  Gprof: A call graph execution profiler , 1982, SIGPLAN '82.

[5]  Stamatis Vassiliadis,et al.  Profiling, Compilation, and HDL Generation within the hArtes Project , 2007 .

[6]  Alan Eustace,et al.  ATOM - A System for Building Customized Program Analysis Tools , 1994, PLDI.

[7]  Brad Calder,et al.  Value profiling , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

[8]  James R. Larus,et al.  Efficient path profiling , 1996, Proceedings of the 29th Annual IEEE/ACM International Symposium on Microarchitecture. MICRO 29.

[9]  David W. Wall,et al.  Systems for Late Code Modification , 1991, Code Generation.

[10]  John C. Gyllenhaal,et al.  A hardware-driven profiling scheme for identifying program hot spots to support runtime optimization , 1999, ISCA.

[11]  Wen-mei W. Hwu,et al.  A hardware mechanism for dynamic extraction and relayout of program hot spots , 2000, Proceedings of 27th International Symposium on Computer Architecture (IEEE Cat. No.RS00201).

[12]  George Varghese,et al.  Catching accurate profiles in hardware , 2003, The Ninth International Symposium on High-Performance Computer Architecture, 2003. HPCA-9 2003. Proceedings..