Multi-core real-time scheduling for generalized parallel task models | Real-Time Systems Skip to main content
Log in

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

  • Published:
Real-Time Systems Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
¥17,985 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price includes VAT (Japan)

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7

Similar content being viewed by others

References

  • Agrawal K, He Y, Hsu WJ, Leiserson CE (2006) Adaptive task scheduling with parallelism feedback. In: PPoPP’06: proceedings of the 11th ACM SIGPLAN symposium on principles and practice of parallel programming, pp 100–109

    Google Scholar 

  • Anderson JH, Calandrino JM (2006) Parallel real-time task scheduling on multicore platforms. In: RTSS’06: proceedings of the 27th IEEE real-time systems symposium, pp 89–100

    Google Scholar 

  • Arora NS, Blumofe RD, Plaxton CG (1998) Thread scheduling for multiprogrammed multiprocessors. In: SPAA’98: proceedings of the 10th annual ACM symposium on parallel algorithms and architectures, pp 119–129

    Chapter  Google Scholar 

  • Bansal N, Dhamdhere K, Konemann J, Sinha A (2004) Non-clairvoyant scheduling for minimizing mean slowdown. Algorithmica 40(4):305–318

    Article  MathSciNet  MATH  Google Scholar 

  • Baruah S (2007) Techniques for multiprocessor global schedulability analysis. In: RTSS’07: proceedings of the 28th IEEE real-time systems symposium, pp 119–128

    Google Scholar 

  • Baruah S, Mok A, Rosier L (1990) Preemptively scheduling hard-real-time sporadic tasks on one processor. In: RTSS’90: proceedings of the 11th IEEE real-time systems symposium, pp 182–190

    Google Scholar 

  • Baruah S, Bonifaci V, Marchetti-Spaccamela A, Stougie L, Wiese A (2012) A generalized parallel task model for recurrent real-time processes. In: RTSS’12: proceedings of the 33rd IEEE real-time systems symposium

    Google Scholar 

  • Calandrino JM, Anderson JH (2008) Cache-aware real-time scheduling on multicore platforms: heuristics and a case study. In: ECRTS’08: proceedings of the 20th Euromicro conference on real-time systems, pp 299–308

    Chapter  Google Scholar 

  • Calandrino JM, Anderson JH, Baumberger DP (2007a) A hybrid real-time scheduling approach for large-scale multicore platforms. In: ECRTS’07: proceedings of the 19th Euromicro conference on real-time systems, pp 247–258

    Chapter  Google Scholar 

  • Calandrino JM, Baumberger D, Li T, Hahn S, Anderson JH (2007b) Soft real-time scheduling on performance asymmetric multicore platforms. In: RTAS’07: proceedings of the 13th IEEE real time and embedded technology and applications symposium, pp 101–112

    Chapter  Google Scholar 

  • ClearSpeed (2008) CoSy compiler for 96-core multi-threaded array processor. http://www.clearspeed.com/newsevents/news/ClearSpeed_Ace_011708.php

  • Collette S, Cucu L, Goossens J (2008) Integrating job parallelism in real-time scheduling theory. Inf Process Lett 106(5):180–187

    Article  MathSciNet  MATH  Google Scholar 

  • Davis RI, Burns A (2011) A survey of hard real-time scheduling algorithms and schedulability analysis techniques for multiprocessor systems. ACM Comput Surv 35:1

    Article  Google Scholar 

  • Deng X, Gu N, Brecht T, Lu K (1996) Preemptive scheduling of parallel jobs on multiprocessors. In: SODA’96: proceedings of the 7th annual ACM-SIAM symposium on discrete algorithms, pp 159–167

    Google Scholar 

  • Drozdowski M (1996) Real-time scheduling of linear speedup parallel tasks. Inf Process Lett 57(1):35–40

    Article  MATH  Google Scholar 

  • Edmonds J, Chinn DD, Brecht T, Deng X (2003) Non-clairvoyant multiprocessor scheduling of jobs with changing execution characteristics. J Sched 6(3):231–250

    Article  MathSciNet  MATH  Google Scholar 

  • Fisher N, Baruah S, Baker TP (2006) The partitioned scheduling of sporadic tasks according to static-priorities. In: ECRTS’06: proceedings of the 18th Euromicro conference on real-time systems, pp 118–127

    Chapter  Google Scholar 

  • Goossens J, Funk S, Baruah S (2003) Priority-driven scheduling of periodic task systems on multiprocessors. Real-Time Syst 25(2–3):187–205

    Article  MATH  Google Scholar 

  • Han CC, Lin KJ (1989) Scheduling parallelizable jobs on multiprocessors. In: RTSS’89: proceedings of the 10th IEEE real-time systems symposium, pp 59–67

    Google Scholar 

  • Huang HM, Tidwell T, Gill C, Lu C, Gao X, Dyke S (2010) Cyber-physical systems for real-time hybrid structural testing: a case study. In: ICCPS’10: proceedings of the 1st ACM/IEEE international conference on cyber-physical systems, pp 69–78

    Chapter  Google Scholar 

  • Intel (2007) Teraflops research chip. http://download.intel.com/pressroom/kits/Teraflops/Teraflops_Research_Chip_Overview.pdf

  • Intel (2010) Cilk Plus. http://software.intel.com/en-us/articles/intel-cilk-plus

  • Jansen K (2004) Scheduling malleable parallel tasks: an asymptotic fully polynomial time approximation scheme. Algorithmica 39(1):59–81

    Article  MathSciNet  MATH  Google Scholar 

  • Kato S, Ishikawa Y (2009) Gang EDF scheduling of parallel task systems. In: RTSS’09: proceedings of the 30th IEEE real-time systems symposium, pp 459–468

    Chapter  Google Scholar 

  • Kwon OH, Chwa KY (1999) Scheduling parallel tasks with individual deadlines. Theor Comput Sci 215(1–2):209–223

    MathSciNet  MATH  Google Scholar 

  • Lakshmanan K, Kato S, Rajkumar RR (2010) Scheduling parallel real-time tasks on multi-core processors. In: RTSS’10: proceedings of the 30th IEEE real-time systems symposium, pp 259–268

    Chapter  Google Scholar 

  • Lee WY, Lee H (2006) Optimal scheduling for real-time parallel tasks. IEICE Trans Inf Syst E89-D(6):1962–1966

    Article  Google Scholar 

  • Manimaran G, Murthy CSR, Ramamritham K (1998) A new approach for scheduling of parallelizable tasks inreal-time multiprocessor systems. Real-Time Syst 15(1):39–60

    Article  Google Scholar 

  • Nelissen G, Berten V, Goossens J, Milojevic D (2012) Techniques optimizing the number of processors to schedule multi-threaded tasks. In: ECRTS’12: proceedings of the 24th Euromicro conference on real-time systems, pp 321–330

    Chapter  Google Scholar 

  • OpenMP (2011) OpenMP: open multi-processing. http://openmp.org

  • Phillips CA, Stein C, Torng E, Wein J (1997) Optimal time-critical scheduling via resource augmentation (extended abstract). In: STOC’97: proceedings of the 29th annual ACM symposium on theory of computing, pp 140–149

    Google Scholar 

  • Polychronopoulos CD, Kuck DJ (1987) Guided self-scheduling: a practical scheduling scheme for parallel supercomputers. IEEE Trans Comput C-36(12):1425–1439

    Article  Google Scholar 

  • Saifullah A, Agrawal K, Lu C, Gill C (2011) Multi-core real-time scheduling for generalized parallel task models. In: RTSS’11: proceedings of the 32nd IEEE real-time systems symposium, pp 217–226

    Chapter  Google Scholar 

  • Wang Q, Cheng KH (1992) A heuristic of scheduling parallel tasks and its analysis. SIAM J Comput 21(2):281–294

    Article  MathSciNet  MATH  Google Scholar 

Download references

Acknowledgements

This research was supported by NSF under grants CNS-0448554 (CAREER) and CCF-1136073.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Abusayeed Saifullah.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Saifullah, A., Li, J., Agrawal, K. et al. Multi-core real-time scheduling for generalized parallel task models. Real-Time Syst 49, 404–435 (2013). https://doi.org/10.1007/s11241-012-9166-9

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11241-012-9166-9

Keywords

Navigation