Abstract
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.
Similar content being viewed by others
Notes
This is a standard assumption and is used to clarify definitions and discussions of double-Dequeues and similar errors. It can be assumed WLOG because we have not restricted the type of the queues we consider. We can thus, when implementing a queue to hold a desired type T, instead implement one holding the pair (T,tag), putting a unique tag (such as a process id and local sequence counter) as the second element of each pair.
References
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. Springer
Anderson JH, Gouda MG (1990) The virtue of patience: concurrent programming with and without waiting. Technical report
Attiya H, Welch JL (1994) Sequential consistency versus linearizability. ACM Trans Comput Syst 12(2):91–122
Chen W, Hu G, Zhang J (2013) On the power of breakable objects. Theor Comput Sci 503:89–108
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. ACM
Fischer MJ, Lynch NA, Paterson M (1985) Impossibility of distributed consensus with one faulty process. J ACM 32(2):374–382
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. ACM
Herlihy M (1991) Wait-free synchronization. ACM Trans Program Lang Syst 13(1):124–149
Kosa MJ (1999) Time bounds for strong and hybrid consistency for arbitrary abstract data types. Chicago J Theor Comput Sci 1999. https://doi.org/10.4086/cjtcs.1999.009
Lipton RJ, Sandberg JS (1988) PRAM: A scalable shared memory. Technical Report CS-TR-180-88, Princeton University, Department of Computer Science
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–728
Loui MC, Abu-Amara HH (1987) Memory requirements for agreement among unreliable asynchronous processes. Adv Comput Res 4(163–183):31
Lynch Nancy A (1996) Morgan Kaufmann, Distributed Algorithms
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. Springer
Shavit N, Taubenfeld G (2016) The computability of relaxed data structures: queues and stacks as examples. Distrib Comput 29(5):395–407
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. Springer
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 Informatik
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. Springer
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 Society
Acknowledgements
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.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Talmage, E., Welch, J.L. Anomalies and similarities among consensus numbers of variously-relaxed queues. Computing 101, 1349–1368 (2019). https://doi.org/10.1007/s00607-018-0661-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00607-018-0661-2