210 likes | 383 Views
Nazanin Magharei, Reza Rejaie University of Oregon INFOCOM 2007. PRIME: P2P Receiver-drIven MEsh based Streaming. Outlines. Introduction Mesh-based P2P Streaming PRIME Content Delivery Packet Scheduling Performance Evaluation Conclusion.
E N D
Nazanin Magharei, Reza Rejaie University of Oregon INFOCOM 2007 PRIME: P2P Receiver-drIven MEsh based Streaming
Outlines • Introduction • Mesh-based P2P Streaming • PRIME • Content Delivery • Packet Scheduling • Performance Evaluation • Conclusion
One-to-many “streaming” of live multimedia content over the Internet is very popular, e.g. IPTV P2P overlays offer a promising approach for scalable streaming of live content over the Internet Goal: Maximizing delivered quality to individual peers in a scalable fashion Challenges: Bandwidth heterogeneity & asymmetry, churn A common approach is to push sub-streams of content through multiple trees => limited scalability Pull content delivery is a promising alternative Can we design a pull-based content delivery for live P2P streaming that scales with the no of peers? Introduction
Mesh-based P2P Streaming • Overlay Construction: Peers form a randomly connected mesh • Content Delivery: periodically push reporting by parents + pull requesting (swarming) by child peers • Key component: a packet scheduling mechanism at each peer determines which packets should be pulled from each parent • File swarming mechanisms (e.g. BitTorrent) leverages the availability of the entire file & the elastic nature of the content • Distribute pieces of a file among different peers • Peers exchange (swarm) their available pieces with each other • Most peers contribute their outgoing bandwidth scalable • How can swarming be incorporated into live P2P streaming?
Mesh-based P2P Streaming • Incorporating a swarming content delivery into live P2P streaming is challenging because: • Swarming does not accommodate in-time requirement of “streaming” content delivery • Live streaming provides limited amount of content for effective swarming • Status of existing mesh-based approaches: • A couple of mesh-based P2P streaming mechanisms have been presented, e.g. CoolStreaming, ChainSaw • Various extensions of BitTorrent that incorporate timing • Few systems that claim to do this
Examines how swarming content delivery can be incorporated into live P2P streaming Explores fundamental design tradeoffs between overlay connectivity, peer population, packet scheduling, buffer requirement at each peer, ... Presents a methodology to identify performance bottlenecks Using a new mesh-based P2P mechanism, called PRIME Our focus is on live streaming This paper
Parents progressively report their available content Packet scheduling mechanism at each peer periodically (invoked once per D sec) determines packets to be pulled from each parent All connections are congestion controlled (RAP or TFRC) To accommodate bandwidth heterogeneity, content is MDC encoded Live source generates a new segment of length D once every D sec segment: packets of all descriptions with timestamps within [t1,t1+D] Peers delay their playout time by w*D sec behind source to accommodate swarming each peer buffer at least w*D sec worth of content What is the proper packet scheduling mechanism to maximize delivered quality and minimize buffer requirement at individual peers? Swarming Content delivery tp=130sec Source tp=100sec tp=100sec 5 2 4 1 tp=100sec tp=100sec 6 3 tp=100sec tp=100sec w*D = 30 sec
Goal: each peer expects to receive maximum deliverable quality through its access link Two possible performance bottlenecks that may limit the delivered quality to each peer Bandwidth bottleneck: Insufficient aggregate bandwidth from all parents Content bottleneck: Insufficient useful content from all parents How to decouple bandwidth and content bottleneck? At each packet transmission time, if there is no outstanding requested packet to send, parents send a marked packet with the same size as data packet How can we minimize these bottlenecks? Performance bottlenecks p2 p1 p3 Incoming Access-link c
Prior studies often assumed a fix peer degree Bandwidth bottleneck only depends on overlay topology Incoming/outgoing bandwidth & degree of participating peers Avg. BW for a connection between parent p and child c: MIN (outbwp/outdegp, inbwc/indegc) BW-Degree Condition: for any peer i, j ; outbwi/outdegi = inbwj/indegj= bwpf All connections in the overlay have roughly the same average bandwidth This leads to a high BW utilization for all participating peers especially in heterogeneous scenarios What is a good ratio of bandwidth to degree? Addressing bandwidth bottleneck Performance bottleneck outdegp p indegc c
Content bottleneck depends on both overlay topology & content delivery data unit = bwpf* D Each parent peer should have at least one useful data unit per interval D for each one of its child peer to avoid content bottleneck The availability of new data units at each parent peer is determined by global pattern of content delivery Global pattern depends on the collective behavior of packet schedulingmechanisms at individual peers What global pattern of delivery minimizes content bottleneck among peers? What packet scheduling leads to the desired global pattern? Addressing content bottleneck Performance bottleneck
Organized View: Group peers into levels based on their shortest distance from source The pattern of delivery for a segment that minimizes content bottleneck has 2 phases: Diffusion phase: All participating peers should receive a data unitof the segment as fast as possible Swarming phase: Peers can exchange (swarm) their data unitswith each other until they receive their desired quality of the segment Global pattern of content delivery Addressing content bottleneck SRC Level 1 1 3 2 Level 2 4 6 5 7 Level 3 10 12 8 13 9 11
Source 1 3 2 4 6 5 7 10 12 8 13 9 11 Diffusion phase of a segment Fastest time for pulling all data unitsof a segment from source to the lowest level = depth*D sec All peers in a subtree rooted at a peer in level 1 receive the same data unit in a diffusion phase - diffusion subtree The number of diffusion subtrees is equal to the source degree Global pattern of content delivery
Only swarming parents on different diffusion subtrees can rapidly provide a new data unit Swarming phase at individual peers may take one or more intervals depending on the location of their swarming parents How many intervals is sufficient for swarming? Kmin = minimum # of swarming intervals for which 90% of peers quality > 90% Total number of intervals for delivery of asegment (wmin ) = diffusion intervals (depth) + swarming intervals (Kmin ) Swarming phase of a segment Global pattern of content delivery [t0+2D,t0+3D ] [t0+3D,t0+4D] 1 2 3 4 6 7 5
The collective behavior of packet scheduling in individual peers leads to the desired global pattern of content delivery Should identify timestamp, then parent and description for each packet New packets from diffusion parent(s) Playing packets from swarming parents Swarming packets from swarming parents Packet scheduling Addressing content bottleneck Swarming win. Playing win. New win. Target quality tp Source’s playout time tmax-last tmax D w
Using ns2 simulatorto properly examine the effect of packet level dynamics and packet loss Use BRITE topology generator with 10 AS and 10 routers in each AS RED queue management on all routers Bandwidth bottlenecks are at the edge Use RAP as a congestion control mechanism Encoded streams with MDC with 160 kbps BW/decs BW-Degree condition is enforced in all simulations D is set to 6 sec Two scenarios: 200 peers with homogeneous and symmetric bandwidth: scenario 700: peers’ access link BW: 700 kbps, max. quality: 5 descriptions scenario 1.5: peers’ access link BW: 1.5 Mbps, max. quality: 10 descriptions Focus on the behavior of the system in steady state Performance Evaluation
w = depth + 3 , Kmin is fixed across different degrees A sweet range of peer degrees to achieve good performance Low degree: limited diversity of available content leads to content bottleneck does not depend on peer’s BW High degree: high loss rate leads to content bottleneck depends on bwpf thus peer BW What is a proper peer degree? % of population with quality > 90% Degree
depth slowly decreases independent of peer’s bandwidth By increasing degree from 4 to 6, Kminreaches to its minimum value of 3 Further increase in peer degree increases Kmin Duration of each phase Kmin Depth Degree
Average path length decreases with peer degree due to the decrease in depth Distribution of path length becomes more homogeneous due to the increase in diversity among parents Lost packets are requested from the same swarming parent Pattern of content delivery 700 kbps scenario CDF Avg. hop count
How are the delivered quality and buffer requirements for high bandwidth peers affected by the presence of low BW peers? None of the following factors has a significant effect on performance Degree of BW heterogeneity Fraction of high bandwidth peers Location of high bandwidth peers Bandwidth heterogeneity
How does the buffer requirement at each peer (w) change with peer population? depth gradually increases by peer population Swarming intervals (Kmin) does not change with peer population since the number of diffusion subtrees is fixed wmin gradually increases with population scalability Peer population BW = 700 kbps Degree = 6 Interval Peer population
Presented PRIME, a new protocol for live P2P mesh-based streaming of live content Illustrated several key design tradeoffs in incorporating swarming Ongoing Work: Systematic evaluations of packet scheduling mechanisms Dynamic addition of resources to offer QoS Distributed, uncoordinated P2P video caching Conclusion