Academia.eduAcademia.edu

Outline

Data caches in multitasking hard real-time systems

2003, Proceedings. 2003 International Symposium on System-on-Chip (IEEE Cat. No.03EX748)

Abstract

Data caches are essential in modern processors, bridging the widening gap between main memory and processor speeds. However, they yield very complex performance models, which makes it hard to bound execution times tightly.

References (48)

  1. M. Alt, C. Ferdinand, F. Martin, and R. Wilhelm. Cache be- haviour prediction by abstract interpretation. In Proceed- ings of Static Analysis Symposium (SAS'96), Lecture Notes in Computer Science (LNCS) 1145, pages 52-66. Springer- Verlag, Sep. 1996.
  2. R. Arnold, F. Müeller, D. Whalley, and M. Harmon. Bound- ing worst-case instruction cache performance. In Proceed- ings of 15th Real-Time Systems Symposium (RTSS'94), pages 172-181, 1994.
  3. S. Basumallick and K. Nielsen. Cache issues in real-time systems. In Proceedings ACM Workshop on Languages, Compilers and Tools for Real-Time Systems (LCTES'94), Jun. 1994.
  4. N. Bermudo, X. Vera, A. González, and J. Llosa. An efficient solver for cache miss equations. In Proceedings of IEEE In- ternational Symposium on Performance Analysis of Systems and Software (ISPASS'00), 2000.
  5. A. Burns, K. Tindell, and A. Wellings. Effective analysis for engineering real-time fixed priority schedulers. IEEE Trans- actions on Software Engineering, 21:475-480, 1995.
  6. A. Burns and A. Wellings. The impact of an Ada run-time system's performance characteristics on scheduling models. In Proceedings of 12th Ada-Europe International Confer- ence, pages 240-248, Jun. 1993.
  7. J. V. Busquets-Mataix, J. J. Serrano, R. .Ors, P. Gil, and A. Wellings. Adding instruction cache effect to schedula- bility analysis of preemptive real-time systems. In Proceed- ings of 2nd Real-Time Technology and Applications Sympo- sium (RTAS'96), Jun. 1996.
  8. J. V. Busquets-Mataix, J. J. Serrano, and A. Wellings. Hybrid instruction cache partitioning for preemptive real-time sys- tems. In Proceedings of 9th Euromicro Workshop on Real- Time Systems (EUROMICRO-RTS'97), Jun. 1997.
  9. M. Campoy, A. P. Ivars, and J. V. Busquets-Mataix. Static use of locking caches in multitask preemptive real-time sys- tems. In Proceedings of IEEE/IEE Real-Time Embedded Systems Workshop (Satellite of the IEEE Real-Time Systems Symposium), 2001.
  10. S. Carr and K. Kennedy. Compiler blockability of numeri- cal algorithms. In Proceedings of Supercomputing (SC'92), pages 114-124, Nov. 1992.
  11. A. Ermedahl and J. Gustafsson. Deriving annotations for tight calculation of execution time. In Proceedings of Euro- Par (EUROPAR'97), pages 1298-1307, Aug. 1997.
  12. P. Feautrier. Automatic parallelization in the polytope model. In G. R. Perrin and A. Darte, editors, The Data Parallel Pro- gramming Model, Lecture Notes in Computer Science 1132, pages 79-103. Springer Verlag, 1996.
  13. C. Ferdinand and R. Wilhelm. Efficient and precise cache be- havior prediction for real-time systems. Real-Time Systems, 17:131-181, 1999.
  14. S. Ghosh. Compiler Analysis Framework for tuning memory behavior. PhD thesis, Princeton University, Nov. 1999.
  15. S. Ghosh, M. Martonosi, and S. Malik. Cache miss equa- tions: a compiler framework for analyzing and tuning mem- ory behavior. ACM Transactions on Programming Lan- guages and Systems (TOPLAS), 21(4):703-746, 1999.
  16. J. Gustafsson. Analyzing Execution Time of Object-Oriented Programs Using Abstract Interpretation. PhD thesis, Upp- sala University, May 2000.
  17. C. A. Healey, D. Whalley, and M. Harmon. Integrating the timing analysis of pipelining and instruction caching. In Pro- ceedings of 16th Real-Time Systems Symposium (RTSS'95), pages 288-297, 1995.
  18. IBM Microelectronics Division. The PowerPC 440 core, 1999.
  19. K. Jeffay and D. L. Stone. Accounting for interrupt han- dling costs in dynamic priority task systems. In Proceed- ings of 14th Real-Time Systems Symposium (RTSS'93), pages 212-221, Dec. 1993.
  20. M. Joseph and P. Pandya. Finding response times in a real- time system. The Computer Journal, 29(5):390-395, 1986.
  21. A. I. Katcher, H. Arakawa, and J. K. Strosnider. Engineering and analysis of fixed priority schedulers. IEEE Transactions on Software Engineering, 19:920-934, 1993.
  22. S. K. Kim, S. L. Min, and R. Ha. Efficient worst case timing analysis of data caching. In Proceedings of IEEE Real-Time Technology and Applications Symposium (RTAS'96), 1996.
  23. D. B. Kirk. SMART (strategic memory allocation for real- time) cache design. In Proceedings of 10th Real-Time Sys- tems Symposium (RTSS'89), Dec. 1989.
  24. M. Lam, E. E. Rothberg, and M. E. Wolf. The cache per- formance of blocked algorithms. In Proceedings of IV Inter- national Conference on Architectural Support for Program- ming Languages and Operating Systems (ASPLOS'91), Apr. 1991.
  25. C. G. Lee, J. Hahn, Y. M. Seo, 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. IEEE Transaction on Computers, 47, 1998.
  26. Y. T. S. Li, S. Malik, and A. Wolfe. Efficient microar- chitecture modeling and path analysis for real-time soft- ware. In Proceedings of 16th Real-Time Systems Symposium (RTSS'95), pages 298-307, 1995.
  27. Y. T. S. Li, S. Malik, and A. Wolfe. Cache modeling and path analysis for real-time software. In Proceedings of 17th Real- Time Systems Symposium (RTSS'96), 1996.
  28. J. Liedtke, H. Härtig, and M. Hohmuth. OS-controlled cache predictability for real-time systems. In Proceedings of 3rd IEEE Real-Time Technology and Applications Symposium (RTAS'97), 1997.
  29. S. S. Lim, Y. H. Bae, G. T. Jang, B. D. Rhee, S. L. Min, C. Y. Park, H. Shin, K. Park, and C. S. Kim. An accurate worst case timing analysis technique for RISC processors. In Pro- ceedings of 15th Real-Time Systems Symposium (RTSS'94), pages 97-108, 1994.
  30. T. Lundqvist and P. Stenström. A method to improve the es- timated worst-case performance of data caching. In Proceed- ings of the 6th International Conference on Real-Time Com- puting Systems and Applications (RTCSA'99), pages 255- 262, Dec. 1999.
  31. T. Lundqvist and P. Stenström. Timing anomalies in dynam- ically scheduled microprocessors. In Proceedings of 20th Real-Time Systems Symposium (RTSS'99), Dec. 1999.
  32. The SUIF Compiler Group. SUIF: An infrastructure for research on parallelizing and optimizing compilers. http://suif.stanford.edu.
  33. Motorola Inc. PowerPC 604e RISC Microprocessor Techni- cal Summary, 1996.
  34. F. Müeller. Compiler support for software-based cache parti- tioning. In Proceedings ACM Workshop on Languages, Com- pilers and Tools for Real-Time Systems (LCTES'95), Jun. 1995.
  35. I. Puaut and D. Decotigny. Low-complexity algorithms for static cache locking in multitasking hard real-time sys- tems. In Proceedings of 23th Real-Time Systems Symposium (RTSS'02), Dec. 2002.
  36. G. Rivera and C.-W. Tseng. Data transformations for elim- inating conflict misses. In Proceedings of ACM SIGPLAN Conference on Programming Language Design and Imple- mentation (PLDI'98), pages 38-49, 1998.
  37. O. Temam, E. Granston, and W. Jalby. To copy or not to copy: A compile-time technique for accessing when data copying should be used to eliminate cache conflicts. In Pro- ceedings of Supercomputing (SC'93), pages 410-419, 1993.
  38. K. Tindell, A. Burns, and A. Wellings. An extendible ap- proach for analysing fixed priority hard real-time tasks. Real- Time Systems, 6(1):133-151, 1994.
  39. X. Vera. Coyote project: The simulator. Technical Report MRTC Report 95/2003, Mälardalens Högskola, Apr. 2003.
  40. X. Vera, J. Abella, A. González, and J. Llosa. Optimizing program locality through CMEs and GAs. In Proceedings of 12th International Conference on Parallel Architectures and Compilation Techniques (PACT'03), New Orleans, Sept. 2003.
  41. X. Vera, N. Bermudo, J. Llosa, and A. González. A fast and accurate framework to analyze and optimize cache memory behavior. ACM Transactions on Programming Languages and Systems (TOPLAS), To Appear.
  42. X. Vera, B. Lisper, and J. Xue. Data cache locking for higher program predictability. In Proceedings of International Con- ference on Measurement and Modeling of Computer Systems (SIGMETRICS'03), pages 272-282, Jun. 2003.
  43. X. Vera, J. Llosa, A. González, and N. Bermudo. A fast and accurate approach to analyze cache memory behavior. In Proceedings of European Conference on Parallel Comput- ing (Europar'00), 2000.
  44. X. Vera and J. Xue. Let's study whole program cache be- haviour analytically. In Proceedings of International Sympo- sium on High-Performance Computer Architecture (HPCA 8), Cambridge, Feb. 2002.
  45. R. T. White, F. Müeller, C. Healy, D. Whalley, and M. Har- mon. Timing analysis for data caches and set-associative caches. In Proceedings of Third IEEE Real-Time Technol- ogy and Applications Symposium (RTAS'97), pages 192- 202, 1997.
  46. M. Wolf and M. Lam. A data locality optimizing algo- rithm. In Proceedings of ACM SIGPLAN Conference on Pro- gramming Language Design and Implementation (PLDI'91), pages 30-44, Jun. 1991.
  47. A. Wolfe. Software-based cache partitioning for real-time applications. In Proceedings of the 3rd International Work- shop on Responsive Computer Systems, 1993.
  48. J. Xue and X. Vera. Efficient and accurate analytical mod- eling of whole-program data cache behavior. IEEE Transac- tions on Computers, To Appear.