2014
DOI: 10.1007/978-3-319-09967-5_1
|View full text |Cite
|
Sign up to set email alerts
|

Hierarchical Computation in the SPMD Programming Model

Abstract: Abstract. Large-scale parallel machines are programmed mainly with the single program, multiple data (SPMD) model of parallelism. While this model has advantages of scalability and simplicity, it does not fit well with divide-and-conquer parallelism or hierarchical machines that mix shared and distributed memory. In this paper, we define the recursive single program, multiple data model (RSPMD) that extends SPMD with a hierarchical team mechanism to support hierarchical algorithms and machines. We implement th… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
12
0

Year Published

2014
2014
2019
2019

Publication Types

Select...
5
2
1

Relationship

2
6

Authors

Journals

citations
Cited by 12 publications
(12 citation statements)
references
References 13 publications
0
12
0
Order By: Relevance
“…Recent work in Titanium has replaced the flat SPMD model with the more hierarchical Recursive Single-Program, Multiple-Data (RSPMD) model [40]. This model groups together data and execution contexts into teams that are arranged in hierarchical structures, which match the structure of recursive and compositional algorithms and emerging hierarchical architectures.…”
Section: State Of the Artmentioning
confidence: 99%
“…Recent work in Titanium has replaced the flat SPMD model with the more hierarchical Recursive Single-Program, Multiple-Data (RSPMD) model [40]. This model groups together data and execution contexts into teams that are arranged in hierarchical structures, which match the structure of recursive and compositional algorithms and emerging hierarchical architectures.…”
Section: State Of the Artmentioning
confidence: 99%
“…Figure 2 illustrates this behaviour. Figure 1 shows the same function scan( ) being executed over different data files, characterizing a single program multiple data (SPMD) model [34]. As ClamAV does not use any parallel processing, every call to the function scan( ) of the inspection step is sequentially executed.…”
Section: Designing a Parallel Version Of Clamav With Openmpmentioning
confidence: 99%
“…The simplest operation to create a new team is team.split(n), which creates n new teams, each with an approximately equal number of units. Teams are used to represent hierarchical configurations that arise in the hardware topology or may come from the algorithmic design of the application [24]. To reflect the machine topology, an equalsized split will generally be inadequate.…”
Section: E Teamsmentioning
confidence: 99%