Handling write backs in multi-level cache analysis for WCET estimation

In this paper, we investigate how to soundly analyze multi-level caches that employ write-back policy at each level for worst-case execution time (WCET) estimation. To the best of our knowledge, there is only one existing approach for dealing with write backs in multi-level cache analysis. However, as shown in the paper, this existing approach is not sound. In order to soundly handle write backs, at a cache level, we need to consider whether a memory block is potentially dirty and when such a potentially dirty block may be evicted from the cache. To this end, we introduce a dirty attribute into persistence analysis for tracking dirty blocks, and over-approximate a write back window for each possible write back. Based on the overestimated write back occurring times, we propose an approach that can soundly deal with write backs in analysis of multi-level (unified) caches for WCET estimation. Possible write back costs are also integrated into path analysis. We evaluate the proposed approach on a set of benchmarks to demonstrate its effectiveness.

[1]  Y. N. Srikant,et al.  WCET estimation for executables in the presence of data caches , 2007, EMSOFT '07.

[2]  Reinhard Wilhelm,et al.  On Predicting Data Cache Behavior for Real-Time Systems , 1998, LCTES.

[3]  Peter Marwedel,et al.  A Unified WCET Analysis Framework for Multi-core Platforms , 2012, 2012 IEEE 18th Real Time and Embedded Technology and Applications Symposium.

[4]  Abhik Roychoudhury,et al.  Unified Cache Modeling for WCET Analysis and Layout Optimizations , 2009, 2009 30th IEEE Real-Time Systems Symposium.

[5]  Wang Yi,et al.  Combining Abstract Interpretation with Model Checking for Timing Analysis of Multicore Software , 2010, 2010 31st IEEE Real-Time Systems Symposium.

[6]  Per Stenström,et al.  Timing anomalies in dynamically scheduled microprocessors , 1999, Proceedings 20th IEEE Real-Time Systems Symposium (Cat. No.99CB37054).

[7]  Damien Hardy,et al.  WCET analysis of instruction cache hierarchies , 2011, J. Syst. Archit..

[8]  Damien Hardy,et al.  WCET Analysis of Multi-Level Set-Associative Data Caches , 2009, WCET.

[9]  Damien Hardy,et al.  WCET Analysis of Multi-level Non-inclusive Set-Associative Instruction Caches , 2008, 2008 Real-Time Systems Symposium.

[10]  Xenofon D. Koutsoukos,et al.  Improving the Precision of Abstract Interpretation Based Cache Persistence Analysis , 2015, LCTES.

[11]  Gerard J. M. Smit,et al.  A mathematical approach towards hardware design , 2010, Dynamically Reconfigurable Architectures.

[12]  Xenofon D. Koutsoukos,et al.  Precise Multi-level Inclusive Cache Analysis for WCET Estimation , 2015, 2015 IEEE Real-Time Systems Symposium.

[13]  Francisco J. Cazorla,et al.  Multi-level Unified Caches for Probabilistically Time Analysable Real-Time Systems , 2013, 2013 IEEE 34th Real-Time Systems Symposium.

[14]  Wei Zhang,et al.  WCET Analysis for Multi-Core Processors with Shared L2 Instruction Caches , 2008, 2008 IEEE Real-Time and Embedded Technology and Applications Symposium.

[15]  Christoph Cullmann Cache persistence analysis: Theory and practice , 2013, TECS.

[16]  Rolf Ernst,et al.  Worst case timing analysis of input dependent data cache behavior , 2006, 18th Euromicro Conference on Real-Time Systems (ECRTS'06).

[17]  Hridesh Rajan,et al.  A More Precise Abstract Domain for Multi-level Caches for Tighter WCET Analysis , 2010, 2010 31st IEEE Real-Time Systems Symposium.

[18]  Frank Müller,et al.  Timing Analysis for Instruction Caches , 2000, Real-Time Systems.

[19]  Yun Liang,et al.  Timing Analysis of Concurrent Programs Running on Shared Cache Multi-Cores , 2009, RTSS.

[20]  Damien Hardy,et al.  Shared Data Caches Conflicts Reduction for WCET Computation in Multi-Core Architectures. , 2010 .

[21]  David B. Whalley,et al.  Timing Analysis for Data and Wrap-Around Fill Caches , 1999, Real-Time Systems.

[22]  Abhik Roychoudhury,et al.  Scope-Aware Data Cache Analysis for WCET Estimation , 2011, 2011 17th IEEE Real-Time and Embedded Technology and Applications Symposium.

[23]  Sharad Malik,et al.  Performance Analysis of Embedded Software Using Implicit Path Enumeration , 1995, 32nd Design Automation Conference.

[24]  Henrik Theiling,et al.  Fast and Precise WCET Prediction by Separated Cache and Path Analyses , 2000, Real-Time Systems.

[25]  Xenofon D. Koutsoukos,et al.  Top-down and bottom-up multi-level cache analysis for WCET estimation , 2015, 21st IEEE Real-Time and Embedded Technology and Applications Symposium.

[26]  Xenofon D. Koutsoukos,et al.  Cache-related preemption delay analysis for multi-level inclusive caches , 2016, 2016 International Conference on Embedded Software (EMSOFT).

[27]  Reinhard Wilhelm,et al.  Cache Behavior Prediction by Abstract Interpretation , 1996, Sci. Comput. Program..

[28]  Damien Hardy,et al.  Using Bypass to Tighten WCET Estimates for Multi-Core Processors with Shared Instruction Caches , 2009, 2009 30th IEEE Real-Time Systems Symposium.

[29]  Frank Mueller,et al.  Timing Predictions for Multi-Level Caches , 1997 .

[30]  Frank Mueller,et al.  Bounding worst-case data cache behavior by analytically deriving cache reference patterns , 2005, 11th IEEE Real Time and Embedded Technology and Applications Symposium.