Check out the new USENIX Web site.

An Implementation of the Shared Data Formats Standard for Distributed Shared Memories


Maya B. Gokhale and Ronald G. Minnich
Supercomputing Research Center
17100 Science Drive
Bowie, Md. 20715

Abstract

Distributed Shared Memory (DSM) is a mechanism by which processes can share data over a network using the memory abstraction . The processors may be heterogeneous, one difference being that they use incompatible data formats for such basic types as integers. Programmers need a programming mechanism for dealing with these differences.

In this paper we describe a compiler which supports IEEE 1596.5, a machine-independent set of types specified so as to allow the use of shared data in heterogeneous DSMs. Programs that use these types for the DSM can share data regardless of the processor they run on; data can be shared in heterogeneous environments.

The use of this compiler converts the run-time handling of eXternal Data Representation, or XDR, to compile-time, and introduces the opportunity for using optimizing compiler technology in handling run-time conversion of data types in a heterogeneous environment. It also gives the programmer a high degree of control over when translation occurs, in contrast to the XDR approach of always translating everything. Finally, it promotes run-time sharing of data instead of the copy-in copy-out semantics of XDR.


Download the full text of this paper in ASCII form (27,897 bytes).

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