Efficient synchronization of multiprocessors with shared memory
PODC '86 Proceedings of the fifth annual ACM symposium on Principles of distributed computing
Distributing Hot-Spot Addressing in Large-Scale Multiprocessors
IEEE Transactions on Computers
Hierarchical correctness proofs for distributed algorithms
PODC '87 Proceedings of the sixth annual ACM Symposium on Principles of distributed computing
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)
ACM Transactions on Programming Languages and Systems (TOPLAS)
STOC '92 Proceedings of the twenty-fourth annual ACM symposium on Theory of computing
Journal of the ACM (JACM)
ACM Transactions on Computer Systems (TOCS)
A combinatorial treatment of balancing networks
Journal of the ACM (JACM)
ACM Transactions on Computer Systems (TOCS)
A lower bound on wait-free counting
Journal of Algorithms
Contention in shared memory algorithms
Journal of the ACM (JACM)
An inherent bottleneck in distributed counting
Journal of Parallel and Distributed Computing - Parallel and distributed data structures
Sequentially consistent versus linearizable counting networks
Proceedings of the eighteenth annual ACM symposium on Principles of distributed computing
Sorting and counting networks of small depth and arbitrary width
Proceedings of the eleventh annual ACM symposium on Parallel algorithms and architectures
Timing conditions for linearizability in uniform counting networks
Theoretical Computer Science
Combining funnels: a dynamic approach to software combining
Journal of Parallel and Distributed Computing
IPPS '98 Proceedings of the 12th. International Parallel Processing Symposium on International Parallel Processing Symposium
Public data structures: counters as a special case
ISTCS '95 Proceedings of the 3rd Israel Symposium on the Theory of Computing Systems (ISTCS'95)
A study on distributed structures
A study on distributed structures
Ordered Multicast and Distributed Swap
ACM SIGOPS Operating Systems Review
Linearizable counting networks
Distributed Computing
Counting networks with arbitrary fan-out
Distributed Computing
Supporting increment and decrement operations in balancing networks
STACS'99 Proceedings of the 16th annual conference on Theoretical aspects of computer science
The cost of concurrent, low-contention Read&Modify&Write
Theoretical Computer Science - Foundations of software science and computation structures
Theoretical Computer Science
Hi-index | 0.00 |
A read-modify-write register for a set of functions F provices an operation that atomically (1) returns the variable's current value v, and (2) replaces that value with f(v), where f is a function in F.A read-modify-write network is a distributed data structure that implements a concurrent, lock-free, low-contention read-modify-write register. For example, counting networks ([3]) are a family of read-modify-write networks that support atomic increments and decrements.We consider the problem of constructing read-modifywrite networks for particular sets of functions. Of particular interest are the read-modify-write networks fetch&add, which add to the value an arbitrary number, and fetch&mul, which multiply the value by an arbitrary number.We identify a simple algebraic property of the function set F that requires any distributed read-modify-write implementation for F to have high latency. Any such network has sequential executions in which each token traverses a number of switching elements essentially linear in the number of processes. By contrast, there exist counting networks ([9,18]) in which tokens traverse a logarithmic number of switches.We provide a matching upper bound for a large class of read-modify-write networks including fetch&add, fetch&mul, and related networks of interest.