Jump to content

Problem with Seeding torrents


drarkanex

Recommended Posts

In my many years of BitTorrent, I have to say that this particular protocol is one of the best as far as P2P Protocols, but there is one function of BitTorrent that baffles me. While I understand the technical details of this protocol, I don't understand how the seeder distributes what they have to the leechers, or better yet, how does the seeder's pieces get distributed and in what particular priority.

While the current seed pieces are in their current state, here's what I notice.

The Seeder sends the same packet to the leeches, thus defeating the essential foundation upon which BitTorrent was intended. It would seem to me that it would be more efficient if the seeder would send 1 piece from the start of the file and another leecher 1 piece from the end of the file.

Basically, if you have 71 pieces and the seeder starts the torrent up.

1 Seeder

14 leechers

1> Seeder sends Piece #1 to leecher #10

2> Seeder sends Piece #65 to leecher #1

3> Seeder sends piece # 32 to leecher #12

4> Leecher #1 sends piece #65 to leecher #12

5> Leecher #12 sends piece #32 to Leecher #1

6> Seeder sends piece # 21 to leecher #1

7> Leecher #12 sends piece #32 to Leecher #10

and so on and so forth. It seems that being the initial seeder that it puts more of an impact on seeder bandwidth than anything. Looking at the basic structure of how BitTorrent is supposed to work, it seems that this is what it is supposed to be doing, but i'm finding everyone else is stuck on the same exact pieces towards the end and this is something the seeder should have accomodated for to begin with.

in the end, with 1 seeder and 14 leechers on say a 900mb file, the seeder should only have to send out 900mb while the rest of the leechers are sharing what they have. I've found this is not the case in my seeding ventures.

Link to comment
Share on other sites

Piece distribution metrics while seeding vary based on the different seeding methods.

The default seeding modes for most clients tries to trust clients to choose rarest pieces first.

uTorrent's Initial seeding does a forced rarest-first piece distribution with a sequential fill in for equally rare pieces.

BitTornado's super-seed does a forced rarest-first piece distribution with a random fill in for equally rare pieces.

Unfortunately, due to protocol overhead and (more significantly) endgame strategies, the minimum uploaded to get full distribution is about 105% of the torrent's total size.

---

Once a piece is downloaded and verified by a peer, that piece is available for requests from other peers.

The seeds are primarily there to make the absent pieces not absent. After that they're there to supplement the piece availability and increase overall speeds.

Link to comment
Share on other sites

Nice, I figured it was that way, but i'm just saying, i'm not seeing this sort of result on my end. Maybe I don't have uTorrent setup correctly or whatnot. Is there anything I can do on my end to ensure a well rounded download or seed? I'm basically using uTorrent's default setup sans bind.net.ip and other normal things.

Link to comment
Share on other sites

Unfortunately, not all clients are all that smart or friendly about how they spread out their piece requests, sometimes duplicating requests for pieces that seeds give out.

Normal seeding methods usually take 150%-200% to get a full distributed copy out.

There's not much you can do to ensure a well rounded seed except let your seeding goal sit between about 125% and 175% and leaving the torrent task alone until it reaches the goal.

Link to comment
Share on other sites

What I meant was the base protocol, not the clients (uTorrent, Azureus, etc) needs to be adjusted to make sure the seeds are not getting hammered and that PROPER peer sharing is enabled, otherwise, it's not PEER 2 PEER, it's more like SEED 2 PEER which is not how I would think it should be translated. More people would seed and stay seeded if this were to occur. Hence why i'm putting it in this area of the forums in hopes that maybe Bram or whomever could look into this and see if there is a way to force peers to start sharing more aggressively and the seed to be a bit more intelligent about what pieces it sends out.

Link to comment
Share on other sites

The way things are right now, seeds will typically cycle their uploads randomly, as they have no incentive to upload on any other metric.

Because of this, unless there's a massive excess of bandwidth supply, a downloader will almost NEVER get better speeds by focusing their piece demand on seeds.

Downloaders will ALWAYS get better speeds if they play nice. Some swarms just have a lower bar for playing nice than others.

Link to comment
Share on other sites

Is the seeding percentage for initial-seeder still the same even if all the clients are uTorrent? It seems like you are alluding to bad behaving clients (e.g. BitComet?) that may not play nice? With a well behaved client, it seems the percentages would be lower? Is this a correct assumption?

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...