Bounded-wait combining: Constructing robust and high-throughput shared objects

    Research output: Contribution to journalArticlepeer-review

    4 Scopus citations

    Abstract

    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.

    Original languageEnglish
    Pages (from-to)405-431
    Number of pages27
    JournalDistributed Computing
    Volume21
    Issue number6
    DOIs
    StatePublished - 1 Mar 2009

    ASJC Scopus subject areas

    • Theoretical Computer Science
    • Hardware and Architecture
    • Computer Networks and Communications
    • Computational Theory and Mathematics

    Fingerprint

    Dive into the research topics of 'Bounded-wait combining: Constructing robust and high-throughput shared objects'. Together they form a unique fingerprint.

    Cite this