Abstract
This paper extends Common2, the family of objects that implement and are wait-free implementable from 2 consensus objects, in two ways: First, the stack object is shown to be in the family, refuting a conjecture to the contrary [6]. Second, Common2 is investigated in the unbounded concurrency model, whereas until now it was considered only in an n-process model. We show that the fetch-and-add, test-and-set , and stack objects are in Common2 even with respect to this stronger notion of wait-free implementation. Our constructions rely on a wait-free implementation of immediate snapshots in the unbounded concurrency model, which was previously not known to be possible. The introduction of unbounded concurrency to the study of Common2 opens several directions of research: are there objects that have n-process implementations but are not unbounded concurrency implementable? We conjecture that swap is such an object. Additionally, the hope is that a queue impossibility proof, which eludes us in the n-process model, will be easier to establish in the unbounded concurrency model.
Similar content being viewed by others
References
Afek, Y., Gafni, E., Tromp, J., Vitányi, P.M.B.: Wait-free TAS. In: Proceedings of WDAG. Lecture Notes in Computer Science, vol. 647, pp. 85–94 (1992)
Afek Y. and Weisberger E. (1999). The instancy of snapshots and commuting objects. J Algorithms 30(1): 68–105
Afek, Y., Weisberger, E., Weisman, H.: A completeness theorem for a class of synchronization objects. In: Proceedings of the 12th Annual ACM Symposium on Principles of Distributed Computing (PODC 1993), pp. 159–170 (1993)
Borowsky, E., Gafni, E.: Immediate atomic snapshots and fast renaming.In: Proceedings of the 12th Annual ACM Symposium on Principles of Distributed Computing (PODC 1993), pp. 41–51 (1993)
David, M.: A single-enqueuer wait-free queue implementation. In: Proceedings of DISC 2004. Lecture Notes in Computer Science, vol. 3274, pp. 132–143 (2004)
David, M.: Alex Brodsky and faith Ellen Fich. Restricted stack implementations. In: Proceedings of DISC 2005. Lecture Notes in Computer Science, vol. 3724, pp. 137–151 (2005)
Gafni, E.: A simple algorithmic characterization of uniform solvability. In: Proceedings of the 43rd Symposium on Foundations of Computer Science (FOCS 2002), pp. 228–237 (2002)
Gafni, E., Merritt, M., Taubenfeld, G.: The concurrency hierarchy, and algorithms for unbounded concurrency. In: Proceedings of the 12th Annual ACM Symposium on Principles of Distributed Computing (PODC 2001) (2001)
Hendler, D., Shavit, N., Yerushalmi, L.: A scalable lock-free stack algorithm. In: Proceedings of the 16th Annual ACM Symposium on Parallelism in Algorithms and Architectures (SPAA 2004), pp. 206–215 (2004)
Herlihy, M.: Impossibility results for asynchronous PRAM. In: Proceedings of the 2nd Annual Symposium on Parallel Algorithms and Architectures (SPAA), pp. 327–336 (1991)
Herlihy M. (1991). Wait-free synchronization. ACM Trans. Program. Lang. Syst. 13(1): 124–149
Herlihy M. and Shavit N. (1999). The topological structure of asynchronous computability. J. ACM 46(6): 858–923
Herlihy M. and Wing J. (1990). Linearizability: A correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12(3): 463–492
Li, Z.: Non-blocking implementations of queues in asynchronous distributed shared-memory systems. Master’s thesis, Department of Computer Science, University of Toronto (2001)
Scott McCrickard, D.A.: Study of wait-free hierarchies in concurrent systems. Technical report GIT-CC-94-94
Weisman, H.: Implementing shared memory overwriting objects. Master’s thesis, School of Computer Science, Tel-Aviv University
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Afek, Y., Gafni, E. & Morrison, A. Common2 extended to stacks and unbounded concurrency. Distrib. Comput. 20, 239–252 (2007). https://doi.org/10.1007/s00446-007-0023-3
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00446-007-0023-3