Search⌘ K

Cache Consistency

Explore cache consistency mechanisms in the Andrew File System (AFS) to understand how updated file versions are managed across clients and servers. This lesson explains the difference in consistency behaviors between processes on the same machine versus different machines, the role of callbacks, and how concurrent modifications are resolved using a last writer wins approach. You'll gain insights into the practical limits of cache consistency and why additional locking is necessary for concurrent file updates.

When we discussed NFS, there were two aspects of cache consistency we considered: update visibility and cache staleness. With updated visibility, the question is: when will the server be updated with a new version of a file? With cache staleness, the question is: once the server has a new version, how long before clients see the new version instead of an older cached copy?

ASIDE: CACHE CONSISTENCY IS NOT A PANACEA

When discussing distributed file systems, much is made of the cache consistency the file systems provide. However, this baseline consistency does not solve all problems with regard to file access from multiple clients. For example, if you are building a code repository, with multiple clients performing check-ins and check-outs of code, you can’t simply rely on the underlying file system to do all of the work for you. Rather, you have to use explicit file-level locking in order to ...