Presentation is loading. Please wait.

Presentation is loading. Please wait.

Distributed Mutual Exclusion Synchronization in Distributed Systems Synchronization in distributed systems are often more difficult compared to synchronization.

Similar presentations


Presentation on theme: "Distributed Mutual Exclusion Synchronization in Distributed Systems Synchronization in distributed systems are often more difficult compared to synchronization."— Presentation transcript:

1 Distributed Mutual Exclusion Synchronization in Distributed Systems Synchronization in distributed systems are often more difficult compared to synchronization in uniprocessor and multiprocessor systems.

2 Synchronization in Distributed Systems Synchronization in time – achieved by Clock Synchronization algorithms Synchronization between resources - Mutual Exclusion algorithms Synchronization in activities - Distributed Transaction paradigms

3 Distributed Mutual Exclusion Mutual Exclusion Mutual exclusion (often abbreviated to mutex) algorithms are used in concurrent programming to avoid the simultaneous use of a common resource, such as a global variable, by pieces of computer code called critical sections.

4 Distributed Mutual Exclusion Critical Sections In concurrent programming a critical section is a piece of code that accesses a shared resource (data structure or device) that must not be concurrently accessed by more than one thread of execution. A critical section will usually terminate in fixed time, and a thread, task or process will only have to wait a fixed time to enter it. Some synchronization mechanism is required at the entry and exit of the critical section to ensure exclusive use, for example a semaphore.

5 Distributed Mutual Exclusion Achieving Mutual exclusion  Hardware solutions - Disabling interrupts on entry into the critical section  System variables - By using semaphores implemented as Locks  Software solutions - Mutual Exclusion Algorithms

6 Distributed Mutual Exclusion Mutual Exclusion Algorithms  Centralized algorithms  Distributed algorithms  Token ring algorithm

7 Mutual Exclusion – centralized Algorithm a) Process 1 asks the coordinator for permission to enter a critical region. Permission is granted b) Process 2 then asks permission to enter the same critical region. The coordinator does not reply. c) When process 1 exits the critical region, it tells the coordinator, when then replies to 2

8 Centralized Algorithm – Advantages Vs Disadvantages Advantages  Fair algorithm, grants in the order of requests  The scheme is easy to implement  Scheme can be used for general resource allocation Shortcomings  Single point of failure. No fault tolerance  Confusion between No-reply and permission denied  Performance bottleneck of single co-ordinator in a large system

9 Mutual Exclusion – Distributed Algorithm a) Two processes want to enter the same critical region at the same moment. b) Process 0 has the lowest timestamp, so it wins. c) When process 0 is done, it sends an OK also, so 2 can now enter the critical region.

10 Distributed Algorithm – Advantages Vs Disadvantages Advantages  Single point of failure is overcome by keeping the system running even if one processes fail  No bottleneck on one process Shortcomings  2(n-1) messages or more than that  Waiting for n-1 processes to accept is overkill Improvements  Group membership for easy communication

11 A Token Ring Algorithm a) An unordered group of processes on a network. b) A logical ring constructed in software.

12 Token Ring Algorithm – Advantages Vs Disadvantages Advantages  No co-ordinator and does not depend on other processes  On Crash token is just passed on to the neighbour Shortcomings  Only a physical Q, no logical Q  Loss of token – Regeneration of tokens  Difficulty in finding the token crash – The processor might be alive

13 Comparison A comparison of three mutual exclusion algorithms. Algorithm Messages per entry/exit Delay before entry (in message times) Problems Centralized32Coordinator crash Distributed2 ( n – 1 ) Overkill in waiting Token ring 1 to  0 to n – 1 Lost token on process crash

14 References Distributed systems – Principles and Paradigms – Andrew S Tanenbaum A Survey of Mutual-Exclusion Algorithms for Multiprocessor Operating Systems http://www.teamten.com/lawrence/242.paper/242.paper.html


Download ppt "Distributed Mutual Exclusion Synchronization in Distributed Systems Synchronization in distributed systems are often more difficult compared to synchronization."

Similar presentations


Ads by Google