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.
Similar content being viewed by others
References
Aharonson E., Attiya H.: Counting networks with arbitrary fan-out. Distrib. Comput. 8(4), 163–169 (1995)
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)
Aspnes J., Herlihy M., Shavit N.: Counting networks. J. ACM 41(5), 1020–1048 (1994)
Attiya H., Mavronicolas M.: Efficiency of semi-synchronous versus asynchronous networks. Math. Syst. Theory 27(6), 547–571 (1994)
Attiya H., Welch J.L.: Sequential consistency versus linearizability. ACM Trans. Comput. Syst. 12(2), 91–122 (1994)
Brit H., Moran S., Taubenfeld G.: Public data structures: counters as a special case. Theor. Comput. Sci. 289(1), 401–423 (2002)
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)
Busch C., Herlihy M.: Sorting and counting networks of arbitrary width and small depth. Theory Comput. Syst. 35(2), 99–128 (2002)
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)
Busch C., Mavronicolas M., Spirakis P.: The cost of concurrent, low-contention read&modify&write. Theor. Comput. Sci. 333(4), 373–400 (2005)
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)
Fatourou P., Herlihy M.: Read–modify–write networks. Distrib. Comput. 17(1), 33–46 (2004)
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)
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)
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)
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)
Herlihy M., Wing J.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Programm. Lang. Syst. 12(3), 463–492 (1990)
Herlihy M., Tirthapura S.: Self-stabilizing smoothing and balancing networks. Distrib. Comput. 18(5), 345–357 (2006a)
Herlihy M., Tirthapura S.: Randomized smoothing networks. J. Parallel Distrib. Comput. 66(5), 626–632 (2006b)
Herlihy M., Shavit N., Waarts O.: Linearizable counting networks. Distrib. Comput. 9(4), 193–203 (1996)
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)
Lamport L.: How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Trans. Comput. C-28(9), 690–691 (1979)
Lynch N., Shavit N., Shvartsman A., Touitou D.: Timing conditions for linearizability in uniform counting networks. Theor. Comput. Sci. 220(1), 67–92 (1999)
Mavronicolas M., Roth D.: Linearizable read/write objects. Theor. Comput. Sci. 220(1), 267–319 (1999)
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)
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)
Mellor-Crummey J.M., Scott M.L.: Algorithms for scalable synchronization on shared-memory multiprocessors. ACM Trans. Comput. Syst. 9(1), 21–65 (1991)
Moran S., Taubenfeld G.: A lower bound on wait-free counting. J. Algorithms 24(1), 1–19 (1997)
Moran S., Taubenfeld G., Yadin I.: Concurrent counting. J. Comput. Syst. Sci. 53(1), 16–78 (1996)
Shavit N., Zemach A.: Diffracting trees. ACM Trans. Comput. Syst. 14(4), 385–428 (1996)
Shavit N., Upfal E., Zemach A.: A steady state analysis of diffracting trees. Theory Comput. Syst. 31(4), 403–423 (1998)
Taubenfeld G.: Synchronization Algorithms and Concurrent Programming. Pearson Education/Prentice-Hall, Englewood Cliffs (2006)
Tirthapura, S.: Adaptive counting networks. In: Proceedings of the 25th IEEE International Conference on Distributed Computing Systems, pp. 241–250 (2005)
Author information
Authors and Affiliations
Corresponding author
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
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00446-008-0066-0