47
Resilient Peer-to-Peer Streaming Venkat Padmanabhan Microsoft Research March 2003

Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Resilient Peer-to-Peer Streaming

Venkat PadmanabhanMicrosoft Research

March 2003

Page 2: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Collaborators and Contributors

• Joint work with– Phil Chou– Helen Wang

• Acknowledgements– Kay Sripanidkulchai (former intern from CMU)– Steve Zabinsky

Page 3: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Outline

• Motivation and Challenges• CoopNet approach to resilience:

– Path diversity: multiple distribution trees– Data redundancy: multiple description coding

• Performance evaluation• Layered MDC & Congestion Control• Related work• Summary and ongoing work

Page 4: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Motivation

• Problem: support “live” streaming to a potentially large and highly dynamic population

• Motivating scenario: flash crowds– often due to an event of widespread interest…– … but not always (e.g., Webcast of a birthday party)– can affect relatively obscure sites (e.g., www.cricket.org)

• site becomes unreachable precisely when it is popular!

• Streaming server can quickly be overwhelmed– network bandwidth is the bottleneck

Page 5: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Solution Alternatives

• IP multicast:– works well in islands (e.g., corporate intranets)– hindered by limited availability at the inter-domain

level• Infrastructure-based CDNs (e.g., Akamai, RBN)

– well-engineered network ⇒ good performance– but may be too expensive, even for the big sites

• (e.g., CNN [LeFebvre 2002])– uninteresting for CDN to support small sites

• Goal: solve the flash crowd problem without requiring new infrastructure!

Page 6: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Cooperative Networking (CoopNet)

• Peer-to-peer streaming– clients serve content to other clients

• Not a new idea– much research on application-level multicast (ALMI, ESM,

Scattercast)– some start-ups too (Allcast, vTrails)

• Main advantage: self-scaling– aggregate system bandwidth grows with demand

• Main disadvantage: hard to provide “guarantees”– P2P is not a replacement for infrastructure-based CDNs– but how can we improve the resilience of P2P streaming?

Page 7: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Challenges

• Unreliable peers– peers are far from being dedicated servers– disconnections, crashes, reboots, etc.

• Constrained and asymmetric bandwidth– last hop is often the bottleneck in “real-world” peers– median broadband bandwidth: 900 Kbps/212 Kbps

(PeerMetric study: Lakshminarayanan & Padmanabhan)– congestion due to competing applications

• Reluctant users– some ISPs charge based on usage

• Others issues:– NATs: IETF STUN offers hope– Security: content integrity, privacy, DRM

Page 8: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

CoopNet Design Choices

• Place minimal demands on the peers– peer participates and forwards traffic only for as

long as it is interested in the content– peer contributes only as much upstream

bandwidth as it consumes downstream– natural incentive structure

• enforcement is a hard problem!• Resilience through redundancy

– redundancy in network paths– redundancy in data

Page 9: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Outline

• Motivation and Challenges• CoopNet approach to resilience:

– Path diversity: multiple distribution trees– Data redundancy: multiple description coding

• Performance evaluation• Layered MDC & Congestion Control• Related work• Summary and ongoing work

Page 10: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Traditional Application-level Multicast

Vulnerable to node departures and failures

Page 11: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

CoopNet Approach to Resilience

• Add redundancy in data…– multiple description coding (MDC)

• … and in network paths– multiple, diverse distribution trees

Page 12: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Multiple Description Coding

• Unlike layered coding, there isn’t an ordering of the descriptions• Every subset of descriptions must be decodable• So better suited for today’s best-effort Internet• Modest penalty relative to layered coding

MDC Layered coding

Page 13: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Multiple, Diverse Distribution Trees

Tree diversity provides robustness to node failures.

Page 14: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Outline

• Motivation and Challenges• CoopNet approach to resilience:

– Path diversity: multiple distribution trees– Data redundancy: multiple description coding

• Performance evaluation• Layered MDC & Congestion Control• Related work• Summary and ongoing work

Page 15: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Tree Management Goals

• Traditional ALM goals– efficiency

• make tree structure match the underlying network topology• mimic IP multicast?• optimize over time

– scalability• avoid hot spots by distributing the load

– speed• quick joins and leaves

• But how appropriate are these for CoopNet?– unreliable peers, high churn rate– failures likely due to peers nodes or their last-mile– resilience is the key issue

Page 16: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Tree Management Goals (contd.)

• Additional goals for CoopNet:– shortness

• fewer ancestors ⇒ less prone to failure– diversity

• different ancestors in each tree ⇒ robustness• Some of the goals may be mutually conflicting

– shortness vs. efficiency– diversity vs. efficiency– speed vs. scalability

• Our goal is resilience– so we focus on shortness, diversity, and speed– we sacrifice a little on self-scaling– efficiency is a secondary goal

Page 17: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

S

Supernode

SeattleNew York

Redmond

Shortness, Diversity & Efficiency

Mimicking IP multicast is not the goal

Page 18: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

CoopNet Approach

Centralized protocol anchored at the server (akin to the Napster architecture)

• Nodes inform the server when they join and leave– they indicate available bandwidth, delay coordinates

• Server maintains the trees• Nodes monitor loss rate on each tree and seek new

parent(s) when it gets too high– single mechanism to handle packet loss and ungraceful

leaves

Page 19: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Pros and Cons

• Advantages:– availability of resourceful server simplifies protocol– quick joins/leaves: 1-2 network round-trips

• Disadvantages:– single point of failure

• but server is source of data anyway– not self-scaling

• but still self-scaling with respect to bandwidth• tree manager can keep up with ~100 joins/leaves per second

on a 1.7 GHz P4 box (untuned implementation)• tree manager can be scaled up using a server cluster

– CPU is the bottleneck

Page 20: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Randomized Tree Construction

Simple motivation: randomize to achieve diversity!• Join processing:

– server searches through each tree to find the highest klevels with room

• need to balance shortness and diversity• k is usually small (1 or 2)

– it randomly picks a parent from among these nodes– informs parents & new node

• Leave processing:– find new parent for each orphan node– orphan’s subtree migrates with it

• Reported in our NOSSDAV ’02 paper

Page 21: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Why is this suboptimal?

R

1 2

3 4

5 6

R

1 2

4 3

5 6

• We ask nodes to contribute only as much bandwidth as they consume

• So T trees ⇒ each node can support at most T children in total

• Q: how should a node’s out-degree be distributed?

• Randomized tree construction tends to distribute the out-degree randomly

• This results in deep trees that not very bushy

Page 22: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Deterministic Tree Construction

• Motivated by SplitStream work [Castro ‘03]– a node need be an interior node in just one tree– their motivation: bound outgoing bandwidth requirement– our motivation: shortness!

• Fertile nodes and sterile nodes– every node is fertile in one and only one tree– deterministically pick fertile tree for a node– deterministically pick parent at the highest level with room– may need to “migrate” fertile nodes between trees

• Diversity– set of ancestors are guaranteed to be disjoint– unclear how much it helps when multiple failures are likely

Page 23: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Randomized vs. Deterministic Construction

R

1 2

3 4

5 6

R R

11 2

4 3

5 6

2 4

3

5 6

R

2

1 3

4

5 6

(a) Randomized construction

(b) Deterministic construction

Page 24: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Outline

• Motivation and Challenges• CoopNet approach to resilience:

– Path diversity: multiple distribution trees– Data redundancy: multiple description coding

• Performance evaluation• Layered MDC & Congestion Control• Related work• Summary and ongoing work

Page 25: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Multiple Description Coding

• Key point: independent descriptions– no ordering of the descriptions– any subset should be decodable

• Old idea dating back to the 1970s– e.g., “voice splitting” work at Bell Labs

• A simple MDC scheme for video– every Mth frame forms a description– makes inter-frame coding less efficient

• Can do better– e.g., Puri & Ramchandran ’99, Mohr ‘00

Page 26: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Bits

Dis

tort

i on

… ..

R0 R 1 R2 R3 RM-1 RM

D(R0)

D(R1)

D(R 2)

D(RM

)

Packet 1

Packet 2

Packet 3

Packet 4

Packet M

( M, 1

)

( M, 2

)( M

, 3)

( M,M

)

code

RS

…Embedded bit stream

Multiple Description Coding

Rate-distortion Curve

GOFn

GOFn+1

GOFn-1

GOFn+2

GOFn-2

• MDC using FEC– Puri & Ramchandran ‘99

• Combine: – layered coding – Reed-Solomon coding – priority encoded

transmission – optimized bit allocation

• Easy to generate if the input stream is layered

• M = R*G/P• Adapt rate-points based

on loss distribution

Page 27: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Scalable Feedback

• Optimize rate points based on loss distribution– source needs to know p(m) distribution– individual reports from each node might overwhelm the

source• Scalable feedback

– a small number of trees are designated to carry feedback– each node maintains a local h(m) histogram– the node adds up histograms received from its children… – …and periodically passes on the composite histogram for

the subtree to its parent– the root (source) then computes p(m) for the entire group

Page 28: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Scalable Feedback

N……316

0110Count# Desc

Record at Node N

# descriptions

# clients

# descriptions

# clients

Description #

# of C

lients

Report

ReportReport

Page 29: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Outline

• Motivation and Challenges• CoopNet approach to resilience:

– Path diversity: multiple distribution trees– Data redundancy: multiple description coding

• Performance evaluation• Layered MDC & Congestion Control• Related work• Summary and ongoing work

Page 30: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Flash Crowd Traces

• MSNBC streaming logs from Sep 11, 2001– join time and session duration– assumption: session termination ⇒ node stops participating

• Live streaming: 100 Kbps Windows Media Stream– up to ~18,000 simultaneous clients– ~180 joins/leaves per second on average – peak rate of ~1000 per second– ~70% of clients tuned in for less than a minute

• high churn possibly because of flash crowd congestion

Page 31: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Flash Crowd Dynamics

911 Trace: Number of Clients Vs. Time

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

0 200 400 600 800 1000 1200 1400 1600 1800

Time (Second)

# of

Nod

es

Page 32: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Simulation Parameters

Server bandwidth: 20 MbpsPeer bandwidth: 160 KbpsStream bandwidth: 160 KbpsPacket size: 1250 bytesGOF duration: 1 second# desciptions: 16# trees: 1, 2, 4, 8, 16Repair interval: 1, 5, 10 seconds

Page 33: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Video Data

• We don’t have the actual MSNBC video content • Standard MPEG test sequences (10 seconds each)• QCIF (176x144), 10 frames per second

Akiyo Foreman Stefan

Page 34: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Questions

• Benefits of multiple, diverse trees• Randomized vs. deterministic tree construction• Variation across the 3 video clips• MDC vs. pure FEC• Redundancy introduced by MDC• Impact of repair time• Impact of network packet loss

• What does it look like?

Page 35: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Impact of Number of Trees

5

10

15

20

25

30

35

0 250 500 750 1000 1250 1500

Time (Second)

PS

NR

(d

B)

16 Trees

8 Trees

4 Trees

2 Trees

1 Tree

Multiple, diverse trees help significantly.Much of the benefit is achieved with 8 trees.

Page 36: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Impact of Number of Trees

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

5 10 15 20 25 30

PSNR (dB)

Pdf

16 Trees

8 Trees

4 Trees

2 Trees

1 Tree

Page 37: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Randomized vs. Deterministic Tree Construction

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0 5 10 15 20 25 30 35

PSNR (dB)

PD

F

DeterministicRandomized

Deterministic algorithm results in shorter trees that are less prone to disruption

Page 38: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Comparison of Video Clips

PSNR Comparison for 3 MPEG Test Sequence Video Clips

5

10

15

20

25

30

35

0 200 400 600 800 1000 1200 1400 1600

Time (Seconds)

PS

NR

(dB

)

Akiyo-8 Trees

Foreman-8 Trees

Stefan-8 Trees

Akiyo-1Tree

Foreman-1 Tree

Stefan-1 Tree

Clips with high motion suffer worse quality. But CoopNet helps in all cases.

Page 39: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

MDC vs. Pure FECMDC vs. FEC vs. Single Tree

0

5

10

15

20

25

30

35

0 500 1000 1500Time (Seconds)

MDC (8 trees) FEC (8 trees) No redundancy (1 tree)

MDC is better able to adapt to a wide spatial distribution in packet loss than pure FEC.

Page 40: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Redundancy vs. Tree Failure Rate

1

1.2

1.4

1.6

1.8

2

2.2

2.4

2.6

2.8

0 5 10 15 20Tree Failure Rate (%)

Red

un

dan

cy F

acto

r

1 Tree2 Trees4 Trees8 Trees16 Trees

Amount of redundancy decreases with more trees because loss of many descriptions becomes less likely

Page 41: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

What it looks like

Single-tree Distribution CoopNet Distribution with FEC (8 trees)

CoopNet Distribution with MDC (8 trees)

Page 42: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Outline

• Motivation and Challenges• CoopNet approach to resilience:

– Path diversity: multiple distribution trees– Data redundancy: multiple description coding

• Performance evaluation• Layered MDC & Congestion Control• Related work• Summary and ongoing work

Page 43: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Heterogeneity & Congestion Control

• Motivated by RLM [McCanne ’96] • Layered MDC

– base layer descriptions and enhancement layer descriptions– forthcoming paper at Packet Video 2003

• Congestion response depends on location of problem• Key questions:

– how to tell where congestion is happening?– how to pick children to shed?– how to pick parents to shed?

• Tree diversity + layered MDC can help– infer location of congestion from loss distribution– parent-driven dropping: shed enhancement-layer children– child-driven dropping: shed enhancement-layer parent in

sterile tree

Page 44: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Related Work

• Application-level multicast – ALMI [Pendarakis ’01], Narada [Chu ’00], Scattercast

[Chawathe’00]• small-scale, highly optimized

– Bayeux [Zhuang ’01], Scribe [Castro ’02]• P2P DHT-based• nodes may have to forward traffic they are not interested in• performance under high rate of node churn?

– SplitStream [Castro ’03]• layered on top of Scribe• interior node in exactly one tree ⇒ bounded bandwidth usage

• Infrastructure-based CDNs– Akamai, Real Broadcast Network, Yahoo Platinum– well-engineered network but for a price

• P2P CDNs– Allcast, vTrails

Page 45: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Related Work (Contd.)

• Coding and multi-path content delivery– Digital Fountain [Byers ‘98]

• focus on file transfers• repeated transmissions not suitable for live streaming

– Parallel downloads [Byers ’02]• take advantage of lateral bandwidth• focus on speed rather than resilience

– MDC for on-demand streaming in CDNs[Apostolopoulos ’02]

• what if last-mile to the client is the bottleneck?– Integrated source coding & congestion control

[Lee ’00]

Page 46: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Summary

• P2P streaming is attractive because it has the potential of being self-scaling

• Resilience to peer failures, departures, disconnections is a key concern

• CoopNet approach: – minimal demands placed on the peers– redundancy for resilience

• multiple, diverse distribution trees• multiple description coding

Page 47: Resilient Peer-to-Peer Streaming · 2018-01-04 · Cooperative Networking (CoopNet) • Peer-to-peer streaming – clients serve content to other clients •N aae ntdw ioe – much

Ongoing and Future Work

• Layered MDC• Congestion control framework• On-demand streaming

• More info: research.microsoft.com/projects/coopnet/

• Includes papers on:– case for P2P streaming: NOSSDAV ’02– layered MDC: Packet Video ’03– resilient P2P streaming: MSR Tech. Report– P2P Web content distribution: IPTPS ‘02