Proven Distributed Memory Parallelization of Particle Methods
Research output: Contribution to journal › Research article › Contributed › peer-review
Contributors
Abstract
We provide a mathematically proven parallelization scheme for particle methods on distributed-memory computer systems. Particle methods are a versatile and widely used class of algorithms for computer simulations and numerical predictions in various applications, ranging from continuum fluid dynamics to discrete granular flows and molecular dynamics simulations. Particle methods naturally lend themselves to implementation on parallel computing systems. So far, however, a mathematical proof of correctness and equivalence to sequential implementations has only been available for shared-memory parallelism. Here, we leverage a formal definition of the algorithmic class of particle methods to provide a proven parallelization scheme for distributed-memory computers. We prove that thus parallelized particle methods on distributed-memory computers are formally equivalent to their sequential counterpart for a well-defined class of particle methods, and we provide analytical expressions for the speedup and scalability bounds of this class of algorithms in function of their parameters. The parallelization scheme analyzed here is the basis of many real-world software designs for parallel particle methods. The present analysis is, therefore, of direct relevance to existing and new parallel implementations of particle methods and places them on solid theoretical grounds, rationalizing best practices and providing useful scalability and speedup bounds for benchmarking.
Details
Original language | English |
---|---|
Article number | 17 |
Journal | ACM Transactions on Parallel Computing |
Volume | 11 |
Issue number | 4 |
Publication status | Published - 8 Nov 2024 |
Peer-reviewed | Yes |
Keywords
ASJC Scopus subject areas
Keywords
- algorithmics, distributed memory, formal definition, meshfree methods, parallelization, Particle methods, scalability bounds, simulation algorithms, software engineering