Profiling in the ASP codesign environment

Automation of the hardware/software codesign (HSC) methodology brings with it the need to develop sophisticated high-level profiling tools. This paper presents a profiling tool which uses execution profiling on standard C code to obtain accurate and consistent times at the level of individual compound code sections. This tool is used in the ASP hardware/software codesign project. The results from this tool show that profiling must be performed on dedicated hardware which is as close as possible to the final implementation, as opposed to a workstation. Further, in this paper a formula is derived for the number of times a program has to be profiled in order to get an accurate estimate of the number of times a loop with an indeterminate loop count is executed.

[1]  Jan M. Rabaey,et al.  A reconfigurable multiprocessor IC for rapid prototyping of algorithmic-specific high-speed DSP data paths , 1992 .

[2]  Phillip Ein-Dor,et al.  Attributes of the performance of central processing units: a relative performance prediction model , 1987, CACM.

[3]  Alan C. Shaw,et al.  Reasoning About Time in Higher-Level Language Software , 1989, IEEE Trans. Software Eng..

[4]  R.K. Gupta,et al.  System-level synthesis using re-programmable components , 1992, [1992] Proceedings The European Conference on Design Automation.

[5]  Harvey F. Silverman,et al.  Processor reconfiguration through instruction-set metamorphosis , 1993, Computer.

[6]  W. Hoeffding Probability Inequalities for sums of Bounded Random Variables , 1963 .

[7]  Alan C. Shaw Deterministic timing schema for parallel programs , 1991, [1991] Proceedings. The Fifth International Parallel Processing Symposium.

[8]  Jörg Henkel,et al.  Fast timing analysis for hardware-software co-synthesis , 1993, Proceedings of 1993 IEEE International Conference on Computer Design ICCD'93.

[9]  Wayne Wolf,et al.  Hardware-software co-design of embedded systems , 1994, Proc. IEEE.

[10]  Giovanni De Micheli,et al.  Synthesis and simulation of digital systems containing interacting hardware and software components , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[11]  Sri Parameswaran,et al.  C to VHDL converter in a codesign environment , 1994, Proceedings of VHDL International Users Forum.

[12]  Manfred Glesner,et al.  Application-specific microelectronics for mechatronic systems , 1992, Proceedings EURO-DAC '92: European Design Automation Conference.

[13]  Steven D. Johnson,et al.  System factorization in codesign. A case study of the use of formal techniques to achieve hardware-software decomposition , 1993, Proceedings of 1993 IEEE International Conference on Computer Design ICCD'93.

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

[15]  Connie U. Smith,et al.  Performance Engineering of Software Systems , 1990, SIGMETRICS Perform. Evaluation Rev..