Elections in a Distributed Computing System Hector Garcia-Molina Presenter: Srinath Rao.

Slides:



Advertisements
Similar presentations
1 Process groups and message ordering If processes belong to groups, certain algorithms can be used that depend on group properties membership create (
Advertisements

Reliable Communication in the Presence of Failures Kenneth Birman, Thomas Joseph Cornell University, 1987 Julia Campbell 19 November 2003.
CS 542: Topics in Distributed Systems Diganta Goswami.
CS3771 Today: deadlock detection and election algorithms  Previous class Event ordering in distributed systems Various approaches for Mutual Exclusion.
CS425 /CSE424/ECE428 – Distributed Systems – Fall 2011 Material derived from slides by I. Gupta, M. Harandi, J. Hou, S. Mitra, K. Nahrstedt, N. Vaidya.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Leader Election Steve Ko Computer Sciences and Engineering University at Buffalo.
Teaser - Introduction to Distributed Computing
JADE: The Bully Algorithm. Problem Context of distributed computing Problem of leader election: leader election is the process of designating a single.
1 Algorithms and protocols for distributed systems We have defined process groups as having peer or hierarchical structure and have seen that a coordinator.
Lecture 4: Elections, Reset Anish Arora CSE 763 Notes include material from Dr. Jeff Brumfield.
Failure Detectors. Can we do anything in asynchronous systems? Reliable broadcast –Process j sends a message m to all processes in the system –Requirement:
LEADER ELECTION CS Election Algorithms Many distributed algorithms need one process to act as coordinator – Doesn’t matter which process does the.
CS 582 / CMPE 481 Distributed Systems
What we will cover…  Distributed Coordination 1-1.
CS 582 / CMPE 481 Distributed Systems
Group Communication Phuong Hoai Ha & Yi Zhang Introduction to Lab. assignments March 24 th, 2004.
8. Fault Tolerance in Software
Bit Complexity of Breaking and Achieving Symmetry in Chains and Rings.
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Chapter 18: Distributed Coordination (Chapter 18.1 – 18.5)
©Silberschatz, Korth and Sudarshan19.1Database System Concepts Distributed Transactions Transaction may access data at several sites. Each site has a local.
Systems of Distributed systems Module 2 - Distributed algorithms Teaching unit 2 – Properties of distributed algorithms Ernesto Damiani University of Bozen.
Chapter 18.3: Distributed Coordination Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 18 Distributed Coordination Chapter.
Election Algorithms and Distributed Processing Section 6.5.
Election Algorithms. Topics r Issues r Detecting Failures r Bully algorithm r Ring algorithm.
Deadlocks in Distributed Systems Deadlocks in distributed systems are similar to deadlocks in single processor systems, only worse. –They are harder to.
PETAL: DISTRIBUTED VIRTUAL DISKS E. K. Lee C. A. Thekkath DEC SRC.
Paxos Made Simple Jinghe Zhang. Introduction Lock is the easiest way to manage concurrency Mutex and semaphore. Read and write locks. In distributed system:
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
Leader Election Algorithms for Mobile Ad Hoc Networks Presented by: Joseph Gunawan.
Distributed Algorithms – 2g1513 Lecture 9 – by Ali Ghodsi Fault-Tolerance in Distributed Systems.
Chapter 19 Recovery and Fault Tolerance Copyright © 2008.
Centralized mutual exclusion Problem : What if the coordinator fails? Solution : Elect a new one.
Lab 2 Group Communication Farnaz Moradi Based on slides by Andreas Larsson 2012.
EEC 688/788 Secure and Dependable Computing Lecture 7 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Salah A. Aly,Moustafa Youssef, Hager S. Darwish,Mahmoud Zidan Distributed Flooding-based Storage Algorithms for Large-Scale Wireless Sensor Networks Communications,
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 February 10, 2005 Session 9.
Farnaz Moradi Based on slides by Andreas Larsson 2013.
Selection and Navigation of Mobile sensor Nodes Using a Sensor Network Atul Verma, Hemjit Sawant and Jindong Tan Department of Electrical and Computer.
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.
ADITH KRISHNA SRINIVASAN
Lecture 11-1 Computer Science 425 Distributed Systems CS 425 / CSE 424 / ECE 428 Fall 2010 Indranil Gupta (Indy) September 28, 2010 Lecture 11 Leader Election.
November NC state university Group Communication Specifications Gregory V Chockler, Idit Keidar, Roman Vitenberg Presented by – Jyothish S Varma.
Totally Ordered Broadcast in the face of Network Partitions [Keidar and Dolev,2000] INF5360 Student Presentation 4/3-08 Miran Damjanovic
Fault Tolerant Services
Chap 15. Agreement. Problem Processes need to agree on a single bit No link failures A process can fail by crashing (no malicious behavior) Messages take.
Distributed Transaction Management, Fall 2002Lecture 2 / Distributed Locking Jyrki Nummenmaa
6.5 Election Algorithms -Avinash Madineni.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Reliable Communication in the Presence of Failures Kenneth P. Birman and Thomas A. Joseph Presented by Gloria Chang.
Relying on Safe Distance to Achieve Strong Partitionable Group Membership in Ad Hoc Networks Authors: Q. Huang, C. Julien, G. Roman Presented By: Jeff.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Paxos Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586 CSE 486/586 Distributed Systems Leader Election Steve Ko Computer Sciences and Engineering University at Buffalo.
Distributed Systems Lecture 9 Leader election 1. Previous lecture Middleware RPC and RMI – Marshalling 2.
Fundamentals of Fault-Tolerant Distributed Computing In Asynchronous Environments Paper by Felix C. Gartner Graeme Coakley COEN 317 November 23, 2003.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Paxos Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586 Distributed Systems Leader Election
Election algorithm Who wins? God knows.
Operating System Reliability
Commit Protocols CS60002: Distributed Systems
Operating System Reliability
Operating System Reliability
EEC 688/788 Secure and Dependable Computing
CSE 486/586 Distributed Systems Leader Election
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Broadcasting with failures
Operating System Reliability
CSE 486/586 Distributed Systems Leader Election
Operating System Reliability
Presentation transcript:

Elections in a Distributed Computing System Hector Garcia-Molina Presenter: Srinath Rao

Introduction to Elections Strategies to deal with a node failure –Have s/w which can operate continuously even as failures occur –Halt temporarily, reorganize the system Need for the coordinator and hence election Election protocols can be used to start up a system, add/remove nodes Issues ?

Issues Constituent nodes may fail after election What does it mean to be a coordinator? How to cope up with failures during the election itself? Always possible to select a unique coordinator? Might wish to have more than one coordinator

Outline Assumptions Elections with no commn. failures –The Bully Election Algorithm Elections with commn. failures –The Invitation Election Algorithm Related Work Conclusions

Assumptions 1.All nodes cooperate 2. Election algorithm makes use of “bug-free” software facilities 3.Communication subsystem will not spontaneously generate messages 4.Nodes have “safe” storage cells 5.Node halts processing when it fails 6.No transmission errors

Assumptions (contd..) 7.Messages are processed in the order they are received 8.Communication subsystem does not fail 9.Node never pauses

State Vector of node A collection of safe storage cells Principal components of Vector S(i) –Status of node i: S(i).s Down, Election, Reorganization, Normal –Coordinator according to node i: S(i).c –Definition of the Task being performed: S(i).d

Outline Assumptions Elections with no commn. failures –The Bully Election Algorithm Elections with commn. failures –The Invitation Election Algorithm Related Work Conclusions

Desired Characteristics Assertion 1: For two nodes i and j –S(i).c = S(j).c if nodes i and j are in one of the states “Normal” or “Reorganization” –S(i).d = S(j).d if both i and j are in “Normal” state States what it means to be a coordinator

Desired Characteristics (contd..) Assertion 2: If no failures, election will eventually transform a system in any state to a state: –There exists node i with S(i).s =“Normal” and S(i).c = i –Other active nodes j have S(j).s = “Normal” and S(j).c = i

The Bully Election Algorithm Each node has an unique id no. Algorithm uses id no. as priorities Two step algorithm 1.Node i tries to contact all nodes with higher priorities. If no reply received, then assume the role of coordinator 2.Inform all the lower priority nodes –Send “halt” message, force state of j to “Election” –Send “I am elected” message, node j sets S(j).c=I and S(j).s = “Reorganization” –Distribute new algorithms to nodes, all status changed to “Normal”

Bully (contd..) Let the recovering node k attempt to become the coordinator using the same algorithm –Halts all lower priority nodes which may be in the process of becoming coordinators –Step 1 ensures no conflict with higher priority nodes

Outline Assumptions Elections with no commn. failures –The Bully Election Algorithm Elections with commn. failures –The Invitation Election Algorithm Related Work Conclusions

Discussion Failures –Partitioning of nodes –A node can only send/receive message –Node i and node j can talk to node k but not with each other –Node may pause and then resume Observation: Impossibility of consensus in the event of failure of commn. subsystem or node pausing. Inference: Redefine the meaning of an election

Discussion (contd..) Notion of a group of nodes and group id Node i stores group id in its state vector: S(i).g Nodes are free to change groups Identify messages with group id Coordinator is unique within a group

New Desired Characteristics Assertion 3: For two nodes i and j –S(i).c = S(j).c if nodes i and j are in the same group and are in one of the states “Normal” or “Reorganization” –S(i).d = S(j).d if both i and j are in “Normal” state and are in the same group

Desired Characteristics (contd..) No requirements for nodes with only one- way communication Assertion 4: If no failures, election will eventually transform a set of nodes R that have two way communication in any state to a state: –There exists node i with S(i).s =“Normal” and S(i).c = i –Other active nodes j in R have S(j).s = “Normal” and S(j).c = i and S(j).g = S(i).g

The Invitation Election Algo. A node “invites” other nodes to join it in forming a new group A node may accept or decline an invitation Make a receiving node form a new group with itself the coordinator and the only member Objective: to merge groups Coordinators periodically send “invite” message Can be used instead of the Bully algorithm

Related Work Scott D. Stoller (2000) –Modifies Bully algorithm to work with crash failures –Points out a flaw and proposes a new specification Gurdip Singh (1996) –Proposes an algorithm for leader election in the presence of link failures

Conclusions Meaning of an election depends on the possible types of failures Paper studied elections in two representative failure environments Postulated assertions that define concept of an election Presented an election algorithm for each environment