[tahoe-dev] [tahoe-lafs] #316: add caching to tahoe proper?

tahoe-lafs trac at allmydata.org
Mon Aug 31 17:00:32 UTC 2009


#316: add caching to tahoe proper?
--------------------------+-------------------------------------------------
 Reporter:  warner        |           Owner:  somebody 
     Type:  task          |          Status:  new      
 Priority:  major         |       Milestone:  undecided
Component:  code          |         Version:  0.7.0    
 Keywords:  vdrive cache  |   Launchpad_bug:           
--------------------------+-------------------------------------------------

Comment(by swillden):

 I think caching would be very valuable, even if only for immutable files.
 If figuring out how to handle caching for mutable files would delay
 implementation of immutable caching, I'd say to defer the mutable caching.

 OTOH, caching of dirnodes would really be nice, if it could be done
 safely.  I think a cache with a fast timeout, as originally suggested,
 would accomplish this almost as effectively and much more simply than a
 pubsub mechanism, especially with a small adjustment:  Don't delete the
 "timed out" mutable caches.  Instead, just make Tahoe check them by
 looking to see if there's a newer version.  For small mutable files,
 that's probably not a big win over retrieving the latest, but it might
 help a little, and would be a win for larger mutable files.

 One other thought:  You could trade off a little performance for some
 security and, perhaps simplicity of implementation, by caching the file
 shares under the SID, rather than the reassembled and decrypted file.  You
 could use a structure similar (identical?) to that used by storage servers
 to store shares, and, in fact, the cache could even be a secondary source
 for the storage server to get shares from, and even to deliver to other
 peers that request them.

 With that approach, retrieval of any file involves looking for shares
 first in the local cache and storage directories.  If there's not enough
 local data to reconstruct the file, retrieve enough additional shares from
 remote peers, keeping the downloaded shares in the cache, which could use
 a typical LRU policy for replacement when it gets full.

-- 
Ticket URL: <http://allmydata.org/trac/tahoe/ticket/316#comment:5>
tahoe-lafs <http://allmydata.org>
secure decentralized file storage grid


More information about the tahoe-dev mailing list