Computing Atlas

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

Eisenberg & McGuire algorithm

Parallel and Distributed Algorithm

The Eisenberg & McGuire algorithm is a software solution to the critical section problem, which asks how several processes can share a resource so that only one of them uses it at a time, and it is described as a general version of the dining philosophers problem. It was described in 1972 by Murray A. Eisenberg and Michael R. McGuire and is written for any number n of processes. All processes share a variable named turn, which is set arbitrarily to a number between 0 and n minus 1 at the start of the algorithm. Each process also has a flag that takes the value idle, waiting or active, and a process sets its flag to waiting whenever it intends to enter the critical section, while every flag begins as idle. The source lists Dekker's algorithm, Peterson's algorithm, Lamport's bakery algorithm and Szymanski's algorithm as related mutual exclusion algorithms, and it also points to semaphores.

Connections

In Field

Source Eisenberg & McGuire algorithm (Wikipedia)
Sources
Eisenberg & McGuire algorithm (Wikipedia)
  • In Group: Concurrency and Distributed Systems Techniques, Lead
    The Eisenberg & McGuire algorithm is an algorithm for solving the critical sections problem, a general version of the dining philosophers problem.
  • In Field: Parallel Computing, Lead
    The Eisenberg & McGuire algorithm is an algorithm for solving the critical sections problem, a general version of the dining philosophers problem.
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.