Bounding Cache-Related Preemption Delay for Real-Time Systems

Cache memory is used in almost all computer systems today to bridge the ever increasing speed gap between the processor and main memory. However, its use in multitasking computer systems introduces additional preemption delay due to the reloading of memory blocks that are replaced during preemption. This cache-related preemption delay poses a serious problem in realtime computing systems where predictability is of utmost importance. We propose an enhanced technique for analyzing and thus bounding the cache-related preemption delay in fixed-priority preemptive scheduling focusing on instruction caching. The proposed technique improves upon previous techniques in two important ways. First, the technique takes into account the relationship between a preempted task and the set of tasks that execute during the preemption when calculating the cache-related preemption delay. Second, the technique considers the phasing of tasks to eliminate many infeasible task interactions. These two features are expressed as constraints of a linear programming problem whose solution gives a guaranteed upper bound on the cache-related preemption delay. This paper also compares the proposed technique with previous techniques using randomly generated task sets. The results show that the improvement on the worst-case response time prediction by the proposed technique over previous techniques ranges between 5 percent and 18 percent depending on the cache refill time when the task set utilization is 0.6. The results also show that as the cache refill time increases, the improvement increases, which indicates that accurate prediction of cache-related preemption delay by the proposed technique becomes increasingly important if the current trend of widening speed gap between the processor and main memory continues.

[1]  Jay K. Strosnider,et al.  SMART (strategic memory allocation for real-time) cache design using the MIPS R3000 , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.

[2]  Chang-Gun Lee,et al.  Enhanced analysis of cache-related preemption delay in fixed-priority preemptive scheduling , 1996, Proceedings Real-Time Systems Symposium.

[3]  WellingsAndy,et al.  Effective Analysis for Engineering Real-Time Fixed Priority Schedulers , 1995 .

[4]  Alan Burns,et al.  Effective Analysis for Engineering Real-Time Fixed Priority Schedulers , 1995, IEEE Trans. Software Eng..

[5]  John P. Lehoczky,et al.  The rate monotonic scheduling algorithm: exact characterization and average case behavior , 1989, [1989] Proceedings. Real-Time Systems Symposium.

[6]  Andrew Wolfe,et al.  Software-based cache partitioning for real-time applications , 1994 .

[7]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[8]  Hongyi Zhou,et al.  Dynamic Scheduling of Hard Real-Time Tasks and Real-Time Threads , 1992, IEEE Trans. Software Eng..

[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]  D. B. Kirk,et al.  SMART (strategic memory allocation for real-time) cache design , 1989, [1989] Proceedings. Real-Time Systems Symposium.

[11]  L. A. G. Dresel,et al.  Elementary Numerical Analysis , 1966 .

[12]  Alan Burns,et al.  The Impact of an Ada Run-Time System's Performance Characteristics on Scheduling Models , 1993, Ada-Europe.

[13]  Jay K. Strosnider,et al.  Engineering and Analysis of Fixed Priority Schedulers , 1993, IEEE Trans. Software Eng..

[14]  Samuel D. Conte,et al.  Elementary Numerical Analysis , 1980 .

[15]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

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

[17]  C. Burrus,et al.  DFT/FFT and Convolution Algorithms: Theory and Implementation , 1991 .

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

[19]  Jochen Liedtke,et al.  OS-controlled cache predictability for real-time systems , 1997, Proceedings Third IEEE Real-Time Technology and Applications Symposium.

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

[21]  Samuel D. Conte,et al.  Elementary Numerical Analysis: An Algorithmic Approach , 1975 .

[22]  John P. Lehoczky,et al.  Fixed priority scheduling of periodic task sets with arbitrary deadlines , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.

[23]  David A. Patterson,et al.  Computer architecture (2nd ed.): a quantitative approach , 1996 .

[24]  James H. Anderson,et al.  A framework for implementing objects and scheduling tasks in lock-free real-time systems , 1996, 17th IEEE Real-Time Systems Symposium.

[25]  Maryline Chetto,et al.  Some Results of the Earliest Deadline Scheduling Algorithm , 1989, IEEE Transactions on Software Engineering.

[26]  H. Stone Discrete Mathematical Structures and Their Applications , 1973 .

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

[28]  Sharad Malik,et al.  Efficient microarchitecture modeling and path analysis for real-time software , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

[29]  Kevin Jeffay,et al.  Accounting for interrupt handling costs in dynamic priority task systems , 1993, 1993 Proceedings Real-Time Systems Symposium.

[30]  Jane W.-S. Liu,et al.  A method for bounding the effect of DMA I/O interference on program execution time , 1996, 17th IEEE Real-Time Systems Symposium.

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