Raymond's algorithm is a lock based algorithm that gives the nodes of a distributed system mutual exclusion, meaning only one node at a time may enter its critical section. It arranges the nodes in a logical tree, a K-ary tree, in which each node has a single parent and sends every request for the token to that parent. A node that wants the token puts the requester in a first-in first-out queue and, if the queue was empty, asks its own parent in turn. When the node holding the token receives a request it passes the token down the path toward the requester and makes the receiving node its new parent, so the root of the tree always follows the token. A node uses the token to enter its critical section only when it reaches the head of its own queue. Because requests travel along tree paths, the algorithm needs O(log n) messages per critical section entry when the processors form a K-ary tree, and each processor stores at most O(log n) bits because it tracks only a constant number of neighbors.
Facts
Space Complexity Problem SolvedMutual exclusion on a distributed system 1 Time Complexity
Time Complexity (category)Logarithmic Time -- O(log n) 1 Connections
In Field
Source Raymond's algorithm (Wikipedia)
Solves Problem
Source Raymond's algorithm (Wikipedia)
Sources
1. Raymond's algorithm (Wikipedia)
Lead
Raymond's Algorithm is a lock based algorithm for mutual exclusion on a distributed system.
Complexity, time bound
Raymond's algorithm is guaranteed to be O(log n) per critical section entry if the processors are organized into a K-ary tree.
Complexity, space bound
each processor needs to store at most O(log n) bits because it must track O(1) neighbors.
In Field: Distributed Computing, Lead, field
Raymond's Algorithm is a lock based algorithm for mutual exclusion on a distributed system.
In Group: Concurrency and Distributed Systems Techniques, Lead, group
Raymond's Algorithm is a lock based algorithm for mutual exclusion on a distributed system.
Solves Problem: Mutual exclusion, Lead, problem solved
Raymond's Algorithm is a lock based algorithm for mutual exclusion on a distributed system.
View the SourceReader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.
Sign in to dispute this or suggest a correction.