1 / 14

Distributed Mutual Exclusion

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

Télécharger la présentation

Distributed Mutual Exclusion

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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 • Process 1 asks the coordinator for permission to enter a critical region. Permission is granted • Process 2 then asks permission to enter the same critical region. The coordinator does not reply. • 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 • Two processes want to enter the same critical region at the same moment. • Process 0 has the lowest timestamp, so it wins. • 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 • An unordered group of processes on a network. • 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.

  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

More Related