amoeba group
play

Amoeba Group communicate 1-to-n Members join and leave group - PowerPoint PPT Presentation

Group Communication Group is a collection of processes that can Amoeba Group communicate 1-to-n Members join and leave group Communication Ordering All members see same ( total ) order Broadcast messages CS294-4 P2P Systems


  1. Group Communication � Group is a collection of processes that can Amoeba Group communicate 1-to-n � Members join and leave group Communication � Ordering � All members see same ( total ) order � Broadcast messages CS294-4 P2P Systems 2003 � Join/leave changes David Ratajczak � Crash/recovery � Weaker ordering possible � Unordered � Causal order Amoeba GCS API Group Communication (cont’d) � Reliability � Handles message loss/duplication � Handles failstop failures � Unreliable failure detection based on heartbeats � Might excise non-failed nodes � All primitives are blocking � Multi-phase protocol for calculating new view � Use threads for parallelism � In Amoeba, optional support for recovery � Claim: this simplifies programming � But no built-in support for state transfer � Question: how does an application create � No automatic rejoining after network partitions a group?

  2. Questions to think about Amoeba Total Ordering � What about end-to-end argument? � Every group view includes a designated sequencer � How does this apply to p2p systems? � If sequencer fails, must produce new view � How does this compare to Castro/Liskov � PB method BFT algorithm? � Sender sends msg to sequencer � Sequencer affixes sequence number � Sequencer broadcasts to group Amoeba Total Ordering (cont’d) Amoeba Reliability � Use NACKs instead of ACKs � BB method � Fewer messages at sequencer � Sender broadcasts to group � Assumes steady stream of traffic � Sequencer receives msg and broadcasts � Sequencer stores msgs until all members have “accept” with sequence number to group received them (or view changes) � If messages are large, use BB � Members piggyback latest seq num recv’d � Settable resilience degree � Less bandwidth and less stress on sequencer � Msg is tentative until sequencer hears r ACKs � Otherwise, use PB � Sequencer broadcasts accept msg � Receivers only interrupted once � No flow control

  3. Latency breakdown Delay � 20 Mhz MC68030 � 10 Mbit/s Ethernet � What is the bottleneck? � What if no multicast? Throughput Resilience

  4. Questions to think about � Can this scale to >100s of nodes? � Will this work in a WAN? � What about with resilience degree >0?

Recommend


More recommend