Abstract
Shared caches in multi-core processors introduce serious difficulties in providing guarantees on the real-time properties of embedded software due to the interaction and the resulting contention in the shared caches. Prior work has studied the schedulability analysis of global scheduling for real-time multi-core systems with shared caches. This article considers another common scheduling paradigm: partitioned scheduling in the presence of shared cache interference. To achieve this, we propose CITTA, a cache interference-aware task partitioning algorithm. We first analyze the shared cache interference between two programs for set-associative instruction and data caches. Then, an integer programming formulation is constructed to calculate the upper bound on cache interference exhibited by a task, which is required by CITTA. We conduct schedulability analysis of CITTA and formally prove its correctness. A set of experiments is performed to evaluate the schedulability performance of CITTA against global EDF scheduling and other greedy partition approaches such as First-fit and Worst-fit over randomly generated tasksets and realistic workloads in embedded systems. Our empirical evaluations show that CITTA outperforms global EDF scheduling and greedy partition approaches in terms of task sets deemed schedulable.
- [1] . 2004. An event stream driven approximation for the analysis of real-time systems. In Proceedings of the 16th Euromicro Conference on Real-Time Systems (ECRTS’04).187–195.Google Scholar
Digital Library
- [2] . 2011. Cache-related preemption delay via useful cache blocks: Survey and redefinition. J. Syst. Arch. 57, 7 (2011), 707–719.Google Scholar
Digital Library
- [3] . 2005. The limited-preemption uniprocessor scheduling of sporadic task systems. In Proceedings of the 17th Euromicro Conference on Real-Time Systems (ECRTS’05). 137–144.Google Scholar
Digital Library
- [4] . 2007. Techniques for multiprocessor global schedulability analysis. In Proceedings of the IEEE Real-Time Systems Symposium (RTSS’07). IEEE Computer Society, Washington, DC, 119–128.Google Scholar
Digital Library
- [5] . 2005. The partitioned multiprocessor scheduling of sporadic task systems. In Proceedings of the 26th IEEE International Real-Time Systems Symposium (RTSS’05).Google Scholar
Digital Library
- [6] . 1990. Preemptively scheduling hard-real-time sporadic tasks on one processor. In In Proceedings of the 11th Real-Time Systems Symposium. IEEE Computer Society Press, 182–190.Google Scholar
Cross Ref
- [7] . 2010. An empirical comparison of global, partitioned, and clustered multiprocessor EDF schedulers. In Proceedings of the 31st IEEE Real-Time Systems Symposium. 14–24. Google Scholar
Digital Library
- [8] . 2009. Schedulability analysis of global scheduling algorithms on multiprocessor platforms. IEEE Trans. Parallel Distrib. Syst. 20, 4 (
April 2009), 553–566. Google ScholarDigital Library
- [9] . 2016. Global scheduling not required: Simple, near-optimal multiprocessor real-time scheduling with semi-partitioned reservations. In Proceedings of the IEEE Real-Time Systems Symposium (RTSS’16). 99–110.Google Scholar
Cross Ref
- [10] . 2013. Real-time cache management framework for multi-core architectures. In Proceedings of the Real Time Technology and Applications Symposium (RTAS’13). IEEE Computer Society, Washington, DC, 45–54.Google Scholar
- [11] . 2006. Litmus^ rt: A testbed for empirically comparing real-time multiprocessor schedulers. In Proceedings of the 27th IEEE International Real-Time Systems Symposium (RTSS’06). IEEE, 111–126.Google Scholar
Digital Library
- [12] . 2017. Semi-partitioned scheduling of dynamic real-time workload: A practical approach based on analysis-driven load balancing. In Proceedings of the 29th Euromicro Conference on Real-Time Systems (ECRTS 2017),
Leibniz International Proceedings in Informatics (LIPIcs), (Ed.), Vol. 76. Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany, 13:1–13:23.Google Scholar - [13] . 1995. Las vegas algorithms for linear and integer programming when the dimension is small. J. ACM 42, 2 (1995), 488–499.Google Scholar
Digital Library
- [14] . 1977. Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Proceedings of the 4th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages. 238–252.Google Scholar
Digital Library
- [15] . 2011. A survey of hard real-time scheduling for multiprocessor systems. ACM Comput. Surv. 43, 4, Article
35 (Oct. 2011), 44 pages. Google ScholarDigital Library
- [16] . 2016. TACLeBench: A benchmark collection to support worst-case execution time research. In Proceedings of the 16th International Workshop on Worst-Case Execution Time Analysis.Google Scholar
- [17] . 2006. The partitioned multiprocessor scheduling of non-preemptive sporadic task systems. In Proceedings of the 14th International Conference on Real-time and Network Systems.Google Scholar
- [18] . 1995. Optimality and Non-preemptive Real-time Scheduling Revisited.
Research Report RR-2516. INRIA.Projet REFLECS. Google Scholar - [19] . 2013. An experimental evaluation of the cache partitioning impact on multicore real-time schedulers. In Proceedings of the IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA’03). 72–81.Google Scholar
Cross Ref
- [20] . 2009. Cache-aware scheduling and analysis for multicores. In Proceedings of the 7th ACM International Conference on Embedded Software. ACM, 245–254.Google Scholar
Digital Library
- [21] . 2020. Inter-task cache interference aware partitioned real-time scheduling. In Proceedings of the 35th Annual ACM Symposium on Applied Computing. 218–226.Google Scholar
Digital Library
- [22] . 2010. The Mälardalen WCET benchmarks: Past, present and future. In Proceedings of the 10th International Workshop on Worst-Case Execution Time Analysis (WCET’10),
OpenAccess Series in Informatics (OASIcs) , (Ed.), Vol. 15. Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany, 136–146.Google Scholar - [23] . 2009. Using bypass to tighten WCET estimates for multi-core processors with shared instruction caches. In Proceedings of the IEEE Real-Time Systems Symposium (RTSS’09). 68–77.Google Scholar
- [24] . 2008. WCET analysis of multi-level non-inclusive set-associative instruction caches. In Proceedings of the IEEE Real-Time Systems Symposium (RTSS’08). 456–466.Google Scholar
Digital Library
- [25] . 2017. The heptane static worst-case execution time estimation tool. In Proceedings of the 17th International Workshop on Worst-Case Execution Time Analysis (WCET’17). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik.Google Scholar
- [26] . 1991. On non-preemptive scheduling of period and sporadic tasks. In Proceedings of the 12th Real-Time Systems Symposium. 129–139.Google Scholar
Cross Ref
- [27] . 1991. On non-preemptive scheduling of periodic and sporadic tasks. In Proceedings of the IEEE Real-time Systems Symposium. IEEE, 129–139.Google Scholar
- [28] . 2009. Semi-partitioned fixed-priority scheduling on multiprocessors. In Proceedings of the 15th IEEE Real-Time and Embedded Technology and Applications Symposium. 23–32.Google Scholar
Digital Library
- [29] . 2013. A coordinated approach for practical os-level cache management in multi-core real-time systems. In Proceedings of the Euromicro Conference on Real-Time Systems (ECRTS’13). 80–89.Google Scholar
Digital Library
- [30] . 1998. Analysis of cache-related preemption delay in fixed-priority preemptive scheduling. IEEE Trans. Comput. 47, 6 (1998), 700–713.Google Scholar
Digital Library
- [31] . 2015. Composition of schedulability analyses for real-time multiprocessor systems. IEEE Trans. Comput. 64, 4 (
April 2015), 941–954. Google ScholarDigital Library
- [32] . 2009. Timing analysis of concurrent programs running on shared cache multi-cores. In Proceedings of the 30th IEEE Real-Time Systems Symposium. 57–67. Google Scholar
Digital Library
- [33] . 1997. OS-controlled cache predictability for real-time systems. In Proceedings of the Real Time Technology and Applications Symposium (RTAS’97). 213–224.Google Scholar
Cross Ref
- [34] . 2004. Utilization bounds for EDF scheduling on real-time multiprocessor systems. Real-Time Syst. 28, 1 (2004), 39–68.Google Scholar
Digital Library
- [35] . 1999. Timing anomalies in dynamically scheduled microprocessors. In Proceedings of the 20th IEEE Real-Time Systems Symposium. IEEE, 12–21.Google Scholar
Cross Ref
- [36] . 2003. Accurate estimation of cache-related preemption delay. In Proceedings of the 1st IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis. 201–206.Google Scholar
Digital Library
- [37] . 2012. Semi-partitioned hard-real-time scheduling under locked cache migration in multicore systems. In Proceedings of the Euromicro Conference on Real-Time Systems (ECRTS’12). IEEE Computer Society, Washington, DC, 331–340.Google Scholar
Digital Library
- [38] . 2006. Random vectors with fixed sum. (2006). http://www.mathworks.com/matlabcentral/fileexchange/9700.Google Scholar
- [39] . 2008. Exploring locking & partitioning for predictable shared caches on multi-cores. In Proceedings of the 45th Annual Design Automation Conference (DAC’08). ACM, New York, NY, 300–303. Google Scholar
Digital Library
- [40] . 2000. Fast and precise WCET prediction by separated cache and path analyses. Real-Time Syst 18, 2–3 (2000), 157–179.Google Scholar
Digital Library
- [41] . 2013. Making shared caches more predictable on multicore platforms. In Proceedings of the Euromicro Conference on Real-Time Systems (ECRTS’13). 157–167.Google Scholar
- [42] . 2008. The worst-case execution-time problem—Overview of methods and survey of tools. ACM Trans. Embed. Comput. Syst. 7, 3, Article
36 (May 2008), 53 pages.Google ScholarDigital Library
- [43] . 2017. Schedulability analysis of non-preemptive real-time scheduling for multicore processors with shared caches. In Proceedings of the IEEE Real-Time Systems Symposium (RTSS’17). 199–208. Google Scholar
Cross Ref
- [44] . 2020. Schedulability analysis of global scheduling for multicore systems with shared caches. IEEE Trans. Comput. (2020), 1–1. Google Scholar
Cross Ref
- [45] . 2020. CITTA: Cache interference-aware task partitioning for real-time multi-core systems. In Proceedings of the 21st ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems. 97–107.Google Scholar
Digital Library
- [46] . Holistic resource allocation for multicore real-time systems. In Proceedings of the Real Time Technology and Applications Symposium (RTAS’19). Google Scholar
Cross Ref
- [47] . 2016. Analysis and implementation of global preemptive fixed-priority scheduling with dynamic cache allocation. In Proceedings of the Real Time Technology and Applications Symposium (RTAS’16). 1–12.Google Scholar
Cross Ref
- [48] . 2018. Resource-oriented partitioning for multiprocessor systems with shared resources. IEEE Trans. Comput. PP (
12 2018), 1–1. Google ScholarDigital Library
- [49] . 2009. Accurately estimating worst-case execution time for multi-core processors with shared direct-mapped instruction caches. In IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA’09). 455–463.Google Scholar
Digital Library
Index Terms
Cache Interference-aware Task Partitioning for Non-preemptive Real-time Multi-core Systems
Recommendations
TCPS: a task and cache-aware partitioned scheduler for hard real-time multi-core systems
LCTES 2022: Proceedings of the 23rd ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded SystemsShared caches in multi-core processors seriously complicate the timing verification of real-time software tasks due to the task interference occurring in the shared caches. Explicitly calculating the amount of cache interference among tasks and cache ...
CITTA: Cache Interference-aware Task Partitioning for Real-time Multi-core Systems
LCTES '20: The 21st ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded SystemsShared caches in multi-core processors introduce serious difficulties in providing guarantees on the real-time properties of embedded software due to the interaction and the resulting contention in the shared caches. Prior work has studied the ...
Adding instruction cache effect to schedulability analysis of preemptive real-time systems
RTAS '96: Proceedings of the 2nd IEEE Real-Time Technology and Applications Symposium (RTAS '96)Cache memories are commonly avoided in real time systems because of their unpredictable behavior. Recently, some research has been done to obtain tighter bounds on the worst case execution time (WCET) of cached programs. These techniques usually assume ...






Comments