Skip to main content
Log in

Sequentially consistent versus linearizable counting networks

  • Published:
Distributed Computing Aims and scope Submit manuscript

Abstract

We compare the impact of timing conditions on implementing sequentially consistent and linearizable counters using (uniform) counting networks in distributed systems. For counting problems in application domains which do not require linearizability but will run correctly if only sequential consistency is provided, the results of our investigation, and their potential payoffs, are threefold: First, we show that sequential consistency and linearizability cannot be distinguished by the timing conditions previously considered in the context of counting networks; thus, in contexts where these constraints apply, it is possible to rely on the stronger semantics of linearizability, which simplifies proofs and enhances compositionality. Second, we identify local timing conditions that support sequential consistency but not linearizability; thus, we suggest weaker, easily implementable timing conditions that are likely to be sufficient in many applications. Third, we show that any kind of synchronization that is too weak to support even sequential consistency may violate it significantly for some counting networks; hence, we identify timing conditions that are to be totally ruled out for specific applications that rely critically on either sequential consistency or linearizability.

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.

Similar content being viewed by others

References

  1. Aharonson E., Attiya H.: Counting networks with arbitrary fan-out. Distrib. Comput. 8(4), 163–169 (1995)

    Article  Google Scholar 

  2. Aiello, W., Venkatesan, R., Yung, M.: Coins, weights and contention in balancing networks. In: Proceedings of the 13th Annual ACM Symposium on Principles of Distributed Computing, pp. 193–205 (1994)

  3. Aspnes J., Herlihy M., Shavit N.: Counting networks. J. ACM 41(5), 1020–1048 (1994)

    Article  MathSciNet  Google Scholar 

  4. Attiya H., Mavronicolas M.: Efficiency of semi-synchronous versus asynchronous networks. Math. Syst. Theory 27(6), 547–571 (1994)

    Article  MathSciNet  Google Scholar 

  5. Attiya H., Welch J.L.: Sequential consistency versus linearizability. ACM Trans. Comput. Syst. 12(2), 91–122 (1994)

    Article  Google Scholar 

  6. Brit H., Moran S., Taubenfeld G.: Public data structures: counters as a special case. Theor. Comput. Sci. 289(1), 401–423 (2002)

    Article  MathSciNet  Google Scholar 

  7. Busch, C., Mavronicolas, M.: An efficient counting network. In: Proceedings of the 1st Merged International Parallel Processing Symposium and IEEE Symposium on Parallel and Distributed Processing, pp. 380–385 (1998)

  8. Busch C., Herlihy M.: Sorting and counting networks of arbitrary width and small depth. Theory Comput. Syst. 35(2), 99–128 (2002)

    MathSciNet  Google Scholar 

  9. Busch, C., Hardavellas, N., Mavronicolas, M.: Contention in counting networks. In: Proceedings of the 13th Annual ACM Symposium on Principles of Distributed Computing, pp. 404 (1994)

  10. Busch C., Mavronicolas M., Spirakis P.: The cost of concurrent, low-contention read&modify&write. Theor. Comput. Sci. 333(4), 373–400 (2005)

    Article  MathSciNet  Google Scholar 

  11. Eleftheriou, M., Mavronicolas, M.: Linearizability in the presence of drifting clocks and under different delay assumptions. In: Jayanti, P. (ed.) Proceedings of the 13th International Symposium on Distributed Computing. Lecture Notes in Computer Science, vol. 1693, pp. 327–341. Springer, Berlin (1999)

  12. Fatourou P., Herlihy M.: Read–modify–write networks. Distrib. Comput. 17(1), 33–46 (2004)

    Article  Google Scholar 

  13. Felten, E.W., LaMarca, A., Ladner, R.: Building counting networks from larger balancers. Technical Report TR-93-04-09, Department of Computer Science and Engineering, University of Washington (1993)

  14. Freudenthal, E., Gottlieb, A.: Process coordination with fetch-and-increment. In: Proceedings of the 4th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 260–268 (1991)

  15. Goodman, J.R., Vernon, M.K., Woest, P.J.: Efficient synchronization primitives for large-scale cache-coherent multiprocessors. In: Proceedings of the 3rd ACM International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 64–75 (1989)

  16. Hardavellas, N., Karakos, D., Mavronicolas, M.: Notes on sorting and counting networks. In: Schiper, A. (ed.) Proceedings of the 7th International Workshop on Distributed Algorithms. Lecture Notes in Computer Science, vol. 725, pp. 234–248. Springer, Berlin (1993)

  17. Herlihy M., Wing J.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Programm. Lang. Syst. 12(3), 463–492 (1990)

    Article  Google Scholar 

  18. Herlihy M., Tirthapura S.: Self-stabilizing smoothing and balancing networks. Distrib. Comput. 18(5), 345–357 (2006a)

    Article  Google Scholar 

  19. Herlihy M., Tirthapura S.: Randomized smoothing networks. J. Parallel Distrib. Comput. 66(5), 626–632 (2006b)

    Article  Google Scholar 

  20. Herlihy M., Shavit N., Waarts O.: Linearizable counting networks. Distrib. Comput. 9(4), 193–203 (1996)

    Article  Google Scholar 

  21. Klugerman, M., Plaxton, C.G.: Small-depth counting networks. In: Proceedings of the 24th Annual ACM Symposium on Theory of Computing, pp. 417–428 (1992)

  22. Lamport L.: How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Trans. Comput. C-28(9), 690–691 (1979)

    Article  Google Scholar 

  23. Lynch N., Shavit N., Shvartsman A., Touitou D.: Timing conditions for linearizability in uniform counting networks. Theor. Comput. Sci. 220(1), 67–92 (1999)

    Article  MathSciNet  Google Scholar 

  24. Mavronicolas M., Roth D.: Linearizable read/write objects. Theor. Comput. Sci. 220(1), 267–319 (1999)

    Article  MathSciNet  Google Scholar 

  25. Mavronicolas, M., Papatriantafilou, M., Tsigas, Ph.: The impact of timing on linearizability in counting networks. In: Proceedings of the 11th International Parallel Processing Symposium, pp. 684–688 (1997)

  26. Mellor-Crummey, J.M., LeBlanc, T.J.: A software instruction counter. In: Proceedings of the 3rd ACM International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 78–86 (1989)

  27. Mellor-Crummey J.M., Scott M.L.: Algorithms for scalable synchronization on shared-memory multiprocessors. ACM Trans. Comput. Syst. 9(1), 21–65 (1991)

    Article  Google Scholar 

  28. Moran S., Taubenfeld G.: A lower bound on wait-free counting. J. Algorithms 24(1), 1–19 (1997)

    Article  MathSciNet  Google Scholar 

  29. Moran S., Taubenfeld G., Yadin I.: Concurrent counting. J. Comput. Syst. Sci. 53(1), 16–78 (1996)

    MathSciNet  Google Scholar 

  30. Shavit N., Zemach A.: Diffracting trees. ACM Trans. Comput. Syst. 14(4), 385–428 (1996)

    Article  Google Scholar 

  31. Shavit N., Upfal E., Zemach A.: A steady state analysis of diffracting trees. Theory Comput. Syst. 31(4), 403–423 (1998)

    Article  MathSciNet  Google Scholar 

  32. Taubenfeld G.: Synchronization Algorithms and Concurrent Programming. Pearson Education/Prentice-Hall, Englewood Cliffs (2006)

    Google Scholar 

  33. Tirthapura, S.: Adaptive counting networks. In: Proceedings of the 25th IEEE International Conference on Distributed Computing Systems, pp. 241–250 (2005)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Marios Mavronicolas.

Additional information

A preliminary version of this work appears in the Proceedings of the 18th annual ACM symposium on principles of distributed computing (PODC 1999), pp. 133–142, May 1999. This work has been partially supported by the IST Program of the European Union under projects DELIS (contract number 001907) and AEOLUS (contract number 15964).

Rights and permissions

Reprints and permissions

About this article

Cite this article

Mavronicolas, M., Merritt, M. & Taubenfeld, G. Sequentially consistent versus linearizable counting networks. Distrib. Comput. 21, 249–269 (2008). https://doi.org/10.1007/s00446-008-0066-0

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00446-008-0066-0

Keywords

Navigation