Philip Newton (pne) wrote,
Philip Newton

BitTorrent race

I've been downloading a torrent for a while now where the behaviour is rather amusing.

When I started, there was no seed, only several peers, each just over 50% completed; they brought me up to 50% as well. Later, a seed showed up, but it sent data very, very slowly. Then as soon as one of us peers got a block of data from the seed, we'd share it out to the other peers, so pretty much everyone had the same completion level most of the time.

I could almost imagine the protocol traffic going on. "Hey, heard anything new?" "Nah." "Hey! Wait! The master told me a new secret!" "Oooh, gimme gimme!" "Here, catch!" followed by more waiting. The traffic graph was also interesting; occasional spikes in the "received data" window followed closely by corresponding spikes in the "sent data" window" as my client passed on the newly-acquired information to the others who hadn't had heard of it yet; then only low-level traffic on both sides for a while until someone had managed to acquire a full block from the seed again. So even with my asymmetric connection, I could help the others keep up their percentages because the lulls in traffic made up for the fact that my send rate was only about a third of the best receive rate I saw (and about a tenth of my maximum receive rate)—it just meant that I might spend 20 seconds receiving and a minute sending, but with, sometimes, three to five minutes between new packets, that difference was negligible.

Things are a bit different now; there's one peer which is a bit further ahead than most of us (about 1.2%), apparently because his upload rate is fairly slow as well, so he doesn't share out the new data he gets as fast as he receives new data.

  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded