Real-Time Scheduling and Analysis of OpenMP Task Systems with Tied Tasks

OpenMP is a promising framework for developing parallel real-time software on multi-cores. Although similar to the DAG task model, OpenMP task systems are significantly more difficult to analyze due to constraints posed by the OpenMP specification. An important feature in OpenMP is tied tasks, which must execute on the same thread during the whole life cycle. Although tied tasks enjoy benefits in simplicity and efficiency, it was considered to be not suitable to real-time systems due to its complex behavior. In this paper, we study the realtime scheduling and analysis of OpenMP task systems with tied tasks. First, we show that under the existing scheduling algorithms in OpenMP, tied tasks indeed may lead to extremely bad timing behaviors where the parallel workload is sequentially executed completely. To solve this problem, we proposed a new scheduling algorithm and developed two response time bounds for it, with different trade-off between simplicity and analysis precision. Experiments with both randomly generated OpenMP task systems and realistic OpenMP programs show that the response time bounds obtained by our approach for tied task systems are very close to that of untied tasks.

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

[2]  Sanjoy K. Baruah Improved Multiprocessor Global Schedulability Analysis of Sporadic DAG Task Systems , 2014, 2014 26th Euromicro Conference on Real-Time Systems.

[3]  P ? ? ? ? ? ? ? % ? ? ? ? , 1991 .

[4]  K Lakshmanan,et al.  Scheduling Parallel Real-Time Tasks on Multi-core Processors , 2010, 2010 31st IEEE Real-Time Systems Symposium.

[5]  Luca Benini,et al.  An optimized task-based runtime system for resource-constrained parallel accelerators , 2016, 2016 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[6]  Serge Midonnet,et al.  A Stretching Algorithm for Parallel Real-time DAG Tasks on Multiprocessor Systems , 2014, RTNS.

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

[9]  Ronald L. Graham,et al.  Bounds for certain multiprocessing anomalies , 1966 .

[10]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[11]  Girija J. Narlikar,et al.  Scheduling threads for low space requirement and good locality , 1999, SPAA '99.

[12]  Matteo Frigo,et al.  The implementation of the Cilk-5 multithreaded language , 1998, PLDI.

[13]  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.

[14]  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.

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

[16]  Eduardo Quiñones,et al.  A Lightweight OpenMP 4 Run-time for Embedded Systems , 2015 .