Vinay Kumar Madhadi 09/23/2009 CSC-8320. Outline  Part 1 : Leader Election?  Part 2 : Different Design Topologies Algorithms Used-Bully, Ring, Invitation.

Slides:



Advertisements
Similar presentations
Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
Advertisements

CS542 Topics in Distributed Systems Diganta Goswami.
CS 542: Topics in Distributed Systems Diganta Goswami.
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.
Token-Dased DMX Algorithms n LeLann’s token ring n Suzuki-Kasami’s broadcast n Raymond’s tree.
Vinay Kumar Madhadi 10/28/2009 CSC Outline  Part 1 : Mandatory Flow Control Models? MAC vs. DAC Information Flow Control  Part 2 : Different Models-Lattice.
Synchronization Chapter clock synchronization * 5.2 logical clocks * 5.3 global state * 5.4 election algorithm * 5.5 mutual exclusion * 5.6 distributed.
JADE: The Bully Algorithm. Problem Context of distributed computing Problem of leader election: leader election is the process of designating a single.
Ranveer Chandra , Kenneth P. Birman Department of Computer Science
Page 1 Mutual Exclusion* Distributed Systems *referred to slides by Prof. Paul Krzyzanowski at Rutgers University and Prof. Mary Ellen Weisskopf at University.
Leader Election Bismita Srichandan. Leader Election What is Leader Election Why Leader election is needed Different design topologies Algorithms used.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
1 Complexity of Network Synchronization Raeda Naamnieh.
LEADER ELECTION CS Election Algorithms Many distributed algorithms need one process to act as coordinator – Doesn’t matter which process does the.
Computer Science Lecture 11, page 1 CS677: Distributed OS Last Class: Clock Synchronization Logical clocks Vector clocks Global state.
Chapter 18: Distributed Coordination (Chapter 18.1 – 18.5)
EEC-681/781 Distributed Computing Systems Lecture 11 Wenbing Zhao Cleveland State University.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Efficient Algorithms to Implement Failure Detectors and Solve Consensus in Distributed Systems Mikel Larrea Departamento de Arquitectura y Tecnología de.
Computer Science Lecture 12, page 1 CS677: Distributed OS Last Class Vector timestamps Global state –Distributed Snapshot Election algorithms.
CS401 presentation1 Effective Replica Allocation in Ad Hoc Networks for Improving Data Accessibility Takahiro Hara Presented by Mingsheng Peng (Proc. IEEE.
Election Algorithms and Distributed Processing Section 6.5.
Election Algorithms. Topics r Issues r Detecting Failures r Bully algorithm r Ring algorithm.
L EADER E LECTION Advanced Operating Systems (CSC 8320) Fall 2011 Shagun Kariwala.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Chapter 6 Synchronization.
Mutual exclusion Concurrent access of processes to a shared resource or data is executed in mutually exclusive manner Distributed mutual exclusion can.
1 A Mutual Exclusion Algorithm for Ad Hoc Mobile networks Presentation by Sanjeev Verma For COEN th Nov, 2003 J. E. Walter, J. L. Welch and N. Vaidya.
4.5 DISTRIBUTED MUTUAL EXCLUSION MOSES RENTAPALLI.
4.5 Distributed Mutual Exclusion Ranjitha Shivarudraiah.
Lecture 5: Sun: 1/5/ Distributed Algorithms - Distributed Databases Lecturer/ Kawther Abas CS- 492 : Distributed system &
L EADER E LECTION Yu Meng O UTLINE Basic knowledge Overview of Leader Election Complete Topology Logical Ring Topology Three Topology Latest.
Page 1 Distributed Systems Election Algorithms* *referred to slides by Prof. Hugh C. Lauer at Worcester Polytechnic Institute.
Elections in a Distributed Computing System Hector Garcia-Molina Presenter: Srinath Rao.
Synchronization CSCI 4780/6780. Mutual Exclusion Concurrency and collaboration are fundamental to distributed systems Simultaneous access to resources.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Presenter: Long Ma Advisor: Dr. Zhang 4.5 DISTRIBUTED MUTUAL EXCLUSION.
ADITH KRISHNA SRINIVASAN
Synchronization Chapter 5.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
CLOCK SYNCHRONIZATION SUSMITHA KOTA 21- SEP-2015.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Mutual Exclusion & Leader Election Steve Ko Computer Sciences and Engineering University.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
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.
Page 1 Mutual Exclusion & Election Algorithms Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content.
Distributed Mutual Exclusion Synchronization in Distributed Systems Synchronization in distributed systems are often more difficult compared to synchronization.
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.
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:
Coordination and Agreement
CSE 486/586 Distributed Systems Leader Election
Election algorithm Who wins? God knows.
Distributed Processing Election Algorithm
Chapter 6.3 Mutual Exclusion
CS60002: Distributed Systems
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Advanced Operating System
Outline Distributed Mutual Exclusion Introduction Performance measures
CSE 486/586 Distributed Systems Leader Election
Lecture 10: Coordination and Agreement
Prof. Leonardo Mostarda University of Camerino
Lecture 11: Coordination and Agreement
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Leader Election Bernard Chen.
CSE 486/586 Distributed Systems Leader Election
Presentation transcript:

Vinay Kumar Madhadi 09/23/2009 CSC-8320

Outline  Part 1 : Leader Election?  Part 2 : Different Design Topologies Algorithms Used-Bully, Ring, Invitation Recent Studies  Part 3 : Future work

Part 1: What is Leader Election?  In distributed computing, leader election is the process of designating a single process as the organizer, coordinator, initiator or sequencer of some task distributed among several computers (nodes). (Chow et al, 1997)  Leader election is the process of determining a process as the manager of some task distributed among several processes (computers). (Garcia, Molina 1982)

Why is Leader Election Required?  T he existence of a centralized controller greatly simplifies process synchronization.  However, if the central controller breaks down, the service availability can be limited. The problem can be avoided if a new controller (leader) can be chosen.  Different Algorithms would be employed to successfully elect the leader.

Criteria for Leader Election?  1: Extrema finding - Leader election is based on global priority. Here, every node is characterized by fixed evaluation value.  2: Preference-based - Processes in the group can vote for leader based on node’s preference (locality, reliability, estimation). (Chow et al, 1997) The main concern is usually the fast and successful completion of election process.

Leader Election VS Mutual Exclusion Leader Election Mutual Exclusion  Process may yield to others and execute normally as long as leader is selected.  Concerned with fast and successful termination of election process.  Result of leader election must be known to other processes.  Process competes until it succeeds.  Must ensure that no process is starved.  Does not care which process is running in critical section.

Leader election VS Synchronization Leader Election Synchronization  In synchronization, the non-token holders only need to know that they do not hold the token.  Synchronization algorithms are designed to work well in absence of failures.  In election, all participants must know who owns the token(i.e. who is the leader).  Election algorithms are performed only if failure occurs.

Part 2: Design Topologies There are three design topologies employed namely: 1. Complete Topology 2. Local Ring Topology 3. Tree Topology

Complete Topology  Each process in the group can reach any other process in the same group in one message hop.  Assumptions taken  All process ids are unique and known to every process  Communication network is reliable and only the communicating processes may fail.  Process takes a known finite amount of time to handle a message, in other words, the process is considered as crashed if it doesn’t respond within specified time- out period  The Bully Algorithm is based on the assumptions of complete topology.

Bully Algorithm:  This is an extrema-finding algorithm.  In this algorithm, the highest-numbered process becomes coordinator. Thus the biggest guy in town always wins, hence the name “Bully Algorithm.” THE ALGORITHM:  P sends an ELECTION message to all processes with higher numbers.  If no one responds, P wins the election and becomes coordinator.  If any of the higher ups responds, then the latter becomes the coordinator.

Bully Algorithm: (a) Process 4 holds an election. (b) Processes 5 and 6 respond telling 4 to stop. (c) Now 5 and 6 each hold an election

Bully Algorithm: (d) Process 6 responds to the call from 5 and tells it to stop. (e) Process 6 wins and tells everyone.

Local Ring Topology:  This topology is easy to construct and it offers a unique property that a message initiated by any node will return to the node.  The Ring Algorithm employs this topology.

Ring Algorithm:  Initiation:  A process sends an ELECTION message to its successor (or next alive process) with its ID  Each process adds its own ID and forwards the ELECTION message  Leader Election:  Message comes back to initiator  Initiator announces the winner by sending another message around the ring

Ring Algorithm: (a) Process 4 sends the election message to it successor with its ID. (b) Each process adds its own ID and then forwards the message to the next process.

Ring Algorithm: (c) Message is sent back to the initiator which is 4. (b) Initiator announces the winner by sending another message around the ring.

Tree Topology:  To construct a logical ring structure is easy if the underlying network supports broadcast facilities.  A tree is used as representative topological structure.  Each node is considered an autonomous entity that exchanges messages with adjacent nodes  A minimum-weight spanning tree(MST) is used for leader election in tree topology

Invitation Algorithm:  This Algorithm is basically designed for asynchronous systems.  It also tends to eliminate the possible drawbacks of Bully’s algorithm. THE ALGORITHM:  The invitation algorithm classifies nodes into groups and elects coordinator for every group.  Each node in a group periodically checks whether the leader is alive or not, by sending a message to the leader and waits for reply.  If the node does not reply within a timeout period, the node invokes a Recovery procedure.

Invitation Algorithm:  The recovery procedure puts node i into a singleton group with node i as the leader.  Periodically, each leader i calls a check procedure, which sends messages to every other node asking whether that node is a leader.  If many nodes responds that it is a leader, node i pauses for some time and then calls for a merge procedure.  Merge procedure sends message to all the leaders, inviting them to join a new group with the inviting node as leader.  Example :Group communication system in Amoeba uses Invitation Algorithm to reconfigure a group after a node crashes.( kaashoek, Tanenbaum, 1991)

Part 2: Recent Studies COMPLETE & LOCAL RING TOPOLOGY: 1. Divided Ring Algorithm is proposed which is a potential replacement to the ring algorithm. This process involves dividing the rings into sub-groups. Advantage: Overall latency is reduced. (Vojdani, Taj, 2009) 2. Conventional algorithms in distributed systems present particular methods to resolve any leader crash. A new method based on electing a leader and assistant was introduced. If the leader crashes, the assistant takes care of the leader's responsibilities. (Zargarnataj, 2007)

Recent Studies: Leader election in Ad-Hoc Networks-SEFA  Leader Election is now being implemented in Ad-Hoc networks as well. Most of the leader election algorithms for mobile ad hoc networks elect a “random” leader and hence are not extrema-finding  SEFA(Secure Extrema Finding Algorithm) is a round- based hierarchy-building approach which is considered a secure problem. This algorithm designed for Ad-Hoc networks handles frequent topology changes and dynamic nature of mobile networks too. (Vasudevan, Kurose, Towsley, 2003)

Secure Election Finding Algorithm(SEFA)  SEFA is an extrema-finding algorithm in which all nodes use a Common Election Algorithm (CEA) to determine their rank  Decision factors might include node identity, battery life, or level of trust…etc  Larger the CEA value, the more “desirable” the node is a leader  Good reviews regarding the same can be found in (G. Tel. 2000) and (N.Lynch 1996)

Part 3: Future Work  The bully and ring algorithms are employed for wired networks and the invitation algorithm for a wireless network. An algorithm in which nodes are divided into peers and super-peers is currently being employed for Very Large Scale Systems. This algorithm is not very well developed. Research is being done to develop algorithms which can be implemented for Very large Scale networks. (Tanenbaum, Steen, 2007)  An extension of the divided ring algorithm may be proposed which considers not only the latency but also the number of rings

Future Work contd.  The development of one unified algorithm which can work with both the synchronous and asynchronous systems can be expected in the near future.  Research has to be done to develop new leader election techniques for Ad-Hoc Networks

References:  Mehdi Vojdani, K. Yaser Taj, DR: Divided Ring leader Election Algorithm ( July 2009)  Tanenbaum, S., Steen, M.V.: DISTRIBUTED SYSTEMS: Principles and Paradigms, p.2e. Prentice Hall, Inc, Englewood Cliffs (2007)  Zargarnataj, M.: New Election Algorithm based on Assistant in Distributed Systems. In: AICCSA 2007, May 2007, pp. 324–331 (2007)  Vasudevan, S., DeCleene, B., Immerman, N., Kurose, J., Towsley, D.: Leader Election Algorithms for Wireless Ad Hoc Networks. In: DARPA Information Survivability Conference and Exposition, April 2003, pp. 261– 272 (2003)  Distributed Systems principles and paradigms by Andrew S. Tanenbaum, Maarten van Steen,  Stoller, S.D.: Leader Election in Asynchronous Distributed Systems. IEEE Transactions on Computers, 283–284 (March 2000)

References:  G. Tel. Introduction to Distributed Algorithms. Cambridge University Press Second Edition,  Distributed Operating Systems & Algorithms, Randy Chow and Theodore Johnson, Addison Wesley,  M.F. Kaashoek and A.S. Tanenbaum, “Group Communication in the Amoeba Distributed Operating System,” Proc. IEEE 11th Int'l Conf. Distributed Computing Systems (ICDCS), pp ,  H. Garcia-Molina. Elections in a distributed computing system. IEEE Transactions on Computers, C-31(1):47-59, January 1982.