Intra-Task Priority Assignment in Real-Time Scheduling of DAG Tasks on Multi-Cores

Real-time scheduling and analysis of parallel tasks modeled as directed acyclic graphs (DAG) have been intensively studied in recent years. However, no existing work has explored the execution order of eligible vertices within a DAG task. In this paper, we show that this intra-task vertex execution order has a large impact on system schedulability and propose to control the execution order by vertex-level priority assignment. We develop analysis techniques to bound the worst-case response time for the proposed scheduling strategy and design heuristics for proper priority assignment to improve system schedulability as much as possible. We further extend the proposed approach to the general setting of multiple recurrent DAG tasks. Experiments with both realistic parallel benchmark applications and randomly generated workload show that our method consistently outperforms state-of-the-art methods with different task graph structures and parameter configurations.

[1]  José Carlos Fonseca,et al.  Improved response time analysis of sporadic DAG tasks for global FP scheduling , 2017, RTNS.

[2]  Ronald L. Graham,et al.  Bounds on Multiprocessing Timing Anomalies , 1969, SIAM Journal of Applied Mathematics.

[3]  Wang Yi,et al.  Semi-Federated Scheduling of Parallel Real-Time Tasks on Multiprocessors , 2017, 2017 IEEE Real-Time Systems Symposium (RTSS).

[4]  Jinkyu Lee,et al.  Global EDF Schedulability Analysis for Synchronous Parallel Tasks on Multicore Platforms , 2013, 2013 25th Euromicro Conference on Real-Time Systems.

[5]  Hironori Kasahara,et al.  Practical Multiprocessor Scheduling Algorithms for Efficient Parallel Processing , 1984, IEEE Transactions on Computers.

[6]  Jean-Marc Vincent,et al.  Random graph generation for scheduling simulations , 2010, SimuTools.

[7]  Rudolf Eigenmann,et al.  SPEComp: A New Benchmark Suite for Measuring Parallel Computer Performance , 2001, WOMPAT.

[8]  Ishfaq Ahmad,et al.  Dynamic Critical-Path Scheduling: An Effective Technique for Allocating Task Graphs to Multiprocessors , 1996, IEEE Trans. Parallel Distributed Syst..

[9]  S. P. Kumar,et al.  Solving Linear Algebraic Equations on an MIMD Computer , 1983, JACM.

[10]  Per Stenström,et al.  Timing anomalies in dynamically scheduled microprocessors , 1999, Proceedings 20th IEEE Real-Time Systems Symposium (Cat. No.99CB37054).

[11]  David H. Bailey,et al.  The NAS Parallel Benchmarks 2.0 , 2015 .

[12]  Rolf Ernst,et al.  Response-Time Analysis of Parallel Fork-Join Workloads with Real-Time Constraints , 2013, 2013 25th Euromicro Conference on Real-Time Systems.

[13]  Y.-K. Kwok,et al.  Static scheduling algorithms for allocating directed task graphs to multiprocessors , 1999, CSUR.

[14]  Eduard Ayguadé,et al.  DaSH: a benchmark suite for hybrid dataflow and shared memory programming models: with comparative evaluation of three hybrid dataflow models , 2014, Conf. Computing Frontiers.

[15]  Virgílio A. F. Almeida,et al.  Using random task graphs to investigate the potential benefits of heterogeneity in parallel systems , 1992, Proceedings Supercomputing '92.

[16]  Daniel Gajski,et al.  Hypertool: A Programming Aid for Message-Passing Systems , 1990, IEEE Trans. Parallel Distributed Syst..

[17]  Ray Elliott Proceedings of the 1991 ACM/IEEE conference on Supercomputing , 1991 .

[18]  Alejandro Duran,et al.  Barcelona OpenMP Tasks Suite: A Set of Benchmarks Targeting the Exploitation of Task Parallelism in OpenMP , 2009, 2009 International Conference on Parallel Processing.

[19]  Marko Bertogna,et al.  Response-Time Analysis of Synchronous Parallel Tasks in Multiprocessor Systems , 2014, RTNS.

[20]  Giorgio C. Buttazzo,et al.  Response-Time Analysis of Conditional DAG Tasks in Multiprocessor Systems , 2015, 2015 27th Euromicro Conference on Real-Time Systems.

[21]  Fiona Reid,et al.  A Microbenchmark Suite for OpenMP Tasks , 2012, IWOMP.

[22]  Frédéric Fauberteau,et al.  Global EDF scheduling of directed acyclic graphs on multiprocessor systems , 2013, RTNS '13.

[23]  Wang Yi,et al.  Benchmarking OpenMP programs for real-time scheduling , 2017, 2017 IEEE 23rd International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA).

[24]  David H. Bailey,et al.  The NAS parallel benchmarks summary and preliminary results , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

[25]  Sanjoy K. Baruah,et al.  The Global EDF Scheduling of Systems of Conditional Sporadic DAG Tasks , 2015, 2015 27th Euromicro Conference on Real-Time Systems.

[26]  Bernd Becker,et al.  A Definition and Classification of Timing Anomalies , 2006, WCET.

[27]  Sanjoy K. Baruah,et al.  The federated scheduling of systems of conditional sporadic DAG tasks , 2015, 2015 International Conference on Embedded Software (EMSOFT).

[28]  Pascal Sainrat,et al.  Automatic WCET Analysis of Real-Time Parallel Applications , 2013, WCET.

[29]  Michael Frumkin,et al.  The OpenMP Implementation of NAS Parallel Benchmarks and its Performance , 2013 .

[30]  Ishfaq Ahmad,et al.  Dynamic task graph scheduling on multicore processors for performance, energy, and temperature optimization , 2013, 2013 International Green Computing Conference Proceedings.

[31]  Per Stenström,et al.  Timing-Anomaly Free Dynamic Scheduling of Task-Based Parallel Applications , 2016, 2017 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS).

[32]  J. Mark Bull,et al.  A Microbenchmark Suite for Mixed-Mode OpenMP/MPI , 2009, IWOMP.

[33]  Chenyang Lu,et al.  Analysis of Federated and Global Scheduling for Parallel Real-Time Tasks , 2014, 2014 26th Euromicro Conference on Real-Time Systems.

[34]  Matthias S. Müller,et al.  SPEC OMP2012 - An Application Benchmark Suite for Parallel Systems Using OpenMP , 2012, IWOMP.