article

Caching in the Sprite network file system

Abstract

The Sprite network operating system uses large main-memory disk block caches to achieve high performance in its file system. It provides non-write-through file caching on both client and server machines. A simple cache consistency mechanism permits files to be shared by multiple clients without danger of stale data. In order to allow the file cache to occupy as much memory as possible, the file system of each machine negotiates with the virtual memory system over physical memory usage and changes the size of the file cache dynamically. Benchmark programs indicate that client caches allow diskless Sprite workstations to perform within O-12 percent of workstations with disks. In addition, client caching reduces server loading by 50 percent and network traffic by 90 percent.

References

  1. 1.BACH, M. J., LuPPI, M. W., MELAMED, A. S., AND YUEH, K. A remote-file cache for RFS. In Proceedings of the USENIX Summer 1987 Conference (Phoenix, Ariz., June 1987), USENIX Association, Berkeley, Calif., 1987, 275-280.Google ScholarGoogle Scholar
  2. 2.BIRRELL, A. D., AND NELSON, B.J. Implementing remote procedure calls. ACM Trans. Comput. Syst. 2, 1 (Feb. 1984), 39-59. Google ScholarGoogle Scholar
  3. 3.HILL, M. D., EGGERS, S., LARES, J., TAYLOR, G., ADAMS, G., BOSE, B. K., GIBSON, G., HANSEN, P., KELLER, J., KONG, S., LEE, C., LEE, D., PENDLETON, J., RICHIE, S., WOOD, D., ZORN, B., HILFINGER, P., HODGES, D., KATZ, R., OUSTERHOUT, J., AND PATTERSON, D. Design decisions in SPUR. IEEE Comput. 19, 11 (Nov. 1986), 8-22. Google ScholarGoogle Scholar
  4. 4.HOWARD, J. H. ET AL. Scale and performance in a distributed file system. ACM Trans. Comput. Syst. 6, 1 (Feb. 1988). (To be published). Google ScholarGoogle Scholar
  5. 5.KLEIMAN, S. R. Vnodes: An architecture for multiple file system types in Sun UNIX. In Proceedings of the USENIX 1986 Summer Conference (Atlanta, Ga., June 1986), USENIX Association, Berkeley, Calif., 1986, 238-247.Google ScholarGoogle Scholar
  6. 6.LAZOWSKA, S. D., ZAHORJAN, J., CHERITON) D., AND ZWAENEPOEL, W. File access performance of diskless workstations. ACM Trans. Comput. Syst. 4, 3 (Aug. 1986), 238-268. Google ScholarGoogle Scholar
  7. 7.LEACH, P. J., LEVINE, P. H., DOUROS, B. P., HAMILTON, J. A., NELSON, D. L., AND STUMPF, B. L. The architecture of an integrated local network. IEEE J. Selected Areas Commun. SAC-l, 5 (Nov. 1983), 842-857.Google ScholarGoogle Scholar
  8. 8.LEFFLER, S., KARELS, M., AND McKuSlCK, M.K. Measuring and improving the performance of 4.2BSD. In Proceedings of the USENIX 1984 Summer Conference (Salt Lake City, Utah, June 1984), USENIX Association, Berkeley, Calif.,1984, 237-252.Google ScholarGoogle Scholar
  9. 9.NELSON, M. Virtual memory for the Sprite operating system. Tech. Rep. UCB/CSD 86/301, Computer Science DiE. (EECS), Univ. of California, Berkeley, 1986. Google ScholarGoogle Scholar
  10. 10.OUSTERHOUT, J. K., DA COSTA, H., HARRISON, D., KUNZE, J. A., KUPFER, M., AND THOMPSON, J.G. A trace-driven analysis of the 4.2 BSD UNIX file system. In Proceedings of the l Oth Symposium on Operating Systems Principles (Orcas Island, Wash., Dec. 1-4, 1985). ACM, New York, 1985, 15-24. Google ScholarGoogle Scholar
  11. 11.POPEK, G. J., AND WALKER, B. J., Eds. The LOCUS Distributed System Architecture. The MIT Press, Cambridge, Mass., 1985. Google ScholarGoogle Scholar
  12. 12.RITCHIE, D. M., AND THOMPSON, K. The UNIX time-sharing system. Commun. ACM 17, 7 (July 1974), 365-375. Google ScholarGoogle Scholar
  13. 13.SANDBERG, R., GOLDBERG, D., KLEIMAN, S., WALSH, D., AND LYON, B. Design and implementation of the Sun network filesystem. In Proceedings of the USENIX 1985 Summer Conference (Portland, Ore., June 1985), USENIX Association, Berkeley, Calif., 1985, 119-130.Google ScholarGoogle Scholar
  14. 14.SATYANARAYANAN, M., HOWARD, J. H., NICHOLS, D. A., SIDEBOTHAM, R. N., SPECTOR, A. Z., AND WEST, M.J. The ITC distributed file system: Principles and design. In Proceedings of the lOth Symposium on Operating Systems Principles (Orcas Island, Wash., Dec. 1-4, 1985). ACM, New York, 1985, 35-50. Google ScholarGoogle Scholar
  15. 15.SCHROEDER, M. D., GIFFORD, D. S., AND NEEDHAM, R. M. A caching file system for a programmer's workstation. In Proceedings of the l Oth Symposium on Operating Systems Principles (Orcas Island, Wash., Dec. 1-4, 1985). ACM, New York, 1985, 25-34. Google ScholarGoogle Scholar
  16. 16.THOMPSON, K. UNIX time-sharing system: UNIX Implementation. Bell Syst. Tech. J. 57, 6 (July-Aug. 1978), 1931-1946.Google ScholarGoogle Scholar
  17. 17.WELCH, B. The Sprite remote procedure call system. Tech. Rep. UCB/CSD 86/302, Computer Science DiE. (EECS), Univ. of California, Berkeley, Calif., 1986. Google ScholarGoogle Scholar
  18. 18.WELCH, B., AND OUSTERHOUT, J. Prefix tables: A simple mechanism for locating files in a distributed filesystem. In Proceedings of the 6th International Conference on Distributed Computing Systems (Cambridge, Mass., May 1986), IEEE Computer Society Press, New York, 1986, 184-189.Google ScholarGoogle Scholar

Index Terms

  1. Caching in the Sprite network file system

          Reviews

          Andrew Robert Huber

          It is a rare paper that reports interesting, significant results and is well written. This is such a paper. It should be read by everyone with an interest in network file systems. The Sprite network file system caches files in main memory on both servers and clients. A simple cache consistency mechanism flushes portions of caches and disables caching for files that are being write-shared to guarantee file system consistency. A unique feature of the caches is that they vary dynamically in size with virtual memory demand. The paper discusses these design decisions and then reports on a series of benchmarks that illustrate the performance effects on server utilization, network load, and client response. Data are presented that demonstrate several significant conclusions: (1) A client can access data in its own cache 6–8 times faster than in a server's cache. (2) Clients can access a server's cache at about the same speed as a local disk. Thus, a large server cache may well provide better performance than a local disk, especially as servers' processing speeds increase faster than disk performance. (3) When main memory caching is used, diskless clients have almost the same performance as clients with disks. This result should become more significant as increasing memory sizes make large memory caches on workstations practical and cheap. (4) Client caching reduces network utilization by a factor of ten and server utilization by a factor of two. This implies that Ethernet performance will be adequate for current workstations as well as for those built with the next generation of processors before higher-performance networks become critical. The major limitation in Sprite is its poor crash recovery. This is the flipside of the non-write-through cache policy that gains Sprite some of its performance improvement over systems such as NFS. The only weak spot in the paper is the lack of data showing the effectiveness of the dynamically sized cache. There are no comparisons running the same benchmarks with fixed-size caches, and the benchmark data show little change in performance for cache sizes above two megabytes. A valuable feature of the paper is a comparison of Sprite to six other distributed file systems (NFS, RFS, Andrew, Locus, Cedar, and Apollo) with respect to the size, location, and validation of the caches; consistency guarantees; and write policy. Having this information in one place makes the paper an excellent source for researchers, practitioners, or students.

          Access critical reviews of Computing literature here

          Become a reviewer for Computing Reviews.

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!