Abstract
We study the relation between two classical types of distributed locking mechanisms, called token-based locking and permission-based locking, and several distributed data structures which use locking for synchronization. We have proposed, implemented and tested several lock-based distributed data structures, namely, two different types of counters called find&increment and increment&publish, a queue, a stack and a linked list. For each one of them we have determined what is the preferred type of lock to be used as the underling locking mechanism. Furthermore, we have determined which one of the two proposed counters is better to be used either as a stand-alone data structure or when used as a building block for implementing other high level data structures.
Keywords
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Agrawal, D., El-Abbadi, A.: An efficient and fault-tolerant solution for distributed mutual exclusion. ACM Transactions on Computer Systems 9(1), 1–20 (1991)
Bayer, R., Schkolnick, M.: Concurrency operations on B-trees. Acta Informatica 1(1), 1–21 (1977)
Carvalho, O.S.F., Roucairol, G.: On mutual exclusion in computer networks. Communications of the ACM 26(2), 146–147 (1983)
Dijkstra, E.W.: Solution of a problem in concurrent programming control. Communications of the ACM 8(9), 569 (1965)
Ellis, C.S.: Distributed data structures: A case study. IEEE Transactions on Computers c-34(12), 1178–1185 (1985)
Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. on Programming Languages and Systems 12(3), 463–492 (1990)
Ibaraki, T., Kameda, T.: A theory of coteries: Mutual exclusion in distributed systems. IEEE Transactions on Parallel and Distributed Systems 4(7), 779–794 (1993)
Lamport, L.: Time, clocks, and the order of events in a distributed system. Communications of the ACM 21(7), 558–565 (1978)
Lehman, P.L., Yao, S.B.: Efficient locking for concurrent operations on B-trees. ACM Transactions on Database Systems 6(4), 650–670 (1981)
Maekawa, M.: A \(\sqrt{N}\) algorithm for mutual exclusion in decentralized systems. ACM Transactions on Computer Systems 3(2), 145–159 (1985)
Mishra, S., Srimani, P.K.: Fault-tolerant mutual exclusion algorithms. Journal of Systems and Software 11(2), 111–129 (1990)
Mizuno, M., Mesterenko, M., Kakugawa, H.: Lock-based self-stabilizing distributed mutual exclusion algorithm. In: Proc. 17th Inter. Conf. on Dist. Comp. Systems, pp. 708–716 (1996)
Naimi, M., Trehel, M.: An improvement of the logn distributed algorithm for mutual exclusion. In: Proc. 17th Inter. Conf. on Dist. Comp. Systems, pp. 371–375 (1987)
Neilsen, M.L., Mizuno, M.: A DAG-based algorithm for distributed mutual exclusion. In: Proc. 17th Inter. Conf. on Dist. Comp. Systems, pp. 354–360 (1991)
Neilsen, M.L., Mizuno, M.: Coterie join algorithm. IEEE Transactions on Parallel and Distributed Systems 3(5), 582–590 (1992)
Peleg, D.: Distributed data structures: A complexity-oriented structure. In: van Leeuwen, J., Santoro, N. (eds.) WDAG 1990. LNCS, vol. 486, pp. 71–89. Springer, Heidelberg (1991)
Rangarajan, S., Tripathi, S.K.: A robust distributed mutual exclusion algorithm. In: Toueg, S., Kirousis, L.M., Spirakis, P.G. (eds.) WDAG 1991. LNCS, vol. 579, pp. 295–308. Springer, Heidelberg (1992)
Raymond, K.: A tree-based algorithm for distributed mutual exclusion. ACM Transactions on Computer Systems 7(1), 61–77 (1989)
Raynal, M.: Algorithms for mutual exclusion. The MIT Press, Cambridge (1986); Translation of: Algorithmique du parallélisme (1984)
Raynal, M.: Simple taxonomy for distributed mutual exclusion algorithms. Operating Systems Review (ACM) 25(2), 47–50 (1991)
Reddy, R.L.N., Gupta, B., Srimani, P.K.: New fault-tolerant distributed mutual exclusion algorithm. In: Proc. of the ACM/SIGAPP Symp. on Applied Computing, pp. 831–839 (1992)
Ricart, G., Agrawala, A.K.: An optimal algorithm for mutual exclusion in computer networks. CACM 24(1), 9–17 (1981); Corrigendum in CACM 24(9), 578 (1981)
Shou, D., Wang, S.D.: A new transformation method for nondominated coterie design. Information Sciences 74(3), 223–246 (1993)
Singhal, M.: A dynamic information-structure mutual exclusion algorithm for distributed systems. IEEE Transactions on Parallel and Distributed Systems 3(1), 121–125 (1992)
Singhal, M.: A taxonomy of distributed mutual exclusion. Journal of Parallel and Distributed Computing 18(1), 94–101 (1993)
Singhal, M., Shivaratri, N.G.: Advanced concepts in operating systems: distributed, database and multiprocessor operating systems. McGraw-Hill, Inc., New York (1994)
van de Snepscheut, J.L.A.: Fair mutual exclusion on a graph of processes. Distributed Computing 2, 113–115 (1987)
Suzuki, I., Kasami, T.: A distributed mutual exclusion algorithm. ACM Transactions on Computer Systems 3(4), 344–349 (1985)
Taubenfeld, G.: Synchronization Algorithms and Concurrent Programming, 423 pages. Pearson/Prentice-Hall (2006) ISBN 0-131-97259-6
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lubowich, Y., Taubenfeld, G. (2011). On the Performance of Distributed Lock-Based Synchronization. In: Aguilera, M.K., Yu, H., Vaidya, N.H., Srinivasan, V., Choudhury, R.R. (eds) Distributed Computing and Networking. ICDCN 2011. Lecture Notes in Computer Science, vol 6522. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-17679-1_12
Download citation
DOI: https://doi.org/10.1007/978-3-642-17679-1_12
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-17678-4
Online ISBN: 978-3-642-17679-1
eBook Packages: Computer ScienceComputer Science (R0)