Issue No. 12 - December (2000 vol. 11)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/71.895795
<p><b>Abstract</b>—This paper describes our experiences developing high-performance code for astrophysical <it>N</it>-body simulations. Recent <it>N</it>-body methods are based on an adaptive tree structure. The tree must be built and maintained across physically distributed memory; moreover, the communication requirements are irregular and adaptive. Together with the need to balance the computational work-load among processors, these issues pose interesting challenges and tradeoffs for high-performance implementation. Our implementation was guided by the need to keep solutions simple and general. We use a technique for implicitly representing a dynamic global tree across multiple processors which substantially reduces the programming complexity as well as the performance overheads of distributed memory architectures. The contributions include methods to vectorize the computation and minimize communication time which are theoretically and experimentally justified. The code has been tested by varying the number and distribution of bodies on different configurations of the Connection Machine CM-5. The overall performance on instances with 10 million bodies is typically over 48 percent of the peak machine rate, which compares favorably with other approaches.</p>
N-body simulations, parallel processing, Barnes-Hut algorithm, adaptive tree structure, Peano-Hilbert space filling curve.
P. Liu and S. N. Bhatt, "Experiences with Parallel N-Body Simulation," in IEEE Transactions on Parallel & Distributed Systems, vol. 11, no. , pp. 1306-1323, 2000.