1 / 17

Consistency in NFS and AFS

This article explores the consistency mechanisms of Network File System (NFS) and Andrew File System (AFS). NFS utilizes client caching to reduce network load, offering weak consistency through write-through caching and periodic polling by clients. In contrast, AFS, developed at CMU, employs a more robust caching system where files are stored on client disks and callbacks are recorded by the server. The session semantics in AFS ensure updates are visible only upon file closure, enhancing consistency.

base
Download Presentation

Consistency in NFS and AFS

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. Consistency in NFS and AFS

  2. Network File System (NFS) • Uses client caching to reduce network load • Built on top of RPC Server cache: X Client A cache: X Client B cache: X

  3. NFS Weak Consistency Protocol • Write-through caching: A write updates the server immediately • Other clients poll the server periodically for changes • No guarantees for multiple writers

  4. Andrew File System (AFS) • Developed at CMU • Design principles • Files are cached on each client’s disks • NFS caches only in clients’ memory • Callbacks: The server records who has the copy of a file • Write-back cache on file close. The server then tells all clients that own an old copy. • Session semantics: Updates are only visible on close

  5. NFS Summary + Simple and highly portable - May become inconsistent sometimes • Does not happen very often

  6. AFS Illustrated Server cache: X Client A Client B

  7. read X AFS Illustrated callback list of X client A Server cache: X Client A Client B read X

  8. read X AFS Illustrated callback list of X client A Server cache: X Client A cache: X Client B read X

  9. read X AFS Illustrated callback list of X client A Server cache: X Client A cache: X Client B read X

  10. read X AFS Illustrated callback list of X client A client B Server cache: X Client A cache: X Client B read X

  11. read X AFS Illustrated callback list of X client A client B Server cache: X Client A cache: X Client B cache: X read X

  12. AFS Illustrated Server cache: X Client A cache: X Client B cache: X write X, X  X

  13. X  X AFS Illustrated Server cache: X Client A cache: X Client B cache: X close X

  14. X  X AFS Illustrated Server cache: X Client A cache: X Client B cache: X close X

  15. AFS Illustrated Server cache: X Client A cache: X Client B cache: X close X

  16. X AFS Illustrated Server cache: X Client A cache: X Client B cache: X open X

  17. X AFS Illustrated Server cache: X Client A cache: X Client B cache: X open X

More Related