SC14: International Conference for High Performance Computing, Networking, Storage and Analysis 2014
DOI: 10.1109/sc.2014.58
|View full text |Cite
|
Sign up to set email alerts
|

Parallel Programming with Migratable Objects: Charm++ in Practice

Abstract: The advent of petascale computing has introduced new challenges (e.g. heterogeneity, system failure) for programming scalable parallel applications. Increased complexity and dynamism in science and engineering applications of today have further exacerbated the situation. Addressing these challenges requires more emphasis on concepts that were previously of secondary importance, including migratability, adaptivity, and runtime system introspection. In this paper, we leverage our experience with these concepts t… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
68
0

Year Published

2014
2014
2023
2023

Publication Types

Select...
5
4
1

Relationship

4
6

Authors

Journals

citations
Cited by 124 publications
(68 citation statements)
references
References 36 publications
0
68
0
Order By: Relevance
“…There are many parallel programming languages that over-decompose the total work into many small tasks. Some examples of such distributed parallel programming languages are Charm++ [6], AMPI [23], etc. For shared memory machines, Cilk [11], OpenMP [16], etc.…”
Section: Programming Systemsmentioning
confidence: 99%
“…There are many parallel programming languages that over-decompose the total work into many small tasks. Some examples of such distributed parallel programming languages are Charm++ [6], AMPI [23], etc. For shared memory machines, Cilk [11], OpenMP [16], etc.…”
Section: Programming Systemsmentioning
confidence: 99%
“…To enable malleable jobs, two components are critical -a smart job scheduler, which decides when and which jobs to shrink or expand, and a parallel runtime system which provides dynamic shrink and expand capability to the job. We rely on existing runtime support for malleable jobs in Charm++ [20]- [22]. In Charm++, malleability is achieved by dynamically redistributing compute objects to processors at runtime.…”
Section: Data Center and Job Capabilitiesmentioning
confidence: 99%
“…In our experiments, we found that this has negligible impact since only a small fraction of the execution time would need conservative configurations. Note that in some rare scenarios, the structure can slightly change (such as two SEBs running in switched orders in CHARM++ [41], [42]), but these variations can be handled conservatively as well. Moreover, the runtime goes to a conservative cache configuration when there were too many mistakes in the DFA's predictions.…”
Section: B Generalizationmentioning
confidence: 99%