Global EDF scheduling for parallel real-time tasks

As multicore processors become ever more prevalent, it is important for real-time programs to take advantage of intra-task parallelism in order to support computation-intensive applications with tight deadlines. In this paper, we consider the global earliest deadline first (GEDF) scheduling policy for task sets consisting of parallel tasks. Each task can be represented by a directed acyclic graph (DAG) where nodes represent computational work and edges represent dependences between nodes. In this model, we prove that GEDF provides a capacity augmentation bound of$$4-\frac{2}{m}$$4-2m and a resource augmentation bound of$$2-\frac{1}{m}$$2-1m. The capacity augmentation bound acts as a linear-time schedulability test since it guarantees that any task set with total utilization of at most $$m/(4-\frac{2}{m})$$m/(4-2m) where each task’s critical-path length is at most $$1/(4-\frac{2}{m})$$1/(4-2m) of its deadline is schedulable on $$m$$m cores under GEDF. In addition, we present a pseudo-polynomial time fixed-point schedulability test for GEDF; this test uses a carry-in work calculation based on the proof for the capacity bound. Finally, we present and evaluate a prototype platform—called PGEDF—for scheduling parallel tasks using global earliest deadline first (GEDF). PGEDF is built by combining the GNU OpenMP runtime system and the $$\text {LITMUS}^\text {RT}$$LITMUSRT operating system. This platform allows programmers to write parallel OpenMP tasks and specify real-time parameters such as deadlines for tasks. We perform two kinds of experiments to evaluate the performance of GEDF for parallel tasks. (1) We run numerical simulations for DAG tasks. (2) We execute randomly generated tasks using PGEDF. Both sets of experiments indicate that GEDF performs surprisingly well and outperforms an existing scheduling techniques that involves task decomposition.

[1]  J. Kingman Inequalities in the Theory of Queues , 1970 .

[2]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

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

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

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

[6]  Xiaotie Deng,et al.  Preemptive scheduling of parallel jobs on multiprocessors , 1996, SODA '96.

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

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

[9]  Cynthia A. Phillips,et al.  Optimal Time-Critical Scheduling via Resource Augmentation , 1997, STOC '97.

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

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

[12]  Sanjoy K. Baruah,et al.  Deadline-based scheduling of periodic task systems on multiprocessors , 2002, Inf. Process. Lett..

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

[14]  James H. Anderson,et al.  Efficient scheduling of soft real-time applications on multiprocessors , 2003, 15th Euromicro Conference on Real-Time Systems, 2003. Proceedings..

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

[16]  Sanjoy K. Baruah,et al.  Optimal utilization bounds for the fixed-priority scheduling of periodic task systems on identical multiprocessors , 2004, IEEE Transactions on Computers.

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

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

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

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

[21]  Hang Lau Random Graph Generation , 2006 .

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

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

[24]  James H. Anderson,et al.  Soft real-time scheduling on multiprocessors , 2006 .

[25]  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).

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

[27]  Yuxiong He,et al.  Adaptive work-stealing with parallelism feedback , 2008, TOCS.

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

[29]  Hennadiy Leontyev,et al.  Generalized tardiness bounds for global multiprocessor scheduling , 2007, 28th IEEE International Real-Time Systems Symposium (RTSS 2007).

[30]  Joaquín Entrialgo,et al.  Stochastic analysis of real-time systems under preemptive priority-driven scheduling , 2008, Real-Time Systems.

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

[32]  Sanjoy K. Baruah,et al.  Sustainable Multiprocessor Scheduling of Sporadic Task Systems , 2009, 2009 21st Euromicro Conference on Real-Time Systems.

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

[34]  James H. Anderson,et al.  On the Implementation of Global Real-Time Schedulers , 2009, 2009 30th IEEE Real-Time Systems Symposium.

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

[36]  James H. Anderson,et al.  On the Design and Implementation of a Cache-Aware Multicore Real-Time Scheduler , 2009, 2009 21st Euromicro Conference on Real-Time Systems.

[37]  Sanjoy K. Baruah,et al.  Improved Tardiness Bounds for Global EDF , 2010, 2010 22nd Euromicro Conference on Real-Time Systems.

[38]  Sanjoy K. Baruah,et al.  Improved multiprocessor global schedulability analysis , 2010, Real-Time Systems.

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

[40]  Sanjoy K. Baruah,et al.  Optimal online multiprocessor scheduling of sporadic real-time tasks is impossible , 2010, Real-Time Systems.

[41]  James H. Anderson,et al.  A Stochastic Framework for Multiprocessor Soft Real-Time Scheduling , 2010, 2010 16th IEEE Real-Time and Embedded Technology and Applications Symposium.

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

[43]  Jean-Marc Vincent,et al.  Random graph generation for scheduling simulations , 2010, SimuTools.

[44]  Frédéric Fauberteau,et al.  Partitioned scheduling of parallel real-time tasks on multiprocessor systems , 2011, SIGBED.

[45]  James H. Anderson,et al.  Scheduling and locking in multiprocessor real-time operating systems , 2011 .

[46]  Chenyang Lu,et al.  Multi-core real-time scheduling for generalized parallel task models , 2011, 2011 IEEE 32nd Real-Time Systems Symposium.

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

[48]  Cucinotta Tommaso,et al.  An efficient and scalable implementation of global EDF in Linux , 2011 .

[49]  Marko Bertogna,et al.  Tests for global EDF schedulability analysis , 2011, J. Syst. Archit..

[50]  Martin Korsgaard,et al.  Schedulability Analysis of Malleable Tasks with Arbitrary Parallel Structure , 2011, 2011 IEEE 17th International Conference on Embedded and Real-Time Computing Systems and Applications.

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

[52]  James H. Anderson,et al.  Supporting Soft Real-Time Parallel Applications on Multicore Processors , 2012, 2012 IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

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

[54]  James H. Anderson,et al.  An O(m) Analysis Technique for Supporting Real-Time Self-Suspending Task Systems , 2012, 2012 IEEE 33rd Real-Time Systems Symposium.

[55]  Luís Nogueira,et al.  Server-based scheduling of parallel real-time tasks , 2012, EMSOFT '12.

[56]  Luigi Palopoli,et al.  An Analytical Bound for Probabilistic Deadlines , 2012, 2012 24th Euromicro Conference on Real-Time Systems.

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

[58]  Björn Andersson,et al.  Analyzing Global-EDF for Multiprocessor Scheduling of Parallel Tasks , 2012, OPODIS.

[59]  Arun Prakash,et al.  EVALUATING MODELING CHOICES IN THE IMPLEMENTATION OF REAL-TIME HYBRID SIMULATION , 2012 .

[60]  Tommaso Cucinotta,et al.  An experimental comparison of different real-time schedulers on multicore systems , 2012, J. Syst. Softw..

[61]  Kang G. Shin,et al.  Controlling Preemption for Better Schedulability in Multi-Core Systems , 2012, 2012 IEEE 33rd Real-Time Systems Symposium.

[62]  Sebastian Stiller,et al.  Feasibility Tests for Recurrent Real-Time Tasks in the Sporadic DAG Model , 2012, ArXiv.

[63]  Chenyang Lu,et al.  Outstanding Paper Award: Analysis of Global EDF for Parallel Tasks , 2013, 2013 25th Euromicro Conference on Real-Time Systems.

[64]  Arpan Gujarati,et al.  Outstanding Paper Award: Schedulability Analysis of the Linux Push and Pull Scheduler with Arbitrary Processor Affinities , 2013, 2013 25th Euromicro Conference on Real-Time Systems.

[65]  Chenyang Lu,et al.  A real-time scheduling service for parallel tasks , 2013, 2013 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[66]  Jinkyu Lee,et al.  Global EDF Schedulability Analysis for Synchronous Parallel Tasks on Multicore Platforms , 2013, 2013 25th Euromicro Conference on Real-Time Systems.

[67]  James H. Anderson,et al.  Fair lateness scheduling: reducing maximum lateness in G-EDF-like scheduling , 2013, Real-Time Systems.

[68]  Rolf Ernst,et al.  Response-Time Analysis of Parallel Fork-Join Workloads with Real-Time Constraints , 2013, 2013 25th Euromicro Conference on Real-Time Systems.

[69]  Ragunathan Rajkumar,et al.  Parallel scheduling for cyber-physical systems: Analysis and case study on a self-driving car , 2013, 2013 ACM/IEEE International Conference on Cyber-Physical Systems (ICCPS).

[70]  Sebastian Stiller,et al.  Feasibility Analysis in the Sporadic DAG Task Model , 2013, 2013 25th Euromicro Conference on Real-Time Systems.

[71]  C. Gill,et al.  Analysis of Global EDF for Parallel Tasks , 2013 .

[72]  Felipe Cerqueira,et al.  A Comparison of Scheduling Latency in Linux, PREEMPT-RT, and LITMUS RT , 2013 .

[73]  Felipe Cerqueira,et al.  Scaling global scheduling with message passing , 2014, 2014 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[74]  Chenyang Lu,et al.  Parallel Real-Time Scheduling of DAGs , 2014, IEEE Transactions on Parallel and Distributed Systems.