InterWeave: A Middleware System for Distributed Shared State
Generate an AI Snapshot to get a quick, structured summary of this paper.
A concise AI-generated summary of the paper will appear here once you click Generate AI Snapshot.
TL;DR
InterWeave represents a merger and extension of the previous Cashmere and InterAct projects, combining hardware coherence within small multiprocessors, Cashmere-style lazy release consistency within tightly coupled clusters, and Inter act-style version-based consistency for distributed shared segments.
Abstract
As an alternative to message passing, Rochester's InterWeave sys- tem allows the programmer to map shared segments into programs spread across heterogeneous, distributed machines. InterWeave represents a merger and exten- sion of our previous Cashmere and InterAct projects, combining hardware co- herence within small multiprocessors, Cashmere-style lazy release consistency within tightly coupled clusters, and InterAct-style version-based consistency for distributed shared segments. In InterWeave, each shared segment evolves through a series of consistent ver- sions. When beginning a read-only critical section on a given segment, Inter- Weave uses a programmer-specified predicate to determine whether the currently cached version, if any, is "recent enough" to use. Inter-segment consistency is maintained by means of hashed vector timestamps. Automatic data conversions allow each program to employ its own natural data format, byte order, and align- ment, with full support for intra- and inter-segment pointers. Timestamping is used to determine and communicate only those pieces of a segment that are dif- ferent from the cached copy. A preliminary implementation of InterWeave is currently running on our Al- phaServer cluster. Driving applications include data mining, intelligent distributed environments, and scientific visualization.
