Check out the new USENIX Web site.

The Design and Evaluation of a Shared Object System for Distributed Memory Machines


Daniel J. Scales and Monica S. Lam
Computer Systems Laboratory
Stanford University, CA 94305
{scales,lam}@cs.stanford.edu

Abstract

This paper describes the design and evaluation of SAM, a shared object system for distributed memory machines. SAM is a portable run-time system that provides a global name space and automatic caching of shared data. SAM incorporates mechanisms to address the problem of high communication overheads on distributed memory machines; these mechanisms include tying synchronization to data access, chaotic access to data, prefetching of data, and pushing of data to remote processors. SAM has been implemented on the CM-5, Intel iPSC/860 and Paragon, IBM SP1, and networks of workstations running PVM. SAM applications run on all these platforms without modification.

This paper provides an extensive analysis on several complex scientific algorithms written in SAM on a variety of hardware platforms. We find that the performance of these SAM applications depends fundamentally on the scalability of the underlying parallel algorithm, and whether the algorithm's communication requirements can be satisfied by the hardware. Our experience suggests that SAM is successful in allowing programmers to use distributed memory machines effectively with much less programming effort than required today.


Download the full text of this paper in ASCII (67,768 bytes) and POSTSCRIPT (297,424 bytes) form.

To Become a USENIX Member, please see our Membership Information.