peer-to-peer streaming: an hierarchical approach
DESCRIPTION
Peer-to-Peer Streaming: An Hierarchical Approach. Duc A. Tran (with Kien A. Hua and Tai T. Do) Data Systems Group (UCF). Roadmap. What is P2P? Why P2P Streaming? Problem Statement Solution: ZIGZAG Performance Study Future Work. What is P2P?. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/1.jpg)
Peer-to-Peer Streaming: An Hierarchical Approach
Duc A. Tran(with Kien A. Hua and Tai T. Do)
Data Systems Group (UCF)
![Page 2: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/2.jpg)
Roadmap
What is P2P? Why P2P Streaming? Problem Statement Solution: ZIGZAG Performance Study Future Work
![Page 3: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/3.jpg)
What is P2P?
The sharing of computer resources and services by direct exchange between systems:– exchange of information, processing cycles,
cache storage, and disk storage for files. P2P uses existing desktop computing power
and networking connectivity,– allowing economical clients to leverage their
collective power to benefit the entire enterprise
![Page 4: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/4.jpg)
P2P Streaming
Sharing of network bandwidth Streaming: The user plays the data as as it
arrives. Consider a new user A:
– If A is the first user, A gets the stream from the central site
– Else, A can get the stream from the central site or a set of users who have already been receiving the stream
![Page 5: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/5.jpg)
Why P2P Streaming?
source
Oh, I am exhausted!
Client/server approach P2P approach
![Page 6: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/6.jpg)
Problem Statement
Live media streaming
Scalability
Low Overhead
High Liveness
Robustness
![Page 7: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/7.jpg)
Goal 1: High Liveness
source
Don’t make me a bottleneck!
Is it too far?
new
I want to join fast
![Page 8: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/8.jpg)
Goal 2: Robustness
sourceThe server is already busy
Too many reconnections!
![Page 9: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/9.jpg)
Goal 3: Low Control Overhead
A peer may have to periodically exchange information with others to maintain its position and connections.
The overhead of this task should be small and independent of the system size
![Page 10: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/10.jpg)
Goal 4: Scalability
When more peers join the system:– Control overhead may be increased– A peer may have to serve more others– The P2P tree may be deeper– A failure may result in many reconnections
Our goal: Minimizing the above effects
![Page 11: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/11.jpg)
Proposed Solution: ZIGZAG
The 4 goals are achieved, especially:– Peer degree: bounded by a constant– Tree height: logarithmic with the system size– Control overhead: bounded by a constant (on average)– Failure recovery: done regionally,
• affecting at most a constant number of peers• mostly no effect on the server
Administrative Organization (AO): A clustering of peers
Multicast tree: Built atop the AO based on C-rules
![Page 12: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/12.jpg)
Administrative Organization
L2
L1
L0
1 2
43
5
6
7
4
S
S
othershead
S: servervice-head
432 S 5 6 78
9 10
11
12 13
14
15 16
17
18 19
20
21 22
23
24
1
25
26
27 28
29
30 31
Cluster size: [k, 3k], Highest-layer cluster: [2, 3k]
(k 4)
![Page 13: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/13.jpg)
Terms
1 2
21
inferior
Foreign head
Foreign inferiorSuper
peer
3 4
Foreign cluster
![Page 14: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/14.jpg)
Connectivity Rules(C-rules)
L2
L1
L0
1 2
43
5
6
7
4
S
S
othershead
S: servervice-head
432 S 5 6 78
9 10
11
12 13
14
15 16
17
18 19
20
21 22
23
24
1
25
26
27 28
29
30 31
(In this example, k = 4)
![Page 15: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/15.jpg)
C-rules
Rule 1: A peer, when not at its highest layer, neither has a link out nor a link in
Rule 2: Non-head members of a cluster must receive the stream from their vice-head
Rule 3: The vice-head of a cluster, except for the server, must receive the stream from a foreign head
![Page 16: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/16.jpg)
P2P Tree
1 2
3
5
6 7
4
S
8
9 10
11
12 13
14
15 16
17
18 19 20
21 22 23
24 25
26
27 2829
30 31
The tree height is at most 2logkN+1
The node degree is at most 6k-3
![Page 17: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/17.jpg)
Control Overhead
A peer exchanges soft-state information with– Its parent– Its children– Its clustermates
The worst-case control overhead is O(klogkN)
The average control overhead is O(k)
![Page 18: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/18.jpg)
Join
The new user sends a request to the server The request is forwarded down the tree until
reaching a vice-head of a layer-0 cluster of size [k, 3k-1]
Goal: to be as close to the server as possible– Among children to forward the request, choose
Y: Addable(Y) and D(Y)+d(Y,new) is min
Max number of contacts: O(klogkN)
![Page 19: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/19.jpg)
Failure Recovery
A node X at layer j is down:– The parent of X removes its link to X– X is vice-head: the layer-j cluster of X needs to
a new vice-head– The children of X need a new parent to get the
stream– i < j: Each layer-i cluster of X needs a new head
since X no longer exists
![Page 20: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/20.jpg)
Peer 3 fails
L2
L1
L0
1 2
43
5
6
7
4
S
S
432 S 5 6 78
9 10
11
12 13
14
15 16
17
18 19
20
21 22
23
24
1
25
26
27 28
29
30 31
othershead
S: servervice-head
![Page 21: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/21.jpg)
Failure Recovery(peer 3 fails)
1 2
45
6
7
4
S
S
42 S 5 6 78
9 10
11
12 13
1415
16
17
18 19
20
21 22
23
24
1
25
26
27 28
29
30 31
15
Max number of reconnections: 6k-2
othershead
S: servervice-head
![Page 22: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/22.jpg)
Cluster Maintenance
As new peers are added to the administrative organization (AO):– A cluster may become oversize => split this
cluster into two smaller clusters As peers are removed from the AO:
– A cluster may become undersize => merge this cluster with another to make a larger cluster
Goal: The conditions of C-rules must be met
![Page 23: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/23.jpg)
Cluster Split
Lj+1
Lj
U U V
Xhead
Xvice
Xhead
Xvice
After SplitBefore Split
X'head
X'vice
Split algorithm: run by the head Xhead
Max number of reconnections: old cluster size + 6k - 1
![Page 24: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/24.jpg)
Cluster Merge
Lj+1
LjU+VU V
XU
YV
XU
YU
After MergenceBefore Mergence
XV
YV
XV
YU Former layer-jchildren of XV
Merge algorithm: run by the head Xhead
Max number of reconnections: old cluster size + 6k - 1
![Page 25: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/25.jpg)
Performance Study
Underlying network: – 10,000 nodes – Generated by GT-ITM Generator
P2P network: – 5000 peers– Up to 2500 failures
k = 5
![Page 26: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/26.jpg)
Peer Degree
ZIGZAG (max=13, stdev=2.648)
0
2
4
6
8
10
12
14
0 1000 2000 3000 4000 5000 6000
Client ID
Deg
ree
![Page 27: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/27.jpg)
Control Overhead
ZIGZAG (avg=12.497, max=48, stdev=4.9933)
0
10
20
30
40
50
60
0 1000 2000 3000 4000 5000 6000
Client ID
Co
ntr
ol O
verh
ead
![Page 28: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/28.jpg)
Failure Overhead
ZIGZAG (avg=1.0976, max=14, stdev=2.3175)
0
2
4
6
8
10
12
14
16
0 500 1000 1500 2000 2500 3000
Failure ID
Fai
lure
Ove
rhea
d
![Page 29: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/29.jpg)
Split Overhead
ZIGZAG (avg=7.56, max=19, #splits=555)
0
2
4
6
8
10
12
14
16
18
20
1
30
59
88
11
7
14
6
17
5
20
4
23
3
26
2
29
1
32
0
34
9
37
8
40
7
43
6
46
5
49
4
52
3
55
2
Split ID
Sp
lit O
verh
ead
![Page 30: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/30.jpg)
Merge Overhead
ZIGZAG (avg=4.912, max=11, stdev=1.0428)
0
2
4
6
8
10
12
1 9
17
25
33
41
49
57
65
73
81
89
97
10
5
11
3
12
1
12
9
13
7
14
5
Merge ID
Mer
ge
Ove
rhea
d
![Page 31: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/31.jpg)
Join Overhead
ZIGZAG (avg=19.322, max=28)
0
5
10
15
20
25
30
1
262
523
784
1045
1306
1567
1828
2089
2350
2611
2872
3133
3394
3655
3916
4177
4438
4699
4960
Join ID
Join
Ove
rhea
d
![Page 32: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/32.jpg)
ZIGZAG versus NICE
NICE: (Banerjee et. al., Sigcomm 2002)– Administrative organization: there is no “vice-head”– P2P tree: head is always the parent of its clustermates
ZIGZAG:– Administrative organization: “head” and “vice-head”– P2P tree: “vice-head” is the parent of its non-head
clustermates
![Page 33: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/33.jpg)
Peer Degree
0
5
10
15
20
25
30
35
40
0.2 0.3 0.4 0.5 0.6 0.7 0.8
Failure probability p
Max
. Deg
ree
Ove
rhea
d
Proposed
NICE
![Page 34: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/34.jpg)
Control Overhead
0
10
20
30
40
50
60
70
80
0.2 0.3 0.4 0.5 0.6 0.7 0.8
Failure probability
Max
. Co
ntr
ol O
verh
ead
Proposed
NICE
![Page 35: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/35.jpg)
Failure Overhead
0
5
10
15
20
25
30
0.2 0.3 0.4 0.5 0.6 0.7 0.8
Failure probability p
Max
. Fai
lure
Ove
rhea
d
Proposed
NICE
![Page 36: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/36.jpg)
Link Stress
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
0.2 0.3 0.4 0.5 0.6 0.7 0.8
Failure probability p
Avg
. Lin
k S
tres
s
Proposed
NICE
![Page 37: Peer-to-Peer Streaming: An Hierarchical Approach](https://reader033.vdocuments.site/reader033/viewer/2022061414/56814c7a550346895db996ff/html5/thumbnails/37.jpg)
Conclusions
A clustering method for the administrative organization
C-rules: A multicast tree construction method Future Work: Multi-send multi-receiver, client
heterogeneity, Zigzag in MANETs?
JOIN FAILURE DEGREE MERGE/SPLIT CONTROL
NICE O(klogkN) O(klogkN) O(klogkN) O(klogkN) O(klogkN)
ZIGZAG O(klogkN) O(k) O(k) O(k) O(klogkN)