1 / 14

Disconnected Operation in the Coda File System

Disconnected Operation in the Coda File System. James J. Kistler and M. Satyanarayanan Carnegie Mellon University. Presented by Deepak Mehtani. Introduction to Coda. Evolved from AFS Central Idea – Use Caching to Improve availability

margaux
Download Presentation

Disconnected Operation in the Coda File System

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Disconnected Operation in the Coda File System James J. Kistler and M. Satyanarayanan Carnegie Mellon University Presented by Deepak Mehtani

  2. Introduction to Coda • Evolved from AFS • Central Idea – Use Caching to Improve availability • Issues involved – N/W latency, failures, bottlenecks, security etc.

  3. Coda handling above Issues • Whole File Caching • Automatic conflict resolution • Kerberos like authentication with ACLs Few terms involved as we proceed • Venus • VSG • AVSG

  4. Caching – what is that ? • “First class” and “Second class” caching ? • Freshness of caches • Leases • Callbacks • Two approaches to handle disconnection • Pessimistic • Optimistic • Coda Approach ?

  5. Coda’s Approach and why ? • Pessimistic approach – NO why ? • So definitely Optimistic approach • Transparency maintained • All users can continue (scalability issue) • Everybody happy (as they continue to use) is it? • The good old scalability issue ???

  6. Coda and Scalability • Is coda scalable ? • Yes, uses optimistic approach • Whole file caching • Rule of thumb – add functionality at the client (Venus) • Coda does grouping of operations

  7. VSG, AVSG and Disconnection User disconnected if: • N/W Failure • Server Failure • Mobile device out of range AVSG = NULL What happens to the Updates ?

  8. States of Venus - Hoarding • Handled by Venus • Critical files higher priority • Hoard Walk ? • Re-fetching strategy • Re-fetch files or symbolic links • Mark the directories

  9. States of Venus - Emulation • Venus – The Pseudo Server • Replay able Logs • RVM • Non Volatile • Supports Transactions • Contention – Size of Cache and RVM

  10. Dealing with Full Caches • What are the options ? • Truncate/Delete Modified files • No Further operations until reintegration • Compression of cached files and RVM • Wait for Reintegration…

  11. States of Venus - Reintegration • Coda uses 32 bit FID • Uses FID to update the file • Reintegration conflicts • Handled automatically • Rarely needs human intervention • What if Reintegration fails ?

  12. Performance Issues • How long does it take to reintegrate ? • Time to allocate FIDs • Time to replay on servers • Time for update protocol to update replicas • Other Issues • Overhead in fetching Volume Information • Updating all AVSG

  13. Conclusions • Simple Idea • Implementation not that simple • Favorable Conditions – as good as remote access • Worst case scenario – Critical data is accessible • How much cache is required ? • Mobile Devices - cache?

  14. Conclusions (Cont.) • Typically 50-60 MB of cache is good enough for disconnected operation for a work day • Mobile Devices constrained on memory possibly • Coda definitely provides a good solution for disconnected operations, and looks quite promising for embedded systems

More Related