Chapter 18 Distributed Control Algorithms

Slides:



Advertisements
Similar presentations
CS542 Topics in Distributed Systems Diganta Goswami.
Advertisements

CS3771 Today: deadlock detection and election algorithms  Previous class Event ordering in distributed systems Various approaches for Mutual Exclusion.
1 Distributed Deadlock Fall DS Deadlock Topics Prevention –Too expensive in time and network traffic in a distributed system Avoidance.
CS425 /CSE424/ECE428 – Distributed Systems – Fall 2011 Material derived from slides by I. Gupta, M. Harandi, J. Hou, S. Mitra, K. Nahrstedt, N. Vaidya.
Handling Deadlocks n definition, wait-for graphs n fundamental causes of deadlocks n resource allocation graphs and conditions for deadlock existence n.
Deadlock Prevention, Avoidance, and Detection.  The Deadlock problem The Deadlock problem  Conditions for deadlocks Conditions for deadlocks  Graph-theoretic.
Token-Dased DMX Algorithms n LeLann’s token ring n Suzuki-Kasami’s broadcast n Raymond’s tree.
Page 1 Mutual Exclusion* Distributed Systems *referred to slides by Prof. Paul Krzyzanowski at Rutgers University and Prof. Mary Ellen Weisskopf at University.
CS 582 / CMPE 481 Distributed Systems
What we will cover…  Distributed Coordination 1-1.
CPSC 668Set 3: Leader Election in Rings1 CPSC 668 Distributed Algorithms and Systems Spring 2008 Prof. Jennifer Welch.
Distributed Process Management
Module 2.4: Distributed Systems
20101 Synchronization in distributed systems A collection of independent computers that appears to its users as a single coherent system.
Chapter 18: Distributed Coordination (Chapter 18.1 – 18.5)
EEC-681/781 Distributed Computing Systems Lecture 11 Wenbing Zhao Cleveland State University.
Distributed process management: Distributed deadlock
Chapter 18.3: Distributed Coordination Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 18 Distributed Coordination Chapter.
Computer Science Lecture 12, page 1 CS677: Distributed OS Last Class Vector timestamps Global state –Distributed Snapshot Election algorithms.
Election Algorithms and Distributed Processing Section 6.5.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
Chapter 18 Distributed Control Algorithms Copyright © 2008.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Mutual Exclusion Steve Ko Computer Sciences and Engineering University at Buffalo.
4.5 DISTRIBUTED MUTUAL EXCLUSION MOSES RENTAPALLI.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Mutual Exclusion Steve Ko Computer Sciences and Engineering University at Buffalo.
MUTUAL EXCLUSION AND QUORUMS CS Distributed Mutual Exclusion Given a set of processes and a single resource, develop a protocol to ensure exclusive.
Computer Science Lecture 12, page 1 CS677: Distributed OS Last Class Vector timestamps Global state –Distributed Snapshot Election algorithms –Bully algorithm.
CS425 /CSE424/ECE428 – Distributed Systems – Fall 2011 Material derived from slides by I. Gupta, M. Harandi, J. Hou, S. Mitra, K. Nahrstedt, N. Vaidya.
Coordination and Agreement. Topics Distributed Mutual Exclusion Leader Election.
1 Distributed Process Management Chapter Distributed Global States Operating system cannot know the current state of all process in the distributed.
Presenter: Long Ma Advisor: Dr. Zhang 4.5 DISTRIBUTED MUTUAL EXCLUSION.
Vector Clock Each process maintains an array of clocks –vc.j.k denotes the knowledge that j has about the clock of k –vc.j.j, thus, denotes the clock of.
Chapter 7 –System Model – typical assumptions underlying the study of distributed deadlock detection Only reusable resources, only exclusive access, single.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Mutual Exclusion & Leader Election Steve Ko Computer Sciences and Engineering University.
Distributed Process Coordination Presentation 1 - Sept. 14th 2002 CSE Spring 02 Group A4:Chris Sun, Min Fang, Bryan Maden.
Election Distributed Systems. Algorithms to Find Global States Why? To check a particular property exist or not in distributed system –(Distributed) garbage.
Page 1 Mutual Exclusion & Election Algorithms Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content.
Lecture 12-1 Computer Science 425 Distributed Systems CS 425 / CSE 424 / ECE 428 Fall 2012 Indranil Gupta (Indy) October 4, 2012 Lecture 12 Mutual Exclusion.
Lecture 7- 1 CS 425/ECE 428/CSE424 Distributed Systems (Fall 2009) Lecture 7 Distributed Mutual Exclusion Section 12.2 Klara Nahrstedt.
CIS 825 Review session. P1: Assume that processes are arranged in a ring topology. Consider the following modification of the Lamport’s mutual exclusion.
Mutual Exclusion Algorithms. Topics r Defining mutual exclusion r A centralized approach r A distributed approach r An approach assuming an organization.
CSE 486/586 CSE 486/586 Distributed Systems Leader Election Steve Ko Computer Sciences and Engineering University at Buffalo.
CS3771 Today: Distributed Coordination  Previous class: Distributed File Systems Issues: Naming Strategies: Absolute Names, Mount Points (logical connection.
CSC 8420 Advanced Operating Systems Georgia State University Yi Pan Transactions are communications with ACID property: Atomicity: all or nothing Consistency:
Lecture 11: Coordination and Agreement Central server for mutual exclusion Election – getting a number of processes to agree which is “in charge” CDK4:
CS 425 / ECE 428 Distributed Systems Fall 2015 Indranil Gupta (Indy) Oct 1, 2015 Lecture 12: Mutual Exclusion All slides © IG.
Exercises for Chapter 11: COORDINATION AND AGREEMENT
Coordination and Agreement
Termination detection
Synchronization: Distributed Deadlock Detection
Mutual Exclusion A condition in which there is a set of processes, only one of which is able to access a given resource or perform a given function at.
CSE 486/586 Distributed Systems Leader Election
The Echo Algorithm The echo algorithm can be used to collect and disperse information in a distributed system It was originally designed for learning network.
Mutual Exclusion Continued
Distributed Mutual Exclusion
Distributed Mutex EE324 Lecture 11.
ITEC452 Distributed Computing Lecture 9 Global State Collection
Distributed Mutual Exclusion
Outline Distributed Mutual Exclusion Introduction Performance measures
CSE 486/586 Distributed Systems Leader Election
CSE 486/586 Distributed Systems Mutual Exclusion
Lecture 10: Coordination and Agreement
Synchronization (2) – Mutual Exclusion
Distributed Deadlock Detection
Prof. Leonardo Mostarda University of Camerino
Lecture 11: Coordination and Agreement
Distributed Systems and Concurrency: Synchronization in Distributed Systems Majeed Kassis.
Distributed Mutual eXclusion
CSE 486/586 Distributed Systems Mutual Exclusion
CSE 486/586 Distributed Systems Leader Election
Presentation transcript:

Chapter 18 Distributed Control Algorithms Copyright © 2008

Introduction Operation of Distributed Control Algorithms Correctness of Distributed Control Algorithms Distributed Mutual Exclusion Distributed Deadlock Handling Distributed Scheduling Algorithms Distributed Termination Detection Election Algorithms Practical Issues in Using Distributed Control Algorithms Operating Systems, by Dhananjay Dhamdhere Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 2

OS Control Functions in a Distributed Environment Special features of distributed OS control functions Mutual exclusion Involves synchronization of processes in different computers Deadlock handling Deadlocks may involve use of resources in different hosts Scheduling Perform load balancing for comparable loading of computers Termination detection Check whether all processes of a computation, which may operate in different computers, have completed Election Elect coordinator for a privileged function Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 Operating Systems, by Dhananjay Dhamdhere 3

Operation of Distributed Control Algorithms (continued) A distributed control algorithm operates in parallel with its clients, so that it can respond readily to events related to its service Each process has a control part and a basic part 4

Correctness of Distributed Control Algorithms Algorithm correctness has two facets: Liveness: eventually performs correct actions i.e., without indefinite delays Safety: does not perform wrong actions Proving correctness of a distributed algorithm is a complex task Operating Systems, by Dhananjay Dhamdhere Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 5

Correctness of Distributed Control Algorithms (continued) Operating Systems, by Dhananjay Dhamdhere Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 6

Distributed Mutual Exclusion A Permission-Based Algorithm Token-Based Algorithms Operating Systems, by Dhananjay Dhamdhere Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 7

A Permission-Based Algorithm Ricart and Agrawala algorithm: CS entry in FCFS order Requires 2 x (n – 1 ) messages per CS entry

Maekawa Algorithm Each process has a request set of processes; it seeks the permission of only processes in the request set (Ri represents the request set of process Pi) Correctness is ensured through the following rules: For all Pi : Pi is included in Ri For all Pi, Pj: Ri ∩ Rj is non-null The algorithm requires 2 x √n messages per CS entry Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 Operating Systems, by Dhananjay Dhamdhere 10

Token-Based Algorithms for Mutual Exclusion A token represents the privilege to use a CS Only a process possessing token can enter CS Safety of algorithm follows from this rule Liveness: must ensure token eventually reaches a (requesting) process These algorithms use abstract system models Edges represent the paths used to pass control messages For example: Abstract ring and tree topologies Operating Systems, by Dhananjay Dhamdhere Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 11

An Algorithm Employing the Ring Topology

Raymond’s Token-Based Algorithm Features of the algorithm The algorithm uses an abstract inverted tree to reduce the number of messages. It has three invariants Pholder, the process holding the token, is at root of the tree Each process in the system belongs to the tree Each process other than the Pholder has only one edge, which points to its parent in the tree Thus, each process has a path that ends on Pholder Each process has a local request queue When it receives a request, it puts the requestor’s id in the queue When it makes a request, it puts its own id in the queue Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 Operating Systems, by Dhananjay Dhamdhere 13

Token is transferred to P3 Raymond’s Algorithm Uses an abstract inverted tree as the system model Token is transferred to P3 14

Distributed Deadlock Handling Deadlock detection, prevention, and avoidance approaches studied earlier use state information Problems arise in extending these approaches to a distributed system Approaches in distributed systems: Detection: centralized and distributed Prevention No special techniques for distributed deadlock avoidance have been discussed in OS literature Model used in this section: SISR model of resource allocation Operating Systems, by Dhananjay Dhamdhere Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 16

Problems in Centralized Deadlock Detection Steps in centralized deadlock detection: Collect WFGs of all nodes at a central node Superimpose them to form a merged WFG Use a conventional deadlock detection algorithm Problem: can lead to phantom deadlocks Violates safety property in deadlock detection Operating Systems, by Dhananjay Dhamdhere Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 17

Distributed Deadlock Detection Key issues in deadlock detection: A cycle indicates a deadlock in an SISR system A knot indicates a deadlock in an MISR system Distributed deadlock detection approach: Cycles and knots detected through joint actions of nodes in system Every node can detect and declare a deadlock Two such algorithms: Diffusion computation-based algorithm Edge chasing algorithm Operating Systems, by Dhananjay Dhamdhere Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 18

Diffusion Computation-Based Deadlock Detection Diffusion computation: used to collect info about nodes Diffusion phase Computation that has originated in one node, spreads to other nodes A control message called a query is sent along each edge The first query received by a node is called an engaging query. On receiving it, the node sends queries along all its out-edges Information collection phase Each node sends information in response to each query It sends a dummy reply for a non-engaging query It collects information from all replies it received, adds its own information, and sends the result as the reply to the engaging query. We call it an engaging reply Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 Operating Systems, by Dhananjay Dhamdhere 19

Diffusion Computation-Based Algorithm Algorithm 18.4 was proposed by Chandy, Misra, and Haas (1983) Works for SISR and MISR systems P2, P3 are blocked. P1 becomes blocked and sends a query but does not receive a reply because P4 is not blocked P4 requests a resource held by P1, becomes blocked and sends a query. It would receive a reply and declare a deadlock Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 Operating Systems, by Dhananjay Dhamdhere 20

Diffusion Computation-Based Algorithm (continued)

Mitchell–Merritt Algorithm for Distributed Deadlock Detection It is an edge chasing algorithm—control messages are sent over WFG edges to detect cycles A provision is made to ensure that the cycle has not been broken before it was detected Each process is assigned a public label and a private label The labels are identical when a process is created The public label of a process changes when it gets blocked on a resource request It also changes when it waits for a process having a larger public label A wait-for edge with a specific relation between public and private labels of its source and destination processes indicates presence of a deadlock Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 Operating Systems, by Dhananjay Dhamdhere 22

Mitchell-Merritt Algorithm Rules of the algorithm: public label private label Operating Systems, by Dhananjay Dhamdhere Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 23

Distributed Deadlock Prevention Cycles are prevented as follows: A pair (local time, node id) is used to time-stamp creation of a process When process Pi requests a resource allocated to Pj, time-stamps of Pi, Pj are used to decide whether Pi can wait for Pj Two approaches Wait-or-die Pi is allowed to wait if older than Pj; otherwise, it is killed Would-or-wait Pi is allowed to wait if younger than Pj; otherwise Pj is killed A killed process retains original timestamp if restarted Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 Operating Systems, by Dhananjay Dhamdhere 24

Distributed Scheduling Algorithms A distributed scheduling algorithm balances computational loads in the nodes Uses process migration Apply a threshold to decide if a node is heavily or lightly loaded Operating Systems, by Dhananjay Dhamdhere Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 25

Distributed Scheduling Algorithms (continued) Migration may be preemptive or nonpreemptive Stability is an important issue An unstable algorithm may lead to a situation similar to thrashing A process is transferred very often; does not make progress Algorithms can be sender- or receiver-initiated A heavily loaded node is a sender A lightly loaded node is a receiver A symmetrically initiated algorithm contains features of both Operating Systems, by Dhananjay Dhamdhere Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 26

Distributed Scheduling Algorithms (continued) Operating Systems, by Dhananjay Dhamdhere Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 27

Distributed Scheduling Algorithms (continued) Operating Systems, by Dhananjay Dhamdhere Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 28

Distributed Termination Detection When a process terminates, OS frees its resources This approach is not adequate for distributed systems Processes of a distributed computation execute in different nodes of a distributed system. They should be terminated when all of them have completed their tasks These processes perform work assigned to them A process is active when it is performing work, and passive when it has no work Work is assigned to a process through a message Passive process becomes active on receiving a message Distributed termination condition (DTC): All processes of a distributed computation are passive No basic messages are in transit Operating Systems, by Dhananjay Dhamdhere Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 29

Distributed Termination Detection (continued) Credit-distribution-based termination detection Every process is assigned a numerical credit It sends some of its credit in each message When a process becomes passive, it sends its credit to collector process The distributed computation is known to have terminated when credit accumulated by collector is C Diffusion computation-based termination detection Each process that becomes passive initiates a diffusion computation to determine if DTC holds Operating Systems, by Dhananjay Dhamdhere Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 30

Distributed Termination Detection (continued) Operating Systems, by Dhananjay Dhamdhere Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 31

Election Algorithms Critical system functions are assigned to a coordinator (for the function) E.g., replacing lost token in a token-based algorithm Coordinator is typically the highest-priority process in set A process that finds that coordinator is not responding assumes it has failed Initiates election algorithm Algorithm chooses highest-priority nonfailed process as new coordinator Then, announces its id to all nonfailed processes Operating Systems, by Dhananjay Dhamdhere Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 32

Election Algorithms for Unidirectional Ring Topologies Links in ring are assumed to be FIFO channels Assumption: control part of failed process continues to function and forwards received messages along out-edge Election performed by obtaining ids of all nonfailed processes and electing highest-priority process Two types of messages: “elect me” and “new coordinator” O(n2) messages or 3n−1 (worst case) in refined version Operating Systems, by Dhananjay Dhamdhere Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 33

Election Algorithms Algorithm for the ring topology Process Pi initiates by sending (“elect me”, Pi) message Process Pj receiving an (“elect me”, Pi) message sends an (“elect me”, Pj) message and then forwards Pi’s message Pi receives back its own message after receiving message of every other process; it elects the highest priority process as leader It sends a “new coordinator” message to inform others Algorithm 2: Refinement of algorithm 1 In Step 2, Pj sends its own message if its priority is higher than Pi’s; otherwise, it sends Pi’s message Only highest priority process would get back its own message Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 Operating Systems, by Dhananjay Dhamdhere 34

Election Algorithm Bully algorithm Initiator Pi sends (“elect me”, Pi) messages to all higher priority processes and starts a time-out interval T1 If a time-out occurs, it sends a “new coordinator” message to lower priority processes If it receives a “don’t you dare” message from a higher priority process Pj, it starts another time-out interval T2 If a time-out occurs, it starts a new election If a process Pj receives an “elect me” message from a lower priority process It sends a “don’t you dare” message to its sender Starts a new election by sending (“elect me”, Pj) messages Requires O(n2) messages per election Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 Operating Systems, by Dhananjay Dhamdhere 35

Practical Issues in Using Distributed Control Algorithms Resource Management Process Migration Operating Systems, by Dhananjay Dhamdhere Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 36

Resource Management Name server in each node must be updated when resources are added Solution: use an arrangement of name servers as in the domain name service (DNS) Only the name server of a domain needs to be updated when a resource is added Operating Systems, by Dhananjay Dhamdhere Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 37

Process Migration Reasons for process migration: To achieve load balancing To reduce network traffic involved in utilizing a remote resource To provide availability of services when a node has to be shut down for maintenance Operating Systems, by Dhananjay Dhamdhere Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 38

Process Migration Difficulties Process state is distributed in various data structures of the OS Process id’s may change due to migration Process id’s are used in interprocess communication Solution: Use global process ids as in Sun cluster Delivery of messages requires a special provision A node receiving a message would redirect it if the destination process has migrated out of it This residual state causes poor reliability Alternatively, all processes may be informed when a process is migrated Requires a complex protocol Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 Operating Systems, by Dhananjay Dhamdhere 39

Summary Actions of a distributed control algorithms are performed in many nodes of the system Two aspects of correctness are liveness and safety Distributed system models: physical and logical Examples of distributed control algorithms: Distributed mutual exclusion: e.g., token based Distributed deadlock detection: diffusion computation Distributed scheduling (to balance load) Distributed termination: e.g., credit-based Election (highest priority process wins) Operating Systems, by Dhananjay Dhamdhere Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 40