This title appears in the Scientific Report :
2020
Please use the identifier:
http://hdl.handle.net/2128/26687 in citations.
Please use the identifier: http://dx.doi.org/10.1145/3394277.3401858 in citations.
Eventify: Event-Based Task Parallelism for Strong Scaling
Eventify: Event-Based Task Parallelism for Strong Scaling
Today's processors become fatter, not faster. However, the exploitation of these massively parallel compute resources remains a challenge for many traditional HPC applications regarding scalability, portability and programmability. To tackle this challenge, several parallel programming approach...
Saved in:
Personal Name(s): | Haensel, David (Corresponding author) |
---|---|
Morgenstern, Laura / Beckmann, Andreas / Kabadshow, Ivo / Dachsel, Holger | |
Contributing Institute: |
Zivile Sicherheitsforschung; IAS-7 Jülich Supercomputing Center; JSC |
Published in: |
Proceedings of the Platform for Advanced Scientific Computing Conference - ACM New York, NY, USA, 2020. - ISBN 9781450379939 - doi:10.1145/3394277.3401858 |
Imprint: |
ACM New York, NY, USA
2020
|
Physical Description: |
1-10 |
DOI: |
10.1145/3394277.3401858 |
Conference: | PASC '20: Platform for Advanced Scientific Computing Conference, Geneva (Switzerland), 2020-06-29 - 2020-07-01 |
Document Type: |
Contribution to a book Contribution to a conference proceedings |
Research Program: |
Doktorand ohne besondere Förderung Computational Science and Mathematical Methods |
Link: |
Get full text OpenAccess |
Publikationsportal JuSER |
Please use the identifier: http://dx.doi.org/10.1145/3394277.3401858 in citations.
Today's processors become fatter, not faster. However, the exploitation of these massively parallel compute resources remains a challenge for many traditional HPC applications regarding scalability, portability and programmability. To tackle this challenge, several parallel programming approaches such as loop parallelism and task parallelism are researched in form of languages, libraries and frameworks. Task parallelism as provided by OpenMP, HPX, StarPU, Charm++ and Kokkos is the most promising approach to overcome the challenges of ever increasing parallelism. The aforementioned parallel programming technologies enable scalability for a broad range of algorithms with coarse-grained tasks, e. g. in linear algebra and classical N-body simulation. However, they do not fully address the performance bottlenecks of algorithms with fine-grained tasks and the resultant large task graphs. Additionally, we experienced the description of large task graphs to be cumbersome with the common approach of providing in-, out- and inout-dependencies. We introduce event-based task parallelism to solve the performance and programmability issues for algorithms that exhibit fine-grained task parallelism and contain repetitive task patterns. With user-defined event lists, the approach provides a more convenient and compact way to describe large task graphs. Furthermore, we show how these event lists are processed by a task engine that reuses user-defined, algorithmic data structures. As use case, we describe the implementation of a fast multipole method for molecular dynamics with event-based task parallelism. The performance analysis reveals that the event-based implementation is 52 % faster than a classical loop-parallel implementation with OpenMP. |