In recent years, BitTorrent has emerged as a very popular and scalable peer-to-peer file distribution mechanism. It has been very successful at distributing large files quickly and efficiently without overwhelming the capacity of the origin server, even under extreme flash crowd conditions.
In this paper, we present a simulation-based study of BitTorrent. The goal is to deconstruct the BitTorrent system and evaluate the impact of its core mechanisms, both individually and in combination, on overall system performance under a variety of workloads. Our evaluation focuses on several important metrics, including peer link utilization, file download time, and fairness amongst peers in terms of volume of content served. Our results show that BitTorrent performs near-optimally in terms of uplink utilization, download time, and fairness, except under certain extreme conditions. We present and evaluate simple techniques designed to alleviate the suboptimal behavior encountered under such workloads. On the whole, our findings point to the remarkable robustness of BitTorrent’s performance despite (or perhaps due to) the simplicity of its mechanisms.