Capanic: A Parallel Tree N-Body Code for Inhomogeneous Clusters of Processors
Abstract
We have implemented a parallel version of the Barnes-Hut 3-D N-body tree algorithm under PVM 3.2.5, adopting an SPMD paradigm. We parallelize the problem by decomposing the physical domain by means of the Orthogonal Recursive Bisection oct-tree scheme suggested by Salmon (1991), but we modify the original hypercube communication pattern into an incomplete hypercube, which is more suitable for a generic inhomogenous cluster architecture.\\ We address dynamical load balancing by assigning different "weights" to the spawned tasks according to the dynamically changing workloads of each task. The weights are determined by monitoring the local platforms where the tasks are running and estimating the performance of each task. The monitoring scheme is flexible and allows us to address at the same time cluster and intrinsic sources of load imbalance. We then show measurements of the performance of our code on a test case of astrophysical interest in order to test the performance of our implementation.
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.