TY - GEN
T1 - Global task data-dependencies in PGAS applications
AU - Schuchart, Joseph
AU - Gracia, José
N1 - Publisher Copyright:
© Springer Nature Switzerland AG 2019.
PY - 2019
Y1 - 2019
N2 - Recent years have seen the emergence of two independent programming models challenging the traditional two-tier combination of message passing and thread-level work-sharing: partitioned global address space (PGAS) and task-based concurrency. In the PGAS programming model, synchronization and communication between processes are decoupled, providing significant potential for reducing communication overhead. At the same time, task-based programming allows to exploit a large degree of shared-memory concurrency. The inherent lack of fine-grained synchronization in PGAS can be addressed through fine-grained task synchronization across process boundaries. In this work, we propose the use of task data dependencies describing the data-flow in the global address space to synchronize the execution of tasks created in parallel on multiple processes. We present a description of the global data dependencies, describe the necessary interactions between the distributed scheduler instances required to handle them, and discuss our implementation in the context of the DASH PGAS framework. We evaluate our approach using the Blocked Cholesky Factorization and the LULESH proxy app, demonstrating the feasibility and scalability of our approach.
AB - Recent years have seen the emergence of two independent programming models challenging the traditional two-tier combination of message passing and thread-level work-sharing: partitioned global address space (PGAS) and task-based concurrency. In the PGAS programming model, synchronization and communication between processes are decoupled, providing significant potential for reducing communication overhead. At the same time, task-based programming allows to exploit a large degree of shared-memory concurrency. The inherent lack of fine-grained synchronization in PGAS can be addressed through fine-grained task synchronization across process boundaries. In this work, we propose the use of task data dependencies describing the data-flow in the global address space to synchronize the execution of tasks created in parallel on multiple processes. We present a description of the global data dependencies, describe the necessary interactions between the distributed scheduler instances required to handle them, and discuss our implementation in the context of the DASH PGAS framework. We evaluate our approach using the Blocked Cholesky Factorization and the LULESH proxy app, demonstrating the feasibility and scalability of our approach.
KW - Parallel programming
KW - PGAS
KW - RMA
KW - Task parallelism
UR - https://www.scopus.com/pages/publications/85067502981
U2 - 10.1007/978-3-030-20656-7_16
DO - 10.1007/978-3-030-20656-7_16
M3 - Conference contribution
AN - SCOPUS:85067502981
SN - 9783030206550
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 312
EP - 329
BT - High Performance Computing - 34th International Conference, ISC High Performance 2019, Proceedings
A2 - Sadayappan, Ponnuswamy
A2 - Weiland, Michèle
A2 - Trinitis, Carsten
A2 - Juckeland, Guido
PB - Springer Verlag
T2 - 34th International Conference on High Performance Computing, ISC High Performance 2019
Y2 - 16 June 2019 through 20 June 2019
ER -