An efficient parallel algorithm for O(N2) direct summation method and its variations on distributed-memory parallel machines
Abstract
We present a novel, highly efficient algorithm to parallelize O(N2) direct summation method for N-body problems with individual timesteps on distributed-memory parallel machines such as Beowulf clusters. Previously known algorithms, in which all processors have complete copies of the N-body system, has the serious problem that the communication-computation ratio increases as we increase the number of processors, since the communication cost is independent of the number of processors. In the new algorithm, p processors are organized as a p× p two-dimensional array. Each processor has N/p particles, but the data are distributed in such a way that complete system is presented if we look at any row or column consisting of p processors. In this algorithm, the communication cost scales as N /p, while the calculation cost scales as N2/p. Thus, we can use a much larger number of processors without losing efficiency compared to what was practical with previously known algorithms.
Turn this paper into a full lesson
ArcXiv compiles a staged curriculum from this paper: 8-12 lessons across beginner → advanced, synthesised section guides, visuals, flashcards, a quiz, exercises, and on-demand deep dives per section. Grounded in the abstract, never invented.