| | |
Summary: Builtin Coloring for
HighlyConcurrent DoublyLinked Lists
(Extended Abstract)
Hagit Attiya and Eshcar Hillel
Department of Computer Science, Technion
Abstract. This paper presents a novel approach for lockfree implementations
of concurrent data structures, based on dynamically maintaining a coloring of
the data structure's items. Roughly speaking, the data structure's operations are
implemented by acquiring virtual locks on several items of the data structure and
then making the changes atomically; this simpli£es the design and provides clean
functionality. The virtual locks are managed with CAS or DCAS primitives, and
helping is used to guarantee progress; virtual locks are acquired according to a
coloring order that decreases the length of waiting chains and increases concur
rency. Coming back full circle, the legality of the coloring is preserved by having
operations correctly update the colors of the items they modify.
The bene£ts of the scheme are demonstrated with new nonblocking implemen
tations of doublylinked list data structures: A DCASbased implementation of
a doublylinked list allowing insertions and removals anywhere, and CASbased
implementations in which removals are allowed only at the ends of the list (inser
tions can occur anywhere).
|