Complexity of scheduling real-time tasks subjected to cache-related preemption delays

We consider the computational complexity problems of scheduling hard real-time tasks subjected to cache-related preemption delays upon uniprocessor platforms. Several schedulability analyses have been proposed in the literature to explicitly take into account preemption delays due to loss of cache affinity. But, these previous results do not study the complexity of taking scheduling decisions under preemption delay constraints and only focus on classical real-time schedulers (e.g., Rate Monotonic, Earliest Deadline First). In this paper, we focus on the computational complexity of taking scheduling decisions to meet task deadlines while minimizing cache-related preemption delay effects. We design two basic cache-related scheduling problems that are the most simple NP-hard problems to cover the largest set of intractable real-world cache-related scheduling problems. We establish several NP-hardness results for preemptive systems. These results prove that tighter timing analysis leads in practice to harder real-time scheduling problems. These two basic NP-hard scheduling problems are the following: (i) scheduling with cache-related preemption delays and (ii) scheduling with information about the cache state and the sequence of requested memory blocks for every task. We also prove for the first problem that neither fixed-task nor fixed-job priority-based scheduling algorithms can be optimal.

[1]  Charles U. Martel,et al.  On non-preemptive scheduling of period and sporadic tasks , 1991, [1991] Proceedings Twelfth Real-Time Systems Symposium.

[2]  Daniel Grund,et al.  Computation takes time, but how much? , 2014, CACM.

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

[4]  Jörn Schneider Cache and pipeline sensitive fixed priority scheduling for preemptive real-time systems , 2000, Proceedings 21st IEEE Real-Time Systems Symposium.

[5]  Nikil D. Dutt,et al.  Program path analysis to bound cache-related preemption delay in preemptive real-time systems , 2000, Proceedings of the Eighth International Workshop on Hardware/Software Codesign. CODES 2000 (IEEE Cat. No.00TH8518).

[6]  Giorgio C. Buttazzo,et al.  Limited Preemptive Scheduling for Real-Time Systems. A Survey , 2013, IEEE Transactions on Industrial Informatics.

[7]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[8]  Kelvin D. Nilsen,et al.  Cache Issues in Real-Time Systems , 1994 .

[9]  Stefan M. Petters,et al.  Preemption delay analysis for floating non-preemptive region scheduling , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

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

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

[12]  Stefan M. Petters,et al.  Job Phasing Aware Preemption Deferral , 2011, 2011 IFIP 9th International Conference on Embedded and Ubiquitous Computing.

[13]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

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

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

[16]  Kang G. Shin,et al.  Preempt a Job or Not in EDF Scheduling of Uniprocessor Systems , 2014, IEEE Transactions on Computers.

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

[18]  Tao Jiang,et al.  On the Approximation of Shortest Common Supersequences and Longest Common Subsequences , 1995, SIAM J. Comput..

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

[20]  Giorgio C. Buttazzo,et al.  Optimal Selection of Preemption Points to Minimize Preemption Overhead , 2011, 2011 23rd Euromicro Conference on Real-Time Systems.

[21]  David Maier,et al.  The Complexity of Some Problems on Subsequences and Supersequences , 1978, JACM.

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

[23]  Richard M. Karp,et al.  Reducibility among combinatorial problems" in complexity of computer computations , 1972 .

[24]  John L. Bruno,et al.  Complexity of Task Sequencing with Deadlines, Set-Up Times and Changeover Costs , 1978, SIAM J. Comput..

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

[26]  James H. Anderson,et al.  On the Design and Implementation of a Cache-Aware Multicore Real-Time Scheduler , 2009, 2009 21st Euromicro Conference on Real-Time Systems.

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