Download presentation
Presentation is loading. Please wait.
Published byShavonne Simpson Modified over 8 years ago
1
Network Computing Laboratory ZIGZAG: An Efficient Peer-to-Peer Sch eme for Media Streaming Duc A. Tran Kien A. Hua Tai Do University of Central Florida Published in IEEE INFOCOM 2003
2
Korea Advanced Institute of Science and Technology Network Computing Laboratory | 2Outline One line comment Motivation Proposed Solution Performance Evaluation Conclusions Critiques
3
Korea Advanced Institute of Science and Technology Network Computing Laboratory | 3 One line comment ZIGZAG is multicast scheme for streaming applications Scalable Robust
4
Korea Advanced Institute of Science and Technology Network Computing Laboratory | 4Motivation Stream live bandwidth-intensive media from a single source to many receivers An individual connection to stream the content to each receiver IP Multicast
5
Korea Advanced Institute of Science and Technology Network Computing Laboratory | 5 Major design goal Three important issues in designing an efficient P2P technique The end-to-end delay from the source to a receiver may be excess ive Hierarchical, Degree-bounded multicast tree The behavior of receivers is unpredictable A robust techniques to provide a quick and graceful recovery Hierarchical Topology ZIGZAG property of multicast tree The resource limitation at each receiver Minimize the control overhead (increasing the scalability)
6
Korea Advanced Institute of Science and Technology Network Computing Laboratory | 6 Administrative organization H is the number of layers K>3 is a constant (1) Layer 0 contains all peers (2) Peers in layer j<H-1 are partitioned into clusters of sizes in [ k, 3k ].Layer H-1 has only cluster which has a size in [ 2, 3k ] (3)A peer in a cluster at layer j<H is selected to be the head of that cluster. This head becomes a member of layer j+1 if j<H-1. The server S is the head of any cluster it belongs to.
7
Korea Advanced Institute of Science and Technology Network Computing Laboratory | 7 Administrative organization (cont.) H = Ө(log k N) where N = # of peers Any peer at a layer j>0 must be the head of the cluster it belongs to at every lower layer
8
Korea Advanced Institute of Science and Technology Network Computing Laboratory | 8 Terms Subordinate: Non-head peers of a cluster headed by a peer X are called “subordinat e” of X Foreign head: A non-head (or server) clustermate of a peer X at layer j>0 is called a “foreign head” of layer-(j-1) subordinates of X Foreign subordinate: Layer-(j-1) subordinates of X are called “foreign subordinates” of any l ayer-j clustermate of X Foreign cluster: The layer-(j-1) cluster of X is called a “foreign cluster” any layer-j clus termate of X
9
Korea Advanced Institute of Science and Technology Network Computing Laboratory | 9 Multicast Tree (1)A peer, when not at its highest layer, cannot have any link to or from any other peer. (peer 4 at layer 1) (2)A peer, when at its highest layer, can only link to its foreign subordinates. The only exception is the server; at the highest layer, the server links to each of its subordinates (peer 4 in layer 2 ) (3)At layer j<H-1:non-head members of a cluster get the content directly from a foreign head (peer 1 2 3 )
10
Korea Advanced Institute of Science and Technology Network Computing Laboratory | 10 Multicast Tree (cont.) The worst-case node degree of the multicast tree is O(k 2 ) The height of the multicast tree is O(log k N) where N = # of peers
11
Korea Advanced Institute of Science and Technology Network Computing Laboratory | 11 Control protocol Each node X in a layer-j cluster periodically communicates with its layer-j cl ustermates, its children and parent on the multicast tree For peers within a cluster, the exchanged information is the peer degree If the recipient is the cluster head, X also sends a list L = {[X 1,d 1 ],[X 2,d 2 ],..}, where [X i,d i ] represents that X is currently forwarding the content to d i peers in the foreign cluster whose head is X i (peer 5 at layer 1 {[S,3],[6, 3]})
12
Korea Advanced Institute of Science and Technology Network Computing Laboratory | 12 Control protocol (cont.) If the recipient is the parent, X instead sends the following information: A Boolean flag Reachable(X): true iff there exists a path from X to a layer- 0 peer (Reachable(7)=false Reachable(4)=true ) A Boolean flag Addable(X): true iff there exists a path from X to a layer-0 peer whose cluster’s size is in [k,3k-1] Although the worst-case control overhead of a node is O(k*log k N), the amortized worst-case overhead is O(k)
13
Korea Advanced Institute of Science and Technology Network Computing Laboratory | 13 Client Join If the administrative has one layer, new Client P connects to S D(Y) denotes the currently end-to-end delay from the server observed by a peer Y d(Y,P) is the delay from Y to P measured during the contact between Y to P measured 1. If X is a leaf 2. Add P to the only cluster of X 3. Make P a new child of the parent of X 4. Else 5. If Addable(X) 6. Select a child Y : Addable(Y ) and D(Y )+d(Y, P) is min 7.Forward the join request to Y 8. Else 9. Select a child Y : Reachable(Y ) and D(Y )+d(Y, P) is min 10. Forward the join request to Y The join overhead : O(logkN) in terms of number of nodes to con tact
14
Korea Advanced Institute of Science and Technology Network Computing Laboratory | 14 Client Join - Split Suppose we decide to split a layer-j( j [1,H-2]) cluster with a head X a nd non-head peers X 1,…X n x il = the number of peers that are both children of X i and layer-(j-1) sub ordinates of X l (1) Partition {X, X 1,…,X n } into two sets U and V,|U|,|V| [k,3k], and is minimized. Suppose X U (2) For each node X i U and each node X l V such that x il > 0,remove a ll the links from X i to layer-(j-1) subordinates of X l and select a random p eer in V other than X l to be the new parent for these members
15
Korea Advanced Institute of Science and Technology Network Computing Laboratory | 15 Client Join – Split (cont.) (3) Elect a new head Y for cluster V. Y is chosen to be a peer in V with the min imum degree. Y becomes a new member of the cluster at layer-(j+1). For each child cluster (whose non-head members used to be children of Y), we sel ect a peer Z != Y in V having the minimum degree to be the new parent. Remove the current link from X’ to Y and add a link from X’’ to Y
16
Korea Advanced Institute of Science and Technology Network Computing Laboratory | 16 Client Join – Split (cont.) The worst-case split overhead is O(k 2 )
17
Korea Advanced Institute of Science and Technology Network Computing Laboratory | 17 Client Departure A peer X who departs If X’s highest layer is layer 0, no further overhead emerges. Suppose that X’s highest layer is j>0 For each layer-(j-1) cluster whose non-head members are children of X, th e head Y of the cluster is responsible for finding a new parent for them. Y selects Z, a layer-j non-head clustermate, that has the minimum degree
18
Korea Advanced Institute of Science and Technology Network Computing Laboratory | 18 Client Departure (cont.) Furthermore, since X used to be the head of j clusters at layers 0, 1,…,j- 1 Let X’ be a random subordinate of X at layer 0 X’ will replace X as the new head for each of those clusters
19
Korea Advanced Institute of Science and Technology Network Computing Laboratory | 19 Performance Evaluation Peer Stretch: (the length of the data path from the server to a peer in our multicast tree) / (the length of the shortest path between them i n the underlying network) Link Stress: the number of times the same packet goes through the li nk Use the GT-ITM Generator to create a 3240-node transit-stub graph a s our underlying network topology 2000 clients located randomly K=5
20
Korea Advanced Institute of Science and Technology Network Computing Laboratory | 20 Scenario 1: No Failure
21
Korea Advanced Institute of Science and Technology Network Computing Laboratory | 21 Scenario 1: No Failure (cont.)
22
Korea Advanced Institute of Science and Technology Network Computing Laboratory | 22 Scenario 2: Failure Possible
23
Korea Advanced Institute of Science and Technology Network Computing Laboratory | 23 Scenario 3: ZIGZAG vs. NICE
24
Korea Advanced Institute of Science and Technology Network Computing Laboratory | 24 Scenario 3: ZIGZAG vs. NICE (cont.)
25
Korea Advanced Institute of Science and Technology Network Computing Laboratory | 25 Conclusions ZIGZAG Node degree O(k 2 ) Height of multicast tree O(log k N) Control overhead of a node O(k*log k N) Join overhead O(log k N) Split overhead O(k 2 ) Number of peers that need to reconnect due to a failure O(k 2 ) Merge overhead O(k 2 )
26
Korea Advanced Institute of Science and Technology Network Computing Laboratory | 26 Conclusions Short end-to-end delay Low control overhead Efficient join and failure recovery Low maintenance overhead
27
Korea Advanced Institute of Science and Technology Network Computing Laboratory | 27 Critique Strong Points Exemplary Paper Organization Clarify main contribution in introduction Verbally describe protocol operation first Analyze the operation overhead Very thorough analysis Weak Points Stretch concerns ZIGZAG scheme could incur longer stretches (max. 22) Two main contribution ( fast recovery and control overhead) is marginal performance improvement Mostly benefited from their hierarchical architecture( same as NICE) Is ZIGZAG really scalable? O(k 2 ) in node degree could easily overload upper layer nodes Especially, when there are a large number of data sources (might be not considered)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.