of reliable broadcast protocols • Simple protocol Select t nodes at random, send the message; on initial receipt, forward to t nodes • Load distribution Distributes the load evenly amongst all of the nodes in the system 4
views to become disconnected • Repair Repair may take more rounds of membership to repair • Dissemination during failure Negative impact on message delivery during failure and repair periods 8
neighbor relation between nodes in the system • Directed graph Overlay network is a direct graph that captures the neighbor relation between all nodes in the system 19
a message has to cross to reach a node • Average Path Length Sum of the shortest paths between all pairs of nodes • Latency Related to message delivery latency, as it represents the path that must be taken to reach a node 27
divided by the possible maximum of edges across nodes • Redundancy Related to the number of redundant messages that will be received during dissemination 28
divided by the possible maximum of edges across nodes • Redundancy Related to the number of redundant messages that will be received during dissemination • Clustering High-values of this coefficient related to how easy it is for nodes to become isolated 28
failed divided by the number of neighbors • Low values Low values mean that failed nodes will be targeted for gossip more frequently • Fanout Requires higher fanout value to mask these failures 29
fixed in size • “InView” Nodes that messages are received from • Isolated nodes Detected with heartbeating; required to rejoin the cluster on isolation 31
length partial view • Random walk Nodes join the cluster by performing a random walk of the overlay • Shuffle Periodically, view is shuffled with the oldest member of the partial view 32
multiple sources; files, etc. • Bandwidth estimation TCP is used to estimate available bandwidth from available connections • Cache Uses open TCP connections discovered by performing a random walk of the overlay to avoid penalty of opening a new connection 35
target reliability • Quality of views Quality affects required fanout value • TCP and “better” failure detection Results in more cost-effective gossip protocols 40
view • Passive view Larger than log(n); used to ensure connectivity during faults • Minimal overhead Connections are not maintained to the members of the passive view 46
• Symmetric Links are symmetric; nodes have each other in their view • TCP as transport TCP is used as the network transmission protocol • Connection caching Connections are maintained, tested at each step, and used for failure detection for active view members 47
message broadcasts • Deterministic Target selection at each gossip step is deterministic instead of random • Overlay Overlay is created at random from the global membership, through the use of the membership protocol 48
active view on join • Failure Nodes are removed from the active view on failure • Implicitly tested Nodes are checked for failure at every step of the protocol; this result in very fast failure detection 49
dissemination • Replacement Passive view maintained to keep a list of possible replacement nodes for the active view • Cyclic strategy While the active view is maintained using a reactive strategy, the passive view is maintained using a cyclic strategy* 50
dissemination • Replacement Passive view maintained to keep a list of possible replacement nodes for the active view • Cyclic strategy While the active view is maintained using a reactive strategy, the passive view is maintained using a cyclic strategy* • Shuffle At each interval defined by the cyclic strategy, a “shuffle” is performed with another node in the system 50
dissemination • Replacement Passive view maintained to keep a list of possible replacement nodes for the active view • Cyclic strategy While the active view is maintained using a reactive strategy, the passive view is maintained using a cyclic strategy* • Shuffle At each interval defined by the cyclic strategy, a “shuffle” is performed with another node in the system 50 * not completely true
of nodes from the active view, and members from the passive view • Increases replacement probability Increase probability of having “active” replacement nodes in another node’s passive view 51
cluster, it must join through an existing node in the system: the “contact” node • “Contact” node Always accepts the join and adds to the active view; evicts a member if necessary 52
cluster, it must join through an existing node in the system: the “contact” node • “Contact” node Always accepts the join and adds to the active view; evicts a member if necessary • Forward join request Request is forwarded using a random walk that results in addition to active views (based on size, then TTL), and finally a single passive view based on a walk TTL 52
select random peers from the passive view until one can be found to replace it • Eviction Evict from the passive view when a node can’t be contacted to be a replacement* 53
select random peers from the passive view until one can be found to replace it • Eviction Evict from the passive view when a node can’t be contacted to be a replacement* • Priorities Nodes only accept new nodes as neighbors if they have an open slot, or the requesting node has no members in its active view 53
select random peers from the passive view until one can be found to replace it • Eviction Evict from the passive view when a node can’t be contacted to be a replacement* • Priorities Nodes only accept new nodes as neighbors if they have an open slot, or the requesting node has no members in its active view 53 * can result in permanently isolated nodes
walk as well • Exchange selection Remote node will shuffle from its passive view only • Integration Only integrate into passive view nodes that are not already contained in sender’s active view 54
of being included in a shuffle increases… …therefore increasing the probability it will be used as a replacement for a failed node in another's active view. 57
CyclonAcked) • Gossip protocol Generic gossip protocol that can be used with any of these membership services • Clustering Clustered at beginning of test without interleaved membership rounds 60
performed at each step increase how fast the system can react • Cyclon/Scamp No failure detector; membership is only repaired at the next membership interval 65
performed at each step increase how fast the system can react • Cyclon/Scamp No failure detector; membership is only repaired at the next membership interval • Scamp / Cyclon Begin experiencing problems at 50% failure rate 65
become isolated • Small average shortest path Reduces latency in message delivery • Balance degree distribution Increased fault tolerance with balanced reachability and importance 68
is smaller than alternative protocols • Small active view Results in fewer distinct paths that can be used for dissemination of messages • Larger average shortest path Doesn’t affect latency, because every single link in the overlay can be used to disseminate messages 69
some unknown nodes • Redundant messages High probability of seeing redundant messages because of distribution • Missing messages Low probability of seeing a message just once 72
known by the maximum amount of possible nodes • Similar number of deliveries With high probability, nodes should receive a message approximately the same amount of time 73
known by the maximum amount of possible nodes • Similar number of deliveries With high probability, nodes should receive a message approximately the same amount of time • No missing messages With low probability, nodes will not receive a single copy of a message 73
a larger (low cost) passive view, maintained by different strategies, offers a better resilience and better resource usage than using a single (large) view with higher fanout. 79