Changes between Version 11 and Version 12 of GSoCIdeas/Notes


Ignore:
Timestamp:
2010-03-28T19:21:59Z (11 years ago)
Author:
kevan
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GSoCIdeas/Notes

    v11 v12  
    4040 * Explore running a Tahoe-LAFS grid over [https://torproject.org Tor] or [https://i2p2.de I2P] to provide anonymity to servers and/or clients.
    4141 * Rescue the neglected C client library [http://allmydata.org/trac/libtahoeclient_webapi libtahoeclient_webapi].
     42
     43=== Medium sized Distributed Mutable Files (MDMF) ===
     44
     45Mutable files in Tahoe-LAFS have some significant limitations and
     46performance issues, as discussed in
     47[http://allmydata.org/trac/tahoe-lafs/browser/docs/performance.txt docs/performance.txt]. Users who aren't aware of these limitations are
     48surprised when they find out that mutable files can't scale to large
     49sizes without using unacceptable levels of memory, and that reading one
     50byte of the file costs as much as reading the entire file.
     51
     52A fix for this issue would essentially be fixing #393. That is,
     53
     54  * Developing mutable files that are segmented on upload, as with immutable files. Part of this would involve making sure that the way we currently ensure the integrity of the parts of mutable files stored on servers is adequate for your new design, and altering it if it isn't.
     55  * Implementing efficient reading and writing of arbitrary spans of those mutable files.
     56
     57This would make Tahoe-LAFS less surprising to users, and allow mutable
     58files to be used in more ways than they currently are.
     59
     60To learn more about this issue, you should first read
     61[http://allmydata.org/trac/tahoe-lafs/browser/docs/performance.txt docs/performance.txt], so you're familiar with the performance problems
     62with mutable files as currently implemented. You should also look at the
     63[http://allmydata.org/trac/tahoe-lafs/browser/docs/specifications/file-encoding.txt file encoding specification], to understand how immutable files are
     64segmented (since you'll be doing something similar with this project). [http://allmydata.org/trac/tahoe-lafs/browser/docs/specifications/mutable.txt The mutable file specification] may be informative as well.
     65The mutable file upload and download code is in
     66[http://allmydata.org/trac/tahoe-lafs/browser/src/allmydata/mutable mutable],
     67and, for comparison, the immutable file upload and download code is in
     68[http://allmydata.org/trac/tahoe-lafs/browser/src/allmydata/immutable immutable].