transp-dist-ME - Distributed Mutual Exclusion The mutual...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
Distributed Mutual Exclusion The mutual exclusion ( ME ) problem frequently arises when concurrent access to shared resources by several sites is involved (e.g., directory management where updates and reads to a directory must be done atomically to ensure correctness.) Mutual exclusion is a fundamental issue in the design of distributed systems, and an efficient and robust technique for mutual exclusion is essential. Because of resource distribution, transmission delays, and lack of global information, mutual exclusion algorithms developed for single-computer systems are not applicable in a distributed environment. Algorithms developed for distributed systems can be grouped into two classes: Nontoken-based ( assertion based ) approach : a site enters its critical section (CS) when an assertion defined on its local variables becomes true, which can be established through two or more rounds of message exchanges. Token-based approach : a site enters its CS if it possesses the single token that is shared among the sites. System model At any instant, a site may have several requests for CS. The site queues them up and serves them one at a time. A site can be in one of three states: 1. Requesting CS -- the site is blocked and cannot make further requests for CS 2. Executing CS -- the site is in its critical section 3. Idle -- the site is neither requesting nor executing CS Objectives of ME algorithms Guarantee mutual exclusion (required) Freedom from deadlocks (desirable) Freedom from starvation -- every requesting site should get to enter CS in a finite time (desirable) Fairness -- requests should be executed in the order of arrivals, which would be based on logical clocks (desirable) Fault tolerance -- failure in the distributed system will be recognized and therefore not cause any unduly prolonged disruptions (desirable)
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Measuring the performance of ME algorithms , with the following 4 metrics : Number of messages necessary per CS invocation Synchronization delay , the time required after a site leaves the CS and before the next site enters the CS. Message exchanges are required. Response time , the time interval a request waits for its CS execution to be over after its request messages have been sent out System throughput , the rate at which the system executes requests for CS, defined by 1/( sd + E ), where sd is the synchronization delay, and E is the average critical section execution time. Notes on performance measurements Algorithm performance may depend on the loading conditions of the system. Two conditions are of particular interest: low load ( ll ) where there is seldom more than one request for CS simultaneously in the system, and high load ( hl ) where there is always a pending request for CS at a site. Algorithms are often studied for
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 12

transp-dist-ME - Distributed Mutual Exclusion The mutual...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online