[p2p-hackers] Error correcting codes to prevent failure
in BitTorrent like systems?
Arnaud Legout
Arnaud.Legout at sophia.inria.fr
Mon Dec 5 08:49:13 UTC 2005
Hi,
Nick Johnson wrote:
> Systems like BitTorrent have a rather annoying failure mode - the last
> 'seed' goes offline while there are still several 'peers' (without the
> complete file) online. Attempts by the peers to reconstruct the
> original file are rarely successful, as the chances of every single
> block being present on one of the seeds are generally very low - it's
> likely that at least one block is missing.
from my point of view this is pure myth.
I often see such claims that bittorrent suffers from last pieces
problem; that if there is no seed, the torrent is dead; etc.
From all the experiments I performed, the reality is very different.
Rarest first does a very good job at replicating the rarest pieces in a
torrent, so that the probability to have a piece that is not
replicated at all is very low.
Of course, one can always build toys model that show problems in extreme
cases. But, it is clear that BitTorrent is
not a one fit all solution, and BitTorrent is very successful for its
targeted applications: large scale replication for medium to large files.
Outside this target, it makes sense to design other classes of
applications. However, I am not convinced that error correcting code are the
solution. Such codes are terribly sexy, but when it comes to real
applications, things are far less sexy.
It is hard to tune such codes as their relevance really comes from the
context. If the context is a moving target, then the problem becomes
very complex.
Consider the simple case of a improving reliability of a satellite link.
It is not trivial at all to find the good tradeoff between reliability
and overhead.
When it comes to a distributed system with heterogeneous clients, the
problem is several order of magnitude more complex.
Regards,
Arnaud.
More information about the P2p-hackers
mailing list