When an nfs client op ens a le that it has previously

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: s b een closed. Thus, a Linux application that modifies a file in NFS incurs a p erformance p enalty on close of at least two network round-trips and one synchronous disk access. Some other op erating systems have NFS clients that do not wait for a commit reply b efore returning from close— these clients sacrifice safety, but improve p erformance since they block only until replies for all outstanding write RPCs have b een received. When an NFS client op ens a file that it has previously cached, it issues a getattr RPC to the server. The file attributes returned by the server indicate whether the file has b een modified since it was cached (in which case the cached 23 copy is discarded and a new copy is fetched). Since the NFS server is a single p oint of synchronization, the getattr RPC Simple idea, but... • Lots and lots of details – What if process does something that would affect system/user visible state? • For any op, by default, mark as “wait until speculative ops get resolved” • Optimize the common ones by letting them speculate – what if process writes while executing speculatively? • Makes shadow copy of file (if possible), etc. – Propagate speculative bits across fork(), writes to other processes on pipes, etc. – If anything too hard (sysV shm), just punt and wait for speculation to end Optimizing NFS • Propagate speculative writes across protocol – Make NFS server transactional -- much as in Kung81 – NFS server keeps shadow copy and can invalidate/write it on commit • In common case, little sharing in {NFS, AFS, etc.} • Prior approaches (e.g., Coda) use optimism to allow operations, but punt conflict resolution to {user, app} – Designed for longer-term speculation (hours) – Nice to make it transparent 24...
View Full Document

{[ snackBarMessage ]}

Ask a homework question - tutors are online