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 | |
Publication status | Published - 1 Jun 2021 |
Keywords
- Multicore
- OpenMP
- parallel tasks
- partitioning
- real-time scheduling
- tied tasks
ASJC Scopus subject areas
- Signal Processing
- Hardware and Architecture
- Computational Theory and Mathematics