Write-Back Caches in WCET Analysis

Write-back caches are a popular choice in embedded microprocessors as they promise higher performance than write-through caches. So far, however, their use in hard real-time systems has been prohibited by the lack of adequate worst-case execution time (WCET) analysis support. In this paper, we introduce a new approach to statically analyze the behavior of write-back caches. Prior work took an "eviction-focussed perspective", answering for each potential cache miss: May this miss evict a dirty cache line and thus cause a write back? We complement this approach by exploring a "store-focussed perspective", answering for each store: May this store dirtify a clean cache line and thus cause a write back later on? Experimental evaluation demonstrates substantial precision improvements when both perspectives are combined. For most benchmarks, write-back caches are then preferable to write-through caches in terms of the computed WCET bounds.

[1]  Daniel Kroening,et al.  THE IMPACT OF WRITE BACK ON CACHE PERFORMANCE , 2000 .

[2]  Bernd Becker,et al.  A Definition and Classification of Timing Anomalies , 2006, WCET.

[3]  Marc Pantel,et al.  Towards Formally Verified Optimizing Compilation in Flight Control Software , 2011, PPES.

[4]  Robert I. Davis,et al.  Cache related pre-emption delays in hierarchical scheduling , 2015, Real-Time Systems.

[5]  Jan Reineke,et al.  Enabling Compositionality for Multicore Timing Analysis , 2016, RTNS.

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

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

[8]  David B. Whalley,et al.  Timing analysis for data caches and set-associative caches , 1997, Proceedings Third IEEE Real-Time Technology and Applications Symposium.

[9]  Andy J. Wellings,et al.  Adding instruction cache effect to schedulability analysis of preemptive real-time systems , 1996, Proceedings Real-Time Technology and Applications.

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

[11]  Christoph Cullmann,et al.  Cache persistence analysis: a novel approachtheory and practice , 2011, LCTES '11.

[12]  J. Charles,et al.  A Sino-German λ 6 cm polarization survey of the Galactic plane I . Survey strategy and results for the first survey region , 2006 .

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

[14]  Chang-Gun Lee,et al.  Analysis of Cache-Related Preemption Delay in Fixed-Priority Preemtive Scheduling , 1998, IEEE Trans. Computers.

[15]  Reinhard Wilhelm,et al.  Efficient and Precise Cache Behavior Prediction for Real-Time Systems , 1999, Real-Time Systems.

[16]  Robert I. Davis,et al.  Analysis of Write-back Caches under Fixed-priority Preemptive and Non-preemptive Scheduling , 2016, RTNS '16.

[17]  Daniel Grund,et al.  Relational Cache Analysis for Static Timing Analysis , 2012, 2012 24th Euromicro Conference on Real-Time Systems.

[18]  Jan Gustafsson,et al.  The Mälardalen WCET Benchmarks: Past, Present And Future , 2010, WCET.

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

[20]  Sebastian Hack,et al.  WCET analysis for multi-core processors with shared buses and event-driven bus arbitration , 2015, RTNS.

[21]  Robert I. Davis,et al.  Cache Related Pre-emption Delay Aware Response Time Analysis for Fixed Priority Pre-emptive Systems , 2011, RTSS.

[22]  Xavier Rival,et al.  Trace Partitioning in Abstract Interpretation Based Static Analyzers , 2005, ESOP.

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

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

[25]  Wang Yi,et al.  A Survey on Static Cache Analysis for Real-Time Systems , 2016, Leibniz Trans. Embed. Syst..

[26]  Jan Reineke,et al.  Towards compositionality in execution time analysis: definition and challenges , 2015, SIGBED.