TY - GEN
T1 - Constructing shared objects that are both robust and high-throughput
AU - Hendler, Danny
AU - Kutten, Shay
PY - 2006/1/1
Y1 - 2006/1/1
N2 - Shared counters are among the most basic coordination structures in distributed computing, Known implementations of shared counters axe either blocking, non-lineaxizable, or have a sequential bottleneck. We present the first counter algorithm that is both linearizable, nonblocking, and can provably achieve high throughput in semisynchronous executions. The algorithm is based on a novel variation of the software combining paradigm that we call bounded-wait combining. It can thus be used to obtain implementations, possessing the same properties, of any object that supports combinable operations, such as stack or queue, Unlike previous combining algorithms where processes may have to wait for each other indefinitely, in the bounded-wait combining 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 can achieve throughput of Ω(N/ log N) in executions where process speeds vary only by a constant factor, where N is the number of processes that can participate in the algorithm. We also introduce and use pseduo-transactions - a technique for concurrent execution that may prove useful for other algorithms.
AB - Shared counters are among the most basic coordination structures in distributed computing, Known implementations of shared counters axe either blocking, non-lineaxizable, or have a sequential bottleneck. We present the first counter algorithm that is both linearizable, nonblocking, and can provably achieve high throughput in semisynchronous executions. The algorithm is based on a novel variation of the software combining paradigm that we call bounded-wait combining. It can thus be used to obtain implementations, possessing the same properties, of any object that supports combinable operations, such as stack or queue, Unlike previous combining algorithms where processes may have to wait for each other indefinitely, in the bounded-wait combining 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 can achieve throughput of Ω(N/ log N) in executions where process speeds vary only by a constant factor, where N is the number of processes that can participate in the algorithm. We also introduce and use pseduo-transactions - a technique for concurrent execution that may prove useful for other algorithms.
UR - http://www.scopus.com/inward/record.url?scp=33845212197&partnerID=8YFLogxK
U2 - 10.1007/11864219_30
DO - 10.1007/11864219_30
M3 - Conference contribution
AN - SCOPUS:33845212197
SN - 3540446249
SN - 9783540446248
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 428
EP - 442
BT - Distributed Computing - 20th International Symposium, DISC 2006, Proceedings
PB - Springer Verlag
T2 - 20th International Symposium on Distributed Computing, DISC 2006
Y2 - 18 September 2006 through 20 September 2006
ER -