Jump to content

Initial-seeding tweaks


Honeyfrog

Recommended Posts

Looking forward to a future Sandvined landscape of peers constantly dropping in and out with partially-completed pieces, and little time to sample retrading characteristics, I propose some fixes to current initial-seeding schemes:

A. 512k PIECE SIZE MAX DEFAULT: Torrents are created with default piece size of no larger than 512k unless doing so will exceed 2^15 pieces. Rationale: 512k pieces can be completely sent to a torrent's faster peers before they are sandvined; larger ones usually cannot be.

B. COMPLETE PIECE SEND: If a peer drops out halfway through a piece-send, then uTorrent will send the remainder of that piece to another peer (as opposed to the present situation of that piece remaining incomplete until uTorrent runs a second pass through the list of pieces).

C. DUMB SUPER-SEEDING: An third seeding choice which commands a regular-mode seeding pass done in sequential piece order without regard for peer retrading efficiency (since that's impossible to calculate during a sandstorm anyway), beginning from wherever the present position marker is. In short, it just deals out the pieces like a deck of cards from top to bottom without much futzing over how the hands are played.

D. LEECH GUESTIMATION: This is an initial-seeding or dumb super-seeding algorithm which observes the total percentage availability of the torrent as seeding progresses, and determines whether or not to give a newly connecting peer a piece based upon how his arrival altered the percentage. Since leeches by definition don't share, their disconnection generally lowers availability while their reappearance raises availability.

E. BARNACLE SCRAPING: A "barnacle" is a peer seemingly immune to the topsy-turvy sandvining melee other peers are subjected to. He stubbornly hangs on tight, never disconnecting. During initial-seeding and dumb super-seeding", such peers will be infrequently forcibly disconnected by uTorrent solely in order to see whether or not availability percentage changes upon their reconnection for purposes of leech guestimation.

F. FAST PEER PREFERENCE: An algorithm for initial-seeding or dumb super-seeding mode designed to help the seeder complete his torrent faster. During a session, uTorrent will "remember" the IP addresses of peers who've demonstrated an ability to (1) receive complete pieces prior to disconnection, and (2) do not display guestimated leech characteristics (thus thwarting high DL bandwidth BitComet snipes). Such "good" peers are given high priority status for new pieces, even to the extent of momentarily constricting ongoing piece-sends to other peers. Why are peers who disconnect a lot actually better than barnacles in a sandvined environment? Answer: They are likely to not be subscribers of a sandvining ISP which is forcibly thwarting non-subscribers, and hence, as denizens of the outer free world, are a healthy repository for the torrent's pieces. The barnacle, otoh, is more likely to be sandvining ISP subscriber; sending him too many pieces is a form of "inbreeding" which could result in a sickly torrent -- a fully seeded torrent may *appear* to be healthy, but if all the newly annointed seeds are Comcast (et al) subscribers, the torrent will have weak representation among external peers needed to reliably perpetuate it after the initial seeder has finished.

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...