2019
DOI: 10.7717/peerj-cs.183
|View full text |Cite
|
Sign up to set email alerts
|

Increasing the degree of parallelism using speculative execution in task-based runtime systems

Abstract: Task-based programming models have demonstrated their efficiency in the development of scientific applications on modern high-performance platforms. They allow delegation of the management of parallelization to the runtime system (RS), which is in charge of the data coherency, the scheduling, and the assignment of the work to the computational units. However, some applications have a limited degree of parallelism such that no matter how efficient the RS implementation, they may not scale on modern multicore CP… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
5
0

Year Published

2020
2020
2024
2024

Publication Types

Select...
6
2

Relationship

0
8

Authors

Journals

citations
Cited by 9 publications
(5 citation statements)
references
References 28 publications
0
5
0
Order By: Relevance
“…We can distinguish between valid and invalid speculative executions depending on whether the cost of coordinating the parallel activities causes the program execution time to increase or decrease. Because there are already parallel computing resources available, it is possible to use speculative programming to research solutions and ultimately provide more effective ones [88]. A flow diagram containing the tasks A, B, C, and D is shown in Figure 8.…”
Section: Speculative Programmingmentioning
confidence: 99%
“…We can distinguish between valid and invalid speculative executions depending on whether the cost of coordinating the parallel activities causes the program execution time to increase or decrease. Because there are already parallel computing resources available, it is possible to use speculative programming to research solutions and ultimately provide more effective ones [88]. A flow diagram containing the tasks A, B, C, and D is shown in Figure 8.…”
Section: Speculative Programmingmentioning
confidence: 99%
“…There are several efforts in the literature that facilitate speculative execution utilizing higher-level constructs. Among the many we list a few pertinent to this study such as the use of transactional memory at the software level [36], compiler-assisted methods [1,11,37] and libraries such as Galois [31], ParlayLib [6] and SPETABARU [10].…”
Section: Related Workmentioning
confidence: 99%
“…With this method, an application is transformed into a graph where each node is a task and each edge a dependency. Several runtime systems have been conceived on top of this paradigm [17,26,20,10,31,7,12], each with its features and interface [30]. Underneath, they implement the paradigm using a task-graph (also called task-dependency graph) where the nodes of the graph represent operations while the edges represent the dependencies between them.…”
Section: Task-based Programming (Sequential Task Flow)mentioning
confidence: 99%