Lect6-P2P-streaming-Amit

Download Report

Transcript Lect6-P2P-streaming-Amit

P2P Streaming
Amit Lichtenberg
Based on:
- Hui Zhang , Opportunities and Challenges of Peer-to-Peer Internet Video Broadcast,
http://esm.cs.cmu.edu/technology/papers/Hui-P2PBroadcastr.pdf
- Yong Liu · Yang Guo · Chao Liang, A survey on peer-to-peer video streaming systems,
Peer-to-Peer Netw Appl (2008) 1:18–28
http://www.springerlink.com/index/C62114G6G4863T32.pdf
1
What is Video Streaming?
Source video (TV, sports, concerts, distance education)
available at some server.
 Users wish to watch video

◦
◦
◦
◦

Real-time (?)
Simultaneously (?)
High quality
Over the internet (for free)
Many users
◦ AOL: Live 8 concert (2005) – 175,000 viewers
◦ CBS: NCAA tournament (2006) – 268,000 viewers
2
What is Video Streaming? (cont)

Problem:
◦ Minimum video bandwidth: 400 Kbps
◦ X viewers
◦ Required server/network bandwidth:
400X Kbps
◦ CBS/NCAA (270K viewers) needs ~100Gbps
server/network bandwidth
◦ Infeasible!
3
Agenda


Approaches for Live Video Streaming
P2P live video broadcast
◦ Difference from other P2P applications
◦ Overlay design issues and approaches
 Tree based
 Data driven / Mesh based
◦ Challenges and open issues
◦ Deployment status

As time permits: P2P VOD streaming
◦ Similar, but yet different
4
Internet Multicast Architectures

Terminology
◦ Broadcast: send data to everyone
◦ Multicast: send data to a subgroup of users
◦ We will use both interchangeably, although generally mean
the latter.

Where to implement?
◦ Network Layer (IP)?
 Efficient
 Costly
◦ Application Layer?
 Cheap
 Efficiency?
5
IP Multicast



Implemented at Network Layer (IP)
Introduce open, dynamic IP groups
Easiest at network level! (knows network
topology the best)

Problems:
◦ Hurts routers’ “stateless” architecture
◦ Scaling, complexity
◦ Only best effort – not sure how to use it from
TCP point of view
◦ Need to replace infrastructure – no incentives
6
Non-routers Based Architectures
reases bandwidth
mands significantly

Move multicast functionality to endsystems (application level)
◦ Penalties: package duplication, latency
◦ Objective: bring penalties to a minimum

Infrastructure-centric architecture
◦ CDN (Content Distribution Centers)

P2P architectures
7
P2P Streaming
How do you feel
about low upload cap
and high down cap?

Motivation: addition of new users requires
more download bw, but also contributes
some more upload bw - Scalability

However, users come and go at will
◦ Key: function, scale and self-organize in a
highly dynamic environment
8
P2P Streaming vs.
Other P2P Application

Single, dedicated, known source
◦ NBC

Large scale
◦ Tens, sometimes hundreds of thousands of simultaneous viewers

Performance-Demanding
◦ >100’s of Kbps

Real Time
◦ Timely and continuously streaming

Quality
◦ Can be adjusted according to demands and bandwidth resources
◦ Nevertheless, minimal (high) quality is a must
9
Design Issues

Organize the users into an overlay for
disseminating the video stream:
◦ Efficiency
 high bandwidth, low latencies
 Can tolerate a startup delay of a few seconds
◦ Scalability, Load Balancing
◦ Self-Organizing
◦ Per-node bandwidth constrains
 Quality of received video
 Amount of required bw
◦ System considerations (Later on…)
10
Approaches for Overlay
Construction

Many approaches, basically divided into 2
classes:
◦ Tree based
◦ Data driven / Mesh based
11
Tree Based Overlay
Organize peers into a tight predefined
structure (usually a tree).
 Packets sent down the tree from parent
to children.
 Push based – always send (push) received
data to descendents
 Optimize the structure
 Take care of nodes joining and leaving

12
Example Tree-Based Approach: ESM
End System Multicast (*)
 Construct a tree rooted at source
 Packages transmitted down the tree from
parent to children
 Self-organizing, performance-aware,
distributed


(*) Y.-H. Chu, S. G.Rao, and H. Zhang, “A case for end system multicast”, in Proc. ACM
SIGMETRICS’00, June 2000.
13
ESM: Group Management


Each node maintains info about a small
random subset of members + info about
path from source to itself.
New node:
◦ contact the server, ask for a random list of
members
◦ Select one of them as parent (how?)

Gossip-like protocol to learn more
◦ Node A picks a random node B and shares his
info to him.

Timestamps
14
ESM: Membership Dynamics

When a node leave:
◦ Graceful leaving: continue forwarding data for
a short period to allow adjustment
◦ Door slamming: detected via timestamps
◦ Members send control packets to indicate
liveness
15
ESM: Adaptation
Maintain throughput info for timeframe
 If throughput << source rate, select a new
parent.
 DT: Detection Time

◦ How long should a node wait before
abandoning parent?
◦ Default DT = 5 seconds
 Effected by TCP/TFRC congestion control (slowstart)
◦ May need to adjust during runtime
16
ESM: Parent Selection
Node A joins broadcast / replaces parent
 A chooses and examines a random subset
of known members

◦ Prefer unexamined / low delay members

Node B answers:
◦ Current performance (throughput)
◦ Degree-saturated or not
◦ Descendant of A or not

Enables RTT from A to B
17
ESM: Parent Selection (cont)
Wait timeout: ~1 second
 Eliminate saturated and descendent
nodes.

◦ Static degree per node
Evaluate performance (throughput, delay)
for each B
 Switch to B if the potential throughput is
better, or the same but delay is smaller.

◦ Helps cluster close nodes
18
ESM Tree - example
19
ESM Tree - example
20
ESM Tree - example
21
Tree Based Overlay –
Problems
Node leaves -> disrupt delivery to all of
its descendents
 Majority (~n/2) of nodes are leaves, and
their outgoing bw is not being utilized
 Introduce: Multi-trees

22
Multi-Trees

At source:
◦ encode stream into sub-streams
◦ Distribute each along a different tree

At receiver:
◦ Quality ≈ # received sub-streams
23
Multi-Tree: Example
S – source rate
Server: distributes a stream rate of S/2 over each tree
Each peer: receives S/2 from each tree.
Peer 0: donates its upload BW at the left subtree, and is a leaf at the right
24
Multi-Tree + & 
Advantages:
◦ A node not completely disrupted by the failure of
an ancestor
◦ The potential bw of all nodes can be utilized, as
long as each node is not a leaf in at least one
subtree.

Disadvantages:
◦ Requires special encoding/decoding at
server/user
◦ Code must enable degraded quality when
received from only a subset of trees
◦ Currently uncommon
25
Data Driven / Mesh based Overlay
Do not construct and maintain an explicit
structure for data delivery
 Use the availability of data to guide the
data flow

◦ Similar to BitTorrent techniques

Nodes form “meshes” of partners in
which they exchange data
26
Data Driven overlay:
Naïve Approach

Use a “gossip algorithm”
◦ Each node selects a random group of
members and sends all the data to them.
◦ Other nodes continue the same way
Push based: push all available data
onwards
 Problems:

◦ Redundant data
◦ Startup, transmission delay
27
Data Driven overlay:
Pull Based
Nodes maintain a set of partners and
periodically exchange data availability info.
 A node may retrieve (“pull”) data from
partners.
 Crucial difference from BitTorrent:

◦ Segments must be obtained before
playback deadline!
28
Example Data-Driven Approach:
CoolStreaming (*)

CoolStreaming node:
◦ Membership Manager:
 Help maintain a partial view of other nodes
◦ Partnership Manager:
 Establish and maintain partnership with other nodes
◦ Scheduler:
 Schedule the transmission of video data

(*) X. Zhang, J. Liu, B. Li and T.-S. P.Yum, “DONet/CoolStreaming: A data-driven overlay network
for live media streaming”, in Proc. INFOCOM’05, Miami, FL, USA, March 2005.
29
CoolStreaming: Group and Partner
Management

New node:
◦ Contact server to obtain a set of partner
candidates.
Maintain a partial subset of other
participants.
 Employs SCAM

◦ Scalable Gossip Membership Protocol
◦ Scalable, light weight, uniform partial view
30
CoolStreaming: overlay
No formal structure!
 Video stream divided into segments
 Nodes hold Buffer Maps (BM)

◦ Availability of each segment
Exchange BMs with partners
 Pull segments from partners as needed

31
CoolStreaming: Scheduling

Goal: timely and continuous segment
delivery
◦ As appose to file download!

Uses a sliding window technique
◦
◦
◦
◦
1 second segment
120 segments per window
BM = bit-string of 120b.
Segments sequence numbers
32
CoolStreaming vs BitTorrent
Buffer Snapshots
BitTorrent
Whole File
CoolStreaming
Sliding window
Playback point
33
CoolStreaming: Scheduling

Need a scheduling algorithm to fetch
segments.
◦ Simple round-robin?

Two constrains:
◦ Playback deadline
 If not, then at least keep # of missing segments at a
minimum
◦ Heterogeneous streaming bandwidth

Parallel Machine Learning problem
◦ NP Hard 

In reality, use some simple heuristics
34
CoolStreaming: Failure Recovery
and Partnership Refinement

Departure (gracefully or crash)
◦ Detected by idle time
◦ Recover: re-schedule using BM info

Periodically establish new partnerships
with local random members
◦ Helps maintain a stable number of partners
◦ Explore partners of better quality
35
CoolStreaming – Buffer Map
example
36
Technical Challenges and Open
Issues

Tree Based vs. Data Driven
◦ Neither completely overcome the challenges
from the dynamic invironment
◦ Data driven: latency-overhead tradeoff.
◦ Tree based: inherited instability, bandwidth underutilization.
◦ Can there be an efficient hybrid?
 Chunkyspread: split stream into segments and send on
separate, not necessarily disjoint trees + neighboring
graph. – simpler tree construction and maintenance +
efficiency.
 More explicit tree-bone approach: use stable nodes to
construct tree base.
37
Technical Challenges and Open
Issues

Incentives and Fairness
◦ Users cooperation
 A small set of nodes are required to donate 10-35
times more upload bw.
 Always act as a leaf in tree construction
◦ Need an incentive mechanism
 Challenging, due to real-time requirement
 Popularity (as in BitTorrent) – not enough
 Short period of time
 Slow download rate -> user will leave
 Tit-fot-tat
 Ineffective: users look after same portion of data.
38
Technical Challenges and Open
Issues

Bandwidth Scarce Regimes
◦ Basic requirement:
 ∑(upload bw) ≥ ∑(received bandwidth)
 Nodes behind DSL/Cable can receive a lot, but cannot
donate much
◦ Introduce Resource Index (RI)
◦ (for particular source rate)
 RI<1: not all participants can receive a full source rate
 RI=1: system is saturated
 RI>1: less constrains, con construct better overlay trees
39
Technical Challenges and Open
Issues

Peer Dynamics and Flash Crowds
◦ Flash crowd: large increase in number of
users joining the broadcast in a short period
of time.
◦ Opposite situation: massive amount of
users leaving the broadcast.
◦ Need to adjust quickly:
 Otherwise, users will leave in first case
 Or lose quality in the second
40
Technical Challenges and Open
Issues

Heterogeneous Receivers
◦ Download bandwidth
 Dial-up vs. DSL
◦ Single bw support isn’t enough
◦ ESM: video is encoded at multiple bitrates and
sent parallel – adjust video quality according
to capabilities.
◦ Requires new coding techniques: Layer coding,
Miller Descriptive coding.
 Not yet deployed in mainstream media players
41
Technical Challenges and Open
Issues

Implementation Issues
◦ NATs, Firewalls
◦ Transport protocol
◦ Startup delay and buffer interaction
 Separate streaming engine and playback engine
42
P2P streaming – Deployment Status

CoolStreaming:
◦ > 50,000 concurrent users, > 25,000 in one
channel at peak times.
◦ In the table:




From 20:26 Mar 10
To 2:14 Mar 14
(GMT)
Total: ~78 hours
43
P2P streaming – Deployment Status
(cont)
Most users reported satisfactory viewing
experience.
 Current internet has enough available BW
to support TV-quality streaming (300-450
Kbps).
 Higher user participation -> even better
statistical results!

44
P2P VOD Streaming

Watch
◦ Any point of video
◦ Any time

More flexibility for user
◦ “Watch whatever you want, whenever you
want!”

Key to IPTV
45
P2P VOD

Large number of users may be watching the
same video
Asynchronous to each other

Tree based overlay: Synchronous!

◦ Receive the content in the order sent by the
server.

Mesh based:
◦ Random order – should arrive before playback
deadline
◦ High throughput
46
Tree Based VOD


Group users into sessions based on arrival
times.
Define a threshold T
◦ Users that arrive close in time and within T
constitute a session

Together with the server, form a multicast
tree
◦ “Base tree”

Server streams the video over the base-tree
◦ As in the P2P live streaming.
47
Tree Based VOD (cont)

New client joins a session (or forms a new
session)
◦ Join base tree, retrieve base stream for it.
◦ Obtain a patch – the initial portion of the video
that it has missed.
 Available at the server or at other users who have
already cached it.
◦ Users provide two services:
 Base stream forwarding
 Patch serving
◦ Users are synchronous in the base tree. The
asynchronous requirement addressed via patches.
48
Tree Based VOD: example
49
Cache and Relay
Buffer a sliding window of video content
around the current point.
 Serve other users whose viewing point is
within the moving window by forwarding
the stream.
 Forms a tree (“cluster”) with different
playback points.

50
Cache and Relay: example
(10 minutes cache)
51
Cache and Relay: example
(10 minutes cache)
52
Tree Problems

Same as P2P streaming
◦ Construct the tree
◦ Maintain it
◦ Handle peer churn

In cache-and-relay
◦ Another constraint about adequate parents
◦ Directory service to locate parents
53