application-layer multicast -presented by william wong

47
Application-Layer Multicast -presented by William Wong

Upload: calvin-cameron

Post on 29-Dec-2015

220 views

Category:

Documents


0 download

TRANSCRIPT

Application-Layer Multicast-presented by William Wong

Outline

Introduction Multicast Tree Formation Performance Metrics Protocol Examples Conclusion

Outline

Introduction IP Multicast vs. Application-Layer Multicast Limitations of IP Multicast Advantages of application-Layer Multicast

Multicast Tree Formation Performance Metrics Protocol Examples Conclusion

IP Multicast vs. Application-Layer Multicast

End-host

Router

A

3

1 2

B

4

Packet

A

3

1 2

B

4

Limitations of IP Multicast

Difficult to support high level functionalities on upper layer E.g. congestion control, reliability Network and receiver heterogeneities

Routers need maintain per-group state

Limited multicast addresses ( class D only)

Advantages of Application-Layer Multicast Easy to support high level functionalities

Make use of end-host resource (e.g. memory, process power) to make a more sophisticated decision

Make use of the existing solutions for unicast congestion control and reliability

Able to modify the content of data Does not need router support Unlimited multicast addresses

Outline

Introduction Multicast Tree Formation

Tree-first approach Mesh-first approach Others

Performance Metrics Protocol Examples Conclusion

Tree-first Approach

Constructs a multicast tree directly. Members explicitly select their parents. Single multicast tree constructed.

Tree-first Approach Components Initial join

Learn other members’ locations Multicast tree formation

Loop avoidance and partition avoidance Multicast tree maintaince

Adaptive to network dynamics

Tree-first Approach Examples Overcast

Build a single source multicast tree that maximize the bandwidth from the source to the receivers

Yoid A tree is constructed for data delivery, while a mesh is cons

tructed for control messages exchanging. Jungle Monkey

Build a single source multicast tree for file transferring ALMI

Build a single source multicast tree in single server and then distributes it.

Mesh-first Approach

Members are connected to form a richer connected graph, termed a mesh

Members exchange information on the mesh Construct shortest path spanning trees of the mesh with routing

protocols e.g. DVMRP

Mesh-first Approach Components Initial join

Learns other members’ locations Mesh formation

Partition avoidance Mesh maintaince

Adaptive to network dynamics Improve the mesh quality

Multicast tree formation Constructs per-source spanning tree with routing protocol

Other Mesh-first Examples

Narada Creates a mesh and then build multicast trees wit

h DVMRP algorithm.

Scattercast Proxy servers are placed at strategic location. The

se proxy servers self-organize into multicast trees.

Other Approaches

Completely ignores the network-layer infrastructure.

Example: Application-layer Multicast with Delaunay Triangul

ations Each nodes route multicast packet based on their geom

etric coordination only.

Outline

Introduction Protocol Examples Performance Metrics

Application perspectives Network perspectives Adaptiveness to network dynamics Failure Tolerance Scalability

Conclusion

Application Perspectives

Directly affect the performance of application Examples:

Bandwidth and latency Startup time End-host resource usages

Bandwidth and Latency

Measure the mean and the standard deviation versus rank

Examples: Experiment 1:

1200, 1200, 1000, 800.

Experiment 2: 1400, 1400, 600,

400. Experiment 3:

1000, 800, 800, 600

Means: 1200, 1133, 800,

600

Startup Time

Time required to stabilize the multicast tree

Stabilized

End-host Resource Usages

Memory Disk Storage Computation Power

Network perspectives

Affect other network user indirectly Examples:

Resource usages Stresses of physical links Protocol overhead

Resource Usages

Sum of the costs (e.g. delay) of the overlay links

A

3

1 2

B

4

25

271

1

1

1

2 2

Resource Usages: 2 + 27 + 2 = 31

Stresses of Physical Links

Number of identical copies of a packet traverse a physical link

Stress of physical link 1-A is 2

A

3

B

4

21

Protocol overhead

Protocol overhead = Total non-data traffic / total data traffic

Non-data traffic Control messages Network measurement messages

Adaptiveness to Network Dynamics When some of the nodes/links are failure, the time

required to discover, react and repair that

Discover, React and Repair Time Discover

Duration from nodes/links failure to detection of link degradation. React

Duration from detection of link degradation to the first change of multicast tree

Repair Duration from the first change of multicast tree to the change which fully

recover the multicast tree quality

Discover Time React Time Repair Time

Link failure

DetectedFirst attempt Last attempt

Failure Tolerance

Single point of failure E.g. rendezvous point (RP)

Impact of large number of nodes/links failure The fraction of hosts that correctly receive the

data packets sent from the source

Scalability

Time and resources used to construct a large multicast tree

Scalability maybe limited by Routing algorithm Control message size Protocol overhead

Outline

Introduction Multicast Tree Formation Protocols Performance Metrics Existing Protocols

Overcast Narada

Conclusion

Overcast [Jannotti 88]

It is motivated by real-world problems faced by content providers.

Characteristics of the target applications Millions of users Requires high bandwidth Not latency sensitive

Overcast:Multicast Tree Formation Single Source, which located at root Always contact the root of multicast tree first Use bandwidth as link-cost metric only. Move the newly joined node as far way from the root as possible

without sacrificing bandwidth to the root

Overcast:Nodes repositioning Periodically reevaluates its position in the

tree. Measure the network condition actively

E send 10KB data to D (sibling), B (parent) and R (grandparent)

to find the best parent.

BA C

F

E

G

D

R

Overcast:Nodes repositioning Each node keep their ancestor list. These

ancestors serve as backup parents.

BA C

FE

G

D

R

BA C

FEG

D

R

BA C

FE

G

D

R

Overcast:Loop avoidance Keeps an ancestor list to avoid loop formation

Reject any connection request from nodes

in the ancestor list {R,B,E}

BA C

FE

G

D

R

Overcast:Performance Application prespectives:

High bandwidth, long latency Network prespectives:

High protocol overhead due to active measure. Not adaptive to network dynamic well

Node moves locally. Low failure tolerance

Single Point of failure High scalability

Only local information need

Narada [Yang-hua Chu 2000]

It is motivated by real-world problems faced by conferencing applications

Characteristics of the target applications Small number of users Require high bandwidth Latency sensitive

Narada:Mesh Formation No rendezvous point

Contact anyone of group member to join Learn the location of our member by exchanging control

messages Randomly select a few group members to be its neighbor.

Narada:Mesh Maintance Measure the network condition actively and

passively

The bandwidth and latency are measured passively by

monitoring the data flow along them.

The bandwidth and latency are measured actively.

Sent data through the link to determine

its bandwidth and latency

Narada:Mesh Maintaince A mesh is a richer connected graph, such

that it includes all members with cycles. The quality of mesh keep improving by

adding “useful” link and drop “not useful” link.

F

E

D

The link A-G would be added. It improve the delay from A/B/C to E/F/G

The link E-G is not very useful, not much packets would route though it

It will be dropped

C

G

B

A

Narada:Utility of a link The degree of improvement to tree latency Algorithm

Utility = 0For each member m (m not i) begin

CL = current latency between i and m along meshNL = new latency between I and m along mesh if edge i-j were addedIf (NL < CL) then begin

utility += ( CL – NL) / CLEnd

EndReturn utility

Narada:Consensus Cost of a link Frequency of being used Formal definition

Cost i-j = number of members for which i uses j as next hopt for forwarding packets.

Cost j-i = number of members for which j uses i as next hop for forwarding packets.

Cost = max(cost i-j, cost j-i)

Runs a distance vector protocol on top of the mesh

Narada:Multicast Tree Formation

Runs a distance vector protocol on top of the mesh The per-source trees are constructed from the reverse shortest

paths between each recipient and the source.

Narada:Multicast Tree Formation

Narada:Link Cost Use bandwidth and latency as link-cost metric at the

same time Shortest widest path algorithm used

Pick the widest paths to every other member Then choose the shortest path among all widest path

This path is selected

Narada:Performance Application prespectives

High bandwidth, short latency Network prespectives

Low resource usage, low stress of physical link Adaptiveness to network dynamics

Depends on the probing frequency Low scalability

A global information is need for the routing algorithm High failure tolerance

No single-point of failure

Outline

Introduction Multicast Tree Formation Protocols Performance Metrics Existing Protocols Conclusion

Conclusion

Two multicast tree formation approaches Tree-first approach Mesh-first approach

Five performance metrics Application perspectives Network perspectives Adaptiveness to network dynamics Failure Tolerance Scalability

Q&A