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.