On the Design and Implementation of a Cache-Aware Multicore Real-Time Scheduler

Multicore architectures, which have multiple processing units on a single chip, have been adopted by most chip manufacturers. Most such chips contain on-chip caches that are shared by some or all of the cores on the chip. Prior work has presented methods for improving the performance of such caches when scheduling soft real-time workloads. Given these methods, two additional research issues arise: (1) how to automatically profile the cache behavior of real-time tasks within the scheduler; and (2) how to implement scheduling methods efficiently, so that scheduling overheads do not offset any cache-related performance gains. This paper addresses these two issues in an implementation of a cache-aware soft real-time scheduler within Linux, and shows that the use of this scheduler can result in performance improvements that directly result from a decrease in shared cache miss rates.

[1]  Lu Peng,et al.  Case Studies: Memory Behavior of Multithreaded Multimedia and AI Applications , 2004 .

[2]  James H. Anderson,et al.  On the Scalability of Real-Time Scheduling Algorithms on Multicore Platforms: A Case Study , 2008, 2008 Real-Time Systems Symposium.

[3]  Alexandra Fedorova,et al.  Throughput-Oriented Scheduling On Chip Multithreadi ng Systems , 2004 .

[4]  Tong Li,et al.  Using OS Observations to Improve Performance in Multicore Systems , 2008, IEEE Micro.

[5]  Lui Sha,et al.  Coscheduling of CPU and I/O Transactions in COTS-Based Embedded Systems , 2008, 2008 Real-Time Systems Symposium.

[6]  Dean M. Tullsen,et al.  Symbiotic jobscheduling with priorities for a simultaneous multithreading processor , 2002, SIGMETRICS '02.

[7]  Margo Seltzer,et al.  Cache-Fair Thread Scheduling for Multicore Processors , 2006 .

[8]  Erik Hagersten,et al.  Modeling Cache Sharing on Chip Multiprocessor Architectures , 2006, 2006 IEEE International Symposium on Workload Characterization.

[9]  Guy E. Blelloch,et al.  Effectively sharing a cache among threads , 2004, SPAA '04.

[10]  Hennadiy Leontyev,et al.  Generalized tardiness bounds for global multiprocessor scheduling , 2007, Real Time Syst..

[11]  Susan J. Eggers,et al.  Thread-Sensitive Scheduling for SMT Processors , 2000 .

[12]  S. Kim,et al.  Fair cache sharing and partitioning in a chip multiprocessor architecture , 2004, Proceedings. 13th International Conference on Parallel Architecture and Compilation Techniques, 2004. PACT 2004..

[13]  Björn B. Brandenburg,et al.  Feather-Trace : A Light-Weight Event Tracing Toolkit ∗ , 2007 .

[14]  James H. Anderson,et al.  Cache-Aware Real-Time Scheduling on Multicore Platforms: Heuristics and a Case Study , 2008, 2008 Euromicro Conference on Real-Time Systems.

[15]  Rohit Jain,et al.  Soft real-time scheduling on simultaneous multithreaded processors , 2002, 23rd IEEE Real-Time Systems Symposium, 2002. RTSS 2002..

[16]  James H. Anderson,et al.  Tardiness bounds under global EDF scheduling on a multiprocessor , 2005, 26th IEEE International Real-Time Systems Symposium (RTSS'05).

[17]  Frank Mueller,et al.  Tightening the bounds on feasible preemptions , 2011, TECS.

[18]  Hennadiy Leontyev,et al.  LITMUS^RT : A Testbed for Empirically Comparing Real-Time Multiprocessor Schedulers , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[19]  James H. Anderson,et al.  Parallel Real-Time Task Scheduling on Multicore Platforms , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).