OUTSTANDING PAPER: Evaluation of Cache Partitioning for Hard Real-Time Systems

In hard real-time systems, cache partitioning is often suggested as a means of increasing the predictability of caches in pre-emptively scheduled systems: when a task is assigned its own cache partition, inter-task cache eviction is avoided, and timing verification is reduced to the standard worst case execution time (WCET) analysis used in non-pre-emptive systems. The downside of cache partitioning is the potential increase in execution times. In this paper, we evaluate cache partitioning for hard real time systems in terms of overall schedulability. To this end, we examine the sensitivity of task execution times to the size of the cache partition allocated and present a cache partitioning algorithm that is optimal with respect to task set schedulability. We then evaluate the performance of cache partitioning compared to state-of-the-art pre-emption cost analysis based on benchmark code and on a large number of synthetic task sets. This allows us to derive general conclusions about the usability of cache partitioning and identify task set and system parameters that influence the relative e effectiveness of cache partitioning.

[1]  D. B. Kirk,et al.  SMART (strategic memory allocation for real-time) cache design , 1989, [1989] Proceedings. Real-Time Systems Symposium.

[2]  Rolf Ernst,et al.  Scheduling analysis of real-time systems with precise modeling of cache related preemption delay , 2005, 17th Euromicro Conference on Real-Time Systems (ECRTS'05).

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

[4]  Sebastian Altmeyer,et al.  Cache-Related Preemption Delay Computation for Set-Associative Caches - Pitfalls and Solutions , 2009, WCET.

[5]  Lui Sha,et al.  Impact of Cache Partitioning on Multi-tasking Real Time Embedded Systems , 2008, 2008 14th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

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

[7]  Paul Lokuciejewski,et al.  WCET-aware Software Based Cache Partitioning for Multi-Task Real-Time Systems , 2009, WCET.

[8]  Lee Higbee Quick and easy cache performance analysis , 1990, CARN.

[9]  Björn Lisper,et al.  Data cache locking for tight timing calculations , 2007, TECS.

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

[11]  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).

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

[13]  Pascal Sainrat,et al.  PapaBench: a Free Real-Time Benchmark , 2006, WCET.

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

[15]  Mathai Joseph,et al.  Finding Response Times in a Real-Time System , 1986, Comput. J..

[16]  Reinhold Heckmann,et al.  Worst case execution time prediction by static program analysis , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[17]  Andy J. Wellings,et al.  Hybrid instruction cache partitioning for preemptive real-time systems , 1997, Proceedings Ninth Euromicro Workshop on Real Time Systems.

[18]  Robert I. Davis,et al.  Optimising task layout to increase schedulability via reduced cache related pre-emption delays , 2012, RTNS '12.

[19]  Giorgio C. Buttazzo,et al.  Measuring the Performance of Schedulability Tests , 2005, Real-Time Systems.

[20]  Alan Burns,et al.  Efficient Exact Schedulability Tests for Fixed Priority Real-Time Systems , 2008, IEEE Transactions on Computers.

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

[22]  Alan Burns,et al.  Sustainable Scheduling Analysis , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[23]  Frank Mueller Compiler support for software-based cache partitioning , 1995 .

[24]  Joel L. Wolf,et al.  Synthetic Traces for Trace-Driven Simulation of Cache Memories , 1992, IEEE Trans. Computers.

[25]  Patrick Meumeu Yomsi,et al.  Extending Rate Monotonic Analysis with Exact Cost of Preemptions for Hard Real-Time Systems , 2007, 19th Euromicro Conference on Real-Time Systems (ECRTS'07).

[26]  Alan Burns,et al.  Applying new scheduling theory to static priority pre-emptive scheduling , 1993, Softw. Eng. J..

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

[28]  Stefan M. Petters Scheduling Analysis with Respect to Hardware Related Preemption Delay , 2001 .

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

[30]  Sebastian Altmeyer,et al.  Resilience analysis: tightening the CRPD bound for set-associative caches , 2010, LCTES '10.

[31]  Björn B. Brandenburg,et al.  Cache-Related Preemption and Migration Delays : Empirical Approximation and Impact on Schedulability ∗ , 2010 .

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

[33]  Isabelle Puaut,et al.  Low-complexity algorithms for static cache locking in multitasking hard real-time systems , 2002, 23rd IEEE Real-Time Systems Symposium, 2002. RTSS 2002..