ABSTRACT
This paper presents an approach for accurately estimating the execution time of parallel software components in complex embedded systems. Timing annotations obtained from highly optimized binary code are added to the source code of software components which is then integrated into a SystemC transaction-level simulation. This approach allows a fast evaluation of software execution times while being as accurate as conventional instruction set simulators. By simulating binary-level control flow in parallel to the original functionality of the software, even compiler optimizations heavily modifying the structure of the generated code can be modeled accurately. Experimental results show that the presented method produces timing estimates within the same level of accuracy as an established commercial tool for cycle-accurate instruction set simulation while being at least 20 times faster.
- AbsInt Angewandte Informatik GmbH. aiT Worst-Case Execution Time Analyzer. http://www.absint.com/ait.Google Scholar
- AbsInt Angewandte Informatik GmbH. Program Analyzer Generator (PAG). http://www.absint.com/pag.Google Scholar
- ACE Associated Compiler Experts bv. CoSy compiler development system. http://www.ace.nl/compiler.Google Scholar
- CodeSourcery Sourcery G++ Lite Edition for ARM. http://www.codesourcery.com/sgpp/lite/arm.Google Scholar
- Mälardalen WCET research group WCET Benchmark Suite. http://www.mrtc.mdh.se/projects/wcet.Google Scholar
- Open SystemC Initiative (OSCI). http://www.systemc.org.Google Scholar
- Open Virtual Platforms (OVP). http://www.ovpworld.org.Google Scholar
- Synopsys CoMET. http://www.synopsys.com/.Google Scholar
- A. Bouchhima, P. Gerin, and F. Petrot. Automatic Instrumentation of Embedded Software for High Level Hardware/Software Co-Simulation. 14th Asia and South Pacific Design Automation Conference (ASP-DAC 2009). Google ScholarDigital Library
- J. Castillo, H. Posadas, E. Villar, and M. Martinez. Fast Instruction Cache Modeling for Approximate Timed HW/SW Co-Simulation. In GLSVLSI '10: Proceedings of the 20th Great lakes symposium on VLSI. Google ScholarDigital Library
- E. Cheung, H. Hsieh, and F. Balarin. Fast and Accurate Performance Simulation of Embedded Software for MPSoC. 14th Asia and South Pacific Design Automation Conference (ASP-DAC 2009). Google ScholarDigital Library
- C. Cullmann and F. Martin. Data-Flow Based Detection of Loop Bounds. In Proceedings of the 7th Intl. Workshop on Worst-Case Execution Time (WCET) Analysis, 2007.Google Scholar
- A. Donlin. Transaction Level Modeling: Flows and Use Models. In Proceedings of the Intl. Conference on Hardware/Software Codesign and System Synthesis, 2004. Google ScholarDigital Library
- J. Gustafsson. WCET Challenge 2006. Technical Report, Mälardalen University, 2007.Google Scholar
- O. Honcharova, C. Cullmann, and F. Martin. Static Detection of Parametric Loop Bounds on C Code. In WRTP/RTS'09-30th IFAC Workshop on Real-Time Programming and 4th International Workshop on Real-Time Software.Google Scholar
- K.-L. Lin, C.-K. Lo, and R.-S. Tsay. Source-Level Timing Annotation for Fast and Accurate TLM Computation Model Generation. 15th Asia and South Pacific Design Automation Conference (ASP-DAC 2010). Google ScholarDigital Library
- T. Meyerowitz, A. Sangiovanni-Vincentelli, M. Sauermann, and D. Langen. Source-Level Timing Annotation and Simulation for a Heterogeneous Multiprocessor. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE 2008). Google ScholarDigital Library
- J. Schnerr, O. Bringmann, A. Viehl, and W. Rosenstiel. High-Performance Timing Simulation of Embedded Software. 45th Design Automation Conference (DAC 2008). Google ScholarDigital Library
- S. Stattelmann, O. Bringmann, and W. Rosenstiel. Fast and Accurate Resource Conflict Simulation for Performance Analysis of Multi-Core Systems. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE 2011).Google ScholarCross Ref
- S. Stattelmann, A. Viehl, O. Bringmann, and W. Rosenstiel. Reconstructing Line References from Optimized Binary Code for Source-Level Annotation. In Proceedings of the Forum on specification & Design Languages (FDL 2010).Google ScholarCross Ref
- Z. Wang and A. Herkersdorf. An Efficient Approach for System-Level Timing Simulation of Compiler-Optimized Embedded Software. 46th Design Automation Conference (DAC 2009). Google ScholarDigital Library
- Z. Wang, K. Lu, and A. Herkersdorf. An Approach to Improve Accuracy of Source-Level TLMs of Embedded Software. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE 2011).Google Scholar
Index Terms
- Fast and accurate source-level simulation of software timing considering complex code optimizations
Recommendations
Dominator homomorphism based code matching for source-level simulation of embedded software
CODES+ISSS '11: Proceedings of the seventh IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesisRelating optimized binary code and the source-level statements from which it was created can be challenging if an optimizing compiler was used to create the machine code. Moreover, this relation is crucial if a compiler-optimized program must be ...
Accurate source-level simulation of embedded software with respect to compiler optimizations
DATE '12: Proceedings of the Conference on Design, Automation and Test in EuropeSource code instrumentation is a widely used method to generate fast software simulation models by annotating timing information into application source code. Source-level simulation models can be easily integrated into SystemC based simulation ...
Fast and accurate cache modeling in source-level simulation of embedded software
DATE '13: Proceedings of the Conference on Design, Automation and Test in EuropeRecently, source-level software models are increasingly used for software simulation in TLM (Transaction Level Modeling)-based virtual prototypes of multicore systems. A source-level model is generated by annotating timing information into application ...
Comments