Abstract
One of the major sources of pessimism in the response time analysis (RTA) of globally scheduled real-time tasks is the computation of an upper-bound on the inter-task interference. This problem is further exacerbated when intra-task parallelism is permitted because of the complex internal structure of parallel tasks. This paper considers the global fixed-priority (G-FP) scheduling of sporadic real-time tasks when each task is modeled by a directed acyclic graph (DAG) of concurrent subtasks. We present a RTA based on the concept of problem window, a technique that has been extensively used to study the schedulability of sequential task in multiprocessor systems. The problem window approach of RTA usually categorizes interfering jobs in three different groups: carry-in, carry-out and body jobs. In this paper, we propose two novel techniques to derive less pessimistic upper-bounds on the workload produced by the carry-in and carry-out jobs of the interfering tasks. Those new bounds take into account the precedence constraints between subtasks pertaining to the same DAG. We show that with this new characterization of the carry-in and carry-out workload, the proposed schedulability test offers significant improvements on the schedulability of DAG tasks for randomly generated task sets in comparison to state-of-the-art techniques. In fact, we show that, while the state-of-art analysis does not scale with an increasing number of processors when tasks have constrained deadlines, the results of our analysis are barely impacted by the processor count in both the constrained and the arbitrary deadline case.



















Similar content being viewed by others
Notes
The “decomposition” process consists in assigning independent release offsets and virtual deadlines to each subtask in a DAG. Different subtasks may then be scheduled as independent sequential tasks even if they belong to the same DAG.
The operator \(\left\lfloor x \right\rfloor _0 {\mathop {=}\limits ^{\mathrm {def}}}\max \{0,~\left\lfloor x \right\rfloor \}\).
\([x]_z^y = max\{min\{x,y\},z\}\), that is, y and z are an upper-bound and a lower-bound on the value of x, respectively.
A task \(\tau _i\) may have more than one critical path.
In graph theory, it is known as two terminal series parallel digraph (He and Yesha 1987).
We note that Eq. (15) was incomplete in the original RTNS paper (Fonseca et al. 2017). We correct it here by replacing the term \(L_i\) by \(\tau _i\)’s best-case response time \(B_i\). All the original experiments were performed again with the corrected equation and none was visibly impacted by the change made in Eq. (15).
We enforce this execution behavior to avoid data inconsistencies between successive jobs of a same task. Indeed, a job may require the computation results of its preceding job to be able to proceed correctly.
References
Andersson B, de Niz D (2012) Analyzing global-edf for multiprocessor scheduling of parallel tasks. In: Principles of distributed systems, lecture notes in computer science, vol 7702, pp 16–30
Baker TP (2003) Multiprocessor edf and deadline monotonic schedulability analysis. In: RTSS’03, pp 120–129
Baruah S (2014) Improved multiprocessor global schedulability analysis of sporadic dag task systems. In: ECRTS’14, pp 97–105
Baruah S, Bonifaci V, Marchetti-Spaccamela A (2015) The global edf scheduling of systems of conditional sporadic dag tasks. In: ECRTS’15
Baruah SK, Bonifaci V, Marchetti-Spaccamela A, Stougie L, Wiese A (2012) A generalized parallel task model for recurrent real-time processes. In: RTSS’12, pp 63–72
Bini E, Buttazzo GC (2005) Measuring the performance of schedulability tests. Real-Time Syst 30(1):129–154
Board OAR (2013) OpenMP application program interface version 4.0 http://www.openmp.org/mp-documents/OpenMP4.0.0.pdf
Bonifaci V, Marchetti-Spaccamela A, Stiller S, Wiese A (2013) Feasibility analysis in the sporadic dag task model. In: ECRTS’13
Chwa HS, Lee J, Phan KM, Easwaran A, Shin I (2013) Global edf schedulability analysis for synchronous parallel tasks on multicore platforms. In: ECRTS’13, pp 25–34
Fonseca J, Nélis V, Raravi G, Pinho LM (2015) A multi-dag model for real-time parallel applications with conditional execution. In: SAC’15
Fonseca J, Nelissen G, Nélis V (2017) Improved response time analysis of sporadic dag tasks for global fp scheduling. In: Proceedings of the 25th international conference on real-time networks and systems, pp 28–37. ACM
Fonseca J, Nelissen G, Nelis V, Pinho LM (2016) Response time analysis of sporadic dag tasks under partitioned scheduling. In: SIES’16
González-Escribano A, Van Gemund AJC, Cardeñoso Payo V (2002) Mapping unstructured applications into nested parallelism. In: VECPAR’02, pp. 407–420
Guan N, Stigge M, Yi W, Yu G (2009) New response time bounds for fixed priority multiprocessor scheduling. In: 30th IEEE real-time systems symposium, pp 387–397
He X, Yesha Y (1987) Parallel recognition and decomposition of two terminal series parallel graphs. Inf. Comput. 75(1):15–38
Jiang X, Guan N, Long X, Yi W (2017) Semi-federated scheduling of parallel real-time tasks on multiprocessors. In: RTSS’17
Lakshmanan, K., Kato, S., Rajkumar, R (2010) Scheduling parallel real-time tasks on multi-core processors. In: RTSS’10, pp 259–268
Li J, Agrawal K, Lu C, Gill CD (2013) Analysis of global EDF for parallel tasks. In: ECRTS’13, pp 3–13
Li J, Chen J, Agrawal K, Lu C, Gill CD (2014) Analysis of federated and global scheduling for parallel real-time tasks. In: ECRTS’14, pp. 85–96
Maia C, Bertogna M, Nogueira L, Pinho LM (2014) Response-time analysis of synchronous parallel tasks in multiprocessor systems. In: RTNS’14, pp 3–12
Melani A, Bertogna M, Bonifaci V, Marchetti-Spaccamela A, Buttazzo GC (2015) Response-time analysis of conditional dag tasks in multiprocessor systems. In: ECRTS’15, pp 211–221
Melani A, Bertogna M, Bonifaci V, Marchetti-Spaccamela A, Buttazzo GC (2017) Response-time analysis of conditional dag tasks in multiprocessor systems. IEEE Trans Comput 66(2):339–353
Nelissen G, Berten V, Goossens J, Milojevic D (2012) Techniques optimizing the number of processors to schedule multi-threaded tasks. In: ECRTS, pp 321–330
Parri A, Biondi A, Marinoni M (2015) Response time analysis for g-edf and g-dm scheduling of sporadic dag-tasks with arbitrary deadline. In: RTNS’15, pp 205–214
Pathan R, Voudouris P, Stenstrm P (2018) Scheduling parallel real-time recurrent tasks on multicore platforms. IEEE Trans Parallel Distrib Syst 29(4):915–928
Qamhieh M, Fauberteau F, George L, Midonnet S (2013) Global edf scheduling of directed acyclic graphs on multiprocessor systems. In: RTNS, pp 287–296
Saifullah A, Agrawal K, Lu C, Gill C (2011) Multi-core real-time scheduling for generalized parallel task models. In: RTSS’11, pp 217–226
Saifullah A, Ferry D, Li J, Agrawal K, Lu C, Gill C (2014) Parallel real-time scheduling of dags. IEEE Trans Parallel Distrib Syst 25(12):3242–3252
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–435
Valdes J, Tarjan RE, Lawler EL (1979) The recognition of series parallel digraphs. In: STOC’79, pp 1–12
Acknowledgements
This work was partially supported by National Funds through FCT/ MCTES (Portuguese Foundation for Science and Technology) and co-financed by ERDF (European Regional Development Fund) under the PT2020 Partnership, within the CISTER Research Unit (CEC/04234).
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Fonseca, J., Nelissen, G. & Nélis, V. Schedulability analysis of DAG tasks with arbitrary deadlines under global fixed-priority scheduling. Real-Time Syst 55, 387–432 (2019). https://doi.org/10.1007/s11241-018-09325-5
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11241-018-09325-5