A High-Level Abstraction of Shared Accesses

In The ACM Transactions on Computer Systems (TOCS), 18(1): 1-36, 2000.

Pete Keleher

We describe the design and use of the tape mechanism, a new high-level abstraction of accesses to shared data for software DSMs. Tapes consolidate and generalize a number of recent protocol optimizations, including update-based locks and record-replay barriers. Tapes are usually created by "recording" shared accesses. The resulting recordings can be used to anticipate future accesses by tailoring data movement to application semantics. Tapes-based mechanisms are layered on top of existing shared memory protocols, and are largely independent of the underlying memory model. Tapes can also be used to emulate the data-movement semantics of several update-based protocol implementations, without altering the underlying protocol implementation.

We have used tapes to create the Tapeworm synchronization library. Tapeworm implements sophisticated record/replay mechanisms across barriers, augments locks with data movement semantics, and allows the use of producer-consumer segments, which move entire modified segments when any portion of the segment is accessed. We show that Tapeworm eliminates 85% of remote misses, reduces message traffic by 63%, and improves performance by an average of 29% for our application suite.

	title = "A High-Level Abstraction of Shared Accesses",
	author = "Pete Keleher",
	journal = {The ACM Transactions on Computer Systems (TOCS)},
	pages = {1-36},
	volume = {18},
	issue = {1},
	year = {2000},

Available: bibtex, abstract,