Calculating Response-Time Bounds for OpenMP Task Systems with Conditional Branches

Existing DAG-based task models in real-time scheduling research assume well-nested structures recursively composed by single-source-single-sink parallel and conditional components. However, realistic OpenMP task systems in general have more flexible structures that do not comply with this assumption. In this paper, we model the behaviors of general OpenMP task systems with non-well-nested branching structures and study the problem of how to bound their worst-case response times (WCRT). A naive solution is to apply the established WCRT bound for DAG tasks without conditional branches to the exponentially many possible execution flows, which has exponential time complexity. In this paper, we develop a linear-time algorithm to efficiently calculate WCRT bounds for OpenMP task systems with non-well-nested branching structures. Experiments with both synthetic task graphs and realistic OpenMP programs are conducted to evaluate the performance of our method.

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

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

[3]  Eduardo Quiñones,et al.  OpenMP and timing predictability: A possible union? , 2015, 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[4]  Chenyang Lu,et al.  A real-time scheduling service for parallel tasks , 2013, 2013 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

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

[6]  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).

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

[8]  Allen D. Malony,et al.  Integrated Measurement for Cross-Platform OpenMP Performance Analysis , 2014, IWOMP.

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

[10]  W. Yi,et al.  Scheduling and Analysis of Real-Time OpenMP Task Systems with Tied Tasks , 2017 .

[11]  Chenyang Lu,et al.  Parallel Real-Time Scheduling of DAGs , 2014, IEEE Transactions on Parallel and Distributed Systems.

[12]  Marko Bertogna,et al.  Schedulability Analysis of Conditional Parallel Task Graphs in Multicore Systems , 2017, IEEE Transactions on Computers.

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

[14]  Gurulingesh Raravi,et al.  A multi-DAG model for real-time parallel applications with conditional execution , 2015, SAC.

[15]  Chenyang Lu,et al.  Global EDF scheduling for parallel real-time tasks , 2015, Real-Time Systems.

[16]  John M. Mellor-Crummey,et al.  A new approach for performance analysis of openMP programs , 2013, ICS '13.

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

[18]  Robert Dietrich,et al.  OMPT: An OpenMP Tools Application Programming Interface for Performance Analysis , 2013, IWOMP.

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

[20]  Dirk Schmidl,et al.  Performance Measurement for the OpenMP 4.0 Offloading Model , 2014, Euro-Par Workshops.

[21]  Chenyang Lu,et al.  Multi-core Real-Time Scheduling for Generalized Parallel Task Models , 2011, RTSS.

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

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

[24]  Nan Guan,et al.  Feasibility of Fork-Join Real-Time Task Graph Models: Hardness and Algorithms , 2016, TECS.

[25]  Eduardo Quiñones,et al.  Timing characterization of OpenMP4 tasking model , 2015, 2015 International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES).