Upload
joel-parker
View
213
Download
0
Embed Size (px)
Citation preview
Do incentives build robustness in BitTorrent?
Michael Piatek, Tomas Isdal, Thomas Anderson, Arvind Krishnamurthy,
Arun Venkataramani
Problem of Free Riding in P2P
• Consumption without contribution• BitTorrent’s solution: Tit-for-tat (TFT)
reciprocity–Objective: induce contribution–Consensus: “incentives build robustness in
BitTorrent”• Question: is the consensus correct?
Does TFT work?
• Not when strategic clients present–Reduction of contribution can better
performance• Significant presence of altruism–Contribution that do NOT improve
performance for client• Strategic client withhold altruistic contribution
degraded performance for peers
BitTyrant
• Modified BitTorrent• Objective: Maximize download per unit
upload• Method: Policy modification– Careful selection of peers and contribution rates
• Insight: All clients can improve download reducing upload
• 70% performance gain using BitTyrant
Effect of BitTyrant
• Individual clients benefit• Non-strategic peers degraded performance• Robustness: Strategic manipulation does not
affect performance• Conclusion: “Incentives do not build
robustness in BitTorrent”• Much contribution can be withheld while
maintaining performance
Summary of Introduction
• More contribution != better performanceStrategic client can take advantage of thisDegraded performance for peers
BitTorrent Overview
• Metadata file: torrent– SHA-1 fingerprint– Tracker server address
• Peers contact server periodically– Obtain random set of peers
• Active set: peers exchanging data with
BitTorrent Overview cont’d
• TFT strategy determine active set• Peer sends data to unchoked peers with most
rapid upload rate• Peers whose upload too slow are removed
from active set choked• Equal split rate: Upload capacity split equally
within active set
BitTorrent Overview cont’d
• Implementation and Percentage share• Azureus 47%• BitComet 20%• μtorrent 15%• BitLord 6%• Unknown 3%• Reference 2%• Remaining 7%
Modeling AltruismSources of Altruism; how much is present?
• TFT matching time– Attempts to find peers of similar capacity– Optimistic unchoke 2 every 30 seconds to explore
local neighborhood– Peer is “content” with a matching once equal split
rate is <= peer– High capacity have long convergence time
more optimistic unchokes source of altruism
Modeling Altruism cont’d
• Probability of reciprocation– Equal split rate of 14 KB/s increases probability to
almost 100%– Setting higher upload rate altruistic
contribution
Expected Upload Rate
• Depends on upload capacity and data availability
• Have enough data of interest to saturate upload capacity
• Static active set size may not be enough for high capacity peers
Modeling Altruism cont’d
• Second definition: any upload contribution that can be withdrawn without loss in download performance
• All peers make altruistic contributions
Building BitTyrant: A strategic client
• Maximize reciprocation bandwidth per connection– High reciprocation for low offered rate
• Maximize number of reciprocating peers– Until marginal cost exceeds marginal benefit
• Deviate from equal split– Lower contribution as long as reciprocation
continues reallocate savings to new connection
BitTyrant: Customizing Active Set Size
• High capacity peers: significant reduction of equal split rate very small reduction of reciprocation probability
BitTyrant: Active Set Size
• Large active set size small equal split rate lower reciprocation probability
• Large active set size additional opportunity for reciprocation
• To maximize performance: increase active set size until additional connection reduces overall reciprocation
BitTyrant: Active Set Size
• Strategic peer benefits through active set size manipulation• For client with 300 KB/s upload rate:
BitTyrant: Unchoke Algorithm
• Dynamically sizes active set• Varies sending rate per connection• up (upload rate required for reciprocation)• dp (download rate from peer)• Rank up / dp and unchoke until up exceeds upload
capacity• Best peers: reciprocate most for least bytes
contributed to
Implications
• Maximizes download rate for upload budget• Dynamically estimate Up and Dp, optimizes
download rate over time• Discover the most altruistic peers by
unchoking them• Handle concurrent downloads, optimizing
aggregate download rate
Determining Up
• Initialize based on distribution of equal split capacities
• Decrease by 10% if reciprocates for 3 rounds• Increase by 20% if reciprocation stops
Determining Dp
• Rate at which data is obtained• For peers who have not uploaded:– Estimates with frequency of block announcement– Susceptible to cheating – false announcement of
blocks
Increasing Local Neighborhood
• Request as many peers as possible from tracker
• Overhead: 0.9% 1.9% of total file data received– Not significant
Additional Strategies
• Exploiting optimistic unchokes– Reconnecting to wipe record of trade deficit
• Downloading from seeds– Seeds upload to fastest downloaders– Exploit by falsifying have messages– Recent versions: upload randomly
• Falsifying block availability– Appear more attractive by falsifying block
announcement
Evaluation
• 1. Evaluate on real swarms to measure performance for single strategic client– Realistic bandwidth distribution– Realistic implementation distribution– Measure performance gain
• 2. Planet Lab– Evaluate sensitivity to upload rates– Universally deployed
Single Strategic Peer
• Simultaneously joined swarm with Azureus client and BitTyrant client
• 128 KB/s upload capacity limit• Compared completion time• Performance gain: factor of 1.72
Many BitTyrant Peers
• Strategic– Uses BitTyrant unchoking algorithm
• Selfish– Withholds excess capacity that does not improve
performance• Many strategic peers– Performance and altruism increase– High capacity peers download faster and
contribute to swarm
Many BitTyrant Peers cont’d
• Many selfish peers– Performance degradation– Altruistic contribution withheld– Reduced optimistic unchokes