Outline for 3/6/98
- Last time: Distributed file systems
- Administrative: Questions, comments, requests?
- Objective:
- Finish DFS
- Distributed Shared Memory
Sun NFS Cache Consistency

- Server is stateless
- Requests are self-contained.
- Blocks are transferred and cached in memory.
- Timestamp of last known mod kept with cached file, compared with "true" timestamp at server on Open.
(Good for an interval)
- Updates delayed but flushed before Close ends.
AFS Cache Consistency
- Server keeps state of all clients holding copies (copy set)
- Callbacks when cached data are about to become stale
- Large units (whole files or 64K portions)
- Updates propagated upon close
- Cache on local disk -> memory
Cache Consistency for the Web
- Time-to-Live (TTL) fields - HTTP "expires" header
- Client polling -HTTP
"if-modified-since" request headers
- polling frequency? possibly adaptive (e.g. based on age of object and assumed stability)

Distributed Shared Memory (DSM)
- Allows use of a shared memory programming model (shared address space) in a distributed system (processors with only local memory)
DSM Issues
- Can use the local memory management hardware to generate fault when desired page is not locally present.
- Locate the page remotely - current "owner" of page
- Page sent in message to requesting node (read access makes copy; write migrates)
- Update protocol - invalidations or updates;
directory is kept of caches holding copies
Consistency Models
- Sequential consistency
- Weaker forms of consistency
- quarantees are associated with synchronization primitives; at other times, it doesn't matter
- For example:
acquire lock - make sure others' writes are done release lock - make sure all my writes are seen by others
Example