120 likes | 290 Views
AFS/Coda. System Overview. Server: VICE -> V ast I ntegrated C omputing E nvironment file system Client: Venus -> VIRTUE: V irtue i s R eached T hrough U nix and E macs. Big Picture. Consistency . Whole-file caching/serving Vice tracks copies of files at clients
E N D
System Overview • Server: VICE ->Vast Integrated Computing Environment file system Client: Venus -> VIRTUE: Virtue is Reached Through Unix and Emacs
Consistency • Whole-file caching/serving • Vice tracks copies of files at clients • stateful server (danger?) • server-based invalidation on file close/update • “callback” • check every t minutes (“lost”) • Session semantics • ~ UNIX
Sharing Files Why not propagate actual update? User may not care about the file anymore …
Client Caching • The use of local copies when opening a session in Coda.
Session Semantics • When good? • Read-only, large files • When bad? • Access a small amt of a large file, lots of sharing
Coda: Higher Availability • Server Replication • More difficult to get partitioned from all servers • Consistency? • Disconnected Operation • If no available servers, attempt to work off of the local cache • Consistency?
Server Replication • read-one, write-all approach • Each client has a preferred server • Holds all callbacksfor client • Answers all read requests from client • Latest version • sole owner: no callbacks are used • NSFv4 has moved closer to AFS
Cache Coherence • Pessimistic: make sure that conflicts cannot arise. • E.g., one user allowed to access a file at a time • Optimistic: allow unconstrained sharing, and then resolve possible conflicts if they arise • An availability vs. consistency tradeoff?
Pessimistic • Consider a policy when one user acquires a file, and owns it until she releases it • Problems? • No one else can access the file, even to read • What if the owner gets disconnected? • Owner disconnection – use timeout (lease)? • What if no one else is using the file?
Optimistic • Anyone can modify anything • What if client is disconnected? • Higher chance of conflicts occurring • Studies show chance of conflicts is very low