Computing Atlas

How Computing Was Built
Sign In
Text size
100%
Theme
Algorithm

Raymond's algorithm

Parallel and Distributed Algorithm

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
Logarithmic 1
Problem Solved
Mutual 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 Source
Comments (0)
No comments yet. Be the first to share a thought.
Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.