280 likes | 371 Views
Exploring VoD in P2P Swarming Systems. Presented by Svetlana Geldfeld. By Siddhartha Annapureddy , Saikat Guha , Christos Gkantsidis , Dinan Gunawardena , Pablo Rodriguez. P2P Networks. Used in many different applications for large scale content distribution
E N D
Exploring VoD in P2P Swarming Systems Presented by Svetlana Geldfeld By Siddhartha Annapureddy, SaikatGuha, Christos Gkantsidis, DinanGunawardena, Pablo Rodriguez
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 • understand the performance requirements and • evaluate effectiveness of proposed algorithms. Simulator: • Models performance factors (access capacities, block scheduling algorithms, etc); • 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 • Peers – active nodes • Tracker – enables peer discovery and matching • 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 • Is only restricted to segments • Prevents the occurrence of rare blocks and ensures that each block is useful with high probability.
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: • Dynamic arrivals and departures • Heterogeneous network capacities • 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 • 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 • 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).