Abstract
This paper describes the ability of asynchronous shared- memory distributed systems to solve the consensus problem in a wait-free manner if processes are permitted to perform transactions on the shared memory in a single atomic action. It will be shown that transactional memory is often extremely powerful, even if weak types of shared objects are used and the transactions are short. Suppose T is a type of shared object. For any positive integer m, the transactional type trans(T,m) allows processes to perform up to m accesses to a collection of objects of type T in a transaction. The transaction may also include internal process actions that do not affect the shared memory. For any non-trivial type T, trans(T,m) can solve consensus among Ω(2m/2) processes. A stronger lower bound of Ω(2m) is given for a large class of objects that includes all non-trivial read-modify-write types T. If the type T is equipped with operations that allow processes to read the state of the object without altering the state, then trans(T, 2) is capable of solving consensus among any number of processes. This paper also gives a consensus algorithm for n m-1 processes using trans(n-consensus,m) and a consensus algo- rithm for any number of processes that uses trans(test&set, 3).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Yehuda Afek, Michael Merritt, AND Gadi Taubenfeld. The power of multiobjects. In Proc. 15th ACM Symposium on Principles of Distributed Computing, pages 213–222, 1996.
James H. Anderson AND Mark Moir. Universal constructions for multi-object operations. In Proc. 14th ACM Symposium on Principles of Distributed Computing, pages 184–193, 1995.
Hagit Attiya AND Eyal Dagan. Universal operations: Unary versus binary. In Proc. 15th ACM Symposium on Principles of Distributed Computing, pages 223–232, 1996.
Maurice Herlihy. Wait-free synchronization. ACM Transactions on Programming Languages and Systems, 11(1), pages 124–149, January 1991.
Maurice Herlihy. A methodology for implementing highly concurrent data objects. ACM Transactions on Programming Languages and Systems, 15(5), pages 745–770, November 1993.
Maurice Herlihy AND J. Eliot B. Moss. Transactional memory: Architectural support for lock-free data structures. In Proc. 20th International Symposium on Computer Architecture, pages 289–300, 1993.
Amos Israeli AND Lihu Rappoport. Disjoint-access-parallel implementations of strong shared memory primitives. In Proc. 13th ACM Symposium on Principles of Distributed Computing, pages 151–160, 1994.
Prasad Jayanti. Robust wait-free hierarchies. Journal of the ACM, 44(4), pages 592–614, July 1997.
Prasad Jayanti AND Sanjay Khanna. On the power of multi-objects. In Distributed Algorithms, 11th International Workshop, volume 1320 of LNCS, pages 320–332, 1997.
Clyde P. Kruskal, Larry Rudolph, AND Marc Snir. Efficient synchronization on multiprocessors with shared memory. ACM Transactions on Programming Languages and Systems, 10(4), pages 579–601, October 1988.
Nancy A. Lynch. Distributed Algorithms, chapter 8. Morgan Kaufmann, 1996.
Mark Moir. Transparent support for wait-free transactions. In Distributed Algorithms, 11th International Workshop, volume 1320 of LNCS, pages 305–319, 1997.
Eric Ruppert. Determining consensus numbers. In Proc. 16th ACM Symposium on Principles of Distributed Computing, pages 93–99, 1997.
Eric Ruppert. Consensus numbers of multi-objects. In Proc. 17th ACM Symposium on Principles of Distributed Computing, pages 211–217, 1998.
Nir Shavit AND Dan Touitou. Software transactional memory. Distributed Computing, 10(2), pages 99–116, February 1997.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ruppert, E. (1999). Consensus Numbers of Transactional Objects. In: Jayanti, P. (eds) Distributed Computing. DISC 1999. Lecture Notes in Computer Science, vol 1693. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48169-9_22
Download citation
DOI: https://doi.org/10.1007/3-540-48169-9_22
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66531-1
Online ISBN: 978-3-540-48169-0
eBook Packages: Springer Book Archive