Summary: Universal Constructions for Large Objects
James H. Anderson and Mark Moir
Dept. of Computer Science, University of North Carolina at Chapel Hill
We present lock-free and wait-free universal constructions for implementing large
shared objects. Most previous universal constructions require processes to copy the
entire object state, which is impractical for large objects. Previous attempts to
address this problem require programmers to explicitly fragment large objects into
smaller, more manageable pieces, paying particular attention to how such pieces are
copied. In contrast, our constructions are designed to largely shield programmers
from this fragmentation. Furthermore, for many objects, our constructions result
in lower copying overhead than previous ones.
Fragmentation is achieved in our constructions through the use of load-linked,
store-conditional, and validate operations on a \large" multi-word shared variable.
Before presenting our constructions, we show that these operations can be e ciently
implemented from similar one-word primitives.
This paper extends recent research on universal lock-free and wait-free constructions of
shared objects 3, 4]. Such constructions can be used to implement any object in a lock-
free or a wait-free manner, and thus can be used as the basis for a general methodology