CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Gossiping Steve Ko Computer Sciences and Engineering University at Buffalo.

Slides:



Advertisements
Similar presentations
CS 425 / ECE 428 Distributed Systems Fall 2014 Indranil Gupta (Indy)
Advertisements

CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Leader Election Steve Ko Computer Sciences and Engineering University at Buffalo.
Replication. Topics r Why Replication? r System Model r Consistency Models r One approach to consistency management and dealing with failures.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Consistency Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Byzantine Fault Tolerance Steve Ko Computer Sciences and Engineering University at Buffalo.
Consistency and Replication (3). Topics Consistency protocols.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Replication Steve Ko Computer Sciences and Engineering University at Buffalo.
DISTRIBUTED SYSTEMS II REPLICATION CNT. II Prof Philippas Tsigas Distributed Computing and Systems Research Group.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Consistency Steve Ko Computer Sciences and Engineering University at Buffalo.
Distributed Systems Fall 2010 Replication Fall 20105DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
CS542: Topics in Distributed Systems
Database Replication techniques: a Three Parameter Classification Authors : Database Replication techniques: a Three Parameter Classification Authors :
CS 582 / CMPE 481 Distributed Systems
CS 582 / CMPE 481 Distributed Systems Replication.
1 Principles of Reliable Distributed Systems Lecture 5: Failure Models, Fault-Tolerant Broadcasts and State-Machine Replication Spring 2005 Dr. Idit Keidar.
Distributed Systems Fall 2011 Gossip and highly available services.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 9: Time, Coordination and Replication Dr. Michael R. Lyu Computer.
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Case Study: Amazon Dynamo Steve Ko Computer Sciences and Engineering University at Buffalo.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Mutual Exclusion Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586 CSE 486/586 Distributed Systems Case Study: Amazon Dynamo Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Replication with View Synchronous Group Communication Steve Ko Computer Sciences and Engineering.
DISTRIBUTED SYSTEMS II REPLICATION CNT. Prof Philippas Tsigas Distributed Computing and Systems Research Group.
IM NTU Distributed Information Systems 2004 Replication Management -- 1 Replication Management Yih-Kuen Tsay Dept. of Information Management National Taiwan.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Replication Steve Ko Computer Sciences and Engineering University at Buffalo.
Replication (1). Topics r Why Replication? r System Model r Consistency Models – How do we reason about the consistency of the “global state”? m Data-centric.
DISTRIBUTED SYSTEMS II REPLICATION Prof Philippas Tsigas Distributed Computing and Systems Research Group.
CSE 486/586 CSE 486/586 Distributed Systems Consistency Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Gossiping Steve Ko Computer Sciences and Engineering University at Buffalo.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
Fault Tolerant Services
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Mutual Exclusion & Leader Election Steve Ko Computer Sciences and Engineering University.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Consistency Steve Ko Computer Sciences and Engineering University at Buffalo.
Replication and Group Communication. Management of Replicated Data FE Requests and replies C Replica C Service Clients Front ends managers RM FE RM Instructor’s.
Lecture 10: Coordination and Agreement (Chap 12) Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University © 2002.
CSE 486/586 Distributed Systems Consistency --- 3
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Replication Steve Ko Computer Sciences and Engineering University at Buffalo.
Lecture 13: Replication Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University © 2002.
CSE 486/586 CSE 486/586 Distributed Systems Consistency Steve Ko Computer Sciences and Engineering University at Buffalo.
Highly Available Services and Transactions with Replicated Data Jason Lenthe.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Transactions on Replicated Data Steve Ko Computer Sciences and Engineering University at Buffalo.
Lecture 19-1 Computer Science 425 Distributed Systems CS 425 / ECE 428 Fall 2013 Indranil Gupta (Indy) October 29, 2013 Lecture 19 Gossiping Reading: Section.
CSE 486/586 CSE 486/586 Distributed Systems Gossiping Steve Ko Computer Sciences and Engineering University at Buffalo.
Lecture 19-1 Computer Science 425 Distributed Systems CS 425 / CSE 424 / ECE 428 Fall 2012 Indranil Gupta (Indy) October 30, 2012 Lecture 19 Gossiping.
Computer Science 425 Distributed Systems CS 425 / CSE 424 / ECE 428 Fall 2011 Gossiping Reading: Section 15.4 / 18.4  2011, N. Borisov, I. Gupta, K. Nahrtstedt,
Distributed Computing Systems Replication Dr. Sunny Jeong. Mr. Colin Zhang With Thanks to Prof. G. Coulouris,
Replication Chapter Katherine Dawicki. Motivations Performance enhancement Increased availability Fault Tolerance.
Reliable multicast Tolerates process crashes. The additional requirements are: Only correct processes will receive multicasts from all correct processes.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Consistency Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586 Distributed Systems Gossiping
CSE 486/586 Distributed Systems Consistency --- 2
CSE 486/586 Distributed Systems Case Study: Amazon Dynamo
CSE 486/586 Distributed Systems Consistency --- 2
CSE 486/586 Distributed Systems Consistency --- 1
CS 425 / ECE 428 Distributed Systems Fall 2017 Indranil Gupta (Indy)
湖南大学-信息科学与工程学院-计算机与科学系
Global State and Gossip
CSE 486/586 Distributed Systems Consistency --- 3
Distributed systems II Replication Cnt.
CSE 486/586 Distributed Systems Consistency --- 1
Active replication for fault tolerance
CSE 486/586 Distributed Systems Consistency --- 2
CSE 486/586 Distributed Systems Consistency --- 3
CS 425 / ECE 428 Distributed Systems Fall 2018 Indranil Gupta (Indy)
CSE 486/586 Distributed Systems Consistency --- 1
CSE 486/586 Distributed Systems Reliable Multicast --- 2
CSE 486/586 Distributed Systems Case Study: Amazon Dynamo
CSE 486/586 Distributed Systems Leader Election
Presentation transcript:

CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Gossiping Steve Ko Computer Sciences and Engineering University at Buffalo

CSE 486/586, Spring 2013 Recall: Passive Replication Request Communication: the request is issued to the primary RM and carries a unique request id. Coordination: Primary takes requests atomically, in order, checks id (resends response if not new id.) Execution: Primary executes & stores the response Agreement: If update, primary sends updated state/result, req-id and response to all backup RMs (1-phase commit enough). Response: primary sends result to the front end 2 Client Front End RM Client Front End RM primary Backup ….

CSE 486/586, Spring 2013 Recall: Active Replication 3 Request Communication: The request contains a unique identifier and is multicast to all by a reliable totally-ordered multicast. Coordination: Group communication ensures that requests are delivered to each RM in the same order (but may be at different physical times!). Execution: Each replica executes the request. (Correct replicas return same result since they are running the same program, i.e., they are replicated protocols or replicated state machines) Agreement: No agreement phase is needed, because of multicast delivery semantics of requests Response: Each replica sends response directly to FE Client Front End RM Client Front End RM ….

CSE 486/586, Spring 2013 Eager vs. Lazy Eager replication, e.g., B-multicast, R-multicast, etc. (previously in the course) –Multicast request to all RMs immediately in active replication –Multicast results to all RMs immediately in passive replication Alternative: Lazy replication –Allow replicas to converge eventually and lazily –Propagate updates and queries lazily, e.g., when network bandwidth available –FEs need to wait for reply from only one RM –Allow other RMs to be disconnected/unavailable –May provide weaker consistency than sequential consistency, but improves performance Lazy replication can be provided by using the gossiping 4

CSE 486/586, Spring 2013 Revisiting Multicast 5 Distributed Group of “Nodes”= “Nodes”=Processes at Internet- based hosts Node with a piece of information to be communicated to everyone

CSE 486/586, Spring 2013 Fault-Tolerance and Scalability 6 Multicast sender Multicast Protocol Nodes may crash Nodes may crash Packets may Packets may be dropped be dropped Possibly Possibly 1000’s of nodes X X

CSE 486/586, Spring 2013 B-Multicast 7 UDP/TCP packets Simplest Simplest implementation implementation Problems? Problems?

CSE 486/586, Spring 2013 R-Multicast 8 UDP/TCP packets Stronger guarantees Stronger guarantees Overhead is Overhead is quadratic in N

CSE 486/586, Spring 2013 Any Other? E.g., tree-based multicast 9 UDP/TCP packets e.g., IPmulticast, SRM e.g., IPmulticast, SRM RMTP, TRAM,TMTP RMTP, TRAM,TMTP Tree setup Tree setup and maintenance and maintenance Problems? Problems?

CSE 486/586, Spring 2013 Another Approach 10 Multicast sender

CSE 486/586, Spring 2013 Another Approach 11 Gossip messages (UDP) Periodically, transmit to b random targets

CSE 486/586, Spring 2013 Another Approach 12 Other nodes do same after receiving multicast Gossip messages (UDP)

CSE 486/586, Spring 2013 Another Approach 13

CSE 486/586, Spring 2013 Uninfected Uninfected “Gossip” (or “Epidemic”) Multicast 14 Protocol rounds (local clock) Protocol rounds (local clock) b random targets per round b random targets per round Infected Infected Gossip Message (UDP)

CSE 486/586, Spring 2013 Properties Lightweight Quick spread Highly fault-tolerant Analysis from old mathematical branch of Epidemiology [Bailey 75] Parameters c,b: –c for determining rounds: (c*log(n)), b: # of nodes to contact –Can be small numbers independent of n, e.g., c=2; b=2; Within c*log(n) rounds, [ low latency ] –all but of nodes receive the multicast [reliability] –each node has transmitted no more than c*b*log(n) gossip messages [lightweight] 15

CSE 486/586, Spring 2013 Fault-Tolerance Packet loss –50% packet loss: analyze with b replaced with b/2 –To achieve same reliability as 0% packet loss, takes twice as many rounds Node failure –50% of nodes fail: analyze with n replaced with n/2 and b replaced with b/2 –Same as above 16

CSE 486/586, Spring 2013 Fault-Tolerance With failures, is it possible that the epidemic might die out quickly? Possible, but improbable: –Once a few nodes are infected, with high probability, the epidemic will not die out –So the analysis we saw in the previous slides is actually behavior with high probability [Galey and Dani 98] The same applicable to: –Rumors –Infectious diseases –A worm such as Blaster Some implementations –Amazon Web Services EC2/S3 (rumored) –Usenet NNTP (Network News Transport Protocol) 17

CSE 486/586, Spring 2013 Gossiping Architecture The RMs exchange “gossip” messages –Periodically and amongst each other. –Gossip messages convey updates they have each received from clients, and serve to achieve convergence of all RMs. Objective: provisioning of highly available service. Guarantee: –Each client obtains a consistent service over time: in response to a query, an RM may have to wait until it receives “required” updates from other RMs. The RM then provides client with data that at least reflects the updates that the client has observed so far. –Relaxed consistency among replicas: RMs may be inconsistent at any given point of time. Yet all RMs eventually receive all updates and they apply updates with ordering guarantees. Can be used to provide sequential consistency. 18

CSE 486/586, Spring 2013 Gossip Architecture 19 QueryVal FE RM Query, prevVal,new Update FE Update, prevUpdate id Service Clients gossip

CSE 486/586, Spring 2013 Using Gossip for Failure Detection: Gossip-style Heartbeating 20 All-to-all heartbeating Each process sends out heartbeats to every other process Con: Slow process/link causes false positives Using gossip to spread heartbeats gives better accuracy pi

CSE 486/586, Spring 2013 Gossip-Style Failure Detection Protocol: Processes periodically gossip their membership list On receipt, the local membership list is updated Current time : 70 at process 2 (asynchronous clocks) Address Heartbeat Counter Time (local)

CSE 486/586, Spring 2013 Gossip-Style Failure Detection If the heartbeat has not increased for more than T fail seconds (according to local time), the member is considered failed But don’t delete it right away Wait another T cleanup seconds, then delete the member from the list 22

CSE 486/586, Spring 2013 Gossip-Style Failure Detection 23 What if an entry pointing to a failed process is deleted right after T fail seconds? Fix: remember for another T fail Ignore gossips for failed members –Don’t include failed members in go- -ssip messages Current time : 75 at process 2

CSE 486/586, Spring 2013 Summary Eager replication vs. lazy replication –Lazy replication propagates updates in the background Gossiping –One strategy for lazy replication –High-level of fault-tolerance & quick spread Another use case for gossiping –Failure detection 24

CSE 486/586, Spring Acknowledgements These slides contain material developed and copyrighted by Indranil Gupta (UIUC).