PDPA: period driven task and cache partitioning algorithm for multi-core systems

Multi-core architectures are well suited to fulfill the increasing performance requirements of embedded real-time systems. However, such systems also require the capacity to estimate the timing behavior of their critical components. Interference between tasks, as they occur on standard multi-core micro-architectures due to cache sharing are still difficult to predict accurately. An alternative is to remove these indirect interferences between tasks through partitioning of the shared cache and through the use of partitioned task scheduling. In this paper, we present a new algorithm for joint task and cache partitioning in multi-core systems scheduled using non-preemptive EDF. The main novelty of the algorithm is to take into account the tasks' period repartition in the task partitioning problem, which is critical in a non-preemptive context. Other task properties such as task cache requirements are also considered to optimize cache partitioning. Experiments show that our algorithm outperforms the state-of-the-art algorithm for tasks and cache partitioning, named IA3 [18], in terms of schedulability, specially when tasks have varied periods.

[1]  WilhelmReinhard,et al.  Fast and Precise WCET Prediction by Separated Cache andPath Analyses , 2000 .

[2]  Alan Burns,et al.  A survey of hard real-time scheduling for multiprocessor systems , 2011, CSUR.

[3]  Abhik Roychoudhury,et al.  Unified Cache Modeling for WCET Analysis and Layout Optimizations , 2009, 2009 30th IEEE Real-Time Systems Symposium.

[4]  Frank Slomka,et al.  An event stream driven approximation for the analysis of real-time systems , 2004, Proceedings. 16th Euromicro Conference on Real-Time Systems, 2004. ECRTS 2004..

[5]  Jochen Liedtke,et al.  OS-controlled cache predictability for real-time systems , 1997, Proceedings Third IEEE Real-Time Technology and Applications Symposium.

[6]  Sang Hyuk Son,et al.  New Strategies for Assigning Real-Time Tasks to Multiprocessor Systems , 1995, IEEE Trans. Computers.

[7]  Lui Sha,et al.  Impact of Cache Partitioning on Multi-tasking Real Time Embedded Systems , 2008, 2008 14th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

[8]  Damien Hardy,et al.  Using Bypass to Tighten WCET Estimates for Multi-Core Processors with Shared Instruction Caches , 2009, 2009 30th IEEE Real-Time Systems Symposium.

[9]  Yun Liang,et al.  Timing analysis of concurrent programs running on shared cache multi-cores , 2009, 2009 30th IEEE Real-Time Systems Symposium.

[10]  Jay K. Strosnider,et al.  A Dynamic Programming Algorithm for Cache/Memory Partitioning for Real-Time Systems , 1993, IEEE Trans. Computers.

[11]  Frank Müller,et al.  Timing Analysis for Instruction Caches , 2000, Real-Time Systems.

[12]  Charles U. Martel,et al.  On non-preemptive scheduling of period and sporadic tasks , 1991, [1991] Proceedings Twelfth Real-Time Systems Symposium.

[13]  Isabelle Puaut,et al.  A modular and retargetable framework for tree-based WCET analysis , 2001, Proceedings 13th Euromicro Conference on Real-Time Systems.

[14]  Nathan Fisher,et al.  The Partitioned Multiprocessor Scheduling of Non-preemptive Sporadic Task Systems ∗ , 2006 .

[15]  D. B. Kirk,et al.  SMART (strategic memory allocation for real-time) cache design , 1989, [1989] Proceedings. Real-Time Systems Symposium.

[16]  Damien Hardy,et al.  WCET Analysis of Multi-level Non-inclusive Set-Associative Instruction Caches , 2008, 2008 Real-Time Systems Symposium.

[17]  Francisco J. Cazorla,et al.  IA^3: An Interference Aware Allocation Algorithm for Multicore Hard Real-Time Systems , 2011, 2011 17th IEEE Real-Time and Embedded Technology and Applications Symposium.

[18]  Jakob Engblom,et al.  The worst-case execution-time problem—overview of methods and survey of tools , 2008, TECS.

[19]  Giorgio C. Buttazzo,et al.  Measuring the Performance of Schedulability Tests , 2005, Real-Time Systems.