04/21/23 1
Communication (II)Chapter 4
04/21/23 2
Topics
Fundamentals Stream Multicast
Overlay (application layer multicast) Application layer MC vs IP layer MC
Epidemic and gossip
04/21/23 3
Multicast
Multicast: a source sends a message to the subset of network nodes (say a multicast group) Applications: Video conferences,
network games, database A source could send through many
unicast However, sender may not know
individual receivers and efficiency issue
Unicast and Broadcast
04/21/23 4
Network multicast
A “join” protocol (so to send or receive from) multicast
group - Internet Group Management Protocol (IGMP)
- Routers forward mcast-addressed datagrams to hosts that have “joined” that multicast group
- Multicast Routing protocols -- different trees for diff groups
Group-shared tree Source-based trees
04/21/23 5
Overlay multicast
An application forms their own multicast network - overlay network A network that has only hosts who wants to
join the MC application -- “routers” are hosts! Network links are TCP connections.
The network can be a tree or a mesh or …
04/21/23 6
Overlay Construction
The relation between links in an overlay and actual network-level routes.
04/21/23 7
Overlay multicast metrics Problem: logical links vs physical links Metrics:
Link stress (per link): how often a packet crosses the same link
Closer to 1, the better Stretch or relative delay penalty (RDP):
Measures the ratio in the delay between two nodes in the overlay, and the delay that those two nodes connecting in the underlying network.
Smaller the ratio (minimum be 1), the better Tree cost: minimum spanning tree.
04/21/23 8
Application architectures
Rendezvous node Well know node, keep the tree members
For a single source based applicaiton Find a best parent node
Direct to the source (the stretch is 1 !)... Disadvantage?
Consider nodes’ load (degree), e.g., k neighbor.
04/21/23 9
Topics
Fundamentals Stream Multicast
Overlay (application layer multicast) Epidemic and gossip
04/21/23 10
Data Dissemination Simple techniques for spreading information
in very large-scale distributed systems.
Want efficiency, robustness, speed, scale Tree distribution is efficient, but fragile (plus
configuration is difficult) Flooding is robust, but inefficient No central control
Gossip is both efficient and robust, but has relatively high latency Or epidemic.
04/21/23 11
Probabilistic multicast Distributed local information (local view) Loose or no synchronization Scalable Reliable
Probabilistic guarantees on full delivery No delay upper bound Graceful degradation in the presence of failure
Delete message Replication, fault-tolerant
04/21/23 12
Gossip-based Protocols Anti-entropy propagation model
Node P picks another node Q at random Subsequently exchanges updates with Q
Differ by the number of time they gossip the same message or the number of gossip targets they select each time.
Some “epidemic” related terms: Infected – holds the data and willing to spread further Susceptible – not seen the data yet. Removed – has the date but will not send to others.
04/21/23 13
Push and Pull Approaches to exchanging updates
P only pushes its own updates to Q P only pulls in new updates from Q P and Q send updates to each other
(1) when many are infected, push may induce long delay for spreading Pull is better: a susceptible asks around, high chance to
hit a infected. (2) when data entries are big, send a “digest” (instead
of the data directly) of the state, and the recipient can request anything it doesn’t already have. Apply to push, pull and push-pull.
04/21/23 14
Centralized algorithm
Round: picking node, picking a piece of data log2(n), for n nodes.
04/21/23 15
Gossip-based protocol: k fanout
0
12
5
76
3
9
4
8
04/21/23 16
Analysis Probability of infection
n nodes, k member infected, Anybody can infect anyone else with equal probability.
What is the probability Pinfect(k, n) that a particular uninfected member is infected in a round if k are already infected?
04/21/23 17
Analysis For simple epidemic
Gossip propagation time Expected number of
rounds
# rounds
Expected # of rounds
04/21/23 18
Analysis s: fraction of nodes remain uninfected:
1/k: probability of stopping infecting others.
04/21/23 19
Further design issues
How to know the n? Or , scalable membership protocol? Paper, [SCAMP: lightweight membership service for
gossip-based protocols]
Removing data: Early deletion cause restore old data keep record - Death certificates
Repeat spreading Death certificates When to clean up?