Algorithms for mutual exclusion
Algorithms for mutual exclusion
A tree-based algorithm for distributed mutual exclusion
ACM Transactions on Computer Systems (TOCS)
Linearizability: a correctness condition for concurrent objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
Fault-tolerant mutual exclusion algorithms
Journal of Systems and Software - Special issue on distributed systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
An efficient and fault-tolerant solution for distributed mutual exclusion
ACM Transactions on Computer Systems (TOCS)
A simple taxonomy for distributed mutual exclusion algorithms
ACM SIGOPS Operating Systems Review
A new fault tolerant distributed mutual exclusion algorithm
SAC '92 Proceedings of the 1992 ACM/SIGAPP symposium on Applied computing: technological challenges of the 1990's
Transactional memory: architectural support for lock-free data structures
ISCA '93 Proceedings of the 20th annual international symposium on computer architecture
A taxonomy of distributed mutual exclusion
Journal of Parallel and Distributed Computing
A new transformation method for nondominated coterie design
Information Sciences: an International Journal
A distributed mutual exclusion algorithm
ACM Transactions on Computer Systems (TOCS)
A N algorithm for mutual exclusion in decentralized systems
ACM Transactions on Computer Systems (TOCS)
Proceedings of the fourteenth annual ACM symposium on Principles of distributed computing
Simple, fast, and practical non-blocking and blocking concurrent queue algorithms
PODC '96 Proceedings of the fifteenth annual ACM symposium on Principles of distributed computing
Efficient locking for concurrent operations on B-trees
ACM Transactions on Database Systems (TODS)
Concurrent operations on B-trees with overtaking
PODS '85 Proceedings of the fourth ACM SIGACT-SIGMOD symposium on Principles of database systems
An optimal algorithm for mutual exclusion in computer networks
Communications of the ACM
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
Solution of a problem in concurrent programming control
Communications of the ACM
Advanced Concepts in Operating Systems
Advanced Concepts in Operating Systems
Extendible hashing for concurrent operations and distributed data
PODS '83 Proceedings of the 2nd ACM SIGACT-SIGMOD symposium on Principles of database systems
A Dynamic Information-Structure Mutual Exclusion Algorithm for Distributed Systems
IEEE Transactions on Parallel and Distributed Systems
IEEE Transactions on Parallel and Distributed Systems
A Theory of Coteries: Mutual Exclusion in Distributed Systems
IEEE Transactions on Parallel and Distributed Systems
Distributed Data Structures: A Complexity-Oriented View
WDAG '90 Proceedings of the 4th International Workshop on Distributed Algorithms
A Robust Distributed Mutual Exclusion Algorithm
WDAG '91 Proceedings of the 5th International Workshop on Distributed Algorithms
A Pragmatic Implementation of Non-blocking Linked-Lists
DISC '01 Proceedings of the 15th International Conference on Distributed Computing
Lock-based self-stabilizing distributed mutual exclusion algorithms
ICDCS '96 Proceedings of the 16th International Conference on Distributed Computing Systems (ICDCS '96)
Obstruction-Free Synchronization: Double-Ended Queues as an Example
ICDCS '03 Proceedings of the 23rd International Conference on Distributed Computing Systems
Lock-free linked lists and skip lists
Proceedings of the twenty-third annual ACM symposium on Principles of distributed computing
Synchronization Algorithms and Concurrent Programming
Synchronization Algorithms and Concurrent Programming
Concurrent Search and Insertion in AVL Trees
IEEE Transactions on Computers
Lock-free and practical doubly linked list-based deques using single-word compare-and-swap
OPODIS'04 Proceedings of the 8th international conference on Principles of Distributed Systems
Hi-index | 0.00 |
Distributed mutual exclusion locks are the de facto mechanism for concurrency control on distributed data structures. A process accesses the data structure only while holding the lock, and hence the process is guaranteed exclusive access. The popularity of this approach is largely due to the apparently simple programming model of such locks and the availability of efficient implementations. We study the relation between classical types of distributed locking mechanisms and several distributed data structures which use locking for synchronization. Our objectives are: To determine which one of the two classical locking techniques -- token-based locking or permission-based locking -- is more efficient. Our strategy to achieve this objective is to implement several locks and to compare their performance. To propose, implement and test several distributed data structures, namely, two different types of counters, a queue, a stack and a linked list; and for each one of the data structures to determine what is the preferred mutual exclusion lock to be used as the underling locking mechanism. To determine 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. Our testing environment is consisting of 20 Intel XEON 2.4 GHz machines running theWindows XP OS with 2GB of RAM and using a JRE version 1.4.2_08. All the machines were located inside the same LAN and were connected using a 20 port Cisco switch.