"Tom Hawkins" <[EMAIL PROTECTED]> writes:
>>> But in case they haven't, I'm wondering if anyone has considered
>>> using digital fountain codes as a means to communicate patches
>>> between repositories?
>>
>> With apologies for being obtuse, this is something you are proposing
>> as a way of speeding up operations like darcs get and pull. In other
>> words, this is proposed as an optimisation? My reading of the below
>> was that we could use this as a way to simultaneously fetch different
>> pieces of the same patch(es) from more than place. Sorry for trying
>> to executive-summarise it :-)
>
> Yes, fountain codes could speed up push and pulls by doing it in
> parallel without having to synchronize which repositories are sending
> which data.
AIUI this technique allows you to say something like
The file foo is available at http://foo.org/foo ftp://mirror.lan/foo
and file:///$HOME/.cache/foo. In parallel, fetch chunks from each
of these locations until you have all of foo.
This is beneficial because I have a fat pipe to my ISP (say 1MB/s), but
I can only download from foo.org at 96kB/s. So using multiple locations
from different parts of the net allows me to download the file faster.
If I've understood correctly, it sounds more appropriate to add to
libcurl than Darcs.
The advantage of the fountain code part is that the receiver doesn't
have to say
Well, bar.org has twice the bandwidth of foo.org, so I'll ask
foo.org for the first third, and bar.org for the remaining
two-thirds.
i.e. it doesn't need to know the relative throughput for the various
hosts. It can just say, to both foo.org and bar.org
Just send me blocks in random order, and I'll tell you when to stop.
Where "random order" is really "as dictated by fountain code".
_______________________________________________
darcs-users mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-users