Download presentation
Presentation is loading. Please wait.
Published byBrianne Sparks Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.