Cache sensitive pre-runtime scheduling
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.
- Martin Alt, Christian Ferdinand, Florian Martin, and Reinhard Wilhelm. Cache Behavior Prediction by Abstract Interpretation. SAS’96 Static Analysis Symposium, 1996.Google Scholar
- 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
- 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
- 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
- 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
- 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
- Christian Ferdinand. Cache Behavior Prediction for Real-Time Systems. PhD thesis, Universität des Saarlandes, September 1997.Google Scholar
- J. Hennessy and D. Patterson. Computer Architecture: A Quantitative Approach. Morgan Kaufmann, second edition, 1996.Google Scholar
- 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
- 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
- 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
- F. Mueller. Static Cache Simulation and its Applications. PhD thesis, Florida State University, July 1994.Google Scholar
- Stephan Thesing, Florian Martin, Oliver Lauer, and Martin Alt. PAG: User’s Manual. Universität des Saarlandes, 1997.Google Scholar