Real-Time Systems

, Volume 51, Issue 4, pp 395–439 | Cite as

Global EDF scheduling for parallel real-time tasks

  • Jing LiEmail author
  • Zheng Luo
  • David Ferry
  • Kunal Agrawal
  • Christopher Gill
  • Chenyang Lu


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}\) and a resource augmentation bound of \(2-\frac{1}{m}\). 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})\) where each task’s critical-path length is at most \(1/(4-\frac{2}{m})\) of its deadline is schedulable on \(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}\) 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.


Real-time scheduling Parallel scheduling Global EDF Resource augmentation bound Capacity augmentation bound 



This research was supported in part by NSF Grants CCF-1136073 (CPS) and CCF-1337218 (XPS).


  1. Agrawal K, Leiserson CE, He Y, Hsu WJ (2008) Adaptive work-stealing with parallelism feedback. ACM Trans Comput Syst 26(3):7CrossRefGoogle Scholar
  2. Anderson JH, Calandrino JM (2006) Parallel real-time task scheduling on multicore platforms. In: RTSSGoogle Scholar
  3. Andersson B, Jonsson J (2003) The utilization bounds of partitioned and pfair static-priority scheduling on multiprocessors are 50 %. In: ECRTSGoogle Scholar
  4. Andersson B, de Niz D (2012) Analyzing global-edf for multiprocessor scheduling of parallel tasks. Principles of distributed systems. Prentice Hall, Upper Saddle River, pp 16–30Google Scholar
  5. Andersson B, Baruah S, Jonsson J (2001) Static-priority scheduling on multiprocessors. In: RTSSGoogle Scholar
  6. Axer P, Quinton S, Neukirchner M, Ernst R, Dobel B, Hartig H (2013) Response-time analysis of parallel fork-join workloads with real-time constraints. In: ECRTSGoogle Scholar
  7. Baker TP (2005) An analysis of EDF schedulability on a multiprocessor. IEEE Trans Parallel Distrib Syst 16(8):760–768CrossRefGoogle Scholar
  8. Baker TP, Baruah SK (2009) Sustainable multiprocessor scheduling of sporadic task systems. In: ECRTSGoogle Scholar
  9. Baruah S (2004) Optimal utilization bounds for the fixed-priority scheduling of periodic task systems on identical multiprocessors. IEEE Trans Comput 53(6):781–784CrossRefGoogle Scholar
  10. Baruah S, Baker T (2008) Schedulability analysis of global EDF. Real-Time Syst 38(3):223–235zbMATHCrossRefGoogle Scholar
  11. Baruah S, Bonifaci V, Marchetti-Spaccamela A, Stiller S (2010) Improved multiprocessor global schedulability analysis. Real-Time Syst 46(1):3–24zbMATHCrossRefGoogle Scholar
  12. Baruah SK, Bonifaci V, Marchetti-Spaccamela A, Stougie L, Wiese A (2012) A generalized parallel task model for recurrent real-time processes. In: RTSSGoogle Scholar
  13. Bertogna M, Baruah S (2011) Tests for global edf schedulability analysis. J Syst Arch 57(5):487–497CrossRefGoogle Scholar
  14. Bertogna M, Cirinei M, Lipari G (2009) Schedulability analysis of global scheduling algorithms on multiprocessor platforms. IEEE Trans Parallel Distrib Syst 20(4):553–566CrossRefGoogle Scholar
  15. Bonifaci V, Marchetti-Spaccamela A, Stiller S, Wiese A (2013) Feasibility analysis in the sporadic dag task model. In: ECRTSGoogle Scholar
  16. Brandenburg BB, Anderson JH (2009) On the implementation of global real-time schedulers. In: RTSSGoogle Scholar
  17. Calandrino JM, Anderson JH (2009) On the design and implementation of a cache-aware multicore real-time scheduler. In: ECRTSGoogle Scholar
  18. Cerqueira F, Brandenburg BB (2013) A comparison of scheduling latency in linux, PREEMPT-RT, and LITMUSRT. OSPERTGoogle Scholar
  19. Cerqueira F, Vanga M, Brandenburg BB (2014) Scaling global scheduling with massage passing. In: RTASGoogle Scholar
  20. Chwa HS, Lee J, Phan KM, Easwaran A, Shin I (2013) Global edf schedulability analysis for synchronous parallel tasks on multicore platforms. In: ECRTSGoogle Scholar
  21. Collette S, Cucu L, Goossens J (2008) Integrating job parallelism in real-time scheduling theory. Inf Process Lett 106(5):180–187zbMATHMathSciNetCrossRefGoogle Scholar
  22. Cordeiro D, Mouni G, Perarnau S, Trystram D, Vincent JM, Wagner F (2010) Random graph generation for scheduling simulations. In: SIMUToolsGoogle Scholar
  23. Davis RI, Burns A (2011) A survey of hard real-time scheduling for multiprocessor systems. ACM Comput Surv 43(4):35CrossRefGoogle Scholar
  24. Deng X, Gu N, Brecht T, Lu K (1996) Preemptive scheduling of parallel jobs on multiprocessors. In: SODAGoogle Scholar
  25. Drozdowski M (1996) Real-time scheduling of linear speedup parallel tasks. Inf Process Lett 57(1):35–40zbMATHCrossRefGoogle Scholar
  26. Ferry D, Li J, Mahadevan M, Agrawal K, Gill C, Lu C (2013) A real-time scheduling service for parallel tasks. In: RTASGoogle Scholar
  27. Fisher N, Baruah S, Baker TP (2006) The partitioned scheduling of sporadic tasks according to static-priorities. In: ECRTSGoogle Scholar
  28. Garey RM, Johnson SD (1979) Computers and intractability: a guide to the theory of np-completeness. WH Freeman & Co, San FranciscozbMATHGoogle Scholar
  29. Goossens J, Funk S, Baruah S (2003) Priority-driven scheduling of periodic task systems on multiprocessors. Real-Time Syst 25(2–3):187–205zbMATHCrossRefGoogle Scholar
  30. Kato S, Ishikawa Y (2009) Gang EDF scheduling of parallel task systems. In: RTSSGoogle Scholar
  31. Kim J, Kim H, Lakshmanan K, Rajkumar RR (2013) Parallel scheduling for cyber-physical systems: analysis and case study on a self-driving car. In: ICCPSGoogle Scholar
  32. Lakshmanan K, Kato S, Rajkumar R (2010) Scheduling parallel real-time tasks on multi-core processors. In: RTSSGoogle Scholar
  33. Lee J, Shin KG (2012) Controlling preemption for better schedulability in multi-core systems. In: RTSSGoogle Scholar
  34. Lee WY, Heejo L (2006) Optimal scheduling for real-time parallel tasks. IEICE Trans Inf Syst 89(6):1962–1966CrossRefGoogle Scholar
  35. Lelli J, Lipari G, Faggioli D, Cucinotta T (2011) An efficient and scalable implementation of global edf in linux. In: OSPERTGoogle Scholar
  36. Li J, Agrawal K, Lu C, Gill C (2013) Analysis of global EDF for parallel tasks. In: ECRTSGoogle Scholar
  37. Liu C, Anderson J (2012) Supporting soft real-time parallel applications on multicore processors. In: RTCSAGoogle Scholar
  38. López JM, Díaz JL, García DF (2004) Utilization bounds for EDF scheduling on real-time multiprocessor systems. Real-Time Syst 28(1):39–68zbMATHCrossRefGoogle Scholar
  39. Maghareh A, Dyke S, Prakash A, Bunting G, Lindsay P (2012) Evaluating modeling choices in the implementation of real-time hybrid simulation. EMI/PMCGoogle Scholar
  40. Manimaran G, Murthy CSR, Ramamritham K (1998) A new approach for scheduling of parallelizable tasks in real-time multiprocessor systems. Real-Time Syst 15(1):39–60CrossRefGoogle Scholar
  41. Nelissen G, Berten V, Goossens J, Milojevic D (2012) Techniques optimizing the number of processors to schedule multi-threaded tasks. In: ECRTSGoogle Scholar
  42. Nogueira L, Pinho LM (2012) Server-based scheduling of parallel real-time tasks. In: EMSOFTGoogle Scholar
  43. Oh-Heum K, Kyung-Yong C (1999) Scheduling parallel tasks with individual deadlines. Theor Comput Sci 215(1):209–223zbMATHCrossRefGoogle Scholar
  44. OpenMP (2011) OpenMP Application Program Interface v3.1.
  45. Phillips CA, Stein C, Torng E, Wein J (1997) Optimal time-critical scheduling via resource augmentation. In: Proceedings of the twenty-ninth annual ACM symposium on Theory of computing, ACM, pp 140–149Google Scholar
  46. Polychronopoulos CD, Kuck DJ (1987) Guided self-scheduling: a practical scheduling scheme for parallel supercomputers. IEEE Trans Comput 100(12):1425–1439CrossRefGoogle Scholar
  47. Saifullah A, Li J, Agrawal K, Lu C, Gill C (2013) Multi-core real-time scheduling for generalized parallel task models. Real-Time Syst 49(4):404–435zbMATHCrossRefGoogle Scholar
  48. Saifullah A, Ferry D, Li J, Agrawal K, Lu C, Gill C (2014) Parallel real-time scheduling of DAGS. IEEE Trans Parallel Distrib SystGoogle Scholar
  49. Srinivasan A, Baruah S (2002) Deadline-based scheduling of periodic task systems on multiprocessors. Inf Process Lett 84(2):93–98zbMATHMathSciNetCrossRefGoogle Scholar
  50. Wang Q, Cheng KH (1992) A heuristic of scheduling parallel tasks and its analysis. SIAM J Comput 21(2):281–294zbMATHMathSciNetCrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2014

Authors and Affiliations

  • Jing Li
    • 1
    Email author
  • Zheng Luo
    • 1
  • David Ferry
    • 1
  • Kunal Agrawal
    • 1
  • Christopher Gill
    • 1
  • Chenyang Lu
    • 1
  1. 1.Department of Computer Science and EngineeringWashington University in St. LouisSt. LouisUSA

Personalised recommendations