This Article 
 Bibliographic References 
 Add to: 
Efficient LRU-Based Buffering in a LAN Remote Caching Architecture
February 1996 (vol. 7 no. 2)
pp. 191-206

Abstract—The possibility of fast access to the main memory of remote sites has been advanced as a potential performance improvement in distributed systems. Even if a page is not available in local memory, sites need not do a disk access. Instead, the sites can use efficient mechanisms that support rapid request/response exchanges in order to access pages that are currently buffered at a remote site. Hardware and software support in such a remote caching architecture must also include algorithms that determine which pages should be buffered at what sites. When each site uses the classic LRU replacement algorithm, performance can be much worse than optimal in many system configurations. Because sites do not coordinate individual decisions, overall system buffering/caching decisions yield very inefficient global configurations. This paper proposes an easily implementable modification of the LRU replacement algorithm for LAN environments that reduces replication. The algorithm substantially improves hit-ratios—and thus performance—over a wide range of parameters. The relatively simple LAN topology implies that much less state information need be available for good replacement decisions compared to general network topologies. Two implications of two variations of the algorithm are explored. In an environment where the network is not a performance bottleneck, and where performance is memory-limited, performance of the proposed replacement algorithm is shown to be close to optimal.

[1] H.S. Alkhatib, "The local area network as a window to distributed virtual memory," Proc. 25th Hawaii Int'l Conf. on System Sciences, vol. 1, pp. 67-73, 1991.
[2] R. Ananthanarayanan, S. Menon, A. Mohindra, and U. Ramachandran, "Experiences in integrating distributed shared memory with virtual shared memory management," Operating Systems Rev., July 1992.
[3] J. Bennett, J. Carter, and W. Zwaenepoel, "Munin: Distributed shared-memory based on type-specific memory coherence," Proc. 1990 Conf. Principles and Practice of Parallel Programming.New York: ACM Press, pp. 168-176, 1990.
[4] D.P. Bertsekas and D.A. Castinon, "Auction algorithm for transportation problem," Annals of Operations Research, pp. 67-96, 1989.
[5] D. Comer and J. Griffioen, "A new design for distributed systems: The remote memory model," Summer USENIX, 1990.
[6] M.D. Dahlin, C.J. Mather, R.Y. Wang, T.E. Anderson, and D.A. Patterson, "A quantitative analysis of cache policies for scalable network file systems," Proc. ACM SIGMETRICS,Nashville, Tenn., pp. 150-160, May 1994.
[7] M.D. Dahlin, R.Y. Wang, T.E. Anderson, and D.A. Patterson, "Cooperative caching: Using remote client memory to improve file system performance," Proc. First USENIX Symp. Operating Systems Design and Implementation,Monterey, Calif., pp. 267-280, Nov. 1994.
[8] S. Clearwater and F. Provost, "RL4: A Tool for Knowledge-Based Induction," Proc. IEEE Conf. Tools Artificial Intelligence, pp. 24-30, 1990.
[9] L.W. Dowdy and D.V. Foster, "Comparative Models of the File Assignment Problem," ACM Computing Surveys, vol. 14, no. 2, 1982.
[10] M.J. Franklin, M.J. Carey, and M. Livny, "Global memory management in client-server DBMS architectures," Proc. 18th VLDB Conf.,Vancouver, Canada, pp. 596-609, 1992.
[11] R.S. Garfinkel and G.L. Nemhauser, Integer Programming.New York: John Wiley and Sons, 1972.
[12] 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.
[13] A. Leff, J. Wolf, and P.S. Yu, "Distributed object replication algorithms for a remote caching architecture," Int'l Conf. Parallel Processing,St. Charles, Ill., vol. 2, pp. 113-123, Aug. 1992.
[14] A. Leff, J. Wolf, and P.S. Yu, "Replication algorithms in a remote caching architecture," IEEE Trans. Parallel and Distributed Systems, vol. 4, no. 11, pp. 1,185-1,204, Nov. 1993.
[15] D. Lenoski et al., "The directory-based cache coherence protocol for the dash multiprocessor," Proc. 17th Int'l Symp. Computer Architecture,Los Alamitos, Calif., pp. 148-159, 1990.
[16] K. Li and P. Hudak, "Memory Coherence in Shared Virtual Memory Systems," ACM Trans. Computer Surveys, vol. 7, no. 4, Nov. 1989.
[17] H. Garcia-Molina and B. Kogan, "Node autonomy in distributed systems," Int'l Symp. Databases in Parallel and Distributed Systems, pp. 158-166, Dec. 1988.
[18] B. Nitzberg and V. Lo, "Distributed Shared Memory: A Survey of Issues and Algorithms," Computer, vol. 24, no. 8, Aug. 1991.
[19] Open Software Foundation, DCE Application Development Guide, OSF DCE Release 1.0 Developer's Kit.Cambridge, Mass.: Open Software Foundation, Feb. 1991.
[20] R. Sandberg, D. Goldberg, D. Kleiman, D. Walsh, and B. Lyon, "Design and implementation of the Sun network file system," Proc. Summer 1985 USENIX, June 1985.
[21] J.K. Ousterhout et al., "The Sprite network operating system," IEEE Computer, vol. 21, no. 2, pp. 23-36, Feb. 1988.
[22] C. Pu, D. Florissi, P. Soares, K.-L. Wu, and P.S. Yu, "Performance comparison of dynamic policies for remote caching," Concurrency: Practice and Experience, vol. 5, no. 4, pp. 239-256, June 1993.
[23] K.W. Shirriff and J.K. Ousterhout, "A trace driven analysis of name and attribute caching in a distributed system," Proc. Winter 1992 USENIX Conf., pp. 315-331, 1992.
[24] B.W. Wah, "File placement on distributed computer systems," Computer, vol. 17, no. 1, pp. 23-32, Jan. 1984.
[25] G.K. Zipf, Human Behavior and the Principle of Least Effort.Reading, Mass.: Addison-Wesley, 1949.

Index Terms:
Memory management, memory hierarchies, local area networks, performance evaluation, distributed database systems, distributed memories.
Avraham Leff, Joel L. Wolf, Philip S. Yu, "Efficient LRU-Based Buffering in a LAN Remote Caching Architecture," IEEE Transactions on Parallel and Distributed Systems, vol. 7, no. 2, pp. 191-206, Feb. 1996, doi:10.1109/71.485508
Usage of this product signifies your acceptance of the Terms of Use.