, Volume 101, Issue 9, pp 1349–1368 | Cite as

Anomalies and similarities among consensus numbers of variously-relaxed queues

  • Edward TalmageEmail author
  • Jennifer L. Welch


Shared data structures are a basic building block in distributed computing, but can be expensive to implement. One way to circumvent the high implementation cost of linearizability is to relax the sequential specification of the data type. This gives up some guarantees, for instance on the ordering of data elements, as a tradeoff against performance. We want to explore the effects of this tradeoff on the computational power of the shared data structures. In this paper, we characterize the effects of three different types of relaxation, chosen from the literature, on the computational power of FIFO queues. By parametrically relaxing each of the three operations on a queue (Enqueue, Dequeue, Peek), we obtain an infinite 3-dimensional space for each type of relaxation. We find the consensus number, a standard measure of the computational power of shared data types, of each point in these spaces, completely describing the effect of these three types of relaxation on the computational power of queues.


Distributed computing Shared memory Data types Relaxed data types Consensus numbers 

Mathematics Subject Classification

68P05 68Q15 68Q85 68W15 



This work was supported in part by NSF Grant 1526725. We would like to thank the anonymous reviewers for their helpful comments which improved the paper’s presentation.


  1. 1.
    Afek Y, Korland G, Yanovsky E (2010) Quasi-linearizability: Relaxed consistency for improved concurrency. In: Lu C, Masuzawa T, Mosbah M (eds) Principles of Distributed Systems– 14th International Conference, OPODIS 2010, Tozeur, Tunisia, December 14–17, 2010. Proceedings, volume 6490 of Lecture Notes in Computer Science, pp 395–410. SpringerGoogle Scholar
  2. 2.
    Anderson JH, Gouda MG (1990) The virtue of patience: concurrent programming with and without waiting. Technical reportGoogle Scholar
  3. 3.
    Attiya H, Welch JL (1994) Sequential consistency versus linearizability. ACM Trans Comput Syst 12(2):91–122CrossRefGoogle Scholar
  4. 4.
    Chen W, Hu G, Zhang J (2013) On the power of breakable objects. Theor Comput Sci 503:89–108MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Chor B, Israeli A, Li M (1987) On processor coordination using asynchronous hardware. In: Schneider Fred B, (ed) Proceedings of the sixth annual ACM symposium on principles of distributed computing, Vancouver, British Columbia, Canada, August 10–12, 1987, pp 86–97. ACMGoogle Scholar
  6. 6.
    Fischer MJ, Lynch NA, Paterson M (1985) Impossibility of distributed consensus with one faulty process. J ACM 32(2):374–382MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Henzinger TA, Kirsch CM, Payer H, Sezgin A, Sokolova A (2013) Quantitative relaxation of concurrent data structures. In: Giacobazzi R, Cousot R (eds) The 40th annual ACM SIGPLAN-SIGACT symposium on principles of programming languages, POPL ’13, Rome, Italy, January 23–25, 2013, pp 317–328. ACMGoogle Scholar
  8. 8.
    Herlihy M (1991) Wait-free synchronization. ACM Trans Program Lang Syst 13(1):124–149CrossRefGoogle Scholar
  9. 9.
    Kosa MJ (1999) Time bounds for strong and hybrid consistency for arbitrary abstract data types. Chicago J Theor Comput Sci 1999.
  10. 10.
    Lipton RJ, Sandberg JS (1988) PRAM: A scalable shared memory. Technical Report CS-TR-180-88, Princeton University, Department of Computer ScienceGoogle Scholar
  11. 11.
    Lo W-K, Hadzilacos V (2000) All of us are smarter than any of us: nondeterministic wait-free hierarchies are not robust. SIAM J Comput 30(3):689–728MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Loui MC, Abu-Amara HH (1987) Memory requirements for agreement among unreliable asynchronous processes. Adv Comput Res 4(163–183):31Google Scholar
  13. 13.
    Lynch Nancy A (1996) Morgan Kaufmann, Distributed AlgorithmsGoogle Scholar
  14. 14.
    Shavit N, Taubenfeld G (2015) The computability of relaxed data structures: queues and stacks as examples. In: Scheideler C (ed) Structural information and communication complexity—22nd international colloquium, SIROCCO 2015, Montserrat, Spain, July 14-16, 2015, Post-Proceedings, volume 9439 of Lecture Notes in Computer Science, pages 414–428. SpringerGoogle Scholar
  15. 15.
    Shavit N, Taubenfeld G (2016) The computability of relaxed data structures: queues and stacks as examples. Distrib Comput 29(5):395–407MathSciNetCrossRefzbMATHGoogle Scholar
  16. 16.
    Talmage E, Welch JL (2014) Improving average performance by relaxing distributed data structures. In: Kuhn F (ed) Distributed computing—28th international symposium, DISC 2014, Austin, TX, USA, October 12–15, 2014. Proceedings, volume 8784 of Lecture notes in computer science, pp 421–438. SpringerGoogle Scholar
  17. 17.
    Talmage E, Welch JL (2015) Generic proofs of consensus numbers for abstract data types. In: Anceaume E, Cachin C, Potop-Butucaru MG (eds) 19th international conference on principles of distributed systems, OPODIS 2015, December 14–17, 2015, Rennes, France, vol–46 of LIPIcs, pp 32:1–32:16. Schloss Dagstuhl - Leibniz-Zentrum fuer InformatikGoogle Scholar
  18. 18.
    Talmage E, Welch JL (2017) Anomalies and similarities among consensus numbers of relaxed queues. In: Abbadi Amr El, Garbinato B (eds), 5th Edn of the international conference on networked systems, NETYS 2017, May 17–19, 2017, Marrakech, Morocco, vol 10299 of Lecture notes in computer science. SpringerGoogle Scholar
  19. 19.
    Wang J, Talmage E, Lee H, Welch JL (2014) Improved time bounds for linearizable implementations of abstract data types. In: 2014 IEEE 28th international parallel and distributed processing symposium, Phoenix, AZ, USA, May 19-23, 2014, pp 691–701. IEEE Computer SocietyGoogle Scholar

Copyright information

© Springer-Verlag GmbH Austria, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Texas A&M UniversityCollege StationUSA

Personalised recommendations