Bounding the Effects of Resource Access Protocols on Cache Behavior

The assumption of task independence has long been consubstantial with the formulation of many schedulability analysis techniques. That assumption is evidently advantageous for the mathematical formulation of the analysis equations, but ill fit to capture the actual behavior of the system. Resource sharing is one of the system design dimensions that break the assumption of task independence. By shaking the very foundations of the real-time analysis theory, the advent of multicore systems has caused resurgence of interest in resource sharing and synchronization protocols, and also dawned the fact that the assumption of task independence may be forever broken. Research in cache-aware schedulability analysis instead has paid very little attention to the impact that synchronization protocols may have on cache behavior. A blocked task may in fact incur time penalties similar in kind to those caused by preemption, in that some useful code or data already loaded in the cache may be evicted while the task is blocked. In this paper we characterize the sources of cache-related blocking delay (CRBD). We then provide a bound on the CRBD for three synchronization protocols of interest. The comparison between these bounds provides striking evidence that an informed choice of the synchronization protocol helps contain the perturbing effects of blocking on the cache state.

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

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

[3]  Chang-Gun Lee,et al.  Bounding Cache-Related Preemption Delay for Real-Time Systems , 2001, IEEE Trans. Software Eng..

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

[5]  Theodore P. Baker,et al.  Stack-based scheduling of realtime processes , 1991, Real-Time Systems.

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

[7]  Jan Staschulat,et al.  Scalable precision cache analysis for preemptive scheduling , 2005, LCTES '05.

[8]  Yudong Tan,et al.  Integrated Intra- and Inter-task Cache Analysis for Preemptive Multi-tasking Real-Time Systems , 2004, SCOPES.

[9]  Frank Mueller,et al.  Bounding Worst-Case Response Times of Tasks under PIP , 2009, 2009 15th IEEE Real-Time and Embedded Technology and Applications Symposium.

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

[11]  Victor Yodaiken,et al.  Against priority inheritance , 2004 .

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

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

[14]  Lui Sha,et al.  Priority Inheritance Protocols: An Approach to Real-Time Synchronization , 1990, IEEE Trans. Computers.