Presentation is loading. Please wait.

Presentation is loading. Please wait.

Distributed Systems CS 15-440 Programming Models- Part I Lecture 13, Oct 13, 2014 Mohammad Hammoud 1.

Similar presentations


Presentation on theme: "Distributed Systems CS 15-440 Programming Models- Part I Lecture 13, Oct 13, 2014 Mohammad Hammoud 1."— Presentation transcript:

1 Distributed Systems CS 15-440 Programming Models- Part I Lecture 13, Oct 13, 2014 Mohammad Hammoud 1

2 Today…  Part 1 of the Session:  Election Algorithms  Midterm Overview  Part 2 of the Session:  Programming Models – Part I  Announcements:  PS3 is due today by 11:59PM  Midterm exam will be on Wednesday, Oct 15 th (during the class time)- Open book, open notes  P2 is due on Oct 23, 2014 by midnight  PS2 grades are out 2

3 Election in Distributed Systems Many distributed algorithms require one process to act as a coordinator Typically, it does not matter which process is elected as the coordinator 3 Client 1 Server Resource P1 Coordinator C1 A Centralized Mutual Exclusion Algorithm Time server Berkeley Clock Synchronization Algorithm Home Node Selection in Naming Root node selection in Multicasting

4 Election Process Any process P i in the DS can initiate the election algorithm that elects a new coordinator At the termination of the election algorithm, the elected coordinator process should be unique Every process may know the process ID of every other processes, but it does not know which processes have crashed Generally, we require that the coordinator is the process with the largest process ID The idea can be extended to elect best coordinator Example: Election of a coordinator with least computational load If the computational load of process P i denoted by load i, then coordinator is the process with highest 1/load i. Ties are broken by sorting process ID. 4

5 Election Algorithms We will study two election algorithms 1.Bully Algorithm 2.Ring Algorithm 5

6 1. Bully Algorithm A process initiates election algorithm when it notices that the existing coordinator is not responding Process P i calls for an election as follows: 6 15637042 1.P i sends an “Election” message to all processes with higher process IDs 2.When process P j with j>i receives the message, it responds with a “Take-over” message. P i no more contests in the election i.Process P j re-initiates another call for election. Steps 1 and 2 continue 3.If no one responds, P i wins the election. P i sends “Coordinator” message to every process Election Take-Over Take-over Election Take-Over Coordinator

7 12345670 2. Ring Algorithm This algorithm is generally used in a ring topology When a process P i detects that the coordinator has crashed, it initiates an election algorithm 7 1.P i builds an “Election” message ( E), and sends it to its next node. It inserts its ID into the Election message 2.When process P j receives the message, it appends its ID and forwards the message i.If the next node has crashed, P j finds the next alive node 3.When the message gets back to the process that started the election: i.it elects process with highest ID as coordinator, and ii.changes the message type to “Coordination” message ( C ) and circulates it in the ring E: 5 E: 5,6 E: 5,6,0E: 5,6,0,1 E: 5,6,0,1,2 E: 5,6,0,1,2,3 E: 5,6,0,1,2,3,4 C: 6

8 Comparison of Election Algorithms Assume that: n = Number of processes in the distributed system 8 Algorithm Number of Messages for Electing a Coordinator Problems Bully Algorithm Ring Algorithm O(n 2 ) Large message overhead 2n An overlay ring topology is necessary

9 Summary of Election Algorithms Election algorithms are used for choosing a unique process that will coordinate certain activities At the end of the election algorithm, all nodes should uniquely identify the coordinator We studied two algorithms for election Bully algorithm Processes communicate in a distributed manner to elect a coordinator Ring algorithm Processes in a ring topology circulate election messages to choose a coordinator 9

10 Election in Large-Scale Networks Bully Algorithm and Ring Algorithm scale poorly with the size of the network Bully Algorithm needs O(n 2 ) messages Ring Algorithm requires maintaining a ring topology and requires 2n messages to elect a leader In large networks, these approaches do not scale well We discuss a scalable election algorithm for large-scale peer- to-peer networks 10

11 Election in Large-Scale Peer-to-Peer Networks Many P2P networks have a hierarchical architecture for balancing the advantages between centralized and distributed networks Typically, P2P networks are neither completely unstructured nor completely centralized Centralized networks are efficient and, they easily facilitate locating entities and data Flat unstructured peer-to-peer networks are robust, autonomous and balances load between all peers 11

12 Super-peers In large unstructured Peer-to-Peer Networks, the network is organized into peers and super-peers A super-peer is an entity that does not only participate as a peer, but also carries on an additional role of acting as a leader for a set of peers Super-peer acts as a server for a set of client peers All communication from and to a regular peer proceeds through a super-peer It is expected that super-peers are long-lived nodes with high- availability 12 Regular Peer Super Peer Super-Peer Network

13 Super-Peers – Election Requirements In a hierarchical P2P network, several nodes have to be selected as super-peers Traditionally, only one node is selected as a coordinator Requirements for a node being elected as a super-peer Super-peers should be evenly distributed across the overlay network There should be a predefined proportion of super-peers relative to the number of regular peers Each super-peer should not need to serve more than a fixed number of regular peers 13

14 Election of Super-peers in a DHT-based system 14 k m Recall: In a DHT-based system each node receives a random, uniformly assigned m-bit identifier We reserve first k-bits to identify super-peers E.g., let m = 8 and k = 3 Route key p to p AND 11100000 Proportion of super-peers If we need N super-peers, then k = log 2 (N) bits

15 Midterm A Quick Overview 15

16 Course Objectives The course aims at providing an in- depth and hands-on understanding on Principles on which distributed systems are based Principles on which distributed systems are optimized Distributed system programming models and analytics engines How modern distributed systems meet the demands of contemporary distributed applications

17 List of Topics.1. Architectures and Communications.2. Naming.3. Synchronization.4. Programming Models.5. Consistency and Replication.6. Fault Tolerance.7. Distributed File Systems.8. Virtualization Considered: a reasonably critical and comprehensive understanding. Thoughtful: Fluent, flexible and efficient understanding. Masterful: a powerful and illuminating understanding. Included in the Midterm

18 Course Content  Course Overview and Introduction (2 Lectures): Why distributed systems? Defining distributed systems Course overview and intended learning outcomes Trends in distributed systems High performance platforms Mobile and ubiquities computing Cloud computing Etc., Challenges in designing distributed systems Heterogeneity, openness, security, scalability, reliability, concurrency, transparency and quality of service

19 Course Content  Architectural Models (1 Lecture): Client-server, peer-to-peer, tiered and layered architectures  Networking (1 Lecture): Types of networks Networking principles: Network classification Network Layers (Physical, data-link, network and transport layers) Congestion control

20 Course Content  Communication Paradigms (1 Lecture): Socket communication TCP and UDP sockets Remote invocation RPC and RMI Indirect communication Message-queuing, publish-subscribe, and group communication systems

21 Course Content  Naming (2 Lectures): Flat naming Broadcasting, forwarding pointers, home- based naming, and distributed hash tables Structured naming Hierarchical name spaces, name resolution, linking and mounting Attribute-based naming LDAP and RDF

22 Course Content  Synchronization (3 Lectures): Time synchronization Physical clocks (UTC, Cristian & Berkeley Algorithms and Network Time Protocol) Logical clocks (Lamport and vector clocks) Distributed Mutual Exclusion Permission-based Token-based Election Algorithms Bully and Ring algorithms


Download ppt "Distributed Systems CS 15-440 Programming Models- Part I Lecture 13, Oct 13, 2014 Mohammad Hammoud 1."

Similar presentations


Ads by Google