## Abstract

Shared counters are the key to solving a variety of coordination problems on multiprocessor machines, such as barrier synchronization and index distribution. It is desired that they, like shared objects in general, be robust, linearizable and scalable. We present the first linearizable and wait-free shared counter algorithm that achieves high throughput without a-priori knowledge about the system's level of asynchrony. Our algorithm can be easily adapted to any other combinable objects as well, such as stacks and queues. In particular, in an N-process execution E, our algorithm achieves high throughput of Ω(N/φ_{E}^{2} log^{2} φ_{E} log N), where φ_{E} is E's level of asynchrony. Moreover, our algorithm stands any constant number of faults. If E contains a constant number of faults, then our algorithm still achieves high throughput of Ω(φ′_{E}^{2} log^{2} φ′_{E} log N), where φ′_{E} bounds the relative speeds of any two processes, at a time that both of them participated in E and none of them failed. Our algorithm can be viewed as an adaptive version of the Bounded-Wait-Combining (BWC) prior art algorithm. BWC receives as an input an argument φ as a (supposed) upper bound of φ_{E}, and achieves optimal throughput if φ = φ_{E}. However, if the given φ happens to be lower than the actual φ_{E}, or much greater than φ_{E}, then the throughput of BWC degraded significantly. Moreover, whereas BWC is only lock-free, our algorithm is more robust, since it is wait-free. To achieve high throughput and wait-freedom, we present a method that guarantees (for some common kind of procedures) the procedure's successful termination in a bounded time, regardless of shared memory contention. This method may prove useful by itself, for other problems.

Original language | English |
---|---|

Title of host publication | Principles of Distributed Systems - 14th International Conference, OPODIS 2010, Proceedings |

Pages | 318-332 |

Number of pages | 15 |

DOIs | |

State | Published - 1 Dec 2010 |

Event | 14th International Conference on Principles of Distributed Systems, OPODIS 2010 - Tozeur, Tunisia Duration: 14 Dec 2010 → 17 Dec 2010 |

### Publication series

Name | Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) |
---|---|

Volume | 6490 LNCS |

ISSN (Print) | 0302-9743 |

ISSN (Electronic) | 1611-3349 |

### Conference

Conference | 14th International Conference on Principles of Distributed Systems, OPODIS 2010 |
---|---|

Country/Territory | Tunisia |

City | Tozeur |

Period | 14/12/10 → 17/12/10 |

## ASJC Scopus subject areas

- Theoretical Computer Science
- Computer Science (all)