9/10/2015 1 communication (ii) chapter 4. 9/10/2015 2 topics fundamentals stream multicast overlay...

19
07/04/22 1 Communication (II) Chapter 4

Upload: samson-adams

Post on 11-Jan-2016

220 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 9/10/2015 1 Communication (II) Chapter 4. 9/10/2015 2 Topics Fundamentals Stream Multicast Overlay (application layer multicast) Application layer MC

04/21/23 1

Communication (II)Chapter 4

Page 2: 9/10/2015 1 Communication (II) Chapter 4. 9/10/2015 2 Topics Fundamentals Stream Multicast Overlay (application layer multicast) Application layer MC

04/21/23 2

Topics

Fundamentals Stream Multicast

Overlay (application layer multicast) Application layer MC vs IP layer MC

Epidemic and gossip

Page 3: 9/10/2015 1 Communication (II) Chapter 4. 9/10/2015 2 Topics Fundamentals Stream Multicast Overlay (application layer multicast) Application layer MC

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

Page 4: 9/10/2015 1 Communication (II) Chapter 4. 9/10/2015 2 Topics Fundamentals Stream Multicast Overlay (application layer multicast) Application layer MC

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

Page 5: 9/10/2015 1 Communication (II) Chapter 4. 9/10/2015 2 Topics Fundamentals Stream Multicast Overlay (application layer multicast) Application layer MC

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 …

Page 6: 9/10/2015 1 Communication (II) Chapter 4. 9/10/2015 2 Topics Fundamentals Stream Multicast Overlay (application layer multicast) Application layer MC

04/21/23 6

Overlay Construction

The relation between links in an overlay and actual network-level routes.

Page 7: 9/10/2015 1 Communication (II) Chapter 4. 9/10/2015 2 Topics Fundamentals Stream Multicast Overlay (application layer multicast) Application layer MC

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.

Page 8: 9/10/2015 1 Communication (II) Chapter 4. 9/10/2015 2 Topics Fundamentals Stream Multicast Overlay (application layer multicast) Application layer MC

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.

Page 9: 9/10/2015 1 Communication (II) Chapter 4. 9/10/2015 2 Topics Fundamentals Stream Multicast Overlay (application layer multicast) Application layer MC

04/21/23 9

Topics

Fundamentals Stream Multicast

Overlay (application layer multicast) Epidemic and gossip

Page 10: 9/10/2015 1 Communication (II) Chapter 4. 9/10/2015 2 Topics Fundamentals Stream Multicast Overlay (application layer multicast) Application layer MC

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.

Page 11: 9/10/2015 1 Communication (II) Chapter 4. 9/10/2015 2 Topics Fundamentals Stream Multicast Overlay (application layer multicast) Application layer MC

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

Page 12: 9/10/2015 1 Communication (II) Chapter 4. 9/10/2015 2 Topics Fundamentals Stream Multicast Overlay (application layer multicast) Application layer MC

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.

Page 13: 9/10/2015 1 Communication (II) Chapter 4. 9/10/2015 2 Topics Fundamentals Stream Multicast Overlay (application layer multicast) Application layer MC

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.

Page 14: 9/10/2015 1 Communication (II) Chapter 4. 9/10/2015 2 Topics Fundamentals Stream Multicast Overlay (application layer multicast) Application layer MC

04/21/23 14

Centralized algorithm

Round: picking node, picking a piece of data log2(n), for n nodes.

Page 15: 9/10/2015 1 Communication (II) Chapter 4. 9/10/2015 2 Topics Fundamentals Stream Multicast Overlay (application layer multicast) Application layer MC

04/21/23 15

Gossip-based protocol: k fanout

0

12

5

76

3

9

4

8

Page 16: 9/10/2015 1 Communication (II) Chapter 4. 9/10/2015 2 Topics Fundamentals Stream Multicast Overlay (application layer multicast) Application layer MC

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?

Page 17: 9/10/2015 1 Communication (II) Chapter 4. 9/10/2015 2 Topics Fundamentals Stream Multicast Overlay (application layer multicast) Application layer MC

04/21/23 17

Analysis For simple epidemic

Gossip propagation time Expected number of

rounds

# rounds

Expected # of rounds

Page 18: 9/10/2015 1 Communication (II) Chapter 4. 9/10/2015 2 Topics Fundamentals Stream Multicast Overlay (application layer multicast) Application layer MC

04/21/23 18

Analysis s: fraction of nodes remain uninfected:

1/k: probability of stopping infecting others.

Page 19: 9/10/2015 1 Communication (II) Chapter 4. 9/10/2015 2 Topics Fundamentals Stream Multicast Overlay (application layer multicast) Application layer MC

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?