TY - JOUR
T1 - Algorithms for Computing the WCRT Bound of OpenMP Task Systems with Conditional Branches
AU - Sun, Jinghao
AU - Guan, Nan
AU - Sun, Jingchang
AU - Zhang, Xi
AU - Chi, Yaoyao
AU - Li, Feng
N1 - Funding Information:
This work was supported in part by the National Foundation of Science of China (No. 61972076, 61672140) and in part by the Research Grants Council of Hong Kong (GRF 15204917, 15213818).
Publisher Copyright:
© 1968-2012 IEEE.
PY - 2021/1/1
Y1 - 2021/1/1
N2 - Multi-cores are becoming mainstream hardware platforms for embedded and real-time systems. To fully utilize the processing capacity of multi-cores, software should be parallelized. Recently, much work has been done on real-time scheduling of parallel tasks modeled as directed acyclic graphs (DAG), motivated by the parallel task structures supported by popular parallel programming frameworks such as OpenMP. The DAG-based task models in existing real-time scheduling research assume well-nested graph 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 those assumptions. In this article, we model the behavior of general OpenMP task systems with non-well-nested structures. The worst-case response time analysis problem for such systems is more difficult due to the flexible graph structure. As the major technical contribution, we develop two efficient algorithms to compute the worst-case response time bounds, with different trade-offs between efficiency and precision. Evaluation with both randomly generated task graphs and realistic OpenMP programs shows good performance of our approaches in terms of both precision and efficiency.
AB - Multi-cores are becoming mainstream hardware platforms for embedded and real-time systems. To fully utilize the processing capacity of multi-cores, software should be parallelized. Recently, much work has been done on real-time scheduling of parallel tasks modeled as directed acyclic graphs (DAG), motivated by the parallel task structures supported by popular parallel programming frameworks such as OpenMP. The DAG-based task models in existing real-time scheduling research assume well-nested graph 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 those assumptions. In this article, we model the behavior of general OpenMP task systems with non-well-nested structures. The worst-case response time analysis problem for such systems is more difficult due to the flexible graph structure. As the major technical contribution, we develop two efficient algorithms to compute the worst-case response time bounds, with different trade-offs between efficiency and precision. Evaluation with both randomly generated task graphs and realistic OpenMP programs shows good performance of our approaches in terms of both precision and efficiency.
KW - conditional directed acyclic graph
KW - OpenMP
KW - response time analysis
UR - http://www.scopus.com/inward/record.url?scp=85097761400&partnerID=8YFLogxK
U2 - 10.1109/TC.2020.2984502
DO - 10.1109/TC.2020.2984502
M3 - Journal article
AN - SCOPUS:85097761400
SN - 0018-9340
VL - 70
SP - 57
EP - 71
JO - IEEE Transactions on Computers
JF - IEEE Transactions on Computers
IS - 1
M1 - 9054989
ER -