Experimental Comparison of Peer-to-Peer Streaming Overlays : A 11 Application Perspective

Peer-to-peer streaming systems are becoming highly popular for IP Television (IPTV). 'RsIost systems can be categorized as either tree-based or mesh-based, and as either pushbased or pull-based. However, there is a lack of clear understanding of how these different mechanisms perform comparatively in a real-world setting. In this paper, we compare two representative streaming systems using mesh-based and multiple tree-based overlay routing through deployments on the PlanetLab wide;area experimentation platform. To the best of our knowledge, this is the first study to directly compare streaming overlay architectures in real Internet settings. Our results indicate that mesh-based systems inject a much higher number of duplicate packets into the network, but they perform better under a variety of conditions. In particular, mesh-based systems give consistently higher application goodput when the number of overlay nodes, or the streaming rates increase. They also perform better under churn and large flash crowds. Their performance suffers when latencies among peers are high, however. Overall, mesh-based systems appear to be a better choice than multi-tree based systems for peer-to-peer streaming at a large scale. In recent years, there has been an explosion of interest in peer-to-peer (P2P) streaming of audio and video in realtime [I], [2], [3], [4], [ 5 ] . Most streaming systems for IP Television (IPTV) utilize an overlay (application-level) multicast group where peers receiving a stream can serve as proxies that forward content to other peers. A number of studies have suggested and implemented a variety of overlay designs [6], [7], [8], [9], [lo] to meet the stringent demands of the commercial market, replacing network-layer (IP) multicast. Internet streaming has different requirements [I 11 from other P2P applications (e.g., file sharing, video-on-demand), making the design of overlay networks for such applications a challenging task. Streaming imposes stringent real-time requirements on throughput and latency. Specifically, streaming applications must sustain throughputs that ensure high quality of video and audio, while providing simultaneous support for a large number of participants with dynamic changes in group membership. In addition, data has to meet deadlines to ensure smooth playback of the content in real-time. Two architectures for Internet streaming have emerged in recent years: tree-based and mesh-based architectures. A treebased streaming overlay constructs a tree where the source broadcasting the stream is the root of the tree and every other peer in the network is a child of either the source or another peer. Data simply flows down the tree to all participating members. An example of a tree-based multicast overlay is ESM [12]. However, in a single tree-based routing topology, leaf nodes do not forward data, leading to an imbalance in the load on the peers. To address this limitation, recent research has introduced multi-tree overlays. Such systems distribute bandwidth costs across participants by disseminating the data on multiple dissimilar trees. Examples of multi-tree multicast overlays are Chunkyspread [8] and SplitStream [6]. A mesh-based streaming overlay facilitates data dissemination in a less structured manner, by requiring peers to exchange data with a subset of the nodes in the network, maintained in the form of a neighbor set. The major difference from tree-based overlays is that in mesh-based systems, there is no predefined route in which data flows. Examples of meshbased multicast overlays are Chainsaw [7] and CoolStreaming/DONet [9]. Several highly popular IPTV systems, such as PPLive [4] and PPStream [5], also extend ideas from the mesh-based BitTorrent [13] for real-time streaming. Meshes are characteristically resilient to chum and node failures, but exhibit high overhead. While several design variants have been proposed for treebased and mesh-based overlays, there is a lack of clear understanding of which designs perform better in a real-world setting. A concrete characterization of the conditions under which each provides a better service to the application is missing. Previous studies have compared overlay multicast networks via simulations and limited Internet experiments, including [14], [15], [16], [17], but none focused on streaming applications. One exception is the work in [18] which conducts a simulation comparison of a multi-tree system similar to SplitStream and PRIME 1191 a recently proposed overlay multicast system which combines the advantages of mesh and tree designs. In this paper, we evaluate two representative systems through deployments on the PlanetLab wide-area experimentation platform. [20]. We select the mesh-based Chainsaw [7] and the tree-based SplitStream [6] systems because their core designs are based on a basic bidirectional mesh or a basic multi-tree topology, and their implementations are publicly available. To the best of our knowledge, this is the first study to directly compare streaming overlay architectures in real Internet settings. We identify the pros and cons of mesh-based and multi-tree based overlay multicast networks with respect to P2P streaming under a variety of conditions. Our study considers not only intuitive aspects such as scalability and performance under chum, but also less studied factors such as t nl r s: n , t iber. j. . } . er-to-p er i s l l i i PT ~ost ize s eeased ased, s llase . , standi es i t is s tiv l ealrld ti g. is , es ti e i s i se lti l e se l o ting l ts ; re i e tation . l ge, t is is st i ectly e i rchitectures e l ti gs. lts t ased s li te c ets t , itions. ti , ased s tly i li ti , e i ates ease. l g . l tencies s i , . al , se te s i l i ree s -toe r i