Object‐Oriented Support for Adaptive Methods on Paranel Machines

Sandeep N. Bhatt, Marina Chen, James R. Cowie, Cheng-Yee Lin, Pangfeng Liu · Scientific Programming · 1993

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.

Read the paper · More papers on PaperTik