[tahoe-dev] Tahoe Lock Files vs. K = 1
warner-tahoe at allmydata.com
Thu Mar 6 23:34:27 UTC 2008
> It does mean that mutable files take up a bit more space that
> immutable ones do, but mutable files are intended to be used only for
> relatively small things anyway.
I'm thinking we should set the encoding parameters for dirnodes (which are
stored in mutable files) to something like 1-of-5 .
I believe that dirnodes should be more reliable/available than the files they
contain by a few orders of magnitude, to avoid reducing the
reliability/availability of the files by a significant amount (unreliability
multiplies just like noise when doing video editing).
1-of-5 on 99% available servers (3.6 days of downtime per year) gets us
100dBA (a one-out-of-10e10 chance of unavailability), and my as-yet-unproven
math suggests that 3-of-10 gets us about 143dBA. For 99.9% servers (9 hours
of downtime per year) those numbers are 150dBA and 224dBA. Hm, this suggests
that I should really be advocating 1-of-8 (160dBA at 99% or 240dBA at 99.9%)
.. erasure coding really is a big win.
I guess the lesson is that the consistency/safety improvements you gain by
having small values of k (given a constant expansion factor N/k) come at the
expense of the reliability you get by having larger values of N-k.
We need to make some improvements to our handling of mutable files (#312)
before we go changing any encoding parameters, because otherwise we will have
problems with already-existing directories. We don't currently handle
multiple encodings very well (the symptom would be intermittent errors when
reading the file), and switching to 1-of-5 would trigger this bug.
More information about the tahoe-dev