CloudFS vs. ecryptfs vs. encfs vs. Tahoe-LAFS

Zooko O'Whielacronx zooko at zooko.com
Fri Jun 10 18:41:34 UTC 2011


On Fri, Jun 10, 2011 at 11:11 AM, Jeff Darcy <jdarcy at redhat.com> wrote:
>
> It was just iozone with eight threads (matching the number of
> cores on these machines), doing synchronous sequential 1MB writes.  For
> reads, I flushed both client and server caches, then read back the same
> files in the same 1MB chunks.

Could you tell me more -- I don't actually know what iozone does. Does
it open eight files and then run one thread for each file, and each
thread sits in a loop calling write() and passing as argument a 1MB
buffer? When does it call close()?

Is there some good documentation of what iozone does that I can read,
or do I have to read the source or run it myself to see?

> I've done that a few times (overhead for encryption is something I'm
> very concerned about).  On this set of machines I can basically achieve
> wire speed for both reads and writes.  Even on the beefier test machines
> we have - each 24 cores, 48GB, connected via 10GbE - I can get a pretty
> respectable 850MB/s between a single client and single server.

What? Vanilla GlusteFS goes at 850 MB/s and "plus the CloudFS
at-rest-encryption module" goes at more like 20-40 MB/s? That seems
like a bigger drop than I would have expected. (Mind you, I understand
very little of the CloudFS architecture at this point.)

Judging from xlators/encryption/crypt/src/crypt.c [1] CloudFS uses
AES. According to the Crypto++ benchmarks [2], you should be able to
process AES-128-CTR at about 200 MB/s. (As far as I know Crypto++ and
OpenSSL tend to be roughly comparable.)

Regards,

Zooko

[1] http://git.fedorahosted.org/git/?p=CloudFS.git;a=blob;f=xlators/encryption/crypt/src/crypt.c;h=87487490f6a7198f1c16ad4a6e0fa91c881e8af1;hb=HEAD
[2] http://cryptopp.com/benchmarks-amd64.html


More information about the cloudfs-devel mailing list