Inter-task cache interference aware partitioned real-time scheduling

With the increasing number of cores in processors, shared resources like caches are interfering task execution behaviours more heavily and often render global scheduling approaches infeasible in practice. While partitioned scheduling alleviates such interference, in most existing partitioned approaches, constant WCET, which potentially includes all possible interference, must be statically pre-determined prior to the partitioning processes. In this paper, we show that by taking inter-task interference into consideration when making scheduling decisions, resource efficiency can be significantly improved in both temporal and spatial domains for multi/many-core real-time systems. In particular, we propose the inter-task interference matrix (ITIM) to model the inter-task cache/memory interference in a pair-wise manner. Focusing on the problem of interference-aware partitioned scheduling with ITIM, we formalize it as a mixed integer linear program (MILP), which can be solved to achieve optimal solution at the cost of high computational complexity. Meanwhile, we also provide several polynomial-time algorithms to solve the problem approximately. We extensively profile a set of WCET benchmark programs on x86-based multiprocessor server to collect ITIM. The algorithms are evaluated comprehensively, and the evaluation results demonstrate the superior performance of the proposed approaches under various settings.

[1]  Ying Ye,et al.  COLORIS: A dynamic cache partitioning system using page coloring , 2014, 2014 23rd International Conference on Parallel Architecture and Compilation (PACT).

[2]  Patrick Meumeu Yomsi,et al.  The Challenge of Time-Predictability in Modern Many-Core Architectures , 2014, WCET.

[3]  Thomas Bäck,et al.  Evolutionary algorithms in theory and practice - evolution strategies, evolutionary programming, genetic algorithms , 1996 .

[4]  Wang Yi,et al.  Cache-aware scheduling and analysis for multicores , 2009, EMSOFT '09.

[5]  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.

[6]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[7]  James H. Anderson,et al.  Attacking the one-out-of-m multicore problem by combining hardware management with mixed-criticality provisioning , 2016, 2016 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS).

[8]  James H. Anderson,et al.  Is Semi-Partitioned Scheduling Practical? , 2011, 2011 23rd Euromicro Conference on Real-Time Systems.

[9]  Sang Lyul Min,et al.  Analysis of cache-related preemption delay in fixed-priority preemptive scheduling , 1998, 17th IEEE Real-Time Systems Symposium.

[10]  Srinivas Devadas,et al.  Application-specific memory management for embedded systems using software-controlled caches , 2000, Proceedings 37th Design Automation Conference.

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

[12]  Björn Andersson,et al.  Coordinated Bank and Cache Coloring for Temporal Protection of Memory Accesses , 2013, 2013 IEEE 16th International Conference on Computational Science and Engineering.

[13]  Alessandro Biondi,et al.  On the ineffectiveness of 1/m-based interference bounds in the analysis of global EDF and FIFO scheduling , 2018, Real-Time Systems.

[14]  Rajeev Kohli,et al.  The capacitated max k-cut problem , 2005, Math. Program..

[15]  Robert I. Davis,et al.  Improved cache related pre-emption delay aware response time analysis for fixed priority pre-emptive systems , 2011, 2011 IEEE 32nd Real-Time Systems Symposium.

[16]  James H. Anderson,et al.  Optimizing Preemption-Overhead Accounting in Multiprocessor Real-Time Systems , 2014, RTNS.

[17]  Alan Burns,et al.  Partitioned EDF scheduling for multiprocessors using a C=D task splitting scheme , 2011, Real-Time Systems.

[18]  Robert I. Davis,et al.  On the effectiveness of cache partitioning in hard real-time systems , 2016, Real-Time Systems.

[19]  John P. Lehoczky,et al.  Partitioned Fixed-Priority Preemptive Scheduling for Multi-core Processors , 2009, 2009 21st Euromicro Conference on Real-Time Systems.

[20]  Sanjoy K. Baruah,et al.  Schedulability analysis of global edf , 2008, Real-Time Systems.

[21]  Ying Zhang,et al.  Work-in-Progress: Cache-Aware Partitioned EDF Scheduling for Multi-core Real-Time Systems , 2017, 2017 IEEE Real-Time Systems Symposium (RTSS).

[22]  Chang-Gun Lee,et al.  Enhanced analysis of cache-related preemption delay in fixed-priority preemptive scheduling , 1996, Proceedings Real-Time Systems Symposium.

[23]  Yingwei Luo,et al.  Optimal Cache Partition-Sharing , 2015, 2015 44th International Conference on Parallel Processing.

[24]  Giuseppe Lipari,et al.  Schedulability Analysis of Global Scheduling Algorithms on Multiprocessor Platforms , 2009, IEEE Transactions on Parallel and Distributed Systems.

[25]  Ragunathan Rajkumar,et al.  Real-time cache management for multi-core virtualization , 2016, 2016 International Conference on Embedded Software (EMSOFT).

[26]  Ying Zhang,et al.  Cache-Aware Partitioned EDF Scheduling for Multi-Core Real-Time Systems , 2017, RTSS 2017.

[27]  Jan Gustafsson,et al.  The Mälardalen WCET Benchmarks: Past, Present And Future , 2010, WCET.