370 likes | 512 Views
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?.
E N D
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? • 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
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
Why P2P Streaming? source Oh, I am exhausted! Client/server approach P2P approach
High Liveness Scalability Low Overhead Robustness Problem Statement Live media streaming
Don’t make me a bottleneck! new Is it too far? I want to join fast Goal 1: High Liveness source
Goal 2: Robustness The server is already busy source Too many reconnections!
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
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
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
others S: server vice-head head Administrative Organization S L 4 2 5 S L 4 7 1 3 1 2 6 8 11 S 7 4 29 14 L 3 17 1 2 23 5 6 20 26 0 12 13 30 9 10 15 16 18 19 21 22 24 25 27 28 31 Cluster size: [k, 3k], Highest-layer cluster: [2, 3k] (k 4)
Foreign head Foreign inferior Super peer Foreign cluster inferior Terms 1 2 4 1 2 3
Connectivity Rules(C-rules) (In this example, k = 4)
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
P2P Tree The tree height is at most 2logkN+1 The node degree is at most 6k-3
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)
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)
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
others S: server vice-head head Peer 3 fails S L 4 2 5 S L 4 7 1 3 1 2 6 8 11 S 7 4 29 14 L 3 17 1 2 23 5 6 20 26 0 12 13 30 9 10 15 16 18 19 21 22 24 25 27 28 31
others S: server vice-head head Failure Recovery(peer 3 fails) Max number of reconnections: 6k-2
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
Cluster Split Split algorithm: run by the head Xhead Max number of reconnections: old cluster size + 6k - 1
Cluster Merge Merge algorithm: run by the head Xhead Max number of reconnections: old cluster size + 6k - 1
Performance Study • Underlying network: • 10,000 nodes • Generated by GT-ITM Generator • P2P network: • 5000 peers • Up to 2500 failures • k = 5
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
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?