[bittorrent] 'Rarest first' question.

Arnaud Legout Arnaud.Legout at sophia.inria.fr
Thu Jul 6 04:10:42 EDT 2006


Elliott Mitchell wrote:
> Where does the protocol use a synonym of "must" in conjunction with the
> piece selection algorithm? I don't see it anywhere.

As pointed out by Bruno, there is no specification of the protocol, but 
clearly states that rarest first is intended to by used as the piece 
selection strategy for BT.
Moreover, we have shown that on real torrents rarest first is close to 
an optimal piece selection strategy,
and Ashwin Bharambe et al. [1] have shown that the random piece 
selection strategy may perform poorly.

Additionally, as the mainline client is developed under the supervision 
of the inventor of BT,
it is de facto the most up to date specification of BitTorrent. And the 
mainline client uses rarest first as the piece
selection strategy.

Finally, up to now, I have never seen a major improvement to the BT 
protocol apart from the mainline client.
The most recent striking change being the new choke algorithm in seed 

Of course, there are important improvements around the BT protocol 
brought by other clients, e.g., the peer exchange
of Azureus that allows to significantly speed up the population of the 
peer set (note that I am not sure
this improvement was invented in Azureus). But, our informal evaluation 
of other clients have shown
that the changes made to the piece and peer selection strategies do not 
improve the performance and sometimes degrade the performance
at the scale of a content download.

I understand that there are several applications for which BT is not 
appropriate and in particular applications
that require pieces ordering. But, in this case, why not creating a new 
protocol called BitStream or whatever you want.

Arnaud Legout.

[1] Ashwin Bharambe, Cormac Herley and Venkat Padmanabhan
Analyzing and Improving a BitTorrent Network's Performance Mechanisms
IEEE INFOCOM 2006, Barcelona, Spain

More information about the BitTorrent mailing list