Nothing Special   »   [go: up one dir, main page]

skip to main content
article
Free access

A coherent distributed file cache with directory write-behind

Published: 01 May 1994 Publication History

Abstract

Extensive caching is a key feature of the Echo distributed file system. Echo client machines maintain coherent caches of file and directory data and properties, with write-behind (delayed write-back) of all cached information. Echo specifies ordering constraints on this write-behind, enabling applications to store and maintain consistent data structures in the file system even when crashes or network faults prevent some writes from being completed. In this paper we describe the Echo cache's coherence and ordering semantics, show how they can improve the performance and consistency of applications, explain how they are implemented. We also discuss the general problem of reliably notifying applications and users when write-behind is lost; we addressed this problem as part of the Echo design, but did not find a fully satisfactory solution.

References

[1]
BAKER, M., AND SULLIVAN, M. 1992. The recovery box. Using fast recovery to provide h~gh availabfilty in the UNIX environment. In Proceedings Summer 1992 USENIX Conference (June) USENIX Association, Berkeley, Calif., pp. 31 43.]]
[2]
BAKER, M., ASAMI, S., DEPRIT, E., OUSTERHOUT, J., AND SELTZER, M., 1992. Non-volatile memory for fast, reliable file systems. In Proceedings 5th International Conference on Architectural Support for Prograramlng Languages and Operatzng Systems (Boston, Mass, Oct. 12-15). ACM, New York, pp 10 22]]
[3]
BAKER, M. G., HARTMAN, J. H., KUPFER, M. D., SHIRRIFF, K. W., AND OUSTERHOUT, J. K. 1991. Measurements of a distributed file system. In Proceedings 13th Symposium on Operating Systems Principles (Pacific Grove, Calif., Oct. 13-16). ACM, New York, pp. 198-212.]]
[4]
BIRRELL, A. D., HISGEN, A., JERIAN, C., MANN, T., AND SWART, G. 1993. The Echo distributed file system. Res. Rep. Systems Research Center, Digital Equipment Corporation, Palo Alto, Calif, Sept.]]
[5]
BURROWS, M., 1988. Efficient data sharing. Ph.D. thesis, Computer Laboratory, Univ. of Cambridge, U.K. Sept.]]
[6]
CHIU S.-Y., AND LEVIN, R. 1993. The Vesta repository: A file system extension for software development. Res. Rep. 106, Systems Research Center, Digital Equipment Corporation, Pa}o Alto, Calif.]]
[7]
GLASSMAN, L., GRINBERG, D., HIBBARD, C., REID, L. G., AND VAN LEUNEN, M. C. 1992. Hector: Connecting words with definitions. Res. Rep. 92A, Systems Research Center, Digital Equipment Corporation, Palo Alto, Calif., Oct.]]
[8]
GRAY, C. G., AND CHERITON, D. R., 1989. Leases: An efficient fault-tolerant mechanism for distributed file cache consistency. In Proceedings 12th Symposium on Operating Systems Principles (Litchfield Park, Ariz., Dec. 3-6) ACM, New York, pp. 202 210.]]
[9]
GuY, R. G., AND POPEK, G. J. 1991. Algorithms for consistency in optimistically replicated file systems. Tech. Rep. CSD-910006, UCLA Computer Science Dept. UCLA, Los Angeles, Calif., Mar.]]
[10]
HISGEN, A., BIRRELL, A., JERIAN, C., MANN, T., AND SWART, G. 1992. Some consequences of excess load on the Echo replicated file system. In Proceedings 2rid Workshop on the Management of Replicated Data (Monterey, Calif., Nov. 12-13). IEEE, New York, pp. 92-95.]]
[11]
HISGEN, A., BIRRELL, A., JERIAN, C., MANN, T., AND SWART, G., 1993. New-value logging in the Echo replicated file system. Res. Rep. 104, Systems Research Center, Digital Equipment Corporation, Palo Alto, Calif., June.]]
[12]
HISGEN, A., BmRELL, A., MANN, T., SCnROEDER, M., AND SWART, G. 1989. Availability and consistency tradeoffs in the Echo distributed file system. In Proceedings 2nd Workshop on Workstation Operating Systems (Pacific Grove, Calif., Sept. 27 29). IEEE, New York, pp. 49-54.]]
[13]
HISGEN, A., BIRRELL, A., JERIAN, C., MAN~, T., SCHROEDER, M., AND SWART, G., 1990. Granularity and semantic level of replication in the Echo distributed file system. In Proceedzngs Workshop on the Management of Replicated Data (Houston, Tex., Nov. 8 9). IEEE, New York, pp. 2-4.]]
[14]
HOWARD, J. H., KAZAR, M. L., MENEES, S. G., NICHOLS, D. A., SATYANARAYNAN, M., SIDEBOTHAM, R. N., AND WEST, M. J. 1988. Scale and performance in a distributed file system. ACM Trans. Comput. Syst. 6, 1 (Feb.), 51-81.]]
[15]
KAZAR, M. L., 1988. Synchronization and caching issues in the Andrew file system. In Proceedings Winter 1988 USENIX Conference (Dallas, Tex., Feb. 9 12). USENIX Association, Berkeley, Calif., pp. 27-36.]]
[16]
KISTLER, J. J., AND SATYANARAYNAN, M. 1991. Disconnected operation in the coda file system. In Proceedtngs 13th Symposium on Operating Systems Prtnc~ples (Oct.). ACM, New York, pp. 213-225.]]
[17]
LAMPSON, B., ABADI, M., BURROWS, AND M., AND WOBBER, E. 1991. Authentication in distributed systems: Theory and practice. In Proceedings 13th Symposium on Operating Systems Princples (Oct.). ACM, New York, pp. 165 182.]]
[18]
LEVIN, R., AND MCJONES, P. 1993. The Vesta approach to precise configuration of large software systems. Res. Rep. 105, Systems Research Center, Digital Equipment Corporation, Palo Alto, Calif.]]
[19]
MANN, T., HISGEN, A., AND SWART, G. 1989. An algorithm for data replication. Res. Rep. 46, Systems Research Center, Digital Equipment Corporation, Palo Alto, Calif. June.]]
[20]
NELSON, M. N., WELCH, B. B., AND OUSTERHOUT, J. K. 1988. Caching in the Sprite network file system. ACM Trans. Comput. Syst. 6, i (Feb.), 134-154.]]
[21]
PAGE, T. W. JR., GUY. R. G., POPEK, G. J_, ANn HEIDEMANN, J. S. 1991. Architecture of the Ficus scalable replicated file system. Tech. Rep. CSD-910005, UCLA Computer Science Dept., UCLA, Los Angeles, Calif., Mar.]]
[22]
POPEK G., WALKER, B., CHOW, J., EDWARDS, D., KLINE, C., RUDISIN, G, AND THIEL, G. 1981. LOCUS: A network transparent, high reliability distributed system. In Proceedings 8th Symposzum on Operating Systenzs Prznczples (Pacific Grove, Calif., Dec. 14-16). ACM, New York, pp. 169 177.]]
[23]
SANDBERG, R., GOLDBERG, D., KLEIMAN, S., WALSH, D., AND LYON, B. 1985. Design and implementation of the Sun network filesystem. In Proceedzngs Summer 1985 USENIX Conference (Portland, Ore., June. 11-14). USENIX Association, Berkeley, Calif., pp. 119-130.]]
[24]
SCHMUCK, F., AND WYLLIE, J. 1991. Experience with transactions in QuickSilver. In Proceedzngs 13th Sympos~ura on Operating Systems Prznc~ples (Pacific Grove, Calif., Oct. 13-16). ACM, New York, pp. 239-253.]]
[25]
SCHROEDER, M. D., BIRRELL, A. D., BURROWS, M., MURRAY, H., NEEDHAM, R. M., RODEHEFFER, T L., SATrERHWAITE, E. H., A~D T~ACXER, C. P. 1990 Autonet: A high-speed, self-configuring local area network using point-to-point links. Res. Rep. 59, Systems Research Center, Digital Equipment Corporation, Palo Alto, Calif., Apr.]]
[26]
SUN MICROSYSTEMS, INC. 1989. NFS: Network file system protocol specificatmn. RFC 1094, Network Information Center, SRI International, Menlo Park, Calif., Mar.]]
[27]
SWART, G., BIRRELL, A., HISGEN, A., JERIAN, C., AND MANN, T 1993. Availability in the Echo file system. Res. Rep. 112, Systems Research Center, Digital Equipment Corporation, Palo Alto, Calif., Sept.]]
[28]
THACKER, C. P., STEWART, L. C., AND SATrERTHWAITE, E. H, JR. 1987. Firefly: A multiprocessor workstation. Res. Rep. 23, Systems Research Center, Digital Eqmpment Corporation, Palo Alto, Calif., Dec.]]
[29]
WALm~R, B., POPEK, G., ENGLISH, R., KL~NE, C. AND THmL, G 1983. The LOCUS distributed operating system. In Proceedings 9th Symposzum on Operatzng Systems Principles (Bretton Woods, N.H., Oct. 12-13). ACM, New York, pp. 49 70.]]
[30]
WELC}~, B., AND OUST~RHOUT, J. 1986. Prefix tables' A simple mechanism for locating files m a distributed filesystem. In Procee&ngs 6th International Conference on Distributed Computing Systems (Cambridge, Mass., May 19-23). IEEE, New York, pp. 184-189]]

Cited By

View all

Recommendations

Reviews

Caroline Merriam Eastman

Echo is a distributed file system based on a client-server architecture. This paper describes its design, implementation, and performance, and addresses security and fault-tolerance issues. Most of the paper is devoted to a description of Echo's contributions and novel features; there is some discussion of its limitations, and it is compared to similar systems. Echo is no longer in use and is not being developed any further. Key features of Echo include the use of large client caches and ordered write-behind for both files and directories. Concurrency control is handled through tokens issued to clients. Leases specify the maximum time a client is allowed to hold a token, thus allowing tokens to be reclaimed and preventing a failed client from tying up a resource. The procedures used to maintain transaction order are discussed in exhaustive detail. Performance results for different implementations on a network of DEC Fireflies are presented. For three benchmarks, full write-behind gave the lowest elapsed time, and write-back on close gave the highest; directory write-through was intermediate. The results were much more dramatic for the tasks involving compilation of many small C programs and the creation of a new version of a software package using the Vesta configuration management system than for the task involving the make phase of the Andrew benchmark. The results indicate that full write-behind might give modest performance improvements on many realistic workloads. Echo was also compared to a UNIX implementation on similar hardware. As is usual in such comparisons, it is hard to isolate the reasons for performance differences. No statistical tests are presented. Comprehensive descriptions of complete implemented systems are an important contribution and serve to advance the field of computer systems development. This paper provides such a description for Echo; it should interest researchers and developers of file systems, operating systems, and distributed systems.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Transactions on Computer Systems
ACM Transactions on Computer Systems  Volume 12, Issue 2
May 1994
74 pages
ISSN:0734-2071
EISSN:1557-7333
DOI:10.1145/176575
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 May 1994
Published in TOCS Volume 12, Issue 2

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. coherence
  2. file caching
  3. write-behind

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)67
  • Downloads (Last 6 weeks)9
Reflects downloads up to 01 Nov 2024

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media