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

dos mutual exclusion algos

Embed Size (px)

Citation preview

Page 1: dos mutual exclusion algos

Distributed Mutual Exclusion

• Synchronization in Distributed Systems

Synchronization in distributed systems are often more difficult compared to synchronization in uniprocessor and multiprocessor systems.

Page 2: dos mutual exclusion algos

Synchronization in Distributed Systems

Synchronization in time – achieved by Clock Synchronization algorithms

Synchronization between resources - Mutual Exclusion algorithms

Synchronization in activities - Distributed Transaction paradigms

Page 3: dos mutual exclusion algos

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.

Page 4: dos mutual exclusion algos

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.

Page 5: dos mutual exclusion algos

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

Page 6: dos mutual exclusion algos

Distributed Mutual Exclusion

Mutual Exclusion Algorithms

Centralized algorithms

Distributed algorithms

Token ring algorithm

Page 7: dos mutual exclusion algos

Mutual Exclusion – centralized Algorithm

a) Process 1 asks the coordinator for permission to enter a critical region. Permission is grantedb) 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

Page 8: dos mutual exclusion algos

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

Page 9: dos mutual exclusion algos

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.

Page 10: dos mutual exclusion algos

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

Page 11: dos mutual exclusion algos

A Token Ring Algorithm

a) An unordered group of processes on a network.

b) A logical ring constructed in software.

Page 12: dos mutual exclusion algos

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

Page 13: dos mutual exclusion algos

Comparison

A comparison of three mutual exclusion algorithms.

AlgorithmMessages per entry/exit

Delay before entry (in message times)

Problems

Centralized 3 2 Coordinator crash

Distributed 2 ( n – 1 ) 2 ( n – 1 ) Overkill in waiting

Token ring 1 to 0 to n – 1Lost token on process crash

Page 14: dos mutual exclusion algos

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