2019
DOI: 10.1007/978-3-030-28596-8_12
|View full text |Cite
|
Sign up to set email alerts
|

The Cooperative Parallel: A Discussion About Run-Time Schedulers for Nested Parallelism

Abstract: Nested parallelism is a well-known parallelization strategy to exploit irregular parallelism in HPC applications. This strategy also fits in critical real-time embedded systems, composed of a set of concurrent functionalities. In this case, nested parallelism can be used to further exploit the parallelism of each functionality. However, current run-time implementations of nested parallelism can produce inefficiencies and load imbalance. Moreover, in critical real-time embedded systems, it may lead to incorrect… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1

Citation Types

0
3
0

Year Published

2020
2020
2022
2022

Publication Types

Select...
2
1
1

Relationship

1
3

Authors

Journals

citations
Cited by 4 publications
(3 citation statements)
references
References 25 publications
0
3
0
Order By: Relevance
“…The scheduling process is conducted through the three phases: task grouping, offline task management, and online task management. Royuela et al [6] designed a run-time scheduler that uses dynamic information of OpenMP threads and tasks running within several concurrent teams (i.e., concurrent parallel regions). This information may contain the priority list of tasks ready to execute and the list of OpenMP threads waiting in a barrier to cooperatively execute multiple parallel regions.…”
Section: Literature Reviewmentioning
confidence: 99%
“…The scheduling process is conducted through the three phases: task grouping, offline task management, and online task management. Royuela et al [6] designed a run-time scheduler that uses dynamic information of OpenMP threads and tasks running within several concurrent teams (i.e., concurrent parallel regions). This information may contain the priority list of tasks ready to execute and the list of OpenMP threads waiting in a barrier to cooperatively execute multiple parallel regions.…”
Section: Literature Reviewmentioning
confidence: 99%
“…This may cause the execution to be non-conforming with specific real-time requirements, such as keeping a work-conserving strategy, or ensuring a priority-driven scheduler. Different solutions have been proposed to tackle this issue, some involving alterations to the OpenMP specification to avoid the black-box nature of OpenMP teams [9] , another enforcing specific implementations of the OpenMP specification regarding the mapping to the underlying resources [10], and finally, and most relevant to this work, another offering a specific templated execution that forces a unique OpenMP team of threads to be accessed from any Ada task [11]. The prototype implementation propagates Ada priorities to the threads created for the OpenMP parallel, which allows to solve this problem.…”
Section: Current Statusmentioning
confidence: 99%
“…Identifying different kinds of tasks as well as assigning higher priorities to large tasks compared to small tasks lead to a more balanced execution. Based on the idea of using nested parallelism as discussed by Royuela et al [16] we show how the load balance can be improved by implementing nested tasks as well as nested parallel regions into the code.…”
Section: Related Workmentioning
confidence: 99%