Abstract
This paper concerns software support for non-blocking transactions in shared-memory multiprocessors. We present mechanisms that convert sequential transactions into lock-free or wait-free ones. In contrast to some previous mechanisms, ours support transactions for which the set of memory locations accessed cannot be determined in advance. Our implementations automatically detect and resolve conflicts between concurrent transactions, and allow transactions that do not conflict to execute in parallel. The key to the efficiency of our wait-free implementation lies in using a lock-free (but not wait-free) multi-word compare-and-swap (MWCAS) operation. By introducing communication between a high-level helping mechanism and the lock-free MWCAS, we show that an expensive wait-free MWCAS is not necessary to ensure wait-freedom.
Work supported in part by an NSF CAREER Award, CCR 9702767.
Preview
Unable to display preview. Download preview PDF.
References
Y. Afek, D. Dauber, and D. Touitou, “Wait-free Made Fast”, Proceedings of the 27th Annual ACM Symposium on Theory of Computing, 1995.
J. Anderson and M. Moir, “Universal Constructions for Multi-Object Operations”, Proceedings of the 14th Annual ACM Symposium on Principles of Distributed Computing, 1995.
J. Anderson and M. Moir, “Universal Constructions for Large Objects”, Proceedings of the Ninth International Workshop on Distributed Algorithms, 1995.
J. Anderson and M. Moir, “Using Local-Spin k-Exclusion Algorithms to Improve Wait-Free Object Implementations”, to appear in Distributed Computing.
G. Barnes, “A Method for Implementing Lock-Free Shared Data Structures”, Proceedings of the Fifth Annual ACM Symposium on Parallel Algorithms and Architectures, 1993.
M. Herlihy, “A Methodology for Implementing Highly Concurrent Data Objects”, ACM Transactions on Programming Languages and Systems, 15(5), 1993.
A. Israeli and L. Rappoport, “Disjoint-Access-Parallel Implementations of Strong Shared Memory Primitives”, Proceedings of the 13th Annual ACM Symposium on Principles of Distributed Computing, 1994.
M. Moir, “Practical Implementations of Synchronization Primitives”, to appear in the 16th Annual ACM Symposium on Principles of Distributed Computing.
G. Pfister and V. Norton, “Hot Spot Contention and Combining in Multistage Interconnection Networks”, IEEE Transactions on Computing, C-34, 10, 1985.
N. Shavit and D. Touitou, “Software Transactional Memory”, Proceedings of the 14th Annual ACM Symposium on Principles of Distributed Computing, 1995.
J. Turek, D. Shasha, and S. Prakash, “Locking Without Blocking: Making Lock Based Concurrent Data Structure Algorithms Non-Blocking”, Proceedings of the 11th Symposium on Principles of Database Systems, 1992.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Moir, M. (1997). Transparent support for wait-free transactions. In: Mavronicolas, M., Tsigas, P. (eds) Distributed Algorithms. WDAG 1997. Lecture Notes in Computer Science, vol 1320. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0030692
Download citation
DOI: https://doi.org/10.1007/BFb0030692
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-63575-8
Online ISBN: 978-3-540-69600-1
eBook Packages: Springer Book Archive