Stupid server semantic argument (was: Non Linux but network tech question)
Bill McGonigle
bill at bfccomputing.com
Tue Jun 26 20:56:36 EDT 2007
On Jun 24, 2007, at 22:05, Ben Scott wrote:
> This also destroys the
> anti-leech protocol arguments; implementing such just decreases the
> popularity of the protocols.
I've only done protocol work with Bittorrent, but as I understand it,
it's quite popular.
Bittorrent uses economic and game theory models to determine who gets
the bandwidth. In the official protocol implementation, Bittorrent
uses a modified version of the Tit-for-Tat solution to the Prisoner's
Dilemma. Every 10 seconds it reevaluates the sharing ratio of its
[default 4] peers, using a 20-second moving average of DL/UL ratio,
and will 'choke' peers which perform badly. Additionally, every 30
seconds, it uses an extra client to opportunistically unchoke a new
peer [default random selection] to measure its adeptness at
cooperation (similar to the opening move in the Prisoner's Dilemma).
If the client turns out to reciprocate, and is superior to a client
in the existing pool, it will replace the poorly performing client.
This system comes close to achieving a pareto efficiency for the
members of the swarm.
There are alternate methods for opportunistic unchoking other than
random selection at a 30 second interval on a single thread. I've
done a bit of work with network closeness as a means to minimize
transit costs of Bittorrent. Some guys at Stanford have done a pure-
efficiency play which maximizes the benefit to a given client, and
might even be a decent way to achieve low cost on the entire swarm.
This algorithm comes closest to looking like a leech, but the benefit
appears to be largely reciprocal.
That's just for the swarming, or P2P, phase of a transfer. Once it
has the complete file it can begin seeding, at which point is has no
particular need to disfavor leeches.
-Bill
-----
Bill McGonigle, Owner Work: 603.448.4440
BFC Computing, LLC Home: 603.448.1668
bill at bfccomputing.com Cell: 603.252.2606
http://www.bfccomputing.com/ Page: 603.442.1833
Blog: http://blog.bfccomputing.com/
VCard: http://bfccomputing.com/vcard/bill.vcf
More information about the gnhlug-discuss
mailing list