| | |
Summary: MultiWriter Composite Registers \Lambda
James H. Anderson y
Department of Computer Science
University of North Carolina at Chapel Hill
Chapel Hill, NC 275993175
July 1989
Revised March 1991, December 1992, August 1993
Abstract
A composite register is an arraylike shared data object that is partitioned into a number of compo
nents. An operation of such a register either writes a value to a single component, or reads the values
of all components. A composite register reduces to an ordinary atomic register when there is only one
component. In this paper, we show that a composite register with multiple writers per component can
be implemented in a waitfree manner from a composite register with a single writer per component. It
has been previously shown that registers of the latter kind can be implemented from atomic registers
without waiting. Thus, our results establish that any composite register can be implemented in a wait
free manner from atomic registers. We show that our construction has comparable space complexity and
better time complexity than other constructions that have been presented in the literature.
Keywords: atomicity, atomic register, composite register, concurrency, interleaving semantics, lineariz
ability, shared variable, snapshot
CR Categories: D.4.1, D.4.2, F.3.1
|