ABSTRACT

Mutual exclusion is the key issue for distributed systems design. Mutual exclusion ensures that mutually conflicting concurrent processes can share resources. A general scheme for token- and tree-based mutual exclusion algorithms was proposed. This chapter discusses three issues that are related to the mutual exclusion problem: election, bidding, and self-stabilization. The problem of mutual exclusion, or of defining fundamental operations such that it is possible to resolve conflicts resulting from several concurrent processes sharing resources, has emerged as a prime example of the difficulties associated with distributed systems. Election is a general style of computation in distributed systems in which one process from the process set is selected to perform a particular task. Special implementation of the election process is bidding, where every competitor selects a bid value out of a given set and sends its bid to every other competitor in the system. Self-stabilization provides a unified approach to transient failures by formally incorporating them into the design model.