Table of Contents Author Guidelines Submit a Manuscript
Scientific Programming
Volume 2 (1993), Issue 4, Pages 179-192

Object-Oriented Support for Adaptive Methods on Paranel Machines

Sandeep Bhatt,1 Marina Chen,2 James Cowie,2 Cheng-Yee Lin,2 and Pangfeng Liu2

1Bell Communications Research, Morristown, NJ 07962, USA
2Department of Computer Science, Yale University, New Haven, CT 06520, USA

Received 29 April 1993; Accepted 29 April 1993

Copyright © 1993 Hindawi Publishing Corporation. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.


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.