A Massively Parallel Distributed N-body Application Implemented with HPX

One of the major challenges in parallelization is the difficulty of improving application scalability with conventional techniques. HPX provides efficient scalable parallelism by significantly reducing node starvation and effective latencies while controlling the overheads. In this paper, we present...

Full description

Saved in:
Bibliographic Details
Published in2016 7th Workshop on Latest Advances in Scalable Algorithms for Large Scale Systems (ScalA) pp. 57 - 64
Main Authors Khatami, Zahra, Kaiser, Hartmut, Grubel, Patricia, Serio, Adrian, Ramanujam, J.
Format Conference Proceeding
LanguageEnglish
Published IEEE 01.11.2016
Subjects
Online AccessGet full text
DOI10.1109/ScalA.2016.012

Cover

More Information
Summary:One of the major challenges in parallelization is the difficulty of improving application scalability with conventional techniques. HPX provides efficient scalable parallelism by significantly reducing node starvation and effective latencies while controlling the overheads. In this paper, we present a new highly scalable parallel distributed N-Body application using a future-based algorithm, which is implemented with HPX. The main difference between this algorithm and prior art is that a future-based request buffer is used between different nodes and along each spatial direction to send/receive data to/from the remote nodes, which helps removing synchronization barriers. HPX provides an asynchronous programming model which results in improving the parallel performance. The results of using HPX for parallelizing Octree construction on one node and the force computation on the distributed nodes show the scalability improvement on an average by about 45% compared to an equivalent OpenMP implementation and 28% compared to a hybrid implementation (MPI+OpenMP) [1] respectively for one billion particles running on up to 128 nodes with 20 cores per each.
DOI:10.1109/ScalA.2016.012