This Article 
 Bibliographic References 
 Add to: 
Analysis of Cache-Related Preemption Delay in Fixed-Priority Preemptive Scheduling
June 1998 (vol. 47 no. 6)
pp. 700-713

Abstract—We propose a technique for analyzing cache-related preemption delays of tasks that cause unpredictable variation in task execution time in the context of fixed-priority preemptive scheduling. The proposed technique consists of two steps. The first step performs a per-task analysis to estimate cache-related preemption cost for each execution point in a given task. The second step computes the worst case response time of each task that includes the cache-related preemption delay using a response time equation and a linear programming technique. This step takes as its input the preemption cost information of tasks obtained in the first step. This paper also compares the proposed approach with previous approaches. The results show that the proposed approach gives a prediction of the worst case cache-related preemption delay that is up to 60 percent tighter than those obtained from the previous approaches.

[1] H. Chetto and M. Chetto, “Some Results of the Earliest Deadline Scheduling Algorithm,” IEEE Trans. Software Eng., vol. 15, no. 10, pp. 1,261-1,269, Oct. 1989.
[2] M. Joseph and P. Pandya, "Finding Response Times in a Real-Time System," BCS Computer J., vol. 29, no. 5, pp. 390-395, Oct. 1986.
[3] J. Lehoczky, L. Sha, and Y. Ding, The Rate Monotonic Scheduling Algorithm: Exact Characterization and Average Case Behavior Proc. IEEE Real-Time Systems Symp., pp. 166-171, 1989.
[4] C.L. Liu and J.W. Layland, “Scheduling Algorithms for Multiprogramming in a Hard Real-Time Environment,” J. ACM, vol. 20, no. 1, pp. 40-61, 1973.
[5] K. Schwan and H. Zhou, “Dynamic Scheduling of Hard Real-Time Tasks and Real-Time Threads,” IEEE Trans. Software Eng., vol. 18, no. 8, pp. 736–748, Aug. 1992.
[6] K. Tindell, A. Burns, and A. Wellings, “An Extendible Approach for Analyzing Fixed Priority Hard Real-Time Tasks,” The J. Real-Time Systems, vol. 6, pp. 133–151, Mar. 1994.
[7] A. Burns, K. Tindell, and A. Wellings, “Effective Analysis for Engineering Real-Time Fixed Priority Schedulers,” IEEE Trans. Software Eng., vol. 21, no. 5, pp. 475-480, May 1995.
[8] A. Burns and A. Wellings, “The Impact of an Ada Run-time System's Performance Characteristics on Scheduling Models,” Proc. 12th Ada-Europe Int'l Conf., pp. 240–248, June 1993.
[9] K. Jeffay and D.L. Stone, “Accounting for Interrupt Handling Costs in Dynamic Priority Task Systems,” Proc. IEEE Real-Time System Symp., pp. 212-221, Dec. 1993.
[10] D.I. Katcher, H. Arakawa, and J.K. Strosnider, “Engineering and Analysis of Fixed Priority Schedulers,” IEEE Trans. Software Eng., vol. 19, no. 9, pp. 920–934, Sept. 1993.
[11] J. Hennessy and D. Patterson, Computer Architecture: A Quantitative Approach. Morgan Kaufmann, 1995.
[12] S. Basumallick and K. Nilsen, "Cache Issues in Real-Time Systems," Proc. First ACM SIGPLAN Workshop Language, Compiler, and Tool Support for Real-Time Systems, June 1994.
[13] J.V. Busquets-Mataix, J.J. Serrano-Martin, R. Ors, P. Gil, and A. Wellings, “Adding Instruction Cache Effect to Schedulability Analysis of Preemptive Real-Time Systems,” Proc. Second Real-Time Technology and Applications Symp., June 1996.
[14] D.G. Luenberger, Linear and Nonlinear Programming.Ontario: Addison-Wesley, 1989.
[15] R. Arnold, F. Mueller, D. Whalley, and M. Harmon, “Bounding Worst-Case Instruction Cache Performance,” Proc. 15th IEEE Real-Time Systems Symp., pp. 172-181, Dec. 1994.
[16] C.A. Healy, D.B. Whalley, and M.G. Harmon, “Integrating the Timing Analysis of Pipelining and Instruction Caching,” Proc. 16th IEEE Real-Time Systems Symp., pp. 288-297, Dec. 1995.
[17] Y. Hur, Y.H. Bae, S.S. Lim, S.K. Kim, B.D. Rhee, S.L. Min, C.Y. Park, H. Shin, and C.S. Kim, “Worst Case Timing Analysis of RISC Processors: R3000/R3010 Case Study,” Proc. 16th IEEE Real-Time Systems Symp., pp. 308-321, Dec. 1995.
[18] Y.S. Li, S. Malik, and A. Wolfe, “Efficient Microarchitecture Modeling and Path Analysis for Real-Time Software,” Proc. 16th IEEE Real-Time Systems Symp., pp. 298-307, Dec. 1995.
[19] S. Lim et al., "An Accurate Worst Case Timing Analysis Technique for RISC Processors," Proc. 15th IEEE Real-Time Systems Symp., pp. 97-108,San Juan, Puerto Rico, Dec. 1994.
[20] D.B. Kirk, “SMART (Strategic Memory Allocation for Real-Time) Cache Design,” Proc. 10th Real-Time Systems Symp., pp. 229–237, Dec. 1989.
[21] P. Mishra and M.H. Eich, "Join Processing in Relational Databases," ACM Computing Surveys, vol. 24, no. 1, pp. 64-113, Mar. 1992.
[22] D.B. Kirk, J.K. Strosnider, and J.E. Sasinowski, "Allocating SMART Cache Segments for Schedulability," Proc. Euromicro '91 Workshop Real-Time Systems, pp. 41-50, June 1991.
[23] A. Wolfe, "Software-Based Cache Partitioning for Real-time Applications," Proc. Third Int'l Workshop Responsive Computer Systems, Sept. 1993.
[24] A.V. Aho, R. Sethi, and J.D. Ullman, Compilers, Principles, Techniques and Tools.New York: Addison-Wesley, 1985.
[25] M.S. Hecht and J.D. Ullman, "A Simple Algorithm for Global Data Flow Analysis Problems," SIAM J. Computing, vol. 4, no. 4, pp. 519-532, Dec. 1975.
[26] C.S. Burrus, DFT/FFT and Convolution Algorithm: Theory&Implementation.New York: Wiley, 1984.
[27] S.D. Conte, C. de Boor, Elementary Numerical Analysis, New York: McGraw-Hill, 1987.
[28] P.M. Embree, C Algorithms for Real-Time DSP, Upper Saddle River, N.J.: Prentice Hall, 1995.
[29] P. Puschner and C. Koza, "Calculating the Maximum Execution Time of Real-Time Programs," J. Real-Time Systems, vol. 1, no. 2, pp. 159-176, Sept. 1989.
[30] K.-J. Lin, J.W.S. Liu, K.B. Kenny, and S. Natarajan, "FLEX: A Language for Programming Flexible Real-Time Systems," Foundations of Real-Time Computing: Formal Specifications and Methods, A.M. van Tilborg and G.M. Koob, eds., pp. 251-289. Kluwer Academic, 1990.
[31] C. Park, "Predicting Program Execution Times by Analyzing Static and Dynamic Program Paths," J. Real-Time Systems, vol. 5, no. 1, pp. 31-62, Mar. 1993.
[32] S.-K. Kim, S.L. Min, and R. Ha, "Efficient Worst Case Timing Analysis of Data Caching," Proc. IEEE Second Real-Time Technology and Applications Symp., June 1996.
[33] J. Hahn, "Calculating the Worst Case Preemption Costs of Instruction Cache," MS thesis, Seoul Nat'l Univ., 1996.
[34] N.C. Audsley, "Optimal Priority Assignment and Feasibility of Static Priority Tasks with Arbitrary Start Times," Technical Report YCS-91-164, Real-Time Systems Research Group, Dept. of Computer Science, Univ. of York, Nov. 1991.

Index Terms:
Real-time system, fixed-priority scheduling, cache memory, preemption, schedulability analysis
Chang-Gun Lee, Joosun Hahn, Yang-Min Seo, Sang Lyul Min, Rhan Ha, Seongsoo Hong, Chang Yun Park, Minsuk Lee, Chong Sang Kim, "Analysis of Cache-Related Preemption Delay in Fixed-Priority Preemptive Scheduling," IEEE Transactions on Computers, vol. 47, no. 6, pp. 700-713, June 1998, doi:10.1109/12.689649
Usage of this product signifies your acceptance of the Terms of Use.