Do incentives build robustness in BitTorrent? Michael Piatek, Tomas Isdal, Thomas Anderson, Arvind Krishnamurthy, Arun Venkataramani Szabolcs Nagy, ELTE.

Slides:



Advertisements
Similar presentations
P2P Streaming Protocol Pro- incentive Parameters draft-zeng-ppsp-protocol-pro-incentive-para-01 IETF79 Meeting Wenjun (Kevin) Zeng & Yingjie Gu Huawei.
Advertisements

Peter R. Pietzuch Peer-to-Peer Computing – or how to make your BitTorrent downloads go faster... Peter Pietzuch Large-Scale Distributed.
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
Resource Management §A resource can be a logical, such as a shared file, or physical, such as a CPU (a node of the distributed system). One of the functions.
Unstructured P2P Networks Achieving Robustness and Scalability in Data Dissemination Scenarios Michael Mirold Seminar on Advanced Topics in Distributed.
Antfarm: Efficient Content Distribution with Managed Swarms Ryan S. Peterson, Emin Gun Sirer USENIX NSDI 2009 Presented by: John Otto, Hongyu Gao 2009.
Rarest First and Choke Algorithms Are Enough
Rarest First and Choke Algorithms are Enough Arnaud LEGOUT INRIA, Sophia Antipolis France G. Urvoy-Keller and P. Michiardi Institut Eurecom France.
The BitTorrent Protocol
The BitTorrent Protocol. What is BitTorrent?  Efficient content distribution system using file swarming. Does not perform all the functions of a typical.
The BitTorrent protocol A peer-to-peer file sharing protocol.
Incentives Build Robustness in BitTorrent Bram Cohen.
Presented by: Su Yingbin. Outline Introduction SocialSwam Design Notations Algorithms Evaluation Conclusion.
Presentation by Manasee Conjeepuram Krishnamoorthy.
Clayton Sullivan PEER-TO-PEER NETWORKS. INTRODUCTION What is a Peer-To-Peer Network A Peer Application Overlay Network Network Architecture and System.
Kademlia: A Peer-to-peer Information System Based on the XOR Metric Petar Mayamounkov David Mazières A few slides are taken from the authors’ original.
Natural Selection in Peer-to-Peer Streaming: From the Cathedral to the Bazaar Vivek Shrivastava, Suman Banerjee University of Wisconsin-Madison, USA ACM.
Clustering and Sharing Incentives in BitTorrent Systems Arnaud Legout 1, Nikitas Liogkas 2, Eddie Kohler 2, Lixia Zhang 2 1 INRIA, Projet Planète, Sophia.
Amir Rasti Reza Rejaie Dept. of Computer Science University of Oregon.
Modelling and Performance Analysis of BitTorrent-Like Peer-to-Peer Networks.
Analyzing and Improving BitTorrent Ashwin R. Bharambe ( Carnegie Mellon University ) Cormac Herley ( Microsoft Research, Redmond ) Venkat Padmanabhan (
Exploiting BitTorrent For Fun (But Not Profit) Nikitas Liogkas, Robert Nelson, Eddie Kohler, Lixia Zhang University of California, Los Angeles.
Free-riding in BitTorrent Networks with the Large View Exploit Michael Sirivianos, Jong Han Park, Rex Chen and Xiaowei Yang University of California, Irvine.
CS 554. Peer-to-Peer Systems Faithfulness in Internet Algorithms Haridimos Kondylakis
CompSci 356: Computer Network Architectures Lecture 21: Content Distribution Chapter 9.4 Xiaowei Yang
Peer to Peer (P2P) Networks and File sharing. By: Ryan Farrell.
CMPT 401 Summer 2007 Dr. Alexandra Fedorova Lecture XV: Real P2P Systems.
Game Theory Presented by Hakim Weatherspoon. Game Theory BitTorrent Do Incentives Build Robustness in BitTorrent? BAR Gossip.
Alex Sherman Jason Nieh Cliff Stein.  Lack of fairness in bandwidth allocation in P2P systems:  Users are not incentivized to contributed bandwidth.
Network Coding for Large Scale Content Distribution Christos Gkantsidis Georgia Institute of Technology Pablo Rodriguez Microsoft Research IEEE INFOCOM.
Improving ISP Locality in BitTorrent Traffic via Biased Neighbor Selection Ruchir Bindal, Pei Cao, William Chan Stanford University Jan Medved, George.
FRIENDS: File Retrieval In a dEcentralized Network Distribution System Steven Huang, Kevin Li Computer Science and Engineering University of California,
A Trust Based Assess Control Framework for P2P File-Sharing System Speaker : Jia-Hui Huang Adviser : Kai-Wei Ke Date : 2004 / 3 / 15.
Do Incentives Build Robustness in BitTorrent? Piatek, Isdal, Anderson, Krishnamurthy, and Venkataramani Piatek, Isdal, Anderson, Krishnamurthy, and Venkataramani.
Understanding Mesh-based Peer-to-Peer Streaming Nazanin Magharei Reza Rejaie.
1 Incentives Build Robustness in BitTorrent? Analysis on Bit Torrent Client performance By Jimmy Wong.
Searching in Unstructured Networks Joining Theory with P-P2P.
P2P Course, Structured systems 1 Introduction (26/10/05)
On-Demand Media Streaming Over the Internet Mohamed M. Hefeeda, Bharat K. Bhargava Presented by Sam Distributed Computing Systems, FTDCS Proceedings.
Middleware for P2P architecture Jikai Yin, Shuai Zhang, Ziwen Zhang.
The Bittorrent Protocol
Exploring VoD in P2P Swarming Systems By Siddhartha Annapureddy, Saikat Guha, Christos Gkantsidis, Dinan Gunawardena, Pablo Rodriguez Presented by Svetlana.
COCONET: Co-Operative Cache driven Overlay NETwork for p2p VoD streaming Abhishek Bhattacharya, Zhenyu Yang & Deng Pan.
BitTorrent Presentation by: NANO Surmi Chatterjee Nagakalyani Padakanti Sajitha Iqbal Reetu Sinha Fatemeh Marashi.
University of Bologna, Italy How to cheat BitTorrent and why nobody does Simon Patarin and David Hales University of Bologna ECCS 2006,
BitTorrent Internet Technologies and Applications.
1 BitTorrent System Efrat Oune Bar-Ilan What is BitTorrent? BitTorrent is a peer-to-peer file distribution system (built for intensive daily use.
BitTorrent Dr. Yingwu Zhu. Bittorrent A popular P2P application for file exchange!
A P2P file distribution system ——BitTorrent Pegasus Team CMPE 208.
1 BitHoc: BitTorrent for wireless ad hoc networks Jointly with: Chadi Barakat Jayeoung Choi Anwar Al Hamra Thierry Turletti EPI PLANETE 28/02/2008 MAESTRO/PLANETE.
2: Application Layer1 Chapter 2: Application layer r 2.1 Principles of network applications r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail  SMTP,
Do incentives build robustness in BitTorrent? Michael Piatek, Tomas Isdal, Thomas Anderson, Arvind Krishnamurthy, Arun Venkataramani.
MULTI-TORRENT: A PERFORMANCE STUDY Yan Yang, Alix L.H. Chow, Leana Golubchik Internet Multimedia Lab University of Southern California.
Quantitative Evaluation of Unstructured Peer-to-Peer Architectures Fabrício Benevenuto José Ismael Jr. Jussara M. Almeida Department of Computer Science.
Impact of Incentives in BitTorrent By Jenny Liu and Seth Cooper.
Analyzing and Improving BitTorrent Ashwin R. Bharambe ( Carnegie Mellon University ) Cormac Herley ( Microsoft Research, Redmond ) Venkat Padmanabhan (
INTERNET TECHNOLOGIES Week 10 Peer to Peer Paradigm 1.
PEAR TO PEAR PROTOCOL. Pure P2P architecture no always-on server arbitrary end systems directly communicate peers are intermittently connected and change.
Peer-to-Peer Networks 10 Fast Download Christian Schindelhauer Technical Faculty Computer-Networks and Telematics University of Freiburg.
Distributed Caching and Adaptive Search in Multilayer P2P Networks Chen Wang, Li Xiao, Yunhao Liu, Pei Zheng The 24th International Conference on Distributed.
Lecture XV: Real P2P Systems
An example of peer-to-peer application
FairTorrent: BrinGing Fairness to Peer-to-Peer Systems
Introduction to BitTorrent
Do incentives build robustness in BitTorrent?
Do incentives build robustness in BitTorrent?
Simplified Explanation of “Do incentives build robustness in BitTorrent?” By James Hoover.
The BitTorrent Protocol
Challenges with developing a Commercial P2P System
Presentation transcript:

Do incentives build robustness in BitTorrent? Michael Piatek, Tomas Isdal, Thomas Anderson, Arvind Krishnamurthy, Arun Venkataramani Szabolcs Nagy, ELTE IK, Prog. Terv. Mat

Introduction A fundamental problem with many peer-to-peer systems is the tendency of users to “free ride” In early p2p systems: – Napster: novelty factor => plentiful participation from peers – Kazaa: “incentive priorities” - could be spoofed BitTorrent: tit-for-tat reciprocity strategy to provide positive incentives for nodes to contribute resources to the swarm

Robustness Robustness requires that performance does not degrade if peers attempt to strategically manipulate the system The tremendous success of BitTorrent suggests that TFT is successful at inducing contributions =?> “incentives build robustness in BitTorrent” Average download times currently depend on significant altruism from high capacity peers that, when withheld, reduces performance for all users – i.e., all peers regularly make contributions to the system that do not directly improve their performance

Table of Contents BitTorrent overview Modeling altruism in BitTorrent Building BitTryant: A strategic client Evaulation Conclusion

BitTorrent Protocol Focuses on bulk data transfer Initially peers download a metadata file, called a torrent The torrent specifies – the name and size of the file to be downloaded – SHA-1 fingerprints of the data blocks (verify data integrity) – address of a tracker (coordinates interactions between peers participating in the swarm)

BitTorrent Protocol Peers contact the tracker upon startup and departure as well as periodically as the download progresses, usually with a frequency of 15 minutes The tracker maintains a list of currently active peers and delivers a random subset of these to clients Users in possession of the complete file are called seeds Peers exchange blocks and control information with a set of directly connected peers we call the local neighborhood – control information: messages indicating the data blocks they currently possess and messages signaling their interest We refer to the set of peers to which a BitTorrent client is currently sending data as its active set

BitTorrent Protocol A peer sends data to unchoked peers from which it received data most rapidly in the recent past Also send data to a small number of randomly chosen peers - optimistically unchoked – bootstrap new peers into the TFT game, discovery Peers that do not send data quickly enough to earn reciprocation are removed from the active set - choked

BitTorrent Protocol size of active set: proportional to the square root of upload capacity - in the official reference implementation equal split rate: each peer provides an equal share of its available upload capacity to peers to which it is actively sending

Measurement BitTorrent’s behavior depends on a large number of parameters: – topology – bandwidth – block size – data availability – number of directly connected peers – churn – active TFT transfers – number of optimistic unchokes – different client implementations => measurement study of live BitTorrent swarms to ascertain client characteristics

Measurement The measurement client connected to a large number of swarms and waited for an optimistic unchoke from each unique peer Then estimated the upload capacity of that client using the multiQ tool

Measurement

Modeling altruism in BitTorrent How much altruism is present, and what are the sources of altruism? Answering is complicated => several assumptions to simplify our analysis – Representative distribution: High capacity peers tend to finish more quickly than low capacity peers, but they may also join more swarms simultaneously

Modeling altruism in BitTorrent – Uniform sizing: Peers, other than the modified client, use the active set sizing recommended by the reference BitTorrent implementation – No steady state: over time TFT may match peers with similar equal split rates – High block availability: in practice, static active set sizing in some clients may degrade block availability for high capacity peers These assumptions allow us to model altruism in terms of the upload capacity distribution only

Tit-for-tat matching time The convergence properties of the TFT strategy Reference client optimistically unchokes two peers every 30 seconds => peer can expect to explore two candidate peers and be explored by two candidate peers => estimate of how long a new peer will have to wait before filling its active set with peers with equal or greater equal split capacity

Tit-for-tat matching time

In practice, convergence time is likely to be even longer The long convergence time suggests a potential source of altruism: high capacity clients are forced to peer with those of low capacity while searching for better peers via optimistic unchokes

Probability of reciprocation Reciprocation from Q to P is determined by two factors: – the rate at which P sends data to Q – the rates at which other peers send data to Q If all other peers in Q’s current active set send at rates greater than P, Q will not reciprocate with P

Probability of reciprocation

Beyond a certain equal split rate (14 KB/s), reciprocation is essentially assured, suggesting that further contribution may be altruistic

Expected download rate A peer P receives data from both TFT reciprocation and optimistic unchokes Reciprocation is possible only from those peers in P’s active set and depends on P’s upload rate, while optimistic unchokes may be received from any peer in P’s local neighborhood, regardless of upload rate

Expected download rate

The sub-linear growth suggests significant unfairness in BitTorrent This unfairness improves performance for the majority of low capacity peers, suggesting that high capacity peers may be able to better allocate their upload capacity to improve their own performance

Expected upload rate Two factors can control the upload rate of a peer: data availability and capacity limit It is crucial that a client downloads new data at a rate fast enough, so that the client can redistribute the downloaded data and saturate its upload capacity This is the case in the reference BitTorrent client because of the square root growth rate of its active set size

Expected upload rate Popular clients: active set size is a configurable, but static, parameter – default is far lower than is required for high capacity peers

Modeling altruism Two perspectives: – consider altruism to be simply the difference between expected upload rate and download rate – any upload contribution that can be withdrawn without loss in download performance

Modeling altruism

The latter figure suggests that all peers make altruistic contributions: – low bandwidth peers almost never earn reciprocation – high capacity peers send much faster than the minimal rate required for reciprocation Both of these effects can be exploited

Validation At least part of the altruism in BitTorrent arises from the sub-linear growth of download throughput as a function of upload rate Validating this key result using the measurement data: By averaging the rate of have messages infer the peer’s download rate These results indicate an even higher level of altruism than that predicted by the model

Building BitTyrant: A strategic client Protocol redesign: Majority of Bit-Torrent users benefit from its unfairness today. Designs intended to promote fairness globally at the expense of the majority of users seem unlikely to be adopted Rather focus on BitTorrent’s robustness to strategic behavior

Building BitTyrant: A strategic client Optimized for strategic users Performance for low capacity peers is high => strategic user can simply exploit this – by masquerading as many low capacity clients – by flooding the local neighborhood of high capacity peers (dominating the active transfer set) Common option to refuse multiple connections from a single IP address

Maximizing reciprocation Maximize reciprocation bandwidth per connection: – a node can improve its performance by finding peers that reciprocate with high bandwidth for a low offered rate Maximize number of reciprocating peers: – expand until benefit of an additional peer is outweighed by the cost of reduced reciprocation probability from other peers

Maximizing reciprocation Deviate from equal split: – on a per-connection basis, a client can lower its upload If the equal split capacity distribution of the swarm is known, we can derive the active set size that maximizes the expected download rate

Maximizing reciprocation

BitTyrant dynamically modifies the size and membership of the active set and the upload bandwidth allocated to each peer For each peer p, BitTyrant maintains estimates of: – the upload rate required for reciprocation, Up – the download throughput, Dp, received when p reciprocates Peers are ranked by the ratio Dp/Up and unchoked in order until the sum of up terms for unchoked peers exceeds the upload capacity of the BitTyrant peer

Maximizing reciprocation Implicit assumptions and characteristics: – unchoking the most altruistic peers: it will continue to unchoke peers until it exhausts its upload capacity – the strategy can be easily generalized to handle concurrent downloads from multiple swarms – the strategy attempts to maximize the download rate for a given upload budget, but in practice Dp and upload cost Up are not known a priori

Maximizing reciprocation We initialize Up based on the distribution of equal split capacities seen in our measurements, and then periodically update it depending on whether p reciprocates for an offered rate Use small multiplicative factors since the spread of equal split capacities is typically small in current swarms

Maximizing reciprocation

Estimating reciprocation bandwidths Consider the average download rate over a TFT round For peers that have not uploaded any data to the BitTyrant client: – measuring the frequency of block announcements from p => estimate of p’s download rate, which we use as an estimate of p’s total upload capacity – then divide the estimated capacity by the Azureus recommended active set size It is likely to overestimate the upload capacities of unobserved peers, serving to encourage their selection

Sizing the local neighborhood Clients maintain a pool of typically 50–100 directly connected peers Will not be large enough to maximize performance for high capacity peers Request as many peers as possible from the centralized tracker at the maximum allowed frequency – DHT: distributed tracker that provides peer information and is indexed by a hash of the torrent Fortunately, the overhead imposed by maintaining additional connections is modest

Additional cheating strategies Not implemented in BitTryant - can be thwarted by simple fixes to clients Exploiting optimistic unchokes: – Azureus makes a weighted random choice that takes into account the number of bytes exchanged with a peer – can exploit this by disconnecting and reconnecting – becomes ineffectiveif clients maintain the IP addresses

Additional cheating strategies Downloading from seeds: – in early versions seeds upload to peers that are the fastest downloaders – falsify download rate by emitting ‘have’ messages – more recent versions: unchokes randomly Falsifying block availability – can appear to be more attractive, increase the chances of being unchoked – only short-term benefit and a client is likely to consider most of its peers interesting

Evaluation Two separate evaluations: – on real swarms drawn from popular aggregation sites to measure real world performance for a single strategic client – PlanetLab: revisit these results, evaluate sensitivity to various upload rates what would happen if BitTyrant is universally deployed

Single strategic peer Selecting torrents: – crawled popular BitTorrent aggregation websites – ignoring swarms distributing files larger than 1 GB – sizes ranging from 300–800 peers Simultaneously joined each swarm with a Bit- Tyrant client and an unmodified Azureus (default settings) imposed a 128 KB/s upload capacity limit The median performance gain for BitTyrant is a factor of 1.72 with 25% of downloads finishing at least twice as fast with BitTyran

Single strategic peer

These results provide insight into the performance properties of real BitTorrent swarms, some of which limit BitTyrant’s effectiveness: – to some extent, performance can be based on luck with respect to the set of initial peers returned For instance, in BitTyrant’s worst-performing swarm, only three peers had average equal split capacities greater than 10 KB/s. In contrast, the unmodified client received eight such peers. Total download time was roughly 15 minutes, the typical minimum request interval for peers from the tracker

Single strategic peer – a swarm’s aggregate performance can be controlled by data availability rather than the upload capacity distribution simply not be enough available data for peers to saturate their upload capacities These scenarios can hinder the performance of BitTyrant, but they account for a small percentage of our observed swarms overall

Single strategic peer - PlanetLab To cope with restrictions, relevant experimental parameters such as file size, initial unchoke bandwidth, and block size, upload capacity are scaled by 1/10 th each node’s BitTyrant client disconnected immediately upon completion and reconnected immediately

Single strategic peer - PlanetLab

As the model suggested the highest capacity peers may require several hundred available peers to fully maximize throughput due to reciprocation Low capacity peers can still improve performance with strategic peer selection

Many BitTyrant peers Two types of BitTyrant peers: strategic and selfish – any peer that uses the BitTyrant unchoking algorithm is strategic – if it withholds contributing excess capacity that does not improve performance, we say it is both strategic and selfish (participate in multiple swarms or simply want to use it’s upload capacity for services other than BitTorrent)

Strategic peers i.e., use BitTyrant while still contributing excess capacity Despite all peers departed immediately upon download completion, performance improved and altruism increased BitTyrant reduces bootstrapping time and results in high capacity peers having higher utilization earlier, increasing swarm capacity

Strategic peers

Selfish peers High capacity peers were capped As expected, aggregate performance decreases, but particularly for low capacity peers Beyond a certain point peers that contribute significantly more data do not see significantly faster download rates

Selfish peers

Circumstances for which BitTyrant causes performance to degrade Although high capacity peers will see an increase in aggregate download rate across many swarms, low capacity peers will see a large reduction in download rates New users experience a lengthy bootstrapping period - to maximize throughput, BitTyrant unchokes peers that send fast (reintroducing optimistic unchokes?) BitTyrant tends to spread available capacity among many low capacity peers (peer ID hash, block-based TFT)

Conclusion Although TFT discourages free riding, the bulk of BitTorrent’s performance is thanks to the altruistic contribution on the part of a small minority of high capacity peers Even those with modest resources can significantly reduce their contribution and yet improve their download performance BitTorrent works well today simply because most people use client software as-is without trying to cheat the system