Improving Bittorrent: a Simple Approach

Improving Bittorrent: a Simple Approach

Improving BitTorrent: A Simple Approach Alix L.H. Chow Leana Golubchik Vishal Misra Univ. of Southern California Univ. of Southern California Columbia University Abstract factor in facilitating free-riding. And, to the best of our Measurement studies have shown that real world BitTor- knowledge, there is no other study that explores this. rent (BT) systems exhibit high seed capacity. Thus, ap- Moreover, as illustrated later in the paper, a leecher’s propriate use of seed capacity can have a significant ef- progress through the file downloading process is not uni- fect on BT performance. Moreover, seed capacity is also form. The progress is slower at the beginning, when hav- easily exploitable by free-riders, and such free-riding ing few chunks prevents a node from being selected for clients exist out in the wild today. In this paper, we pro- uploads through tit-for-tat. It can also be slower at the pose a simple and scalable approach that makes more in- end, when it is more difficult to find peers with the few telligent use of seed capacity by hurting free-riders, with- remaining pieces of needed data (although provisions ex- out their explicit identification, while improving the per- ist to aid with that). In both cases, seeds can contribute formance of contributing nodes. The effectiveness of our significantly, as they are no longer playing the tit-for-tat approach is studied via extensive simulations. game, and they have all the data pieces. Thus, intuitively, appropriate use of seeding capacity can lead to overall 1 Introduction system performance improvements. An important thread in the design and evaluation of P2P Given this, our main idea in this work is to explore systems has been the provision of incentives for nodes to alternative approaches for seeds to contribute their up- contribute their resources to the P2P system. An inter- load capacity to the system, with the goal of degrad- esting aspect of BitTorrent (BT) [4], that makes it stand ing free-rider performance while (if possible) improving out in that respect, is the “forcing” of peers to share their other leechers’ performance. The contributions of this resource while attempting to complete their downloads, paper are as follows: i.e., through the tit-for-tat [4] mechanism – this is done • We propose several simple approaches to modify- “locally” and without the need for centralized or dis- ing the seeds’ uploading algorithms, where the goal tributed mechanisms for implementing an incentive sys- is to (a) discourage free-riding behavior and at the tem. Although this works nicely, there are still oppor- same time (b) improve (or at least not degrade) the tunities for free-riders (i.e., peers who do not contribute performance of other leechers. The details of these resources) to download files (e.g., [8, 13, 16]). These op- schemes are given in Section 3. portunities exist in two forms: (1) capacity provided by • leechers (nodes who have not completed their download We show that simple schemes can provide signif- yet) through the optimistic unchoking mechanism (used icantly poorer performance to free-riders while at by leechers to probe for new downloading opportunities), the same time improving (or not hurting) the other and (2) capacity provided by seeds (nodes that have com- leechers’ performance. We do this through a de- pleted their download but continue to contribute their up- tailed simulation study in Section 4. The poor free- loading capacity to the system). rider performance should serve as a deterrent, which We believe that sufficient evidence exists to indicate will encourage free-riders to contribute resources. that the following two statements are true: (1) opportu- 2 Motivation nities for free-riding hurt the system’s performance, and In BT, nodes join the system (after receiving “start- (2) a non-negligible number of nodes in BT stay around up” information from the tracker) and begin requesting as seeds for some time after completing their downloads. chunks of data from their neighbors. Nodes that do not That is, many users would only contribute resources if have a complete copy of the file are termed “leechers” their performance was quite poor. And, the capacity pro- and those that do are termed “seeds”. Nodes that do vided by the seeds can significantly contribute to provid- not contribute their upload capacities are termed “free- ing reasonable performance for the free-riders. There- riders”. Each leecher i picks a number (typically 5) of fore, we believe that the behavior of seeds is an important nodes to whose requests it will respond with an upload of an appropriate chunk, i.e., these nodes are “unchoked”. Motivating Example A subset of these nodes (typically 4) are picked based Consider the following example, where we have two on the tit-for-tat mechanism, i.e., those neighbors that classes of nodes and each class is defined by its upload have provided the best service (in terms of download capacity and download capacity. Class 1 nodes are con- rate) to node i recently. And a subset (typically 1) is tributing nodes, and Class 2 nodes are free-riders (with picked randomly, i.e., they are “optimistically unchoked” bandwidth settings given in Table 1). Figure 1 depicts (to explore better neighbors). Seeds also pick a subset of the download times of each class as a function of av- neighbors (typically 5), and upload data to them. In past erage seeding time with 20% of users being free-riders versions of BT, seeds chose neighbors that could down- and with no free-riders. These results are obtained by load data from them the fastest. In a more recent protocol simulation (refer to Section 4) with settings given in Ta- (as described in [10]) the seeding capacity is distributed ble 2. The 20% free-riders case illustrates that the av- more uniformly to the neighboring peers. These choices erage download time of free-riders is more sensitive to are re-evaluated periodically. the seeding time than that of the contributing leechers. A number of research studies (e.g., [8, 14, 11, 12, 16]), For example, with no seeding time, the average down- have focused on the fairness, robustness, and perfor- load time is 162.33 mins and 632.07 mins for contribut- mance characteristics of BT, mainly resulting from the ing leechers and free-riders, respectively. When the av- tit-for-tat mechanism. However, very few studies have erage seeding time is increased to 60 mins, the average considered the effects of seeding behavior. Given typical download time is reduced to 101.89 mins (≈ 37% speed user behavior and the design of most BT clients, seeding up) for contributing leechers and 172.63 mins (≈ 73% is a typical behavior in the BT system. Many users may speed up) for free-riders. This suggests that alternative leave their clients running after completing downloads, approaches to distributing seeds’ upload capacity might possibly due to users not monitoring their clients during lead to significant effects on free-riders’ performance the download. Also, some sharing communities enforce while possibly improving (or at least not hurting) the per- a download/upload ratio to enable seeding. Real-world formance of contributing leechers. Moreover, if we de- measurements such as (e.g. [1, 3, 6, 7, 10, 15]) also sug- grade free-riders’ performance sufficiently, many of them gest that there exist a significant number of seeds in most might choose to become contributing leechers, i.e., in or- torrents; they suggest that there is a large variety of seed- der to obtain reasonable performance. This would result ing capacity in real-world torrents – some of the torrents in an improved overall system performance – e.g., with measured have twice as many seeds as they do leechers. an average seeding time of 60 mins (in our example), the Availability of seeding capacity can have a significant average download time can decrease from 101.89 mins effect on BT, e.g., it can compensate for the asymmetric to 69.84 mins (≈ 31% speed up), if free-riders contribute bandwidth scenarios in the Internet. At the same time, resources similarly to other users. it can degrade the fairness and incentive properties of the Table 1: Class Description (example) system, as free-riders can finish their downloads with rea- Class Fraction Download Capacity Upload Capacity sonable performance by relying on the seeds. (Not only 1 (Contributing) 80% 5000kbps 512kbps 2 (Free-Riders) 20% 5000kbps 0kbps do they not contribute to the systems’ upload capacity, they also effectively reduce the performance gains that 700 seeds provide.) Thus, intuitively, appropriate use of seed- 600 ing capacity can have a significant effect on performance 5000kbps/512kbps (No Free-Riders) 500 of both, contributing leechers as well as free-riders. 5000kbps/512kbps (20% Free-Riders) 400 Free-Riders (20% Free-Riders) Existing studies on seeding behavior (e.g., [2, 9]) mainly concentrate on the initial seeding behavior, such 300 as reducing sending of duplicate data. To the best of our 200 knowledge, no studies focus on how to better utilize the 100 Average Download Time (min) service capacity provided by the seeds. In this paper, we 0 focus on precisely that. Specifically, we ask a simple 0 20 40 60 80 100 120 140 160 180 Average Seed Time (min) question – how can the seeding capacity be better uti- lized to discourage free-riding behavior and at the same Figure 1: Download Time vs Seed Time (2 Classes) time improve performance of contributing leechers. We now give a motivating example to illustrate opportunities 3 Proposed Approach for “closing a loop-hole” in BT which might encourage We explore the following simple approach to modifying free-riding behavior.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    6 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us