[bittorrent] IO bound

Alan McGovern alan.mcgovern at gmail.com
Thu Apr 12 17:12:45 EDT 2007


Alternatively, use a bittorrent library that supports the FastPeers
extensions (it's an official extension to the protocol).

Those extensions contain a message known as a "SuggestPiece" message which
you can send to other clients to suggest that they should request a
particular piece off you. That's exactly what you want!

I'd say for best performance, you'd need to tune the library for your
specific needs. What you'd want is a library that supports a memory buffer
for storing pieces and has sufficient logic to be able to send
"SuggestPiece" messages for the pieces just loaded into memory to all peers
which do not have the piece so it will be requested. It'd also need to keep
that piece in memory while it's still likely that peers will follow that
suggestion so as to avoid having the reload it into memory relatively soon
after dropping it from memory.

Off the top of my head, i don't know any library that does that. The only
four clients that have implemented fast peers (to my knowledge) are:
1) Mainline
2) Bitflu
3) Ktorrent
4) My own library, MonoTorrent.

Out of those, which would offer the best performance, i'd say definitely not
mine, as i haven't implemented the logic i described above. Bitflu and
Ktorrent both have fairly recent support for fast peers, so i don't know how
tuned they are, which leaves MainLine.

You're best option would be to benchmark those clients and see for yourself.
Bear in mind that both the seeding and leeching client need to be fastpeers
compatible to use the SuggestPiece message.

Alan.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ibiblio.org/pipermail/bittorrent/attachments/20070412/49842f88/attachment.html 


More information about the BitTorrent mailing list