Embed
Email

Resilient Peer-to-Peer Streaming

Document Sample
Resilient Peer-to-Peer Streaming
Shared by: HC111130115927
Categories
Tags
Stats
views:
2
posted:
11/30/2011
language:
English
pages:
47
Resilient Peer-to-Peer Streaming





Venkat Padmanabhan

Microsoft Research





March 2003

Collaborators and Contributors



• MSR Researchers

– Phil Chou

– Helen Wang

• MSR Intern

– Kay Sripanidkulchai (CMU)

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

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

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 big sites

• (e.g., CNN [LeFebvre 2002])

– uninteresting for CDN to support small sites



• Goal: solve the flash crowd problem without

requiring new infrastructure!

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 bandwidth grows with demand

• Main disadvantage: hard to provide “guarantees”

– P2P not a replacement for infrastructure-based CDNs

– but how can we improve the resilience of P2P streaming?

Challenges

• Unreliable peers

– peers are not 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:

– NATs: IETF STUN offers hope

– Security: content integrity, privacy, DRM

CoopNet Design Choices



• Place minimal demands on the peers

– peer participates 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

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

Traditional Application-level Multicast









Traditional ALM falls short: vulnerable to node departures and failures

CoopNet Approach to Resilience



• Add redundancy in data…

– multiple description coding (MDC)

• … and in network paths

– multiple, diverse distribution trees

Multiple Description Coding



MDC Layered 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

Multiple, Diverse Distribution Trees









Minimize and diversify set of ancestors in each tree.

Tree diversity provides robustness to node failures.

Tree Management Goals



• Traditional goals

– efficiency

• close match to 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 for CoopNet?

– unreliable peers, high churn rate

– failures likely due to peers nodes or their last-mile

– resilience is the key issue

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

– quick joins/leaves vs. scalability

• Our goal is resilience

– so we focus on shortness, diversity, and speed

– efficiency is a secondary goal

Shortness, Diversity & Efficiency

Seattle

New York



S









Supernode



Redmond

Mimicking IP multicast

is not the goal

CoopNet Approach



Centralized protocol anchored at the server

(akin to the Napster architecture)



• Nodes inform the server when they join and leave

– 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

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 management can be scaled using a server cluster

– CPU is the bottleneck

Randomized Tree Construction



Simple motivation: randomize to achieve diversity!

• Join processing:

– server searches through each tree to find the highest k

levels with room

• need to balance shortness and diversity

• usually k is 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

Why is this a problem?

• We only ask nodes to contribute as

much bandwidth as they consume

R R

• So T trees  each node can support at

most T children in total

1 2 1 2

• Q: how should a node‟s out-degree be

distributed?

3 4 4 3

• Randomized tree construction tends to

distribute the out-degree randomly

5 6 5 6

• This results in deep trees (not very

bushy)

Deterministic Tree Construction



• Motivated by SplitStream work [Castro et al. „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

– decided deterministically

– 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

Randomized vs. Deterministic

Construction





R R R R



1 2 1 2 1 3 2 4





3 4 4 3 2 4 5 6 1 3 5 6



(b) Deterministic construction

5 6 5 6

(a) Randomized construction

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

– precludes inter-frame coding  inefficient

• We can do much better

– e.g., Puri & Ramachandran ‟99, Mohr et al. „00

Multiple Description Coding



GOF GOF GOF GOF GOF

• Combine: n-2 n-1 n n+1 n+2



– layered coding D (R 0 )

Rate-distortion









Dis tor ti on

– Reed-Solomon coding

D ( R 1)

D (R 2)

Curve

– priority encoded D( R M )



transmission R0 R1 R2 R3 R M-1 RM Bits



– optimized bit allocation Embedded bit stream

… .. …

• Easy to generate if the

input stream is layered … Packet 1



• M = R*G/P

… Packet 2

… Packet 3

… Packet 4











… Packet M









(M, M)

( M,1)



( M,2)

( M,3)









co d e

RS

Adaptative MDC



• Optimize rate points based on loss distribution

– source needs 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

Scalable Feedback

Report









# of Clients

Record at Node N

# Desc Count

0 1

Description #

1 0

… …

N

16 3



Report Report







# clients

# clients









# descriptions # descriptions

System Architecture

GOF n Server

Frame 1 Embedded Stream

Frame 2 Prioritizer RD FEC Packetizer

Frame 3 Curve Optimizer Profile

….. M

M, p(m), descriptions

….. Tree RS Encoder

PacketSize

Frame 10 Manager







Internet





Embedded

Depacketizer Stream DePrioritizer Decoder Render

GOF

m≤ M (truncated)

descriptions

RS Decoder

Client

Flash Crowd Traces



• MSNBC access 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

• possibly because of poor stream quality

Flash Crowd Dynamics



911 Trace: Number of Clients Vs. Time

18000



16000



14000



12000

# of Nodes









10000



8000



6000



4000



2000



0

0 200 400 600 800 1000 1200 1400 1600 1800

Time (Second)

Simulation Parameters



Source bandwidth: 20 Mbps

Peer bandwidth: 160 Kbps

Stream bandwidth: 160 Kbps

Packet size: 1250 bytes

GOF duration: 1 second

# desciptions: 16

# trees: 1, 2, 4, 8, 16

Repair interval: 1, 5, 10 seconds

Video Data









Akiyo Foreman Stefan









Standard MPEG test sequences, each 10 seconds long

QCIF (176x144), 10 frames per second

Questions



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

Impact of Number of Trees



PSNR Vs. Time (Deterministic Algorithm)

35





30





25 16 Trees

PSNR (dB)









8 Trees

20 4 Trees

2 Trees

15 1 Tree





10





5

0 250 500 750 1000 1250 1500

Time (Second)

Impact of Number of Trees



1

0.9

0.8

0.7 16 Trees

0.6 8 Trees

4 Trees

Pdf









0.5

2 Trees

0.4

1 Tree

0.3

0.2

0.1

0

5 10 15 20 25 30

PSNR (dB)

Randomized vs. Deterministic Tree

Construction





0.9

0.8

0.7

0.6

Deterministic

0.5

PDF









Randomized

0.4

0.3

0.2

0.1

0

0 5 10 15 20 25 30 35

PSNR (dB)

Comparison of Video Clips



PSNR Comparison for 3 MPEG Test Sequence Video Clips

35





30



Akiyo-8 Trees

25

Foreman-8 Trees

PSNR (dB)









Stefan-8 Trees

20

Akiyo-1Tree

15 Foreman-1 Tree

Stefan-1 Tree

10





5

0 200 400 600 800 1000 1200 1400 1600

Time (Seconds)

MDC vs. FEC

Redundancy vs. Tree Failure Rate



2.8

1 Tree

2.6 2 Trees

2.4

Redundancy Factor









4 Trees

2.2 8 Trees

2 16 Trees



1.8

1.6

1.4

1.2

1

0 5 10 15 20

Tree Failure Rate (%)

Packet Layout

Impact of Repair Interval





0.9

Impact of Repair Interval

0.8

0.7

0.6 100% Graceful (1 sec)

10% Ungraceful (5 sec)

0.5

PDF









10% Ungraceful (10 sec)

0.4

100% Ungraceful (5 sec)

0.3 100% Ungraceful (10 sec)

0.2

0.1



0

14 16 18 20 22 24 26 28 30 32

PSNR (dB)

Impact of Network Packet Loss



0.9



0.8

Impact of Network Packet Loss



0.7 Loss rate = 0

0.6 Loss rate = 0.1 for 10% of Nodes

Loss rate = 0.01

0.5 Loss rate = 0.1

PDF









0.4



0.3



0.2



0.1



0

12 17 22 27 32

PSNR (dB)

CoopNet in a Flash Crowd









Single-tree Distribution CoopNet Distribution CoopNet Distribution

with FEC (8 trees) with MDC (8 trees)

Heterogeneity & Congestion Control



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

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 but for a price

• P2P CDNs

– Allcast, vTrails

Related Work (Contd.)



• Coding and multi-path content delivery

– Digital Fountain [Byers et al. „98]

• focus on file transfers

• repeated transmissions not suitable for live streaming

– MDC for on-demand streaming in CDNs

[Apostolopoulos et al. ‟02]

• what if last-mile to the client is the bottleneck?

– Integrated source coding & congestion control

[Lee et al. ‟00]

Summary



• P2P streaming is attractive because of self-

scaling property

• 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

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


Related docs
Other docs by HC111130115927
Agency Update: PHMSA
Views: 1  |  Downloads: 0
Slide 1
Views: 0  |  Downloads: 0
Rapid Reference 2008
Views: 2  |  Downloads: 0
DECRETO DEL DIRIGENTE DEL
Views: 2  |  Downloads: 0
VCSF Minutes100609 1
Views: 4  |  Downloads: 0
THE THRONE OF DAVID
Views: 1  |  Downloads: 0
Az Women In Action Conference
Views: 2  |  Downloads: 0
bill
Views: 0  |  Downloads: 0
Moms & Daughters: 5 Peacekeeping Tips
Views: 1  |  Downloads: 0
Sheet1
Views: 0  |  Downloads: 0
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!