CS 111 Operating Systems Winter 2012
Lecture 16 Redundancy & Performance of NFS
- Professor: Paul Eggert
- Scribe: Wesley Cheng
- Lecture from 3/12/12
NFS - Network File System
To test performance spec.org SPECsfs2008_nfs.v3
Lets look at Sun ZFS Storage 7320 Appliance (May 2012)
Redundancy
RPC(remote procedure call) is used in NFS Server
issues with RPC
- +hard modularity (different address spaces)
- -messages are delayed
- -messages can be last
- -messages can be corrupted
Also, issues with UDP/TCP
- -network might be down, or slow
- -server might be down, or slow
When a Web browser reads a page:
C. Get /HTTP/1.0
S. web page contents
if t/o occurs how should we deal with failed requests?
2 solutions
- be slow, don't pipeline, wait for response
- be fast, pipeline, lie to user about whether it worked, write port
use checksums to detect bad packets
if server does detect a bad packet then:
send a response or ask for retransmit
Different actions if no response:
- try again, keep trying. At-least-once RPC (ok for idempotent ops, i.e. read, write)
- return error to caller. At-most-once RPC (for “dangerous” ops)
- exactly-once RPC