Springer Nature is making SARS-CoV-2 and COVID-19 research free. View research | View latest news | Sign up for updates

Scheduling of hard real-time multi-phase multi-thread (MPMT) periodic tasks

  • 414 Accesses

  • 10 Citations

Abstract

In this paper we study the scheduling of parallel and real-time recurrent tasks on multiprocessor platforms. Firstly, we propose a new parallel task model which allows recurrent tasks to be composed of several phases, each one composed of several threads. Each thread requires a single processor for execution and can be scheduled simultaneously. We then propose an algorithm to transpose popular Fork-Join task model to our MPMT task model. Secondly, we define several kinds of real-time schedulers that can be applied to our parallel task model. We distinguish between two scheduling classes: Hierarchical schedulers and Global Thread schedulers. We present and prove correct an exact schedulability test for each class. Lastly, we also evaluate the performance of our scheduling paradigm in comparison with Gang scheduling by means of simulations. In this work we extend the work of Lupu and Goossens in Scheduling of hard real-time multi-thread periodic tasks (Real-Time and Network Systems, 2011) which considers mono-phase multi-thread task model. We extend their previous results to a Multi-Phase Multi-Thread task model.

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

Fig. 1
Algorithm 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

References

  1. Audsley N, Burns A, Richardson MF, Wellings AJ (1991) Hard real-time scheduling: the deadline-monotonic approach. In: IEEE workshop on real-time operating systems and software, pp 133–137

  2. Baker TP (2005) An analysis of EDF schedulability on a multiprocessor. IEEE Trans Parallel Distrib Syst 16:760–768

  3. Baker TP, Baruah SK (2007) Schedulability analysis of multiprocessor sporadic task systems. In: Handbook of realtime and embedded systems. CRC Press, Boca Raton

  4. Bastoni A, Brandenburg BB, Anderson JH (2010) Cache-related preemption and migration delays: empirical approximation and impact on schedulability. In: Proceedings of the 6th international workshop on operating systems platforms for embedded real-time applications (OSPERT 2010), Brussels, Belgium, pp 33–44

  5. Chandra R, Dagum L, Kohr D, Maydan D, McDonald J, Menon R (2001) Parallel programming in OpenMP. Morgan Kaufmann, San Francisco

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

  7. Cucu-Grosjean L, Goossens J (2011) Exact schedulability tests for real-time scheduling of periodic tasks on unrelated multiprocessor platforms. J Syst Archit 57(5):561–569

  8. Dertouzos ML, Mok AK (1989) Multiprocessor online scheduling of hard-real-time tasks. IEEE Trans Softw Eng 15:1497–1506

  9. Feitelson DG (1996) Packing schemes for gang scheduling. In: Proceedings of the workshop on job scheduling strategies for parallel processing. Springer, London, pp 89–110

  10. Goossens J, Berten V (2010) Gang FTP scheduling of periodic and parallel rigid real-time tasks. In: Real-time and network systems, pp 189–196

  11. Gorlatch S, Bischof H (1998) A generic MPI implementation for a data-parallel skeleton: formal derivation and application to fft. Parallel Process Lett 8(4):447–458

  12. Gropp W, Lusk E, Skjellum A (1999) Using MPI: portable parallel programming with the message passing interface, 2nd edn. MIT Press, Cambridge

  13. Ha R, Liu JWS (1994) Validating timing constraints in multiprocessor and distributed real-time systems. In: 14th international conference on distributed computing systems, pp 162–171

  14. Han S, Park M (2006) Predictability of least laxity first scheduling algorithm on multiprocessor real-time systems. In: EUC workshops, pp 755–764

  15. Kato S, Ishikawa Y (2009) Gang EDF scheduling of parallel task systems. In: IEEE real-time systems symposium (RTSS), pp 459–468

  16. Lakshmanan K, Kato S, Rajkumar R (2010) Scheduling parallel real-time tasks on multi-core processors. In: IEEE real-time systems symposium (RTSS), pp 259–268

  17. Liu CL, Layland JW (1973) Scheduling algorithms for multiprogramming in a hard-real-time environment. J ACM 20:46–61

  18. Lupu I, Goossens J (2011) Scheduling of hard real-time multi-thread periodic tasks. In: Burns A, George L (eds) Real-time and network systems, pp 35–44

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

  20. Moore GE (2003) No exponential is forever: but “Forever” can be delayed! In: Solid-state circuits IEEE international conference, vol 1, pp 20–23

  21. Pthread (2012) https://computing.llnl.gov/tutorials/pthreads/

  22. Reinders J (2007) Intel threading building blocks—outfitting C++ for multi-core processor parallelism. O’Reilly, Sebastopol

  23. Saifullah A, Agrawal K, Lu C, Gill C (2011) Multi-core real-time scheduling for generalized parallel task models. In: Real-time systems symposium. IEEE Computer Society, Los Alamitos, pp 217–226

  24. Sutter H (2005) The free lunch is over: a fundamental turn toward concurrency in software. Dr Dobb’s J 30(3):202–210

  25. The connection machine CM-5: technical summary. Thinking Machines Corporation (1992)

Download references

Author information

Correspondence to Joël Goossens.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Courbin, P., Lupu, I. & Goossens, J. Scheduling of hard real-time multi-phase multi-thread (MPMT) periodic tasks. Real-Time Syst 49, 239–266 (2013). https://doi.org/10.1007/s11241-012-9173-x

Download citation

Keywords

  • Real-time systems
  • Parallel task
  • Fork-join
  • Scheduling
  • Gang
  • Feasibility interval
  • Periodic
  • Multiprocessor
  • Multi-phase multi-thread
  • Hierarchical scheduler
  • Global thread scheduler