Abstract
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.
This work was done while both authors were members of the Graduiertenkolleg “Effizienz und Komplexität von Algorithmen und Rechenanlagen” (supported by the DFG).
Preview
Unable to display preview. Download preview PDF.
References
Martin Alt, Christian Ferdinand, Florian Martin, and Reinhard Wilhelm. Cache Behavior Prediction by Abstract Interpretation. SAS’96 Static Analysis Symposium, 1996.
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.
P. Bratley, M. Florian, and P. Robillard. Scheduling with Earliest Start and Due Date Constraints. Naval Res. Logist. Quart., 18:511–517, 1971.
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.
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.
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.
Christian Ferdinand. Cache Behavior Prediction for Real-Time Systems. PhD thesis, Universität des Saarlandes, September 1997.
J. Hennessy and D. Patterson. Computer Architecture: A Quantitative Approach. Morgan Kaufmann, second edition, 1996.
M. Joseph and P. Pandya. Finding Response Times in a Real-Time System. The BCS Computer Journal, 29(5):390–395, January 1986.
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.
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.
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.
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.
F. Mueller. Static Cache Simulation and its Applications. PhD thesis, Florida State University, July 1994.
P. Puschner and Ch. Koza. Calculating the Maximum Execution Time of Real-Time Programs. Real-Time Systems, 2(1):159–176, September 1989.
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.
Stephan Thesing, Florian Martin, Oliver Lauer, and Martin Alt. PAG: User’s Manual. Universität des Saarlandes, 1997.
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.
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.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kästner, D., Thesing, S. (1998). Cache sensitive pre-runtime scheduling. In: Mueller, F., Bestavros, A. (eds) Languages, Compilers, and Tools for Embedded Systems. LCTES 1998. Lecture Notes in Computer Science, vol 1474. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0057786
Download citation
DOI: https://doi.org/10.1007/BFb0057786
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65075-1
Online ISBN: 978-3-540-49673-1
eBook Packages: Springer Book Archive