Scope-Aware Useful Cache Block Analysis for Data Cache Related Preemption Delay

Static timing analysis is crucial for design of realtime systems. While the worst-case execution time of a task is typically computed or measured in a single task environment, the presence of caches imposes additional cache related preemption delay (CRPD) cost to the lower priority tasks in a preemptive multi-tasking system. In this work, we show that existing instruction CRPD analysis techniques cannot be straightforwardly extended for safe and precise data CRPD analysis. In order to capture the dynamic behavior of the data memory references, we introduce the notion of temporal scopes into the abstract cache state (ACS) to capture the data memory blocks that must or may reside in the cache during certain time intervals of program execution. Based on the improved ACS representation, we present a temporal scope aware useful cache block (UCB) calculation for safe and tight estimation of the data CRPD cost. Experimental results show that the proposed technique leads to substantially tighter CRPD estimation, and is applicable to programs with complex data reference patterns.

[1]  Sharad Malik,et al.  Cache miss equations: a compiler framework for analyzing and tuning memory behavior , 1999, TOPL.

[2]  Frank Mueller,et al.  Bounding Preemption Delay within Data Cache Reference Patterns for Real-Time Tasks , 2006, 12th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'06).

[3]  Robert I. Davis,et al.  Improved cache related pre-emption delay aware response time analysis for fixed priority pre-emptive systems , 2011, 2011 IEEE 32nd Real-Time Systems Symposium.

[4]  Xianfeng Li,et al.  Chronos: A timing analyzer for embedded software , 2007, Sci. Comput. Program..

[5]  Frank Mueller,et al.  Tightening the Bounds on Feasible Preemption Points , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[6]  Sebastian Altmeyer,et al.  Selfish-LRU: Preemption-aware caching for predictability and performance , 2014, 2014 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[7]  Tulika Mitra,et al.  Accurate estimation of cache-related preemption delay , 2003, First IEEE/ACM/IFIP International Conference on Hardware/ Software Codesign and Systems Synthesis (IEEE Cat. No.03TH8721).

[8]  Yudong Tan,et al.  Timing analysis for preemptive multi-tasking real-time systems with caches , 2004 .

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

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

[11]  Robert I. Davis,et al.  Integrating Cache-Related Pre-Emption Delays into Analysis of Fixed Priority Scheduling with Pre-Emption Thresholds , 2014, 2014 IEEE Real-Time Systems Symposium.

[12]  Fang Liu,et al.  Understanding the behavior and implications of context switch misses , 2010, TACO.

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

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

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

[16]  Siddhartha Chatterjee,et al.  Exact analysis of the cache behavior of nested loops , 2001, PLDI '01.

[17]  Rolf Ernst,et al.  Scalable precision cache analysis for real-time software , 2007, TECS.

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

[19]  Yudong Tan,et al.  Timing analysis for preemptive multi-tasking real-time systems with caches , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[20]  Jingling Xue,et al.  Let's study whole-program cache behaviour analytically , 2002, Proceedings Eighth International Symposium on High Performance Computer Architecture.

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

[22]  Wang Yi,et al.  WCET Analysis with MRU Caches: Challenging LRU for Predictability , 2012, IEEE Real-Time and Embedded Technology and Applications Symposium.

[23]  Sebastian Altmeyer,et al.  Cache-related preemption delay via useful cache blocks: Survey and redefinition , 2011, J. Syst. Archit..

[24]  Sebastian Altmeyer,et al.  A New Notion of Useful Cache Block to Improve the Bounds of Cache-Related Preemption Delay , 2009, 2009 21st Euromicro Conference on Real-Time Systems.

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

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

[27]  Sang Lyul Min,et al.  Analysis of cache-related preemption delay in fixed-priority preemptive scheduling , 1998, 17th IEEE Real-Time Systems Symposium.

[28]  Robert I. Davis,et al.  Integrating cache related pre-emption delay analysis into EDF scheduling , 2013, 2013 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[29]  Peter Marwedel,et al.  A synergetic approach to accurate analysis of cache-related preemption delay , 2011, 2011 Proceedings of the Ninth ACM International Conference on Embedded Software (EMSOFT).