Rarest First and Choke Algorithms Are Enough speaker: Yongming Chen 2007.05.10
Dec 14, 2015
Introduction
• recent studies have proposed replacement of rarest first and choke algorithm to improve BT
• Didn’t Cohen think of efficiency and fairness?
Terminology
• pieces and blocks• interested and choked• peer set• leecher and seed
– peer state
• rare and available pieces– # of copies
• rarest pieces– least # of copies
BitTorrent
• Rarest First Algorithm– piece selection strategy– download at random in rarest pieces set– random first, strict priority, end game mode
• Choke Algorithm– peer selection strategy– regular unchoked peers and optimistic unchoked peer
in leecher state– seed kept unchoked peers and seed random unchoke
d peer in seed state
BitTorrent
• rarest first may lead to the scarcity of some pieces
• choke algorithm is not fair and favors free riders
Experiment
• instrument a mainline client– add some logs
• default parameters: – 20kB/s max. upload rate, no download limit– max. peer set size is 80– 4 unchoked peers
• limitations: – single client instrumentation– limited torrent set
Methodology
• use entropy instead of system capacity to evaluate efficiency of a piece selection strategy– characterized with peer availability
• peer availability of x according to y = (the time peer y is interested in x) ∕ (the time x is in the peer set of y)
Methodology
• bit level tit-for-tat fairness is not appropriate in the context of p2p file replication– excess capacity will be lost– a seed cannot evaluate the reciprocation of a leecher
• alternative:
– for any leecher i, j, Di < Dj if Ui < Uj
– a seed should give the same service time to each leecher
Rarest First Algorithm
• almost all torrents have the ideal entropy– 1,2,4,5,6,7,8,9 in top graph are in startup pha
se– 2,18,19,21,26 in bottom graph have a small #
of leechers
• rarest first does not perform optimally in some extreme cases– peer join with only a few missing pieces– super seeding
Rarest First Algorithm
• transient state: only one seed
steady state: no rare pieces
• the duration of transient phase is constrained by the initial upload capacity– rarest first attempts to minimize it
• rarest first algorithm is efficient at keeping a torrent in steady state
Choke Algorithm
• strong correlation between the amount of bytes uploaded and downloaded
• choke algorithm leads to an equilibrium in the peer selection
• new version of choke algorithm in seed state is a significant improvement over the old one
Conclusion
• The rarest first algorithm guarantees a high diversity of the pieces.
• first block problem rather than last pieces problem
• To achieve fairness with a bit level tit-for-tat strategy is not appropriate
• The choke algorithm is fair, fosters reciprocation, and is robust to free riders
Conclusion
• piece and peer selection are key ideas for designing a scalable p2p system
• choke is simple but not easy to explain
Reference
• A. Legout, G. Urvoy-Keller, and P.Michiardi. Rarest first and choke algorithms are enough. In Proc. ACM SIGCOMM’06
• http://wiki.theory.org/BitTorrentSpecification• S. Jun and M. Ahamad. Incentives in bittorrent in
duce free riding. In Proc. SIGCOMM’05 Workshops