23rd International Conference on Distributed Computing Systems, 2003. Proceedings. (2003)
Providence, Rhode Island
May 19, 2003 to May 22, 2003
Chunqiang Tang , University of Rochester
DeQing Chen , University of Rochester
Sandhya Dwarkadas , University of Rochester
Michael L. Scott , University of Rochester
InterWeave is a distributed middleware system that supports the sharing of strongly typed, pointer-rich data structures across heterogeneous platforms. As a complement to RPC-based systems such as CORBA, .NET, and Java RMI, InterWeave allows processes to access shared data using ordinary reads and writes. Experience indicates that InterWeave-style sharing facilitates the rapid development of distributed applications, and enhances performance through transparent caching of state.<div></div> In this paper, we focus on the aspects of InterWeave specifically designed to accommodate heterogeneous machine architectures. Beyond the traditional challenges of message-passing in heterogeneous systems, InterWeave (1) identifies and tracks data changes in the face of relaxed coherence models, (2) employs a wire format that captures not only data but also diffs in a machine and language-independent form, and (3) swizzles pointers to maintain long-lived (cross-call) address transparency. To support these operations, InterWeave maintains an extensive set of metadata structures, and employs a variety of performance optimizations. Experimental results show that InterWeave achieves performance comparable to that of RPC parameter passing when transmitting previously uncached data. When updating data that have already been cached, Inter-Weave?s use of platform-independent diffs allows it to significantly outperform the straightforward use of RPC.
D. Chen, S. Dwarkadas, C. Tang and M. L. Scott, "Efficient Distributed Shared State for Heterogeneous Machine Architectures," 23rd International Conference on Distributed Computing Systems, 2003. Proceedings.(ICDCS), Providence, Rhode Island, 2003, pp. 560.