Amoeba Group Communication
CS294-4 P2P Systems 2003 David Ratajczak
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
Group Communication (cont’d)
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
Amoeba GCS API
All primitives are blocking
Use threads for parallelism Claim: this simplifies programming
Question: how does an application create