Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!nntp.coast.net!zombie.ncsc.mil!news.mathworks.com!gatech!sdd.hp.com!hamblin.math.byu.edu!park.uvsc.edu!usenet From: Terry Lambert <terry@lambert.org> Newsgroups: comp.unix.bsd.netbsd.misc,comp.unix.bsd.bsdi.misc,comp.unix.solaris,comp.unix.aix Subject: Re: ISP hardware/software choices (performance comparison) Date: 19 Jan 1996 21:26:11 GMT Organization: Utah Valley State College, Orem, Utah Lines: 88 Distribution: inet Message-ID: <4dp29j$8v8@park.uvsc.edu> References: <4d9has$qo9@park.uvsc.edu> <4de3db$n6a@engnews2.Eng.Sun.COM> <4depms$bi5@park.uvsc.edu> <4dm8d8$30r@engnews2.Eng.Sun.COM> NNTP-Posting-Host: hecate.artisoft.com Xref: euryale.cc.adfa.oz.au comp.unix.bsd.netbsd.misc:2077 comp.unix.bsd.bsdi.misc:2233 comp.unix.solaris:58005 comp.unix.aix:69318 pgt@sunlite.Eng.Sun.COM (Panos Tsirigotis) wrote: ] >Client caching prior to NFSv3 violates the protocol specification. ] ] Please post the relevant section of RFC-1094 (NFS spec) that supports ] the above assertion. |1. INTRODUCTION | | The Sun Network Filesystem (NFS) protocol provides transparent remote | access to shared files across networks. | "transparent". |1.3. Stateless Servers | | The NFS protocol was intended to be as stateless as possible. This is nice and tricky; the RFC is mostly a server spec, not a client spec. |2.2.8. Write to Cache | | void | NFSPROC_WRITECACHE(void) = 7; | | To be used in the next protocol revision. Ie: not in this one. If this isn't enough, I suggest: Title: "Unix Internals, the New Frontiers" Author: Uresh Vahalia Publisher: Prentice Hall/Simon and Schuster ISBN: 0-13-101908-2 Chapter 10, Distributed File Systems |10.7.2 Client-Side Caching | |If every operation on a remote file required network access, NFS |performance would be intolerably slow. Hence most NFS clients |resort to caching both file blocks and file attributes. They |cache file blocks in the buffer cache and attributes in the rnodes. |This caching is dangerous, since the client has no way of knowing |if the contents of the cache are still valid, short of querying |the server each time they must be used. [ ... ] |Client-side caching is essential for acceptable performance. The |precautions described here [elided text above -- TRL] reduce, but |do not eliminate, the consistency problems. In fact, they |introduce some new race conditions, as described in [Mack91] |and [Jusz89] [ ... ] |[Mack91] Macklem, R., "Lessons Learned Tuning the $.3BSD Reno | Implementation of the NFS protocol," _Proceedings of | the Winter 1991 USENIX Technical Conference_, Jan. | 1991, pp. 53-64 [ ... ] |[Jusz89] Juszczak, C., "Improving the Performance and Correctness | of an NFS Server," _Proceedings of the Winter 1989 | USENIX Technical Conference_, Jan. 1989, pp. 53-63 Many Usenix papers, especially those on file systems, are available via anonymous FTP from the ftp.sage.usenix.org server. Most good techinical libraries have them as well. The problem is the violation of the consistency guarantees implicit in the standard's use of the word "transparent". Regards, Terry Lambert terry@cs.weber.edu --- Any opinions in this posting are my own and not those of my present or previous employers.