An empirical study of the coolstreaming plus system

作者:Li Bo*; Xie Susu; Keung Gabriel Y; Liu Jiangchuan; Stoica Ion; Zhang Hui; Zhang Xinyan
来源:IEEE Journal on Selected Areas in Communications, 2007, 25(9): 1627-1639.
DOI:10.1109/JSAC.2007.071203

摘要

In recent years, there has been significant interest in adopting the Peer-to-Peer (P2P) technology for Internet live video streaming. There are primarily two reasons behind this development: the elimination of infrastructure support and the self-sealing property of P2P systems. The success of our system Coolstrearning represented one of the earliest large-scale P2P video streaming experiments. Since then, there have been several large-scale commercial deployments. With desirable content, these systems have the potential to scale orders of magnitude beyond the existing academic P2P prototypes. However, to transform this potential into reality, we need to understand the key design trade-offs and principles, as well as the design limitations of these systems.
There are two main design decisions in a P2P streaming system: (i) How to form an overlay, and (ii) How to deliver the content. Coolstreaming adopts a gossiping protocol for overlay construction, and a swarm-based protocol for content delivery. While these protocols provide excellent flexibility and effectiveness in dealing with system dynamics and random failure, their impact on the performance and the system scalability remain less known. This paper takes an inside look at a commercial system based on the Coolstreaming, called Coolstreaming+. We explore its design choices and the impact of these choices on streaming performance. Specifically, by using internal traces generated by recent live broadcast events, we study the workload, performance, and dynamics of the system. Based on these traces, we show that (1) the churn is the most critical factor that affects the overall performance of the system, and (2) there is a highly skew resource distribution in P2P streaming systems, which has significant impact on resource allocation. We further discuss the impact of these observations on the system properties, and present solutions to deal with various design challenges. In particular, we suggest solutions to deal with the excessive start-up time and high failure rates during flash crowd, which are two of the main challenges any streaming system needs to address.