160 likes | 178 Views
Nache: Design and Implementation of a Caching Proxy for NFSv4. Bo Zhao Computer Science and Engineering The Pennsylvania State University. Motivation. Enterprises are moving toward distributed operations Sharing files across office location in wide area Sharing data
E N D
Nache: Design and Implementation of a Caching Proxy for NFSv4 Bo Zhao Computer Science and Engineering The Pennsylvania State University
Motivation • Enterprises are moving toward distributed operations • Sharing files across office location in wide area • Sharing data • In a uniform, secure, and consistent manner • Across the global enterprise • Reasonably good performance.
Related Work • NFS and CIFS - work for a LAN • Low latency and high bandwidth • AFS and DCE/DFS – work for a WAN • Uniting disparate file servers into a single logical file system. • Deployment expense – not widely adopted • GPFS or Lustre - high performance & strong consistency • Expensive or difficult to deploy and administer
Cache Consistency • NFS – close-to-open consistency • Open – check file attribute • Close – write back pending changes • No distributed cache coherency or concurrent write management • AFS – rely on client-side caching for performance • Callback to notify the client of updates • Close – changes become visible at the server
Cache Consistency • CIFS – strong cache consistency - OpLocks • Exclusive • Not need communicate with server before close • Batch • Hold on to the oplock after close • Level II • Read only
New features of NFS v4 • COMPOUND RPC • Many NFS operations in a single RPC call • Lower overall network delay • Client redirection • Client can be redirected to another server • Build servers in distributed wide Area • OPEN delegations • Eliminates: client checking with the server for cache consistency.
Read Delegation • OPEN, CLOSE and READ requests • Handled locally. • All READs • without sending GETATTRs to check cache validity • All LOCK requests • sent to the server • Callback path is established for recalling a delegation
Write Delegation • All OPEN, READ, WRITE, CLOSE, LOCK, GETATTR, SETATTR requests • Handled locally • On a conflicting OPEN by another client • The server recalls the delegation • Client commits all dirty data and return the delegation.
Nache vs Redirection • In federated system • Data on different geographically distributed physical locations, • Two models for data access • Client redirection • Data shipping