This Article 
 Bibliographic References 
 Add to: 
Volume Leases for Consistency in Large-Scale Systems
July/August 1999 (vol. 11 no. 4)
pp. 563-576

Abstract—This article introduces volume leases as a mechanism for providing server-driven cache consistency for large-scale, geographically distributed networks. Volume leases retain the good performance, fault tolerance, and server scalability of the semantically weaker client-driven protocols that are now used on the web. Volume leases are a variation of object leases, which were originally designed for distributed file systems. However, whereas traditional object leases amortize overheads over long lease periods, volume leases exploit spatial locality to amortize overheads across multiple objects in a volume. This approach allows systems to maintain good write performance even in the presence of failures. Using trace-driven simulation, we compare three volume lease algorithms against four existing cache consistency algorithms and show that our new algorithms provide strong consistency while maintaining scalability and fault-tolerance. For a trace-based workload of web accesses, we find that volumes can reduce message traffic at servers by 40 percent compared to a standard lease algorithm, and that volumes can considerably reduce the peak load at servers when popular objects are modified.

[1] T. Berners-Lee, R. Fielding, and H. Frystyk Nielsen,“Hypertext Transfer Protocol—HTTP/1. 0,” Internet Draft draft-ietf-http-v10-spec-00, Internet Engineering Task Force, Mar. 1995.
[2] A. Bestavros, “Speculative Data Dissemination and Service to Reduce Server Load, Network Traffic and Service Time in Distributed Information Systems,” Proc. Int'l Conf. Data Eng., Mar. 1996.
[3] S. Chandra, M. Dahlin, B. Richards, R. Wang, T. Anderson, and J. Larus, “Experience with a Language for Writing Coherence Protocols,” Proc. Usenix Conf. Domain-Specific Languages, Oct. 1997.
[4] S. Chandra, B. Richards, and J.R. Larus, "Teapot: Language Support for Writing Memory Coherence Protocols," Proc. SIGPLAN Conf. Programming Language Design and Implementation, May 1996.
[5] P.M. Chen, L.T. Ng, S. Chandra, C. Aycock, G. Rajamani, and D. Lowell, “The Rio File Cache: Surviving Operating System Crashes,” Proc. 1996 Int'l Conf. Architectural Support for Programming Languages and Operating Systems, pp. 74-83, Oct. 1996.
[6] C. Cunha, A. Bestavros, and M. Crovella, “Characteristics of WWW Client-based Traces,” Technical Report TR-95-010, Boston Univ., Apr. 1995.
[7] A.J. Dill, D.L. Drexler, A.J. Hu, and C.H. Yang, “Protocol Verification as a Hardware Design Aid,” Proc. IEEE Int'l Conf. Computer Design: VLSI in Computers and Processors, 1992.
[8] C. Gray and D. Cheriton, "Leases: An Efficient Fault-Tolerant Mechanism for Distributed File Cache Consistency," Proc. 12th Int'l Symp. Operating System Principles, 1989.
[9] J.N. Gray, "Notes on Database Operating Systems" Operating Systems: An Advanced Course, R. Bayer, R.M. Graham, and G. Seegmuller, eds., Lecture Notes in Computer Science 60, Springer-Verlag, Heidelberg, Germany, 1978.
[10] J. Gwertzman and M. Seltzer, “World-Wide Web Cache Consistency,” Proc. 1996 Usenix Technical Conf., Jan. 1996.
[11] J.H. Howard, M.L. Kazar, S.G. Menees, D.A. Nichols, M. Satyanarayanan, R.N. Sidebotham, and M.J. West, "Scale and performance in a distributed file system," ACM Trans. Comp. Sys., vol. 6, no. 1, Feb. 1988.
[12] A.D. Joseph, A.F. de Lespinasse, J.A. Tauber, D.K. Gifford, and M.F. Kaashoek, “Rover: A Toolkit for Mobile Information Access,” Proc. ACM Symp. Operating Systems Principles, 1995.
[13] J.J. Kistler and M. Satyanarayanan, "Disconnected Operation in the Coda File System," ACM Trans. Computer Systems, vol. 10, no. 1, Feb. 1992, pp. 3-25.
[14] C. Liu and P. Cao, "Maintaining Strong Cache Consistency in the World-Wide Web," Proc. Int'l Conf. Distributed Computing Systems, 1997.
[15] L. Mummert and M. Satyanarayanan, “Large Granularity Cache Coherence for Intermittent Connectivity,” Proc. Summer 1994 Usenix Conf., June 1994.
[16] M.N. Nelson, B.B. Welch, and J.K. Ousterhout, "Caching in the Sprite File System," ACM Trans. Computer Systems, vol. 6, no. 1, pp. 134-154, Feb. 1988.
[17] R. Sandberg, D. Goldberg, S. Kleiman, D. Walsh, and B. Lyon, “Design and Implementation of the Sun Network Filesystem,” Proc. Summer 1985 Usenix Conf., pp. 119–130, June 1985.
[18] V. Srinivasan and J. Mogul, “Spritely NFS: Experiments with Cache Consistency Protocols,” Proc. 12th ACM Symp. Operating Systems Principles, pp. 45–57, Dec. 1989.
[19] D.B. Terry, M.M. Theimer, K. Petersen, A.J. Demers, M.J. Spreitzer, and C.H. Hauser, Managing Update Conflicts in a Weakly Connected Replicated Storage System Proc. ACM Symp. Operating Systems Principles, 1995.
[20] K. Worrell, “Invalidation in Large Scale Network Object Caches,” masters thesis, Univ. of Colorado, Boulder, 1994.
[21] J. Yin, L. Alvisi, M. Dahlin, and C. Lin, “Using Leases to Support Server-Driven Consistency in Large-Scale Systems,” Proc. 18th Int'l Conf. Distributed Computing Systems, May 1998.

Index Terms:
Cache consistency, lease, volume, fault tolerance, scalable server, file system.
Jian Yin, Lorenzo Alvisi, Michael Dahlin, Calvin Lin, "Volume Leases for Consistency in Large-Scale Systems," IEEE Transactions on Knowledge and Data Engineering, vol. 11, no. 4, pp. 563-576, July-Aug. 1999, doi:10.1109/69.790806
Usage of this product signifies your acceptance of the Terms of Use.