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.
Similar content being viewed by others
References
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
Baker TP (2005) An analysis of EDF schedulability on a multiprocessor. IEEE Trans Parallel Distrib Syst 16:760–768
Baker TP, Baruah SK (2007) Schedulability analysis of multiprocessor sporadic task systems. In: Handbook of realtime and embedded systems. CRC Press, Boca Raton
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
Chandra R, Dagum L, Kohr D, Maydan D, McDonald J, Menon R (2001) Parallel programming in OpenMP. Morgan Kaufmann, San Francisco
Collette S, Cucu L, Goossens J (2008) Integrating job parallelism in real-time scheduling theory. Inf Process Lett 106(5):180–187
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
Dertouzos ML, Mok AK (1989) Multiprocessor online scheduling of hard-real-time tasks. IEEE Trans Softw Eng 15:1497–1506
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
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
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
Gropp W, Lusk E, Skjellum A (1999) Using MPI: portable parallel programming with the message passing interface, 2nd edn. MIT Press, Cambridge
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
Han S, Park M (2006) Predictability of least laxity first scheduling algorithm on multiprocessor real-time systems. In: EUC workshops, pp 755–764
Kato S, Ishikawa Y (2009) Gang EDF scheduling of parallel task systems. In: IEEE real-time systems symposium (RTSS), pp 459–468
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
Liu CL, Layland JW (1973) Scheduling algorithms for multiprogramming in a hard-real-time environment. J ACM 20:46–61
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
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
Moore GE (2003) No exponential is forever: but “Forever” can be delayed! In: Solid-state circuits IEEE international conference, vol 1, pp 20–23
Pthread (2012) https://computing.llnl.gov/tutorials/pthreads/
Reinders J (2007) Intel threading building blocks—outfitting C++ for multi-core processor parallelism. O’Reilly, Sebastopol
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
Sutter H (2005) The free lunch is over: a fundamental turn toward concurrency in software. Dr Dobb’s J 30(3):202–210
The connection machine CM-5: technical summary. Thinking Machines Corporation (1992)
Author information
Authors and Affiliations
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11241-012-9173-x