Cache sensitive pre-runtime scheduling

  • Daniel Kästner
  • Stephan Thesing
Refereed Papers
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1474)


We present a novel pre-runtime scheduling method for uniprocessors which precisely incorporates the effects of task switching on the processor cache into its decisions. Tasks are modelled as a sequence of non preemtable segments with precedence constraints. The cache behavior of each task segment is statically determined by abstract interpretation. For the sake of efficiency, the scheduling algorithm uses a heuristically guided search strategy. Each time a new task segment is added to a partial schedule, its worst case execution time is calculated based on the cache state at the end of the preceding partial schedule.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Martin Alt, Christian Ferdinand, Florian Martin, and Reinhard Wilhelm. Cache Behavior Prediction by Abstract Interpretation. SAS’96 Static Analysis Symposium, 1996.Google Scholar
  2. [2]
    S. Basumallick and K. Nilsen. Cache Issues in Real-Time Systems. In Proceedings of the ACM SIGPLAN Workshop on Language, Compiler and Tool Support for Real-Time Systems, June 1994.Google Scholar
  3. [3]
    P. Bratley, M. Florian, and P. Robillard. Scheduling with Earliest Start and Due Date Constraints. Naval Res. Logist. Quart., 18:511–517, 1971.Google Scholar
  4. [4]
    Jose Busquets-Mataix, Juan J. Serrano, Rafael Ors, Pedro Gil, and Andy Wellings. Adding Instruction Cache Effect to Schedulability Analysis of Preemptive Real-Time Systems. In Proceedings of the 2nd Real-Time Technology and Applications Symposium, pages 204–212. IEEE Computer Society Press, june 1996.Google Scholar
  5. [5]
    Patrik Cousot and Radhia Cousot. A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In Conference Record of the 4th ACM Symposium on Principles of Programming Languages, pages 238–252, Los Angeles, CA, January 1977.Google Scholar
  6. [6]
    Christian Ferdinand, Florian Martin, and Reinhard Wilhelm. Applying Compiler Techniques to Cache Behavior Prediction. In Proceedings of the ACM SIGPLAN Workshop on Language, Compiler and Tool Support for Real-Time Systems, pages 37–46, June 1997.Google Scholar
  7. [7]
    Christian Ferdinand. Cache Behavior Prediction for Real-Time Systems. PhD thesis, Universität des Saarlandes, September 1997.Google Scholar
  8. [8]
    J. Hennessy and D. Patterson. Computer Architecture: A Quantitative Approach. Morgan Kaufmann, second edition, 1996.Google Scholar
  9. [9]
    M. Joseph and P. Pandya. Finding Response Times in a Real-Time System. The BCS Computer Journal, 29(5):390–395, January 1986.MathSciNetCrossRefGoogle Scholar
  10. [10]
    C.-G. Lee, J. Hahn, Seo Y.-M., S. L. Min, R. Ha, S. Hong, C. Y. Park, M. Lee, and C. S. Kim. Analysis of Cache-related Preemption Delay in Fixed-priority Preemptive Scheduling. In Proceedings of the 16th Real-Time Systems Symposium, 1996.Google Scholar
  11. [11]
    S.-S. Lim, Y.H. Bae, G.T. Jang, B.-D. Rhee, S.L. Min, C.Y. Park, H. Shin, K. Park, S.-M. Moon, and C.S. Kim. An Accurate Worst Case Timing Analysis for RISC Processors. IEEE Transactions on Software Engineering, 21(7):593–604, July 1995.CrossRefGoogle Scholar
  12. [12]
    Y.-T. S. Li, S. Malik, and A. Wolfe. Efficient Microarchitecture Modeling and Path Analysis for Real-Time Software. In Proceedings of the 16th IEEE Real-Time Systems Symposium, pages 298–307, December 1995.Google Scholar
  13. [13]
    F. Mueller, D.B. Whalley, and M. Harmon. Predicting Instruction Cache Behavior. In Proceedings of the ACM SIGPLAN Workshop on Language, Compiler and Tool Support for Real-Time Systems, 1994.Google Scholar
  14. [14]
    F. Mueller. Static Cache Simulation and its Applications. PhD thesis, Florida State University, July 1994.Google Scholar
  15. [15]
    P. Puschner and Ch. Koza. Calculating the Maximum Execution Time of Real-Time Programs. Real-Time Systems, 2(1):159–176, September 1989.CrossRefGoogle Scholar
  16. [16]
    L. Sha, R. Rajkumar, and J.P. Lehoczky. Priority Inheritance Protocols: An Approach to Real-Time-Synchronisation. IEEE Transactions on Computers, 39(9):1175–1185, September 1990.MathSciNetCrossRefGoogle Scholar
  17. [17]
    Stephan Thesing, Florian Martin, Oliver Lauer, and Martin Alt. PAG: User’s Manual. Universität des Saarlandes, 1997.Google Scholar
  18. [18]
    K. Tindell, A. Burns, and A. Wellings. An Extensible Approach for Analyzing Fixed Priority Hard Real-Time Tasks. The Journal of Real-Time Systems, 6(2):133–151, March 1994.CrossRefGoogle Scholar
  19. [19]
    Jia Xu and David Lorge Parnas. Scheduling Processes with Release Times, Deadlines, Precedence, and Exclusion Relations. IEEE Transactions on Software Engineering, 16(3):360–369, March 1990.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • Daniel Kästner
    • 1
  • Stephan Thesing
    • 1
  1. 1.Fachbereich InformatikUniversität des SaarlandesSaarbrückenGermany

Personalised recommendations