Skip to main content

Cache sensitive pre-runtime scheduling

  • Refereed Papers
  • Conference paper
  • First Online:
Languages, Compilers, and Tools for Embedded Systems (LCTES 1998)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1474))

Included in the following conference series:

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).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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. 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. 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. 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. 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. 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. Christian Ferdinand. Cache Behavior Prediction for Real-Time Systems. PhD thesis, Universität des Saarlandes, September 1997.

    Google Scholar 

  8. J. Hennessy and D. Patterson. Computer Architecture: A Quantitative Approach. Morgan Kaufmann, second edition, 1996.

    Google Scholar 

  9. M. Joseph and P. Pandya. Finding Response Times in a Real-Time System. The BCS Computer Journal, 29(5):390–395, January 1986.

    Article  MathSciNet  Google Scholar 

  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. 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.

    Article  Google Scholar 

  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. 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. F. Mueller. Static Cache Simulation and its Applications. PhD thesis, Florida State University, July 1994.

    Google Scholar 

  15. P. Puschner and Ch. Koza. Calculating the Maximum Execution Time of Real-Time Programs. Real-Time Systems, 2(1):159–176, September 1989.

    Article  Google Scholar 

  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.

    Article  MathSciNet  Google Scholar 

  17. Stephan Thesing, Florian Martin, Oliver Lauer, and Martin Alt. PAG: User’s Manual. Universität des Saarlandes, 1997.

    Google Scholar 

  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.

    Article  Google Scholar 

  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.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Frank Mueller Azer Bestavros

Rights and permissions

Reprints 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

Publish with us

Policies and ethics