Fundamentals of queueing theory (2nd ed.).
Fundamentals of queueing theory (2nd ed.).
Data networks
Efficient synchronization primitives for large-scale cache-coherent multiprocessors
ASPLOS III Proceedings of the third international conference on Architectural support for programming languages and operating systems
Linearizability: a correctness condition for concurrent objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
Counting networks and multi-processor coordination
STOC '91 Proceedings of the twenty-third annual ACM symposium on Theory of computing
Low contention linearizable counting
SFCS '91 Proceedings of the 32nd annual symposium on Foundations of computer science
Journal of the ACM (JACM)
Reactive synchronization algorithms for multiprocessors
ASPLOS VI Proceedings of the sixth international conference on Architectural support for programming languages and operating systems
Probability, stochastic processes, and queueing theory: the mathematics of computer performance modeling
ACM Transactions on Computer Systems (TOCS)
Elimination trees and the construction of pools and stacks: preliminary version
Proceedings of the seventh annual ACM symposium on Parallel algorithms and architectures
ACM Transactions on Computer Systems (TOCS)
An inherent bottleneck in distributed counting
PODC '97 Proceedings of the sixteenth annual ACM symposium on Principles of distributed computing
Combining funnels: a new twist on an old tale…
PODC '98 Proceedings of the seventeenth annual ACM symposium on Principles of distributed computing
Journal of Parallel and Distributed Computing
ACM Transactions on Programming Languages and Systems (TOPLAS)
Coordinating parallel processors: a partial unification
ACM SIGARCH Computer Architecture News
A conceptual approach to general purpose parallel computer architecture
A conceptual approach to general purpose parallel computer architecture
Operating system data structures for shared memory mimd machines with fetch-and-add
Operating system data structures for shared memory mimd machines with fetch-and-add
Adaptive work stealing with parallelism feedback
Proceedings of the 12th ACM SIGPLAN symposium on Principles and practice of parallel programming
Self-tuning reactive diffracting trees
Journal of Parallel and Distributed Computing
Hi-index | 0.00 |
A distributed counter is a concurrent object which provides a fetch-and-increment operation on a shared value. On the basis of a distributed counter, one can implement various fundamental data structures, such as queues or stacks. We present the counting pyramid, an efficient implementation of a distributed counter in a message passing system, which is based on software combining. The counting pyramid adapts gracefully to changing access patterns, guarantees linearizability, and offers more general fetch-and-Φ operations. We analyze the expected performance of the counting pyramid, using queueing theory and simulation. We show that the latency of the counting pyramid is asymptotically optimal.