Amoeba Group Communication - PowerPoint PPT Presentation

1 / 13
About This Presentation
Title:

Amoeba Group Communication

Description:

Question: how does an application create a group? Questions to think about ... PB method. Sender sends msg to sequencer. Sequencer affixes sequence number ... – PowerPoint PPT presentation

Number of Views:137
Avg rating:3.0/5.0
Slides: 14
Provided by: drat2
Category:

less

Transcript and Presenter's Notes

Title: Amoeba Group Communication


1
Amoeba Group Communication
  • CS294-4 P2P Systems 2003
  • David Ratajczak

2
Group Communication
  • Group is a collection of processes that can
    communicate 1-to-n
  • Members join and leave group
  • Ordering
  • All members see same (total) order
  • Broadcast messages
  • Join/leave changes
  • Crash/recovery
  • Weaker ordering possible
  • Unordered
  • Causal order

3
Group Communication (contd)
  • Reliability
  • Handles message loss/duplication
  • Handles failstop failures
  • Unreliable failure detection based on heartbeats
  • Might excise non-failed nodes
  • Multi-phase protocol for calculating new view
  • In Amoeba, optional support for recovery
  • But no built-in support for state transfer
  • No automatic rejoining after network partitions

4
Amoeba GCS API
  • All primitives are blocking
  • Use threads for parallelism
  • Claim this simplifies programming
  • Question how does an application create a group?

5
Questions to think about
  • What about end-to-end argument?
  • How does this apply to p2p systems?
  • How does this compare to Castro/Liskov BFT
    algorithm?

6
Amoeba Total Ordering
  • Every group view includes a designated sequencer
  • If sequencer fails, must produce new view
  • PB method
  • Sender sends msg to sequencer
  • Sequencer affixes sequence number
  • Sequencer broadcasts to group

7
Amoeba Total Ordering (contd)
  • BB method
  • Sender broadcasts to group
  • Sequencer receives msg and broadcasts accept
    with sequence number to group
  • If messages are large, use BB
  • Less bandwidth and less stress on sequencer
  • Otherwise, use PB
  • Receivers only interrupted once

8
Amoeba Reliability
  • Use NACKs instead of ACKs
  • Fewer messages at sequencer
  • Assumes steady stream of traffic
  • Sequencer stores msgs until all members have
    received them (or view changes)
  • Members piggyback latest seq num recvd
  • Settable resilience degree
  • Msg is tentative until sequencer hears r ACKs
  • Sequencer broadcasts accept msg
  • No flow control

9
Latency breakdown
  • 20 Mhz MC68030
  • 10 Mbit/s Ethernet
  • What is the bottleneck?
  • What if no multicast?

10
Delay
11
Throughput
12
Resilience
13
Questions to think about
  • Can this scale to gt100s of nodes?
  • Will this work in a WAN?
  • What about with resilience degree gt0?
Write a Comment
User Comments (0)
About PowerShow.com