Transcript VOD-P2P
Exploring VoD in P2P Swarming
Systems
By Siddhartha Annapureddy, Saikat Guha, Christos
Gkantsidis, Dinan Gunawardena, Pablo Rodriguez
Presented by Svetlana Geldfeld
P2P Networks
Used in many different applications for large scale content
distribution
Have recently been accepted by digital media companies
as an alternative distribution mechanism
Have recently been proven to be feasible for live media
distribution (CoolStreaming and others)
Still challenges arise when attempting to use the system
for Video-on-Demand
Paper Focus
Analysis of the issues of providing VoD using P2P
Main focus on mesh-based networks
Scheduling techniques and network coding used to
improve efficiency and resources utilization
Feasibility is shown using simulations and a prototype
implementation
Main concern is the feasibility of play-as-you-download
P2P systems
System Requirements
Large scale of video content
distribution
Low startup times and sustainable
playback rates
VoD users can arrive at any point
in time
Multicast Paradigm
Cisco IP Multicast Example
Shortcoming:
Require multicast-enabled infrastructure
Peer-to-Peer Solution
No infrastructure support required
Same scalable distribution solution
Two approaches to building a P2P network:
Tree-based (push)
Mesh-based (pull)
Tree-Based P2P Network
Trees or forests are constructed for data distribution
A peer is either an interior node or a leaf node
All data is forwarded down the structure from a server
(root of a tree) down to a leaf node.
Shortcomings:
System is not fair and tends to quickly get unbalanced
Interior nodes may not have sufficient network capacity
to handle the application.
Mesh-Based P2P Network
Do not enforce fixed structure
Allow peers to exchange random blocks of data
(efficiency)
Have lower protocol overhead
Much easier to design
More resilient to high rates of churn
Proved to be effective and efficient for bulk file
distribution
Proposed System Model
A special peer (server) contains a highly demanded video
content
Users arrive at random points in time
Video content is only provided sequentially from the
beginning (no Fast Forward functionality)
The resources (network bandwidth) are limited
Download and upload capacity of each peer is also
limited with download rate being higher that upload)
Network Model – Main Components
System consists of peers and a tracker
Tracker is responsible for new peer accommodation into
the system
Each peer in the system is connected to a small subset of
active nodes (neighborhood of a peer)
Peers periodically drop and establish connections in an
attempt to increase download rate
Network Model – File Structure
File is divided into a number of segments
Segments are further divided into blocks
Each peer has to download all blocks in order
to view the video segment.
If a block is missing, video pauses.
Experimental Setup
Simulator and a prototype network were created to
a. understand the performance requirements and
b. evaluate effectiveness of proposed algorithms.
Simulator:
a. Models performance factors (access capacities, block
scheduling algorithms, etc);
b. Allows to experiment on large networks.
Implementation:
Allows a more detailed insight into the system operation.
Simulator
Operates in discrete intervals of time (rounds).
Takes as input the size of a video file in blocks and the
number of nodes
Nodes arrive/depart during simulation
Nodes locate their peers at random during each round
All block transfers happen simultaneously
Simulation does not account for network delays, locality
properties, etc.
Implementation
Consists of
a. Peers – active nodes
b. Tracker – enables peer discovery and matching
c. Logger – keeps network statistics
The implementation is only used to study small scale
scenarios.
Main System Description
Terms:
Setup time – the initial
buffering time
Goodput – the sustainable
playback rate.
Throughput – total number
of blocks the node has
exchanged per round
Goal:
Maximise throughput (system efficiency) and
Provide high goodput (playback rates).
Evaluated Algorithms
Naïve Approaches
True P2P (random block exchange)
Sequential block exchange
Segment-random policy:
divides the files into segments and blocks;
exchange is done at random on block level,
but sequentially on segment level.
Rarest client :
Client requests a globally rarest block
Algorithm requires global information
Network Coding
Network coding is a technique where, instead of simply
relaying the packets of information they receive, the
nodes of a network will take several packets and combine
them together for transmission.
In the simulation the coding
a. Is only restricted to segments
b. Prevents the occurrence of rare blocks and ensures that
each block is useful with high probability.
Algorithm Performance Comparison Goodput
Algorithm Performance Comparison Throughput
Network Coding Advantages
Provides greater throughput (about 14% better than
global rarest)
Results in significantly less variance
Provides more predictable download times
Provides greater benefits in such cases as:
a. Dynamic arrivals and departures
b. Heterogeneous network capacities
c. Limited peer network visibility
Scheduling Across Segments
Considerations:
Naïve scheduling reduces throughput
Network coding cannot be used
Proposed approach: Worst Seeded First Algorithm
Similar to traditional rarest-first approaches.
The algorithm is particularly useful for the segments that
are underrepresented in the network.
Worst Seeded First Algorithm
Worst Seeded First Algorithm
Assumption:
The source node has global knowledge of the
segment representation in the network (can be
done either centrally or distributively).
Operation and Effects
Policy heavily relies on a good estimate of segment
representation in the network.
It increases the diversity of segments in the network
The segment that is least well represented is always
picked first.
The segment representation estimate includes partially
downloaded segments.
Performance Analysis
Conclusions
Naïve, greedy scheduling algorithms provide bad
throughputs
Network coding is only effective when applied over a
small segments (few seconds) of a video file.
Network coding reduces number of duplicate uploads
and minimizes the performance variance.
Network coding improves efficiency of the system.
Conclusions
Network coding does not solve a problem of scheduling
across segments.
Spanning the entire video file requires algorithms that
avoid underrepresentation of segments.
The rarest first algorithms are feasible and provide good
system throughput.
A combination of network coding and segment scheduling
provides significant performance improvement.
Conclusions
Mesh-based P2P systems are simple to engineer and
result in high resource utilization.
“Play as you download” experience with P2P systems can
be achieved by combining network coding and segment
scheduling.
The proposed mesh-based system is capable of playback
rate close to peer’s maximum bandwidth (with a small
startup delay).