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 toaddress the problemof highcommunication overheads on distributed memory machines; these mechanisms include tying synchronizationto 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 of several complex scientific algorithms written in SAM on a variety of hardware platforms. We find that the performance of these SAM applicationsdepends fundamentallyon the scalability of the underlying parallel algorithm, and whether the algorithm'scommunication requirements can be satisfi...
Daniel J. Scales, Monica S. Lam