Abstract
OpenMP is a popular programming framework in both general and high-performance computing and has recently drawn much interest in embedded and real-time computing. Although the execution semantics of OpenMP are similar to the DAG task model, the constraints posed by the OpenMP specification make them significantly more challenging to analyze. A tied task is an important feature in OpenMP that must execute on the same thread throughout its entire life cycle. A previous work [1] succeeded in analyzing the real-time scheduling of tied tasks by modifying the Task Scheduling Constraints (TSCs) in OpenMP specification. In this article, we also study the real-time scheduling of OpenMP task systems with tied tasks but without changing the original TSCs. In particular, we propose a partitioning-based algorithm, P-EDF-omp, by which the tied constraint can be automatically guaranteed as long as an OpenMP task system can be successfully partitioned to a multiprocessor platform. Furthermore, we conduct comprehensive experiments with both synthetic workloads and established OpenMP benchmarks to show that our approach consistently outperforms the work in [1] - even without modifying the TSCs.
| Original language | English |
|---|---|
| Article number | 9311807 |
| Pages (from-to) | 1322-1339 |
| Number of pages | 18 |
| Journal | IEEE Transactions on Parallel and Distributed Systems |
| Volume | 32 |
| Issue number | 6 |
| DOIs | |
| State | Published - 1 Jun 2021 |
| Externally published | Yes |
Keywords
- Multicore
- OpenMP
- parallel tasks
- partitioning
- real-time scheduling
- tied tasks