An Integrated Shared-Memory / Message Passing API for Cluster-Based Multicomputing

Evan W. Speight, Hazim Abdel-Shafi, John K. Bennett · 1998

This paper is concerned with the choice of the appropriate programming model for clusters of symmetric multiprocessor (SMP) machines. Software vendors who wish to take advantage of cluster-based multiprocessing can either support message passing, hardware shared memory, or shared memory on top of a DSM runtime system. Software vendors entering the marketplace are similarly faced with the difficult choice between a well-supported message passing standard (MPI) and an emerging shared memory standard (OpenMP) that offers convenience and the promise of performance. We instead propose a single unified programming model that supports access to memory anywhere in the cluster using either shared memory or message passing. The Brazos Common API allows interleaving of shared memory and message passing accesses at fine granularity, while preserving the communication and synchronization semantics of each model. This paper describes modifications to the Brazos DSM system that support this unified model. To demonstrate the feasibility of our approach, we have implemented significant subsets of MPI and OpenMP within the Brazos Common API. To demonstrate the potential performance benefit of the Brazos Common API, we modified two well-known shared memory applications to incorporate the proposed integrated programming style. For the applications studied, we observed performance improvements of 36 % and 138 % percent over the DSM-only version.

Read the paper · More papers on PaperTik