ABSTRACT
This paper describes techniques to estimate the worst case execution time of executable code on architectures with data caches. The underlying mechanism is Abstract Interpretation, which is used for the dual purposes of tracking address computations and cache behavior. A simultaneous numeric and pointer analysis using an abstraction for discrete sets of values computes safe approximations of access addresses which are then used to predict cache behavior using Must Analysis. A heuristic is also proposed which generates likely worst case estimates. It can be used in soft real time systems and also for reasoning about the tightness of the safe estimate. The analysis methods can handle programs with non-affine access patterns, for which conventional Presburger Arithmetic formulations or Cache Miss Equations do not apply. The precision of the estimates is user-controlled and can be traded off against analysis time. Executables are analyzed directly, which, apart from enhancing precision, renders the method language independent.
- ARM7TDMI. Technical Reference Manual. "http://www.arm.com/pdfs/DDI0210B_7TDMI_R4.pdf".Google Scholar
- Simplescalar/ARM. "http://www.simplescalar.com/v4test.html".Google Scholar
- WCET Project/Benchmarks. "http://www.mrtc.mdh.se/projects/wcet/benchmarks.html".Google Scholar
- G. Balakrishnan and T. W. Reps. Analyzing Memory Accesses in x86 Executables. In CC, pages 5--23, 2004.Google ScholarCross Ref
- S. Chatterjee, E. Parker, P. J. Hanlon, and A. R. Lebeck. Exact analysis of the cache behavior of nested loops. In PLDI, pages 286--297, New York, NY, USA, 2001. ACM Press. Google ScholarDigital Library
- P. Cousot and R. Cousot. Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In POPL, pages 238--252, New York, NY, USA, 1977. ACM Press. Google ScholarDigital Library
- C. Ferdinand and R. Wilhelm. On Predicting Data Cache Behavior for Real-Time Systems. In LCTES, pages 16--30, London, UK, 1998. Springer-Verlag. Google ScholarDigital Library
- C. Ferdinand and R. Wilhelm. Fast and Efficient Cache Behavior Prediction for Real-Time Systems. Real-Time Systems, 17((2/3)), 1999. Google ScholarDigital Library
- S. Ghosh, M. Martonosi, and S. Malik. Cache Miss Equations: An Analytical Representation of Cache Misses. In ICS, pages 317--324, New York, NY, USA, 1997. ACM Press. Google ScholarDigital Library
- T. Lundqvist and P. Stenström. Timing Anomalies in Dynamically Scheduled Microprocessors. In IEEE Real-Time Systems Symposium, pages 12--21, 1999. Google ScholarDigital Library
- H. Ramaprasad and F. Mueller. Bounding Worst-Case Data Cache Behavior by Analytically Deriving Cache Reference Patterns. In RTAS, pages 148--157, Washington, DC, USA, 2005. IEEE Computer Society. Google ScholarDigital Library
- R. Sen and Y. N. Srikant. Estimating WCET in the presence of Data Caches. Technical Report. "http://archive.csa.iisc.ernet.in/TR/2007/5".Google Scholar
- R. Sen and Y. N. Srikant. Executable Analysis using Abstract Interpretation with Circular Linear Progressions. In MEMOCODE, pages 39--48, 2007. Google ScholarDigital Library
- R. T. White, C. A. Healy, D. B. Whalley, F. Mueller, and M. G. Harmon. Timing Analysis for Data Caches and Set-Associative Caches. In RTAS, page 192, Washington, DC, USA, 1997. IEEE Computer Society. Google ScholarDigital Library
Index Terms
- WCET estimation for executables in the presence of data caches
Recommendations
Context-sensitive analysis of obfuscated x86 executables
PEPM '10: Proceedings of the 2010 ACM SIGPLAN workshop on Partial evaluation and program manipulationA method for context-sensitive analysis of binaries that may have obfuscated procedure call and return operations is presented. Such binaries may use operators to directly manipulate stack instead of using native call and ret instructions to achieve ...
Precise Multi-level Inclusive Cache Analysis for WCET Estimation
RTSS '15: Proceedings of the 2015 IEEE Real-Time Systems Symposium (RTSS)Multi-level inclusive caches are often used in multi-core processors to simplify the design of cache coherence protocol. However, the use of such cache hierarchies poses great challenges to tight worst-case execution time (WCET) estimation due to the ...
WCET analysis of instruction caches with prefetching
Proceedings of the 2007 LCTES conferenceInstruction prefetching is an effective technique to reduce the instruction cache miss latency for improving the average-case performance. For real-time systems, however, the use of instruction prefetching will only besuitable if a reasonably tight ...
Comments