Mitigating Software-Instrumentation Cache Effects in Measurement-Based Timing Analysis

Measurement-based timing analysis (MBTA) is often used to determine the timing behaviour of software programs embedded in safety-aware real-time systems deployed in various industrial domains including automotive and railway. MBTA methods rely on some form of instrumentation, either at hardware or software level, of the target program or fragments thereof to collect execution-time measurement data. A known drawback of software-level instrumentation is that instrumentation itself does affect the timing and functional behaviour of a program, resulting in the so-called probe effect: leaving the instrumentation code in the final executable can negatively affect average performance and could not be even admissible under stringent industrial qualification and certification standards; removing it before operation jeopardizes the results of timing analysis as the WCET estimates on the instrumented version of the program cannot be valid any more due, for example, to the timing effects incurred by different cache alignments. In this paper, we present a novel approach to mitigate the impact of instrumentation code on cache behaviour by reducing the instrumentation overhead while at the same time preserving and consolidating the results of timing analysis.

[1]  Francisco J. Cazorla,et al.  A cache design for probabilistically analysable real-time systems , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[2]  Bernhard Rieder,et al.  Using a Runtime Measurement Device with Measurement-Based WCET Analysis , 2007, IESS.

[3]  Guillem Bernat,et al.  Hybrid measurement-based WCET analysis at the source level using object-level traces , 2010, WCET.

[4]  Liliana Cucu-Grosjean,et al.  Measurement-Based Probabilistic Timing Analysis for Multi-path Programs , 2012, 2012 24th Euromicro Conference on Real-Time Systems.

[5]  Alexander Weiss,et al.  Precise Continuous Non-Intrusive Measurement-Based Execution Time Estimation , 2015, WCET.

[6]  Francisco J. Cazorla,et al.  PUB: Path Upper-Bounding for Measurement-Based Probabilistic Timing Analysis , 2014, 2014 26th Euromicro Conference on Real-Time Systems.

[7]  Tullio Vardanega,et al.  Measurement-Based Probabilistic Timing Analysis and Its Impact on Processor Architecture , 2014, 2014 17th Euromicro Conference on Digital System Design.

[8]  Raimund Kirner,et al.  Measurement-Based Worst-Case Execution Time Analysis using Automatic Test-Data Generation ∗ , 2004 .

[9]  Raimund Kirner,et al.  Measurement-based worst-case execution time analysis , 2005, Third IEEE Workshop on Software Technologies for Future Embedded and Ubiquitous Systems (SEUS'05).

[10]  Raimund Kirner,et al.  Automatic timing model generation by CFG partitioning and model checking , 2005, Design, Automation and Test in Europe.

[11]  S. Nadarajah,et al.  Extreme Value Distributions: Theory and Applications , 2000 .

[12]  Stefan M. Petters Comparison of Trace Generation Methods for Measurement Based WCET Analysis , 2003, WCET.

[13]  Ulf Assarsson,et al.  A Benchmark for , 2001 .

[14]  Raimund Kirner,et al.  Measurement-Based Timing Analysis , 2008, ISoLA.

[15]  Jakob Engblom,et al.  The worst-case execution-time problem—overview of methods and survey of tools , 2008, TECS.

[16]  Stefan Hauck-Stattelmann,et al.  On the Use of Context Information for Precise Measurement-Based Execution Time Estimation , 2010, WCET.

[17]  Marcelo Schots,et al.  On the Use of Context Information for Supporting Software Visualizations , 2014 .

[18]  Jason A. Poovey Characterization of the EEMBC Benchmark Suite , 2007 .

[19]  Thomas M. Conte,et al.  A Benchmark Characterization of the EEMBC Benchmark Suite , 2009, IEEE Micro.