Skip to main content
Log in

Read-modify-write networks

  • Published:
Distributed Computing Aims and scope Submit manuscript

Abstract.

A read-modify-write register for a set of functions F provides 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-modify-write 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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. E. Aharonson and H. Attiya. Counting networks with arbitrary fan-out. Distributed Computing, Vol. 8, No. 4, pp. 163-169, 1995.

  2. W. Aiello, C. Busch, M. Herlihy, M. Mavronicolas, N. Shavit and D. Touitou. Supporting Increment and Decrement Operations in Balancing Networks. Proceedings of the 16th International Symposium on Theoretical Aspects of Computer Science, pp. 393-403, Trier, Germany, March 1999.

  3. J. Aspnes, M. Herlihy and N. Shavit. Counting Networks. Journal of the ACM, Vol. 41, No. 5, pp. 1020-1048, September 1994.

  4. H. Britt, S. Moran and G. Taubenfeld. Public Data Structures: Counters as a Special Case. Proceedings of the 3rd Israel Symposium on Theory of Computing and Systems, pp. 98-110, January 1995.

    Google Scholar 

  5. C. Busch. A Study on Distributed Structures. Ph.D. Thesis, Department of Computer Science, Brown University, May 2000.

  6. C. Busch and M. Herlihy. A Survey on Counting Networks. Proceedings of the Workshop on Distributed Data and Structures, Orlando, Florida, March 1998.

  7. C. Busch and M. Herlihy. Sorting and Counting Networks of Small Depth and Arbitrary Width. Proceedings of the 11th Annual ACM Symposium on Parallel Algorithms and Architectures, pp. 64-73, June 1999.

  8. C. Busch and M. Mavronicolas. A Combinatorial Treatment of Balancing Networks. Journal of the ACM, Vol. 43, No. 5, pp. 794-839, September 1996.

  9. C. Busch and M. Mavronicolas. An Efficient Counting Network. Proceedings of the 1st Merged International Parallel Processing Symposium and IEEE Symposium on Parallel and Distributed Processing, pp. 380-385, May 1998.

  10. C. Dwork, M. Herlihy and O. Waarts. Contention in Shared Memory Algorithms. Journal of the ACM, Vol. 44, No. 6, pp. 779-805, November 1997.

  11. J. Giesen, R. Wattenhofer and A. Zollinger. Towards a Theory of Peer-to-Peer Computability. Proceedings of the 9th International Colloquium on Structural Information and Communication Complexity, pp. 115-132, June 2002.

  12. J. Goodman, M. Vernon and P. Woest. Efficient synchronization primitives for large-scale cache-coherent multiprocessors. Proceedings of the 3rd International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 64-75, April 1989.

  13. M. Herlihy. Wait-Free Synchronization. ACM Transactions on Programming Languages and Systems, Vol. 13, No. 1, pp. 124-149, January 1991.

  14. M. Herlihy, B. Lim and N. Shavit. Scalable Concurrent Counting. ACM Transactions on Computer Systems, Vol. 13, No. 4, pp. 343-364, November 1995.

  15. M. Herlihy, N. Shavit and O. Waarts. Linearizable Counting Networks. Distributed Computing, Vol. 9, No. 4, pp. 193-203, 1996.

  16. M.P. Herlihy and S. Tirthapura and R. Wattenhofer. Ordered Multicast and Distributed Swap. Operating Systems Review, Vol. 35, No. 1, pp. 85-96, January 2001.

  17. M. Herlihy, J. Wing. Linearizability: a Correctness Condition for Concurrent Objects. ACM Trans. on Prog. Lang. and Syst. 12,3:463-492, 1990.

    Google Scholar 

  18. M. Klugerman and C. Plaxton. Small-Depth Counting Networks. Proceedings of the 24th Annual ACM Symposium on Theory of Computing, pp. 417-428, May 1992.

  19. C. Kruskal, L. Rudolph and M. Snir. Efficient Synchronization on Multiprocessors with Shared Memory. Proceedings of the 5th Annual ACM Symposium on Principles of Distributed Computing, pp. 218-228, August 1986.

  20. N. Lynch, N. Shavit, A. Shvartsman and D. Touitou. Timing conditions for linearizability in uniform counting networks. Theoretical Computer Science, Vol. 220, No. 1, pp. 67-91, June 1999 (special issue on Distributed Algorithms).

  21. N. Lynch and M. Tuttle. Hierarchical Correctness Proofs for Distributed Algorithms. Proceedings of the 6th ACM Symposium on Principles of Distributed Computing, pp. 137-151, August 1987.

  22. M. Mavronicolas, M. Merritt and G. Taubenfeld. Sequentially Consistent versus Linearizable Counting Networks. Proceedings of the 18th Annual ACM Symposium on Principles of Distributed Computing, pp. 133-142, May 1999.

  23. S. Moran and G. Taubenfeld. A Lower Bound on Wait-Free Counting. Journal of Algorithms, Vol. 24, No. 1, pp. 1-19, July 1997.

  24. N. Shavit and D. Touitou. Elimination trees and the Construction of Pools and Stacks. Theory of Computing Systems, Vol. 30, No. 6, pp. 645-670, November/December 1997.

  25. Nir Shavit, Asaph Zemach. Combining Funnels: A Dynamic Approach to Software Combining. Journal of Parallel and Distributed Computing 60(11): 1355-1387 (2000)

    Google Scholar 

  26. N. Shavit and A. Zemach. Diffracting Trees. ACM Transactions on Computer Systems, Vol. 14, No. 4, pp. 385-428, November 1996.

  27. R. Wattenhofer. Distributed Computing - How to Bypass Bottlenecks. Ph.D. Thesis, ETH Zurich, 1998.

  28. R. Wattenhofer and P. Widmayer. An Inherent Bottleneck in Distributed Counting. Journal of Parallel and Distributed Computing, Vol. 49, No. 1, pp. 135-145, February 1998.

  29. P. Yew, N. Tzeng and D. Lawrie. Distributed Hot-Spot Addressing in Large-Scale Multiprocessors. IEEE Transactions on Computers, pp. 388-395, April 1987.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Panagiota Fatourou.

Additional information

Received: 15 October 2002, Accepted: 15 May 2003, Published online: 6 February 2004

Panagiota Fatourou: Partially supported by funds from the Program E.\(\Pi\).E.A.E.K.II of the Greek Ministry of Education. Part of the work of theauthor was performed while at the Max-Planck Institut für Informatik,Saarbrücken, Germany, while at the Department of Computer Science,University of Toronto, Canada, and while visiting the Departmentof Computer Science, Brown University, Providence, USA.

Maurice Herlihy: Partially supported by NSF grant 9912401.

A preliminary version of this work appears in the Proceedings of the 15th International Symposium on DIStributed Computing, pp. 330-341, Lisbon, Portugal, October 2001. This work also appears as a brief announcement in the Proceedings of the 20th Annual ACM Symposium on Principles of Distributed Computing, Newport, Rhode Island, August 2001.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Fatourou, P., Herlihy, M. Read-modify-write networks. Distrib. Comput. 17, 33–46 (2004). https://doi.org/10.1007/s00446-003-0097-5

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00446-003-0097-5

Keywords

Navigation