skip to main content
article

Scalable precision cache analysis for real-time software

Authors Info & Claims
Published:01 September 2007Publication History
Skip Abstract Section

Abstract

Caches are needed to increase the processor performance, but the temporal behavior is difficult to predict, especially in embedded systems with preemptive scheduling. Current approaches use simplified assumptions or propose complex analysis algorithms to bound the cache-related preemption delay. In this paper, a scalable preemption delay analysis for associative instruction caches to control the analysis precision and the time-complexity is proposed. An accurate preemption delay calculation is integrated into a cache-aware schedulability analysis. The framework is evaluated in several experiments.

References

  1. Aho, A. V., Sethi, R., and Ullman, J. 1988. Compilers: Principles, Techniques and Tools. Addison-Wesley, Reading, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Audsley, N. C., Burns, A., Richardson, M. F., and Wellings, A. J. 1991. Hard real-time scheduling: The deadline monotonic approach. In Proceedings 8th IEEE Workshop on Real-Time Operating Systems and Software. IEEE, Los Alamitos, CA.Google ScholarGoogle Scholar
  3. Basumallick, S. and Nilsen, K. 1994. Cache issues in real-time systems. In Workshop on Language, Compiler and Tool Support for Real-Time Systems. ACM SIGPLAN, Orlando, FL.Google ScholarGoogle Scholar
  4. Busquets, J. V., Serrano, J. J., and Wellings, A. 1997. Hybrid instruction cache partitioning for preemptive real-time systems. In Euromicro Workshop on Real-Time Systems. IEEE Los Alamitos, CA.Google ScholarGoogle Scholar
  5. Busquets-Mataix, J. V. and Wellings, A. 1996. Adding instruction cache effect to schedulability analysis of preemptive real-time systems. In Proceedings of the IEEE Real-Time Technology and Applications Symposium. IEEE, Los Alamitos, CA. 204--212. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Busquets-Mataix, J. V., Gil, D., Gil, P., and Wellings, A. 2000. Techniques to increase the schedulable utilization of cache-based preemptive real-time systems. Journal of System Architecture 46, 357--378. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Campoy, A., Puaut, I., Ivars, A., and Mataix-Busquets, J. 2005. Cache contents selection for statically-locked instruction caches: An algorithm comparison. In Euromicro Conference on Real-Time Systems. Palma de Mallorca, Spain. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Campoy, M., Ivars, A. P., and Busquets-Mataix, J. V. 2001. Static use of locking caches in multitask preemptive real-time systems. In IEEE Real-Time Embedded System Workshop.Google ScholarGoogle Scholar
  9. Cormen, T. H., Leiserson, C. E., and Rivest, R. L. 1997. Introduction to Algorithms. MIT Press, Cambridge, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Corti, M., Brega, R., and Gross, T. 2000. Approximation of worst-case execution time for preemptive multitasking systems. In ACM SIGPLAN Workshop on Languages, Compilers, and Tools for Embedded Systems. Vancouver, Canada. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Datta, A., Choudhury, S., Basu, A., Tomiyama, H., and Dutt, N. 2001. Satisfying timing constraints of preemptive real-time tasks through task layout technique. In IEEE VLSI Design. 97--102. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Infineon. 2004. Tricore manual http://www.infineon.com.Google ScholarGoogle Scholar
  13. Joseph, M. and Pandya, P. 1986. Finding response times in a real-time system. The Computer Journal (British Computer Society) 29, 390--395.Google ScholarGoogle ScholarCross RefCross Ref
  14. Kirk, D. B. 1989. SMART(strategic memory allocation for real-tim) cache design. In Real-Time Systems Symposium. IEEE Computer Society Press, Los Alamitos, CA. 229--239.Google ScholarGoogle Scholar
  15. Lee, C.-G., Hahn, J., and et al., Y.-M. S. 1998. Analysis of cache-related preemption delay in fixed-priority preemptive scheduling. IEEE Transactions on Computers 47, 6 (June), 700--713. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Lee, C.-G., Lee, K., and et al., J. H. 2001. Bounding cache-related preemption delay for real-time systems. IEEE Transactions on Software Engineering 27, 9 (Nov.), 805--826. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Lehoczky, J., Sha, L., and Ding, Y. 1989. The rate monotonic scheduling algorithm: Exact characterization and average case behavior. In Proc. 10th Real-Time Systems Symposium. IEEE, Los Alamitos, CA. 166--171.Google ScholarGoogle Scholar
  18. Liedtke, J., Härtig, H., and Hohmuth, M. 1997. Os-controlled cache predictability for real-time systems. In IEEE Real-Time and Embedded Technology and Applications Symposium. Montreal, Canada. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Liu, C. L. and Layland, J. W. 1973. Scheduling algorithms for multiprogramming in a hard real-time environment. Journal ACM 20, 1 (Jan.), 46--61. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Mitra, T., Negi, H. S., and Roychoudhury, A. 2003. Accurate estimation of cache-related preemption delay. In ACM/IEEE International Symposium on Hardware/Software Codesign and System Synthethis (CODES+ISSS). Newport Beach, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Mogul, J. C. and Borg, A. 1991. The effect of context switches on cache performance. In Conference on Architectural Support for Programming Languages and Operating Systems. Santa Clara, CA. ACM, New York. 75--84. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Mueller, F. 1995. Compiler support for softwarebased cache partitioning. In ACM SIGPLAN Workshop on Languages, Compilers, and Tools for Real-Time Systems. La Jolla, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Mueller, F. 2000. Timing analysis for instruction caches. Real-Time Systems Journal 18, 2/3 (May), 209--239. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Panda, P. R., Dutt, N. D., and Nicolau, A. 1999. Memory Issues in Embedded Systems-On-Chip: Optimizations and Exploration. Kluwer Academic Publ. Norwell, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Petters, S. M. and Färber, G. 2001. Scheduling analysis with respect to hardware related preemption delay. In Workshop on Real-Time Embedded Systems (Satellite Workshop of IEEE Real-Time Systems Symposium). London, UK.Google ScholarGoogle Scholar
  26. Puaut, I. and Decotigny, D. 2002. Low-complexity algorihtms for static cache locking in multitasking hard real-time systems. In IEEE Real-Time Systems Symposium. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Ramaprasad, H. and Mueller, F. 2005. Bounding worst-case data cache behavior by analytically deriving cache reference patterns. In IEEE Real-Time and Embedded Technology and Applications Symposium. 148--157. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Ramaprasad, H. and Mueller, F. 2006. Bounding preemption delay within data cache reference patterns for real-time tasks. In Real-Time and Embedded Technology and Applications Symposium. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Schneider, J. 2000. Cache and pipeline sensitive fixed priority scheduling for preemptive real-time systems. In 21st IEEE Real-Time Systems Symposium. 195--204.Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Sebek, F. 2001. Measuring cache related pre-emption delay on a multiprocessor real-time system. In Real-Time Embedded Systems Workshop. London.Google ScholarGoogle Scholar
  31. Stappert, F. 2003. Wcet benchmarks. http://www.c-lab.de/home/de/people/people.php?id=Stappert_Friedhelm_00.Google ScholarGoogle Scholar
  32. Staschulat, J. and Ernst, R. 2004. Multiple process execution in cache related preemption delay analysis. In International Workshop on Embedded Software (EMSOFT). Pisa, Italy. ACM, New York. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Staschulat, J. and Ernst, R. 2006. Worst case timing analysis of input dependent data cache behavior. In Euromicro Conference on Real-Time Systems. Dresden, Germany. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Staschulat, J., Schliecker, S., and Ernst, R. 2005. Scheduling analysis of real-time systems with precise modeling of cache related preemption delay. In EUROMICRO Conference on Real-Time Systems. Palma de Mallorca, Spain. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Tindell, K., Burns, A., and Wellings, A. 1994. An extendible approach for analysing fixed priority hard real-time systems. Journal of Real-Time Systems 6, 2 (Mar.), 133--152. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Vera, X., Lisper, B., and Xue, J. 2003. Data caches in multitasking hard real-time systems. In IEEE Real-Time Systems Symposium. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Scalable precision cache analysis for real-time software

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!