Prof. Daniel Hendler

Know all about my research

Bounded-wait combining

Constructing robust and high-throughput shared objects

Danny Hendler, Shay Kutten

Shared counters are among the most basic coordination structures in distributed computing. Known implementations of shared counters are either blocking, non-linearizable, or have a sequential bottleneck. We present the first counter algorithm that is both linearizable, non-blocking, and can provably achieve high throughput in k-synchronous executions-executions in which process speeds vary by at most a constant factor k. The algorithm is based on a novel variation of the software combining paradigm that we call bounded-wait combining (BWC). It can thus be used to obtain implementations, possessing the same properties, of any object that supports combinable operations, such as a stack or a queue. Unlike previous combining algorithms where processes may have to wait for each other indefinitely, in the BWC algorithm, a process only waits for other processes for a bounded period of time and then "takes destiny in its own hands". In order to reason rigorously about the parallelism attainable by our algorithm, we define a novel metric for measuring the throughput of shared objects, which we believe is interesting in its own right. We use this metric to prove that our algorithm achieves throughput of Ω(N/ log N) in k-synchronous executions, where N is the number of processes that can participate in the algorithm. Our algorithm uses two tools that we believe may prove useful for obtaining highly parallel non-blocking implementation of additional objects. The first are "synchronous locks", locks that are respected by processes only in k-synchronous executions and are disregarded otherwise; the second are "pseduo-transactions"-a weakening of regular transactions that allows higher parallelism.

Publication language English
Pages 405-431
Journal Distributed Computing
Volume 21
Issue number 6
Publication status Published - 01.03.2009

ASJC Scopus subject areas

Theoretical Computer Science
Hardware and Architecture
Computer Networks and Communications
Computational Theory and Mathematics
Access to Document
10.1007/s00446-009-0078-4
Other files and links
Link to publication in Scopus