SciSim: a software performance estimation framework using source code instrumentation

Recently, software performance estimation based on source code instrumentation shows promising results in the literature. It achieves significant speedup without compromising accuracy, compared with cycle-accurate simulations. However, much work still remains to be done to make this technique flexible and accurate enough to estimate software on complex processors. To the best of our knowledge, we are the first to propose ways to tackle microarchitecture related issues in the source code instrumentation approach. We perform static instruction scheduling for superscalar architectures at instrumentation time and combine instrumented code and microarchitecture simulators to model runtime interactions between software and microarchitecture. We have developed a new framework, SciSim, to provide a common infrastructure for the proposed approach. It is designed to be easily extendable and retargetable to different instruction set architectures and processors. Using SciSim SystemC modules may be automatically generated to integrate software into system-level simulation. We will present the applicability of SciSim in system-level design exploration of multiprocessor systems. At last, experiments with standard benchmarks are presented to validate the speed and accuracy of SciSim.

[1]  Raimund Kirner,et al.  Classification of WCET analysis techniques , 2005, Eighth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC'05).

[2]  Paolo Giusto,et al.  Reliable estimation of execution time of embedded software , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[3]  James E. Fowler,et al.  Compiled instruction set simulation , 1991, Softw. Pract. Exp..

[4]  Massimo Poncino,et al.  ISS-centric modular HW/SW co-simulation , 2006, GLSVLSI '06.

[5]  Kingshuk Karuri,et al.  A SW performance estimation framework for early system-level-design using fine-grained instrumentation , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[6]  Rodolfo Azevedo,et al.  Exploring memory hierarchy with ArchC , 2003, Proceedings. 15th Symposium on Computer Architecture and High Performance Computing.

[7]  Heinrich Meyr,et al.  Compiled HW/SW co-simulation , 1996, DAC '96.

[8]  Andreas Gerstlauer,et al.  RTOS scheduling in transaction level models , 2003, First IEEE/ACM/IFIP International Conference on Hardware/ Software Codesign and Systems Synthesis (IEEE Cat. No.03TH8721).

[9]  Vijay Janapa Reddi,et al.  PIN: a binary instrumentation tool for computer architecture research and education , 2004, WCAE '04.

[10]  Trevor Mudge,et al.  MiBench: A free, commercially representative embedded benchmark suite , 2001 .

[11]  Rainer Leupers,et al.  A universal technique for fast and flexible instruction-set architecture simulation , 2002, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[12]  Jong-Yeol Lee,et al.  Timed compiled-code simulation of embedded software for performance analysis of SOC design , 2002, DAC '02.

[13]  Flávio Rech Wagner,et al.  Accurate software performance estimation using domain classification and neural networks , 2004, Proceedings. SBCCI 2004. 17th Symposium on Integrated Circuits and Systems Design (IEEE Cat. No.04TH8784).

[14]  Luciano Lavagno,et al.  Software performance estimation strategies in a system-level design tool , 2000, Proceedings of the Eighth International Workshop on Hardware/Software Codesign. CODES 2000 (IEEE Cat. No.00TH8518).

[15]  Chong-Min Kyung,et al.  System-level HW/SW co-simulation framework for multiprocessor and multithread SoC , 2005, 2005 IEEE VLSI-TSA International Symposium on VLSI Design, Automation and Test, 2005. (VLSI-TSA-DAT)..

[16]  Michael J. Eager Introduction to the DWARF Debugging Format , 2007 .

[17]  Hiroaki Nakamura,et al.  An Efficient and Portable Scheduler for RTOS Simulation and its Certified Integration to SystemC , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[18]  Franco Fummi,et al.  A Timing-Accurate HW/SW Co-Simulation of an ISS with SystemC , 2004 .

[19]  Gianluca Bontempi,et al.  A data analysis method for software performance prediction , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.