Software performance simulation strategies for high-level embedded system design

As most embedded applications are realized in software, software performance estimation is a very important issue in embedded system design. In the last decades, instruction set simulators (ISSs) have become an essential part of an embedded software design process. However, ISSs are either slow or very difficult to develop. With the advent of multiprocessor systems and their ever-increasing complexity, the software simulation strategy based on ISSs is no longer efficient enough for exploring the large design space of multiprocessor systems in early design phases. Motivated by the limitations of ISSs, a lot of recent research activities focused on software simulation strategies based on native execution. In this article, we first introduce some existing software performance simulation strategies as well as our own approach for source level simulation, called SciSim, and provide a discussion about their benefits and limitations. The main contribution of this article is to introduce a new software performance simulation approach, called iSciSim (intermediate Source code instrumentation based Simulation), which achieves high estimation accuracy, high simulation speed and low implementation complexity. All these advantages make iSciSim well-suited for system level design. To show the benefits of the proposed approach, we present a quantitative comparison between iSciSim and the other discussed techniques, using a set of benchmarks.

[1]  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.

[2]  Richard Zurawski,et al.  Embedded Systems Handbook , 2004 .

[3]  T. Tsumura,et al.  Design and implementation of a workload specific simulator , 2006, 39th Annual Simulation Symposium (ANSS'06).

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

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

[6]  Eric Cheung,et al.  Framework for fast and accurate performance simulation of multiprocessor systems , 2007, 2007 IEEE International High Level Design Validation and Test Workshop.

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

[8]  Wolfgang Rosenstiel,et al.  High-performance timing simulation of embedded software , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[9]  G. Braun,et al.  A universal technique for fast and flexible instruction-set architecture simulation , 2002, Proceedings 2002 Design Automation Conference (IEEE Cat. No.02CH37324).

[10]  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).

[11]  Rolf Ernst,et al.  System level performance analysis - the SymTA/S approach , 2005 .

[12]  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)..

[13]  Alberto L. Sangiovanni-Vincentelli,et al.  Source-Level Timing Annotation and Simulation for a Heterogeneous Multiprocessor , 2008, 2008 Design, Automation and Test in Europe.

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

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

[16]  H. Meyr,et al.  Compiled HW/SW co-simulation , 1996, 33rd Design Automation Conference Proceedings, 1996.

[17]  Antonio Sánchez,et al.  SciSim: a software performance estimation framework using source code instrumentation , 2008, WOSP '08.

[18]  Edwin A. Harcourt,et al.  Compilation-based software performance estimation for system level design , 2000, Proceedings IEEE International High-Level Design Validation and Test Workshop (Cat. No.PR00786).