Real-Time Scheduling and Analysis of OpenMP DAG Tasks Supporting Nested Parallelism

Jinghao Sun, Nan Guan, Feng Li, Huimin Gao, Chang Shi, Wang Yi

Research output: Journal article publicationJournal articleAcademic researchpeer-review

1 Citation (Scopus)

Abstract

OpenMP is a promising framework to develop 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 OpenMP specifications. One of the most interesting features in OpenMP is the support for nested parallelism, enjoying benefits in enhancing performance transparency of parallel libraries and promoting reuse of black-box code. Previous researches on DAG task scheduling mainly restrict to only one level of parallelism. The problem whether OpenMP tasks with multiple levels of parallelism are suitable to real-time systems remains open. In this paper, we study the real-time scheduling and analysis of OpenMP task systems supporting nested parallelism. First, we show that under existing scheduling algorithms in OpenMP implementations, nested parallelism indeed may lead to extremely bad timing behaviors where the parallel workload is sequentially executed completely. To solve this problem, we propose a new scheduling algorithm and develop two sound response time bounds by considering the trade-off between simplicity and analysis precision. Experiments demonstrate the efficiency of our methods.

Original languageEnglish
Article number8986583
Pages (from-to)1335-1348
Number of pages14
JournalIEEE Transactions on Computers
Volume69
Issue number9
DOIs
Publication statusPublished - 1 Sep 2020

Keywords

  • directed acyclic graph (DAG)
  • nested parallel
  • OpenMP
  • response time analysis

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture
  • Computational Theory and Mathematics

Cite this