Partitioned Fixed-Priority Preemptive Scheduling for Multi-core Processors

Energy and thermal considerations are increasingly driving system designers to adopt multi-core processors. In this paper, we consider the problem of scheduling periodic real-time tasks on multi-core processors using fixed-priority preemptive scheduling. Specifically, we focus on the partitioned (static binding) approach, which statically allocates tasks to processing cores. The well-established 50% bound for partitioned multiprocessor scheduling [10] can be overcome by task-splitting (TS) [19], which allows a task to be split across more than one core. We prove that a utilization bound of 60% per core can be achieved by the partitioned deadline-monotonic scheduling (PDMS) class of algorithms on implicit-deadline task sets, when the highest-priority task on each processing core is allowed to be split (HPTS). Given the widespread usage of fixed-priority scheduling in commercial real-time and non real-time operating systems (e.g. VxWorks, Linux), establishing such utilization bounds is both relevant and useful. We also show that a specific instance of PDMS HPTS, where tasks are allocated in the decreasing order of size, called PDMS HPTS DS, has a utilization bound of 65% on implicit deadline task-sets. The PDMS HPTS DS algorithm also achieves a utilization bound of 69% on lightweight implicit-deadline task-sets where no single task utilization exceeds 41.4%. The average-case behavior of PDMS HPTS DS is studied using randomly generated task-sets, and it is seen to have an average schedulable utilization of 88%. We also characterize the overhead of task-splitting using measurements on an Intel Core 2 Duo processor.

[1]  Theodore P. Baker,et al.  An analysis of EDF schedulability on a multiprocessor , 2005, IEEE Transactions on Parallel and Distributed Systems.

[2]  Binoy Ravindran,et al.  An Optimal Real-Time Scheduling Algorithm for Multiprocessors , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[3]  Ragunathan Rajkumar,et al.  Synchronization in Real-Time Systems , 1991 .

[4]  Sanjoy K. Baruah,et al.  Proportionate progress: a notion of fairness in resource allocation , 1993, STOC '93.

[5]  Rami G. Melhem,et al.  Comparison of global and partitioning schemes for scheduling rate monotonic tasks on a multiprocessor , 1998, Proceeding. 10th EUROMICRO Workshop on Real-Time Systems (Cat. No.98EX168).

[6]  Ragunathan Rajkumar Task synchronization in real-time systems , 1989 .

[7]  Lui Sha,et al.  Real-time synchronization protocols for multiprocessors , 1988, Proceedings. Real-Time Systems Symposium.

[8]  John P. Lehoczky,et al.  The rate monotonic scheduling algorithm: exact characterization and average case behavior , 1989, [1989] Proceedings. Real-Time Systems Symposium.

[9]  Shinpei Kato,et al.  Semi-partitioned Fixed-Priority Scheduling on Multiprocessors , 2009, 2009 15th IEEE Real-Time and Embedded Technology and Applications Symposium.

[10]  Jay K. Strosnider,et al.  The Deferrable Server Algorithm for Enhanced Aperiodic Responsiveness in Hard Real-Time Environments , 1987, IEEE Trans. Computers.

[11]  Björn Andersson,et al.  The utilization bounds of partitioned and pfair static-priority scheduling on multiprocessors are 50% , 2003, 15th Euromicro Conference on Real-Time Systems, 2003. Proceedings..

[12]  Sanjoy K. Baruah,et al.  Static-priority scheduling on multiprocessors , 2001, Proceedings 22nd IEEE Real-Time Systems Symposium (RTSS 2001) (Cat. No.01PR1420).

[13]  James H. Anderson,et al.  Real-Time Scheduling on Multicore Platforms , 2006, 12th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'06).

[14]  Sanjoy K. Baruah,et al.  The case for fair multiprocessor scheduling , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[15]  Björn Andersson,et al.  Scheduling Arbitrary-Deadline Sporadic Task Systems on Multiprocessors , 2008, 2008 Real-Time Systems Symposium.

[16]  Sanjoy K. Baruah,et al.  Pfair Scheduling of Generalized Pinwheel Task Systems , 1998, IEEE Trans. Computers.

[17]  Sudarshan K. Dhall,et al.  On a Real-Time Scheduling Problem , 1978, Oper. Res..

[18]  Daniel F. Garcia,et al.  Utilization Bounds for EDF Scheduling on Real-Time Multiprocessor Systems , 2004, Real-Time Systems.

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

[20]  Shinpei Kato,et al.  Real-Time Scheduling with Task Splitting on Multiprocessors , 2007, 13th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA 2007).

[21]  Björn Andersson,et al.  Sporadic Multiprocessor Scheduling with Few Preemptions , 2008, 2008 Euromicro Conference on Real-Time Systems.

[22]  Ragunathan Rajkumar,et al.  Partitioning bin-packing algorithms for distributed real-time systems , 2006, Int. J. Embed. Syst..

[23]  Björn Andersson,et al.  Multiprocessor Scheduling with Few Preemptions , 2006, 12th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA'06).

[24]  Lars Lundberg,et al.  Analyzing fixed-priority global multiprocessor scheduling , 2002, Proceedings. Eighth IEEE Real-Time and Embedded Technology and Applications Symposium.

[25]  Ragunathan Rajkumar,et al.  Portable RK: a portable resource kernel for guaranteed and enforced timing behavior , 1999, Proceedings of the Fifth IEEE Real-Time Technology and Applications Symposium.