Thoughts about BitTorrent and SuperSeeding Mode
or
Hitting the Wall
Today, since I didn't get to watch Pink Floyd's performance on Live 8, I'm downloading a torrent of files containing that performance. However, it's taking an extremely long time. There's one person seeding the file right now. And, either they don't have SuperSeeding mode on, or it's not working well.
BitTorrent is a way to download files from other users instead of a centralized server; a p2p method. However, its main benefit is that it breaks files into smaller chunks, to allow a user to upload part of a file before they finish downloading it. You can upload as soon as you download any chunk of the file.SuperSeeding mode is a technique for uploading, when only one person has the complete file (if you're hosting the file). It makes it faster for everyone to get the file. I won't go into the details right now, because I don't understand them fully myself right now, and there are multiple methods of SuperSeeding.However, I just hit the wall.
(I know, I know, pink floyd reference, but not really). That happens when SuperSeeding mode is off or not working correctly. Basically, other than the one person that is hosting the file, no one else has more than a certain percentage. In this instance, it's about 30% right now. Only the host has the other 70% of the file. That's bad. I know that everyone has the same 30% because my download speed dropped by over 80% when I got within a few tenths of a percentage point of the person
(besides the host) with the most file percentage. Because the rest of us can share the 30% rather rapidly to newcomers to the download, they will also quickly get to 30%, but the swarm
definition: everyone that's downloading or uploading the file, collectively won't get much more from the host in that time.
Think of it this way: Consider a swarm of 11 people. One person is hosting. SuperSeed mode is off. 10 people are at 30% of a 100 MB file. They all have the same 30%. Each person can upload at 10 kBps, and download at 100 kBps.
Now, a new person joins the swarm. Downloading at 100 kBps
(10 kBps from each of the other people in the swarm), it will take them 300 seconds to download the 30 MB chunk that is available. In the best-case scenario, the host will upload each chunk once. So in that 300 seconds, the host will upload 3 MB. Now, because SuperSeed mode is off, the host won't care if the 3 MB it uploads are chunks that the swarm has, or chunks that the swarm doesn't have. So it might be sending data to the new user that the swarm already has 10 other copies of, and no need for the host to be sending.
But in SuperSeed mode, the host will give one rare chunk of data to a user, and then not give any more to that user until it sees that chunk somewhere else. This way, it gives more data to faster uploaders, and tries to push through the rarest chunks of data.
There, I'm done. If you wanted to know what I've been up to, too bad.