摘要

A new randomized asynchronous shared-memory data structure is given for implementing an approximate counter that can be incremented once by each of n processes in a model that allows up to n - 1 crash failures. For any fixed epsilon, the counter achieves a relative error of delta with high probability, at the cost of O(((1/delta) log n)(O(1/epsilon))) register operations per increment and O(n(4/5+epsilon) ((1/delta) log n)(O(1/epsilon))) register operations per read. The counter combines randomized sampling for estimating large values with an expander for estimating small values. This is the first counter implementation that is sublinear the number of processes and works despite a strong adversary scheduler that can observe internal states of processes. An application of the improved counter is an improved protocol for solving randomized shared-memory consensus, which reduces the best previously known individual work complexity from O(n log n) to an optimal O(n), resolving one of the last remaining open problems concerning consensus in this model.

  • 出版日期2010-3