Programming Abstractions for Dynamically Partitioning and Coordinating Localized Scientific Calculations Running on Multiprocessors

Certain software abstractions help to automate load balancing during various math-physics calculations on a team of concurrently executing processors. These abstractions have been tested on a vortex method for computational fluid dynamics. Experiments exhibited good parallel speedups of 24 and 3.6,respectively, on 32 processors of the Intel iPSC-1—a message-passing hypercube architecture—and on 4 processors of a Cray X-MP—a shared-memory vector architecture. The abstractions should apply to diverse applications, including finite difference methods, and to diverse architectures without requiring that the application be reprogrammed extensively for each new architecture.