Multi-core real-time scheduling for generalized parallel task models

Multi-core processors offer a significant performance increase over single-core processors. They have the potential to enable computation-intensive real-time applications with stringent timing constraints that cannot be met on traditional single-core processors. However, most results in traditional multiprocessor real-time scheduling are limited to sequential programming models and ignore intra-task parallelism. In this paper, we address the problem of scheduling periodic parallel tasks with implicit deadlines on multi-core processors. We first consider a synchronous task model where each task consists of segments, each segment having an arbitrary number of parallel threads that synchronize at the end of the segment. We propose a new task decomposition method that decomposes each parallel task into a set of sequential tasks. We prove that our task decomposition achieves a resource augmentation bound of 4 and 5 when the decomposed tasks are scheduled using global EDF and partitioned deadline monotonic scheduling, respectively. Finally, we extend our analysis to a directed acyclic graph (DAG) task model where each node in the DAG has a unit execution requirement. We show how these tasks can be converted into synchronous tasks such that the same decomposition can be applied and the same augmentation bounds hold. Simulations based on synthetic workload demonstrate that the derived resource augmentation bounds are safe and sufficient.

[1]  Xiaotie Deng,et al.  Preemptive Scheduling of Parallel Jobs on Multiprocessors , 1996, SIAM J. Comput..

[2]  C. Siva Ram Murthy,et al.  A New Approach for Scheduling of Parallelizable Tasks in Real-Time Multiprocessor Systems , 1998, Real-Time Systems.

[3]  Sanjoy K. Baruah Techniques for Multiprocessor Global Schedulability Analysis , 2007, 28th IEEE International Real-Time Systems Symposium (RTSS 2007).

[4]  Maciej Drozdowski,et al.  Real-Time Scheduling of Linear Speedup Parallel Tasks , 1996, Information Processing Letters.

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

[6]  Sanjoy K. Baruah,et al.  Preemptively scheduling hard-real-time sporadic tasks on one processor , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.

[7]  Xiaotie Deng,et al.  Scheduling Parallelizable Jobs on Multiprocessors , 1989, RTSS.

[8]  Amitabh Sinha,et al.  Non-Clairvoyant Scheduling for Minimizing Mean Slowdown , 2003, Algorithmica.

[9]  Xiaotie Deng,et al.  Non-Clairvoyant Multiprocessor Scheduling of Jobs with Changing Execution Characteristics , 2003, J. Sched..

[10]  Kenneth L. Kraemer,et al.  Information technology and economic performance , 2003, ACM Comput. Surv..

[11]  Heejo Lee,et al.  Optimal Scheduling for Real-Time Parallel Tasks , 2006, IEICE Trans. Inf. Syst..

[12]  Kwei-Jay Lin,et al.  Scheduling parallelizable jobs on multiprocessors , 1989, [1989] Proceedings. Real-Time Systems Symposium.

[13]  Kam-Hoi Cheng,et al.  A Heuristic of Scheduling Parallel Tasks and its Analysis , 1992, SIAM J. Comput..

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

[15]  Robert I. Davis,et al.  A Survey of Hard Real-Time Scheduling Algorithms and Schedulability Analysis Techniques for Multiprocessor Systems , 2009 .

[16]  Geoffrey Nelissen,et al.  Techniques Optimizing the Number of Processors to Schedule Multi-threaded Tasks , 2012, 2012 24th Euromicro Conference on Real-Time Systems.

[17]  Chenyang Lu,et al.  Multi-core Real-Time Scheduling for Generalized Parallel Task Models , 2011, RTSS.

[18]  Cynthia A. Phillips,et al.  Optimal Time-Critical Scheduling via Resource Augmentation (Extended Abstract) , 1997, Symposium on the Theory of Computing.

[19]  Liliana Cucu-Grosjean,et al.  Integrating job parallelism in real-time scheduling theory , 2008, Inf. Process. Lett..

[20]  Xue Liu,et al.  Integrating Adaptive Components: An Emerging Challenge in Performance-Adaptive Systems and a Server Farm Case-Study , 2007, 28th IEEE International Real-Time Systems Symposium (RTSS 2007).

[21]  Sanjoy K. Baruah,et al.  The partitioned scheduling of sporadic tasks according to static-priorities , 2006, 18th Euromicro Conference on Real-Time Systems (ECRTS'06).

[22]  James H. Anderson,et al.  Soft Real-Time Scheduling on Performance Asymmetric Multicore Platforms , 2007, 13th IEEE Real Time and Embedded Technology and Applications Symposium (RTAS'07).

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

[24]  Kyung-Yong Chwa,et al.  Scheduling Parallel Tasks with Individual Deadlines , 1999, Theor. Comput. Sci..

[25]  Chenyang Lu,et al.  Cyber-physical systems for real-time hybrid structural testing: a case study , 2010, ICCPS '10.

[26]  James H. Anderson,et al.  A Hybrid Real-Time Scheduling Approach for Large-Scale Multicore Platforms , 2007, 19th Euromicro Conference on Real-Time Systems (ECRTS'07).

[27]  K Lakshmanan,et al.  Scheduling Parallel Real-Time Tasks on Multi-core Processors , 2010, 2010 31st IEEE Real-Time Systems Symposium.

[28]  Sanjoy K. Baruah,et al.  A Generalized Parallel Task Model for Recurrent Real-time Processes , 2012, 2012 IEEE 33rd Real-Time Systems Symposium.

[29]  Sanjoy K. Baruah,et al.  Priority-Driven Scheduling of Periodic Task Systems on Multiprocessors , 2003, Real-Time Systems.

[30]  Shinpei Kato,et al.  Gang EDF Scheduling of Parallel Task Systems , 2009, 2009 30th IEEE Real-Time Systems Symposium.

[31]  Yuxiong He,et al.  Adaptive Scheduling with Parallelism Feedback , 2006, 2007 IEEE International Parallel and Distributed Processing Symposium.

[32]  C. Greg Plaxton,et al.  Thread Scheduling for Multiprogrammed Multiprocessors , 1998, SPAA.

[33]  CONSTANTINE D. POLYCHRONOPOULOS,et al.  Guided Self-Scheduling: A Practical Scheduling Scheme for Parallel Supercomputers , 1987, IEEE Transactions on Computers.

[34]  Klaus Jansen,et al.  Scheduling Malleable Parallel Tasks: An Asymptotic Fully Polynomial Time Approximation Scheme , 2004, Algorithmica.

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

[36]  C. Greg Plaxton,et al.  Thread Scheduling for Multiprogrammed Multiprocessors , 1998, SPAA '98.