Proceedings of the Sixth International Workshop on Programming Models and Applications for Multicores and Manycores 2015
DOI: 10.1145/2712386.2712394
|View full text |Cite
|
Sign up to set email alerts
|

Exploiting communication concurrency on high performance computing systems

Abstract: Although logically available, applications may not exploit enough instantaneous communication concurrency to maximize hardware utilization on HPC systems. This is exacerbated in hybrid programming models such as SPMD+OpenMP. We present the design of a "multi-threaded" runtime able to transparently increase the instantaneous network concurrency and to provide near saturation bandwidth, independent of the application configuration and dynamic behavior. The runtime forwards communication requests from application… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1

Citation Types

0
4
0

Year Published

2018
2018
2022
2022

Publication Types

Select...
2
1

Relationship

0
3

Authors

Journals

citations
Cited by 3 publications
(4 citation statements)
references
References 31 publications
0
4
0
Order By: Relevance
“…4.5. This step entails replicating the original for induction variable, once for each region (lines 10, 14,18,22,26), and initializing them with the same expression as that of the source code's for loop initializer.…”
Section: Step Iii: Parsing For Loop Graphsmentioning
confidence: 99%
See 3 more Smart Citations
“…4.5. This step entails replicating the original for induction variable, once for each region (lines 10, 14,18,22,26), and initializing them with the same expression as that of the source code's for loop initializer.…”
Section: Step Iii: Parsing For Loop Graphsmentioning
confidence: 99%
“…When all regions have been polled, it surrenders the rank's ownership by releasing its lock (21) and looks for the next rank (7). If all ranks in the process have finished, the worker thread exits (via pthread exit()), removing the KLT from the OS scheduler (22) and signaling the pthread join() (23) operation in the master thread to indicate the current thread has finished. Once all threads exit (i.e., every call to pthread join meets a reciprocal pthread exit call from each worker thread), the master thread finalizes the process execution (24).…”
Section: Execution Model Worker Executionmentioning
confidence: 99%
See 2 more Smart Citations