Text of Exploring VoD in P2P Swarming Systems By Siddhartha Annapureddy, Saikat Guha, Christos Gkantsidis,...
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 Nave 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: Nave 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
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.
Conclusions Nave, 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 peers maximum bandwidth (with a small startup delay).