21
1 Nazanin Magharei, Reza Rejaie University of Oregon INFOCOM 2007 PRIME: P2P Receiver-drIven MEsh based Streaming

1 Nazanin Magharei, Reza Rejaie University of Oregon INFOCOM 2007 PRIME: P2P Receiver-drIven MEsh based Streaming

Embed Size (px)

Citation preview

1

Nazanin Magharei, Reza RejaieUniversity 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

3

• 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

4

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 otherMost peers contribute their outgoing bandwidth scalable

How can swarming be incorporated into live P2P streaming?

5

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

6

• 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

7

• Parents progressively report their available content• Packet scheduling mechanism at each peer periodically (invoked once per 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 once every sec– segment: packets of all descriptions with timestamps within [t1,t1+]

• Peers delay their playout time by sec behind source to accommodate swarming

– each peer buffer at least sec worth of content

What is the proper packet scheduling mechanism to maximize delivered quality and minimize bufferrequirement at individual peers?

Swarming Content delivery

2

1

3 6

5

4

Source

tp=130sec

tp=100sec

tp=100sec tp=100sec

tp=100sectp=100sec

tp=100sec

= 30 sec

8

• 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

1. Bandwidth bottleneck: Insufficient aggregate bandwidth from all parents2. 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

p3p1

cIncoming Access-link

9

• 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 bottleneckPerformance bottleneck

c

poutdeg

p

indegc

10

• Content bottleneck depends on both overlay topology & content delivery• data unit = bwpf • Each parent peer should have at least one useful data unit per interval 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 scheduling mechanisms at individual peers What global pattern of delivery minimizes content bottleneck among peers?

– What packet scheduling leads to the desired global pattern?

Addressing content bottleneckPerformance bottleneck

11

• 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 unit of the segment as fast as possible– Swarming phase: Peers can exchange (swarm) their data units with each other until they receive their desired quality of the segment

Global pattern of content deliveryAddressing content bottleneck

Level 2

Level 3

Level 121 3

6 754

12 13910

118

SRC

12

• Fastest time for pulling all data units of a segment from source to the lowest level = depth secAll 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

Diffusion phase of a segmentGlobal pattern of content delivery

21 3

6 754

12 13910

118

Source

13

• 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 a segment (min ) = diffusion intervals (depth) + swarming intervals (Kmin )

Swarming phase of a segmentGlobal pattern of content delivery

21 3

6 754

[t0t0+3 ][t0+3,t0+4]

14

• 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

1. New packets from diffusion parent(s)2. Playing packets from swarming parents3. Swarming packets from swarming parents

Packet schedulingAddressing content bottleneck

tp

tmax-last tmax

Playing win.

Swarming win.

New win.

Source’s playout time

Target quality

15

• Using ns2 simulator to 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 • 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

16

• 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?

Degree% o

f p

op

ula

tio

n w

ith

qu

alit

y >

90%

17

• depth slowly decreases independent of peer’s bandwidth • By increasing degree from 4 to 6, Kmin reaches to its minimum value of 3 • Further increase in peer degree increases Kmin

Duration of each phase

Kmin

Degree

Depth

18

• 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

Avg. hop count

CD

F700 kbps scenario

19

• 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

20

• How does the buffer requirement at each peer () 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 min gradually increases with population scalability

Peer population

In

terv

al

Peer population

BW = 700 kbpsDegree = 6

21

• 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