Presentation is loading. Please wait.

Presentation is loading. Please wait.

Global State (1) a)A consistent cut b)An inconsistent cut.

Similar presentations


Presentation on theme: "Global State (1) a)A consistent cut b)An inconsistent cut."— Presentation transcript:

1 Global State (1) a)A consistent cut b)An inconsistent cut

2 Election Algorithms The idea behind these algorithm is to have the ability to elect a unique coordinator process from the currently running processes. Some assumptions: Every process has a unique priority number. –It can be a concatenated with the IP address and the process' priority number. –However, this may not be desirable especially if the process' IP address is a high number

3 Election Algorithms Some more assumptions: Whenever an election is held, the process with the highest priority number will be elected. When the failed leader recovers, it can take appropriate action to rejoin the set of active processes. When it returns and if it has the highest priority, it will be the new leader.

4 Bully Algorithm Devised by Garcia-Molina, 1982 Assume every process knows the priority number of every other process in the system. It is broadcasted so that everyone knows it Suppose P sends REQUEST to coordinator. P waits a while so that REQUEST times out (the coordinator times out) P assumes the coordinator has failed P then initiates an election

5 Bully Algorithm To initiate an election: 1.P sends an ELECTION message to every process with a higher process ID. 2.If no one responds, P wins the election and becomes the coordinator 3.If one of the higher-up processes answers, it takes over. P waits for the final response from the new coordinator

6 Bully Algorithm If P receives and ELECTION message This means that some other process below me is holding an election P sends a response to the sending process P holds an election (as above) if it is not already holding one The election process gradually move to the process with the highest priority number

7 Bully Algorithm How a recovered process rejoins the system: If a failed process recovers then it initiates an election. Even if it's the bottom process, it still initiates an election so that it can identify who the coordinator is.

8 The Bully Algorithm Example The bully election algorithm Process 4 holds an election Process 5 and 6 respond, telling 4 to stop Now 5 and 6 each hold an election

9 Bully Algorithm Example d)Process 6 tells 5 to stop e)Process 6 wins and tells everyone

10 A Ring Algorithm Election algorithm using a ring.

11 Mutual Exclusion The idea of mutual exclusion in distributed systems is to guarantee that either a  b or b  a, that is, that a and b are not concurrent Examples of applications that require this file sharing in NFS implementation of distributed shared memory, The approach can either be centralized or distributed. A centralized approach requires a central coordinator it is not fault tolerant since there is a single point of failure, and it can be a performance bottleneck.

12 Mutual Exclusion: A 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

13 Ricart and Agrawala 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.

14 Distributed Mutual Exclusion Next paper: Mamoru Maekawa, "A SQRT(N) Algorithm for mutual exclusion in decentralized systems," ACM Transactions on Computer Systems, Vol. 3, No. 2, May 1985, p. 145-159,

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

16 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 ) Crash of any process Token ring 1 to  0 to n – 1 Lost token, process crash

17 The Transaction Model (1) Updating a master tape is fault tolerant.

18 The Transaction Model (2) Examples of primitives for transactions. PrimitiveDescription BEGIN_TRANSACTIONMake the start of a transaction END_TRANSACTIONTerminate the transaction and try to commit ABORT_TRANSACTIONKill the transaction and restore the old values READRead data from a file, a table, or otherwise WRITEWrite data to a file, a table, or otherwise

19 The Transaction Model (3) a)Transaction to reserve three flights commits b)Transaction aborts when third flight is unavailable BEGIN_TRANSACTION reserve WP -> JFK; reserve JFK -> Nairobi; reserve Nairobi -> Malindi; END_TRANSACTION (a) BEGIN_TRANSACTION reserve WP -> JFK; reserve JFK -> Nairobi; reserve Nairobi -> Malindi full => ABORT_TRANSACTION (b)

20 Transaction are: a)Atomic: To the outside world the transaction happens indivisibly b)Consistent: The transaction does not violate system invariants c)Isolated: Concurrent transactions do not interfere with each other d)Durable: Once a transaction commits, the changes are permanent These properties are the ACID properties of transactions. Flat transactions are the simplest type of transaction – but are limited because they do not allow partial results to be committed or aborted.

21 Distributed Transactions a)A nested transaction b)A distributed transaction

22 Private Workspace a)The file index and disk blocks for a three-block file b)The situation after a transaction has modified block 0 and appended block 3 c)After committing

23 Writeahead Log a) A transaction b) – d) The log before each statement is executed x = 0; y = 0; BEGIN_TRANSACTION; x = x + 1; y = y + 2 x = y * y; END_TRANSACTION; (a) Log [x = 0 / 1] (b) Log [x = 0 / 1] [y = 0/2] (c) Log [x = 0 / 1] [y = 0/2] [x = 1/4] (d)

24 Concurrency Control (1) General organization of managers for handling transactions.

25 Concurrency Control (2) General organization of managers for handling distributed transactions.

26 Serializability a) – c) Three transactions T 1, T 2, and T 3 d) Possible schedules BEGIN_TRANSACTION x = 0; x = x + 1; END_TRANSACTION (a) BEGIN_TRANSACTION x = 0; x = x + 2; END_TRANSACTION (b) BEGIN_TRANSACTION x = 0; x = x + 3; END_TRANSACTION (c) Schedule 1x = 0; x = x + 1; x = 0; x = x + 2; x = 0; x = x + 3Legal Schedule 2x = 0; x = 0; x = x + 1; x = x + 2; x = 0; x = x + 3;Legal Schedule 3x = 0; x = 0; x = x + 1; x = 0; x = x + 2; x = x + 3;Illegal (d)

27 Two-Phase Locking (1) Two-phase locking.

28 Two-Phase Locking (2) Strict two-phase locking.

29 Pessimistic Timestamp Ordering Concurrency control using timestamps.


Download ppt "Global State (1) a)A consistent cut b)An inconsistent cut."

Similar presentations


Ads by Google