[tahoe-dev] Tahoe Lock Files vs. K = 1

Brian Warner 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 mailing list