Abstract
Steven Saunders, "Object Oriented Abstractions for Communication in Parallel Programs," Masters Thesis, Parasol Laboratory, Department of Computer Science, Texas A&M University, College Station, TX, May 2003.
Masters Thesis(ps, pdf, abstract)
This thesis details ARMI, a parallel communication library that provides an
advanced implementation of the remote method invocation protocol (RMI), which
is well suited to object-oriented programs. ARMI is a framework for
expressing fine-grain parallelism in C++, and mapping it to a particular
machine using shared-memory and message passing library calls. It handles
low-level details such as scheduling incoming communication and aggregating
outgoing communication to coarsen parallelism when necessary. These details
can be adapted for different platforms to allow user codes to achieve the
highest possible performance without manual modification. ARMI is used by
STAPL, a generic, object-oriented, parallel C++ library, to provide a portable
communication infrastructure. The basic design decisions are described, as
well as a detailed analysis of the mechanisms used in the current
OpenMP/Pthreads, MPI, and mixed-mode implementations. ARMI's performance is
compared with both hand-coded Pthreads and MPI on a variety of machines,
including an HP-V2200, Origin 3800, IBM Regatta and IBM RS6000 SP.