Object-Oriented Support for Adaptive Methods on Paranel Machines.
Journal
Scientific Programming
Journal Volume
2
Journal Issue
4
Pages
179-192
Date Issued
1993
Author(s)
Abstract
This article reports on experiments from our ongoing project whose goal is to develop a C++ library which supports adaptive and irregular data structures on distributed memory supercomputers. We demonstrate the use of our abstractions in implementing "tree codes" for large‐scale N‐body simulations. These algorithms require dynamically evolving treelike data structures, as well as load‐balancing, both of which are widely believed to make the application difficult and cumbersome to program for distributed‐memory machines. The ease of writing the application code on top of our C++ library abstractions (which themselves are application independent), and the low overhead of the resulting C++ code (over hand‐crafted C code) supports our belief that object‐oriented approaches are eminently suited to programming distributed‐memory machines in a manner that (to the applications programmer) is architecture‐independent. Our contribution in parallel programming methodology is to identify and encapsulate general classes of communication and load‐balancing strategies useful across applications and MIMD architectures. This article reports experimental results from simulations of half a million particles using multiple methods.
SDGs
Type
journal article
