[flud-devel] DHT justifications (was: DHT Performance? Design?)
Bill Broadley
bill at broadley.org
Tue Nov 6 23:29:48 PST 2007
zooko wrote:
>> flud recently switched
>> to zfec for erasure coding (created by zooko for Tahoe). Its
>> performance is quite satisfactory compared to rizzo, but of course has
>> to pay the python wrapper penalty. You can find benchmarks in the
>> expected places
>
> For the record, I started zfec by copying Rizzo's code. I tried to
> simplify and optimize his code, but I never did solid benchmarks of
> the result, or if I did I don't remember and I no longer have my notes.
Excellent, looks pretty damn quick, for Alen's mentioned 20/40 coding,
(approximately 100% storage overhead):
bill at quiet:~/src/p2p/bench$ ./mb.pl 2040.log
File size = 8 KB runtime = 0.16 seconds KB/sec = 50.00
File size = 64 KB runtime = 0.17 seconds KB/sec = 376.47
File size = 256 KB runtime = 0.16 seconds KB/sec = 1600.00
File size = 1024 KB runtime = 0.14 seconds KB/sec = 7314.29
File size = 4096 KB runtime = 0.28 seconds KB/sec = 14628.57
File size = 16384 KB runtime = 0.89 seconds KB/sec = 18408.99
File size = 65536 KB runtime = 3.19 seconds KB/sec = 20544.20
File size = 262144 KB runtime = 24.99 seconds KB/sec = 10489.96
File size = 262144 KB runtime = 15.12 seconds
(last line is with warm caches).
For an alternate 16/24 coding (approximately 50% storage overhead)
File size = 8 KB runtime = 0.15 seconds KB/sec = 53.33
File size = 64 KB runtime = 0.11 seconds KB/sec = 581.82
File size = 256 KB runtime = 0.17 seconds KB/sec = 1505.88
File size = 1024 KB runtime = 0.17 seconds KB/sec = 6023.53
File size = 4096 KB runtime = 0.17 seconds KB/sec = 24094.12
File size = 16384 KB runtime = 0.45 seconds KB/sec = 36408.89
File size = 65536 KB runtime = 2.40 seconds KB/sec = 27306.67
File size = 262144 KB runtime = 15.51 seconds KB/sec = 16901.61
File size = 262144 KB runtime = 10.74
(last line is with warm caches).
Clearly filesize can be a big difference, but even tiny files (my average
filesize at home is 300KB or so) aren't likely to be a limit for a DSL uplink.
Keeping up with a decent fraction of a GigE is a different matter.
> http://allmydata.org/trac/tahoe/ticket/167 -- try out Jerasure
>
> """
> Professor James Plank has published a new library that has
> implementations of various erasure coding algorithms, Jerasure:
>
> http://www.cs.utk.edu/~plank/plank/papers/CS-07-603.html
>
> It would be fun to benchmark these against the current zfec
I'll tinker with it, from first glance it doesn't look like it provides
a nice interface like zfec.
More information about the flud-devel
mailing list