Simplified Explanation of “Do incentives build robustness in BitTorrent?”

37
Simplified Explanation of “Do incentives build robustness in BitTorrent?” By James Hoover

description

Simplified Explanation of “Do incentives build robustness in BitTorrent?”. By James Hoover. What will we be looking over?. Overview of motivation Brief look at BitTorrent Define key terms used. Look at measurements taken for later use. Look at altruism/sources of improvement in BitTorrent - PowerPoint PPT Presentation

Transcript of Simplified Explanation of “Do incentives build robustness in BitTorrent?”

Page 1: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

Simplified Explanation of “Do incentives build robustness in BitTorrent?”

By James Hoover

Page 2: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

What will we be looking over?

Overview of motivation Brief look at BitTorrent

Define key terms used. Look at measurements taken for later use.

Look at altruism/sources of improvement in BitTorrent The strategic client BitTyrant BitTyrant performance

Single client Real world PlanetLab

Many clients All strategic All selfish

Conclusion

Page 3: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

Motivation

BitTorrent’s tit-for-tat (TFT) discourages free-riders It is widely believed that the incentives provided by TFT have

built robustness in BitTorrent. Questioning of the above belief led to the development of a

simple model of BitTorrent. Using this model a significant altruism was discovered In

BitTorrent. All of this led to the question of whether a strategic peer can

significantly improve its download rate without changing its upload contribution.

In addition… Previous studies often used simulated settings that were

unrealistic.

Page 4: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

On to BitTorrent…

Key terms you need to know… Altruism: Difference between upload and download rates. Local Neighborhood: A set of directly connected peers

which exchange blocks of data and control information. Obtained via tracker. Unstructured and random.

Active Set: Current set of peers to which a BitTorrent client is sending data.

Equal Split Set: Each peer provides an equal amount of its upload capacity to each member of its active set. This varies between client implementations.

Page 5: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

Difficulty of Measuring BitTorrent’s Behavior

BitTorrent’s behavior is dependent on topology, bandwidth, clock size, churn, data availability, number of directly connected peers, active TFT transfers, and number of optimistic unchokes. Vary between different client implementations. May be overridden by user configuration. Not easy to simulate a real swarm due to this

diversity. Solution: Measure using real swarms.

Page 6: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

Measurement Data

Used opportunistic measuring techniques upon real swarms.

Connected to a large number of swarms and waited for oppertunistic unchokes.

Used something called the “multiQ tool” estimate the upload rates of clients.

Over a 48 hour period in April ’06 they observed: 301,595 unique IPs 3,591 ASes 160 different countries Following upload capacities shown in Figure 1. Implementation distribution shown in Table 1.

Page 7: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

Figure 1

Page 8: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

Table 1

Page 9: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

Altruism in BitTorrent

How much and where does it come from? Simplified these questions by creating a

model based on the observer capacity distribution and assuming the default settings for the “Reference” implementation.

They point out that this is not meant to be predictive but rather just a suggestion of possible altruism sources.

Page 10: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

Sources

Representative distribution: High capacity peers tend to finish more quickly and have the resources to join

multiple swarms simultaneously. If a high capacity peer joins only one swarm and leaves upon completion the

proportion of low capacity peers increases throughout the lifetime of the swarm. Uniform sizing:

Aggressive active set sizes tend to lower altruism. The “Reference” implementation was the most aggressive of the implementations

observed. Due to this the model represents a conservative altruism estimate.

No steady state: With low churn TFT may match peers of close equal split rate which biases active

set draws. Later shown that BitTorrent is slow to reach a steady-state and is especially slow

for high capacity peers. (Shown in Figure 2) High block availability:

Static active set size set by some clients may lower block availability for high capacity peers.

Page 11: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

TFT matching time

Figure 2 shows a possible source of altruism in that high capacity clients must take on low capacity peers while they search for better peers using optimistic unchokes.

Typically optimistic unchokes happen at a frequency of two every 30 seconds.

To be “content” with a peer that peer must have equal or greater equal split.

May lose peers you are “content” with when those peers find other peers with a higher split.

Example given: 6,400 KB/s upload capacity client would transfer more than 4GB before reaching a steady-state.

Page 12: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

Figure 2

Page 13: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

Reciprocation

Data is only sent to those peers in your active set.

This active set is reevaluated every 10 seconds.

Another source of possible altruism can be seen in Figure 3.

Figure 3 shows that at a split rate of approx. 14KB/s reciprocation is very, very likely.

Anything past this can be seen as altruism.

Page 14: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

Figure 3

Page 15: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

Yet another source of altruism…

One would hope that since a high capacity client has a higher upload capacity that such a client would gain the benefit of having a higher download rate.

However… Figure 4…

Page 16: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

Figure 4

Page 17: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

Quick Note on Upload Rate

A peer’s upload contribution is not only limited by its upload rate but also by data availability.

When a peer does not have enough data of interest in its local neighborhood its upload capacity goes to waste.

Many popular client implementations use configurable, static active set settings that hurt performance for high capacity clients. (Azureus has a default active set size of 4)

Page 18: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

Two more Figures on Altruism…

Figure 5 shows altruism when it is defined as “the difference in expected upload rate and download rate”.

Figure 6 shows altruism when it is defined as “any upload contribution that can be withdrawn without loss in download performance”.

Page 19: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

Figure 5

Page 20: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

Figure 6

Page 21: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

Validating Altruism Observations

The model showed that at least some of the altruism present in BitTorrent was due to the sub-linear growth of download rate as a function of upload rate (Figure 4).

To confirm this they measured the number of ‘have’ messages by a peer over the time that peer was observed.

Figure 7 shows the results of the data drawn from 63,482 peers.

The figure shows an even higher level of altruism that they had predicted.

Page 22: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

Figure 7

Page 23: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

BitTyrant

BitTyrant is a strategic client which exploits the presence of altruism.

Based off of the Azureus client in order to foster adoption.

Focused on strategies for increasing performance that an average user could use.

Such strategies include masquerading as multiple low capacity peers and flooding the local neighborhood of high capacity peers.

Does not include coordinating multiple IPs.

Page 24: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

Maximizing Reciprocation

Three strategies: Find peers that reciprocate high bandwidth for low offered rates by

finding peers with high upload capacity and smaller active sets. Expand the active set until the benefit gained from adding another

peer is outweighed by the lose of reciprocation bandwidth from those already in the set.

Determine what upload contribution to give on a per-connection basis. Give just enough to receive reciprocation and spend the saved upload bandwidth on new connections.

Example: A client with an equal split capacity of 100 KB/s can reduce its rate to 15KB/s and only lose 1% off the probability that it will be reciprocated. However, going from 15KB/s to 10KB/s loses 40%.

Page 25: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

Figure 8

Page 26: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

BitTyrant Unchoking

Page 27: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

Local Neighborhood Size

Typical BitTorrent local neighborhoods are made up of 50 – 100 peers. This number may be too low for high capacity clients.

BitTyrant requires as many peers as possible from the tracker at the maximum allowed frequency.

This requires increased protocol overhead but has been show to only increase from 0.9% of total file data received to 1.9%.

Page 28: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

Not implemented exploits

Exploiting opportunistic unchokes Downloading from seeds by falsifying

your download rate Falsifying block availability

These can be stopped with simple client fixes.

Page 29: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

Evaluating Performance

Single BitTyrant client, single Azureus client. Real swarms. Ignored distributing files larger than 1GB. Swarms were typically for recently released files. Size ranged from 300 - 800 peers with some having up to 2,000. Set 128KB/s upload capacity limit Median performance gain for BitTyrant over default Azureus was a

factor of 1.72. 25% of downloads finished twice as fast. Showed that BitTyrant’s performance can be hindered by random

sets of peers which contain almost all low capacity clients. Also, BitTyrant was shown to be susceptible to low data availability.

Page 30: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

Figure 10

Page 31: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

More Evaluating…

Single BitTyrant client, single Azureus client PlanetLab Application layer bandwidth caps Scaled by 1/10th upload capacity, file size, initial unchoke

bandwidth, and block size due to PlanetLab sharing bandwidth between experiments.

Showed that BitTyrant… both improves performance and gives more consistent

performance Can find the point of diminished returns for high capacity peers Benefits low capacity peers through strategic peer selection Was consistent across multiple trials

Yet another Figure…

Page 32: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

Figure 11

Page 33: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

More… Evaluating…

350 nodes PlanetLab Scaled distribution simultaneously joining a swarm distributing

a 5 MB file with combined seed capacity of 128 KB/s. Peers depart upon completing the file. Expected a degradation of performance since high capacity

peers could finish quickly and leave. Actually increased performance and altruism. High capacity peers require many connections. Lowered bootstrap time. Another… Figure…

Page 34: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

Figure 12

Page 35: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

Selfish Peers

A peer is said to be selfish if it does not contribute excess upload capacity that does not improve performance.

Can arise when a client is part of multiple swarms or uses that bandwidth for something other than BitTyrant.

BitTyrant’s unchoking algorithm transitions well with clients partaking in multiple swarms.

Instead of allocating bandwidth by swarm it allocates by connection.

Page 36: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

Evaluating Selfishness

Repeat of previous PlanetLab experiment. Capped all high capacity peers upload rate to 100 KB/s. (point of

diminished returns in Figure 11) Did decrease average performance. Decreased more so for low capacity clients. Average completion time for low end peers went from 314s to 733s. Average completion time for peers with 100 KB/s capacity went from

108s to 190s. BitTyrant tends to spread capacity over low end peers which could

cause inefficiency due to TCP overhead. To combat this BitTyrant advertises itself using the Peer ID hash at

connection time. BitTyrant peers recognize each other and switch to a block-based TFT which then ramps up send rates. This maintains faireness while requiring fewer connections.

Page 37: Simplified Explanation of  “Do incentives build robustness in BitTorrent?”

Conclusion

TFT does discourage free-riding. BitTorrent’s performance has little to do with TFT and the

dominating factor is instead altruistic contribution. Selfish peers with even modest resources can reduce their

contribution yet still improve their download performance. BitTorrent is effective simply because most users do not stray

from default values and do not try to cheat. Still unclear whether selfish peers will hurt swarm

performance in practice. Still unknown whether incentives truly build robustness in

BitTorrent.