ABSTRACT
Multithreaded processors, in the context of real-time systems, create the opportunity to mix, on the same hardware platform, the execution of a complex real-time workload and the execution of non-critical applications. But resources sharing, inherent to multithreading, hinders the timing analysis of concurrent tasks. Such analyses are critical to real-time tasks which have timing deadlines that must be met and enforced.
In this paper, we present the PRETI, Partitioned REal-TIme shared cache scheme, a flexible, low implementation-overhead, shared cache partitioning scheme. PRETI can preclude inter-task conflicts on shared caches, and their pessimistic impact on timing estimates, by allocating private cache space to real-time tasks. Therefore, uniprocessor, i.e. unithread, worst-case execution time (WCET) estimation techniques can be used. The remaining cache space, not reserved for currently running real-time tasks, is shared by all tasks running on the processor, in particular the non-critical ones, enabling high performances for these tasks.
Experiments are presented to show that the PRETI cache scheme allows for easing and guaranteeing the schedulability of a set of real-time tasks with tight timing constraints, and enabling high performance for the non-critical tasks.
- www.recherche.enac.fr/paparazzi.Google Scholar
- S. Chattopadhyay and A. Roychoudhury. Unified cache modeling for WCET analysis and layout optimizations. In IEEE Real-time Systems Symposium (RTSS), 2009. Google ScholarDigital Library
- A. Colin and I. Puaut. A modular and retargetable framework for tree-based WCET analysis. In Euromicro Conference on Real-Time Systems (ECRTS), June 2001. Google ScholarDigital Library
- C. Ferdinand and R. Wilhelm. Efficient and precise cache behavior prediction for real-timesystems. Real-Time Syst., 17(2--3):131--181, 1999. Google ScholarDigital Library
- J. Gustafsson, A. Betts, A. Ermedahl, and B. Lisper. The mälardalen WCET benchmarks - past, present and future. In Proceedings of the 10th International Workshop on Worst-Case Execution Time Analysis, July 2010.Google Scholar
- D. Hardy, T. Piquet, and I. Puaut. Using bypass to tighten WCET estimates for multi-core processors with shared instruction caches. In Proceedings of the 30th Real-Time Systems Symposium, Dec. 2009. Google ScholarDigital Library
- D. Hardy and I. Puaut. WCET analysis of multi-level non-inclusive set-associative instruction caches. In IEEE Real-Time Systems Symposium (RTSS), 2008. Google ScholarDigital Library
- N. Holsti, T. Långbacka, and S. Saarinen. Using a worst-case execution time tool for real-time verification of the debie software. In Proceedings of the DASIA 2000 (Data Systems in Aerospace) Conference, 2000.Google Scholar
- K. Jeffay, D. Stanat, and C. Martel. On non-preemptive scheduling of period and sporadic tasks. In Real-Time Systems Symposium (RTSS). Proceedings, dec 1991.Google ScholarCross Ref
- D. Kaseridis, M. F. Iqbal, J. Stuecheli, and L. K. John. Mcfq: Leveraging memory-level parallelism and application's cache friendliness for efficient management of quasi-partitioned last-level caches. In PACT, 2011. Google ScholarDigital Library
- S. Kim, D. Chandra, and Y. Solihin. Fair cache sharing and partitioning in a chip multiprocessor architecture. In Proceedings of the 13th International Conference on Parallel Architectures and Compilation Techniques, PACT '04, pages 111--122, Washington, DC, USA, 2004. IEEE Computer Society. Google ScholarDigital Library
- D. Kirk. Smart (strategic memory allocation for real-time) cache design. In Real Time Systems Symposium, 1989., Proceedings, Dec 1989.Google Scholar
- B. Lesage, D. Hardy, and I. Puaut. WCET analysis of multi-level set-associative data caches. In 9th Intl. Workshop on Worst-Case Execution Time (WCET) Analysis, 2009.Google Scholar
- X. Li, A. Roychoudhury, and T. Mitra. Modeling out-of-order processors for WCET analysis. Real-Time Syst., 34(3):195--227, 2006. Google ScholarDigital Library
- Y. Li, V. Suhendra, T. Mitra, and A. Roychoudhury. Timing analysis of concurrent programs running on shared cache multi-cores. In IEEE Real-time System Symposium (RTSS), 2009. Google ScholarDigital Library
- F. Mueller. Compiler support for software-based cache partitioning. In Proceedings of the ACM SIGPLAN 1995 workshop on Languages, compilers, & tools for real-time systems, LCTES '95. ACM, 1995. Google ScholarDigital Library
- F. Nemer, H. Cassé, P. Sainrat, J.-P. Bahsoun, and M. De Michiel. Papabench: A free real-time benchmark. In International Workshop on Worst-Case Execution Time Analysis (WCET), Dresden, http://drops.dagstuhl.de/, july 2006.Google Scholar
- K. J. Nesbit, J. Laudon, and J. E. Smith. Virtual private caches. SIGARCH Comput. Archit. News, 35(2):57--68, June 2007. Google ScholarDigital Library
- M. Paolieri, E. Qui nones, F. J. Cazorla, G. Bernat, and M. Valero. Hardware support for WCET analysis of hard real-time multicore systems. In ISCA '09: Proceedings of the 36th annual international symposium on Computer architecture. ACM, 2009. Google ScholarDigital Library
- M. Paolieri, E. Quiñ andones, F. Cazorla, R. Davis, and M. Valero. Ia3: An interference aware allocation algorithm for multicore hard real-time systems. In Real-Time and Embedded Technology and Applications Symposium (RTAS), 2011 17th IEEE, april 2011. Google ScholarDigital Library
- M. Paolieri, E. Quinones, F. Cazorla, and M. Valero. An analyzable memory controller for hard real-time cmps. Embedded Systems Letters, IEEE, 1(4):86--90, dec. 2009. Google ScholarDigital Library
- M. K. Qureshi and Y. N. Patt. Utility-based cache partitioning: A low-overhead, high-performance, runtime mechanism to partition shared caches. In Proceedings of the 39th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 39, 2006. Google ScholarDigital Library
- J. Reineke, D. Grund, C. Berg, and R. Wilhelm. Timing predictability of cache replacement policies. Real-Time Syst., 37:99--122, November 2007. Google ScholarDigital Library
- J. Rosen, A. Andrei, P. Eles, and Z. Peng. Bus access optimization for predictable implementation of real-time applications on multiprocessor systems-on-chip. In RTSS '07: Proceedings of the 28th IEEE International Real-Time Systems Symposium. IEEE Computer Society, 2007. Google ScholarDigital Library
- V. Suhendra and T. Mitra. Exploring locking & partitioning for predictable shared caches on multi-cores. In DAC '08: Proceedings of the 45th annual Design Automation Conference. ACM, 2008. Google ScholarDigital Library
- Y. Tan. A prioritized cache for multi-tasking real-time systems. In 11th Workshop on Synthesis And System Integration of Mixed Information technologies (SASIMI), 2003.Google Scholar
- H. Theiling, C. Ferdinand, and R. Wilhelm. Fast and precise WCET prediction by separated cache and path analyses. 18(2--3):157--179, 2000. Google ScholarDigital Library
- R. Wilhelm, J. Engblom, A. Ermedahl, N. Holsti, S. Thesing, D. Whalley, G. Bernat, C. Ferdinand, R. Heckmann, T. Mitra, F. Mueller, I. Puaut, P. Puschner, J. Staschulat, and P. Stenström. The worst-case execution-time problem: overview of methods and survey of tools. ACM Trans. Embed. Comput. Syst., 7:36:1--36:53, May 2008. Google ScholarDigital Library
- R. Wilhelm, D. Grund, J. Reineke, M. Schlickling, M. Pister, and C. Ferdinand. Memory hierarchies, pipelines, and buses for future architectures in time-critical embedded systems. Trans. Comp.-Aided Des. Integ. Cir. Sys., 28(7):966--978, 2009. Google ScholarDigital Library
- A. Wolfe. Software-based cache partitioning for real-time applications. J. Comput. Softw. Eng., 2:315--327, 1994. Google ScholarDigital Library
- Y. Xie and G. H. Loh. Pipp: Promotion/insertion pseudo-partitioning of multi-core shared caches. In 36th Intl. Symp. on Computer Architecture, 2009. Google ScholarDigital Library
Index Terms
- PRETI: partitioned real-time shared cache for mixed-criticality real-time systems
Recommendations
A Survey of WCET Analysis of Real-Time Operating Systems
ICESS '09: Proceedings of the 2009 International Conference on Embedded Software and SystemsTiming correctness of hard real-time systems is guaranteed by schedulability analysis and worst-case execution time (WCET) analysis of programs. Traditional WCET analysis mainly deals with application programs and has achieved success in industry. ...
Hardware support for WCET analysis of hard real-time multicore systems
ISCA '09: Proceedings of the 36th annual international symposium on Computer architectureThe increasing demand for new functionalities in current and future hard real-time embedded systems like automotive, avionics and space industries is driving an increase in the performance required in embedded processors. Multicore processors represent ...
Loop-Based Instruction Prefetching to Reduce the Worst-Case Execution Time
Estimating and optimizing worst-case execution time (WCET) is critical for hard real-time systems to ensure that different tasks can meet their respective deadlines. Recent work has shown that simple prefetching techniques such as the Next-N-Line ...
Comments