19
0

Linearizable Iterators for Concurrent Set Implementations

Abstract

This paper proposes a general framework for adding linearizable iterators to certain data structures that implement set operations. We introduce a condition on set operations, called locality, which informally states that set operations never make elements existing in the data structure unreachable to a sequential iterator's traversal. Data structures satisfying the locality condition can be augmented with a linearizable iterator via the proposed framework. Our technique is broadly applicable to a variety of data structures, including hash tables and binary search trees. We apply the technique to data structures taken from existing literature, prove locality of their operations, and demonstrate that the iterator framework does not significantly affect the performance of concurrent set operations.

View on arXiv
Comments on this paper