ApplicationLevel Multicast NUS SOC CS 5248 2009 Roger

  • Slides: 54
Download presentation
Application-Level Multicast NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides

Application-Level Multicast NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

You are Here Encoder Decoder Middlebox Receiver Sender Network NUS. SOC. CS 5248 -2009

You are Here Encoder Decoder Middlebox Receiver Sender Network NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Application-Level Multicast S A A Router C NUS. SOC. CS 5248 -2009 Roger Zimmermann

Application-Level Multicast S A A Router C NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) B

Application-Level Multicast S C Router C NUS. SOC. CS 5248 -2009 Roger Zimmermann (based

Application-Level Multicast S C Router C NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) B A B

Overlay Network S A B NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in

Overlay Network S A B NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) C

Penalty: Delay S A Router C S A B C NUS. SOC. CS 5248

Penalty: Delay S A Router C S A B C NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) B

Penalty: Network Resource S A Router C S A B C NUS. SOC. CS

Penalty: Network Resource S A Router C S A B C NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) B

Link Stress S A Router C NUS. SOC. CS 5248 -2009 Roger Zimmermann (based

Link Stress S A Router C NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) B

Questions n How to construct overlay multicast tree? n How to maintain overlay multicast

Questions n How to construct overlay multicast tree? n How to maintain overlay multicast tree? NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

A Case for End-System Multicast Y. Chu, S. Rao, S. Seshan, H. Zhang JSAC

A Case for End-System Multicast Y. Chu, S. Rao, S. Seshan, H. Zhang JSAC 2002 NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Narada’s Idea n Build a mesh, then build a tree B S S A

Narada’s Idea n Build a mesh, then build a tree B S S A A C NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) B C

Why Build Mesh? NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on

Why Build Mesh? NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Desirable Property of Mesh n Path between any two nodes must be “good” n

Desirable Property of Mesh n Path between any two nodes must be “good” n Cannot be too sparse or too dense NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

How to build Mesh? n Node join n Randomly choose some existing members as

How to build Mesh? n Node join n Randomly choose some existing members as neighbor S A B NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) C

How to maintain Mesh? n Everybody knows everybody n Each node maintains a table

How to maintain Mesh? n Everybody knows everybody n Each node maintains a table Address Last Seq No Last Update 1 512 10: 00 am 2 603 10: 03 am 3 341 10: 02 am 4 NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 704 09: 59 am

How to update table? n Refresh message to neigbours n receive message 604 from

How to update table? n Refresh message to neigbours n receive message 604 from node 2 Address Last Seq No Last Update 1 512 10: 00 am 2 604 10: 16 am 3 341 10: 02 am 4 NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 704 09: 59 am

How to update table? n Exchange Table Address Last Seq No Last Update 1

How to update table? n Exchange Table Address Last Seq No Last Update 1 513 10: 07 am 2 604 10: 19 am 3 343 10: 10 am 4 702 9: 51 am Address Last Seq No Last Update 1 512 10: 00 am 2 604 10: 16 am 3 341 10: 02 am 4 NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 704 09: 59 am

How to maintain Mesh? n Neighbor failure n Probes if no refresh messages for

How to maintain Mesh? n Neighbor failure n Probes if no refresh messages for a while S A B NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) C

How to maintain Mesh? n Mesh Partition n Probes if no updates for a

How to maintain Mesh? n Mesh Partition n Probes if no updates for a while, add random edges if alive S A B NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) C

How to Optimize Mesh? n Mesh needs to periodically updated because: n nodes join

How to Optimize Mesh? n Mesh needs to periodically updated because: n nodes join and leave n network condition changes n partition repair add unneeded edges n initial constructions are random NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Adding a Link n Node i periodically probe randomly selected members j n Ask

Adding a Link n Node i periodically probe randomly selected members j n Ask “what if I add (i, j)? ” NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Adding a Link (i, j) for each node m dcurr(i, m) = current latency

Adding a Link (i, j) for each node m dcurr(i, m) = current latency from i to m dnew(i, m) = new latency from i to m if dnew(i, m) < dcurr(i, m) utility += 1 - dnew(i, m)/dcurr(i, m) add (i, j) if utility is high NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Adding a Link S S A A B NUS. SOC. CS 5248 -2009 Roger

Adding a Link S S A A B NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) C B C

Removing a Link n Harder to ask “what if I remove link (i, j)?

Removing a Link n Harder to ask “what if I remove link (i, j)? ” n compute cost(i, j) instead: number of nodes for which i uses j as next hop NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

cost(i, j) cost(S, A) = 2 S A B NUS. SOC. CS 5248 -2009

cost(i, j) cost(S, A) = 2 S A B NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) C

cost(i, j) E cost(S, A) = 3 cost(A, S) = 1 S A B

cost(i, j) E cost(S, A) = 3 cost(A, S) = 1 S A B D C NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Removing a link n if max(cost(i, j), cost(j, i)) < Threshold drop link (i,

Removing a link n if max(cost(i, j), cost(j, i)) < Threshold drop link (i, j) (Threshold should depend on group size) NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Narada’s Idea n Build a mesh, then build a tree B S S A

Narada’s Idea n Build a mesh, then build a tree B S S A A C NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) B C

How to build tree? n Modify DVMRP n Cost definition n Pick widest path

How to build tree? n Modify DVMRP n Cost definition n Pick widest path n Break ties by latency NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Evaluation: Bandwidth NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides

Evaluation: Bandwidth NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Evaluation: RTT NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides

Evaluation: RTT NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Evaluation: Link Stress NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on

Evaluation: Link Stress NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

SUM(Delay x Stress) NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on

SUM(Delay x Stress) NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Problem n Narada does not scale n State maintenance n Message overhead NUS. SOC.

Problem n Narada does not scale n State maintenance n Message overhead NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Scalable Application Layer Multicast S. Banerjee, B. Bhattacharjee, and C. Kommareddy SIGCOMM 2002 NUS.

Scalable Application Layer Multicast S. Banerjee, B. Bhattacharjee, and C. Kommareddy SIGCOMM 2002 NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

NICE n NICE is scalable n State maintenance n Message overhead NUS. SOC. CS

NICE n NICE is scalable n State maintenance n Message overhead NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Members NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by

Members NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Clusters NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by

Clusters NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Leader NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by

Leader NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Layer NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by

Layer NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Nodes per Cluster [k, 3 k-1] NUS. SOC. CS 5248 -2009 Roger Zimmermann (based

Nodes per Cluster [k, 3 k-1] NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Control Topology NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides

Control Topology NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Multicast Tree NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides

Multicast Tree NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Analysis height = NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on

Analysis height = NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Analysis n Let Li be the highest layer of a node n Number of

Analysis n Let Li be the highest layer of a node n Number of neighbours = n Number of nodes at layer Li = NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Analysis n Worst Case Control Message Overhead = n Average Case Control Message Overhead

Analysis n Worst Case Control Message Overhead = n Average Case Control Message Overhead = NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Analysis n Number of hops between 2 nodes = NUS. SOC. CS 5248 -2009

Analysis n Number of hops between 2 nodes = NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Analysis n Maximum Degree of a Node = NUS. SOC. CS 5248 -2009 Roger

Analysis n Maximum Degree of a Node = NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Multicast Tree (Improved) NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on

Multicast Tree (Improved) NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Node Join RP NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on

Node Join RP NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Other operations n Node leave n Node failure n Cluster merge/split NUS. SOC. CS

Other operations n Node leave n Node failure n Cluster merge/split NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Evaluation: Control Overhead NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on

Evaluation: Control Overhead NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Evaluation: Link Stress NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on

Evaluation: Link Stress NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Evaluation: Path Length NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on

Evaluation: Path Length NUS. SOC. CS 5248 -2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)