Suzuki-Kasami algorithm

The Suzuki-Kasami algorithm[1] is a token-based algorithm for achieving mutual exclusion in distributed systems. The process holding the token is the only process able to enter its critical section.

This is a modification to Ricart–Agrawala algorithm[2] in which a REQUEST and REPLY message are used for attaining the critical section. but in this algorithm they introduced a method in which a seniority vise and also by handing over the critical section to other node by sending a single PRIVILEGE message to other node. So, the node which has the privilege it can use the critical section and if it does not have one it cannot. If a process wants to enter its critical section and it does not have the token, it broadcasts a request message to all other processes in the system. The process that has the token, if it is not currently in a critical section, will then send the token to the requesting process. The algorithm makes use of increasing Request Numbers to allow messages to arrive out-of-order.

Algorithm description

Let be the number of processes. Each process is identified by an integer in .

Data structures

Each process maintains one data structure:

The token contains two data structures:

Algorithm

Requesting the critical section (CS)

When process wants to enter the CS, if it does not have the token, it:

Releasing the CS

When process leaves the CS, it:

Receiving a request

When process receives a request from with sequence number , it:

Executing the CS

A process enters the CS when it has acquired the token.

Notes on the algorithm

  • All processes involved in the assignment of the CS

The main design issues of the algorithm:

Data structures used to deal with these two aspects:

The token contains two data structures:

Requesting the CS

Executing the CS

Releasing the CS

Performance

References

  1. Ichiro Suzuki, Tadao Kasami, A distributed mutual exclusion algorithm, ACM Transactions on Computer Systems, Volume 3 Issue 4, Nov. 1985 (pages 344 - 349)
  2. Ricart, Glenn, and Ashok K. Agrawala. "An optimal algorithm for mutual exclusion in computer networks." Communications of the ACM 24.1 (1981): 9-17.
This article is issued from Wikipedia - version of the 12/17/2015. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.