Summary: Universal Constructions for Large Objects \Lambda
James H. Anderson and Mark Moir
Dept. of Computer Science, University of North Carolina at Chapel Hill
We present lockfree and waitfree 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 loadlinked ,
storeconditional , and validate operations on a ``large'' multiword shared variable.
Before presenting our constructions, we show that these operations can be efficiently
implemented from similar oneword primitives.
This paper extends recent research on universal lockfree and waitfree constructions of
shared objects [3, 4]. Such constructions can be used to implement any object in a lock
free or a waitfree manner, and thus can be used as the basis for a general methodology