The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.01 - January (2008 vol.57)
pp: 25-40
Hong Jiang , IEEE
ABSTRACT
While many block replacement algorithms for buffer caches have been proposed to address the well-known drawbacks of the LRU algorithm, they are not robust and cannot maintain an consistent performance improvement over all workloads. This paper proposes a novel and simple replacement scheme, called RACE (Robust Adaptive buffer Cache management schemE), which differentiates the locality of I/O streams by actively detecting access patterns inherently exhibited in two correlated spaces: the discrete block space of program contexts from which I/O requests are issued and the continuous block space within files to which I/O requests are addressed. This scheme combines global I/O regularities of an application and local I/O regularities of individual files accessed in that application to accurately estimate the locality strength, which is crucial in deciding which blocks are to be replaced upon a cache miss. Through comprehensive simulations on eight real-application traces, RACE is shown to significantly outperform LRU and all other state-of-the-art cache management schemes studied in this paper, in terms of absolute hit ratios. Specifically, it improves the absolute hit ratios of LRU, UBM, PCC and AMP by as much as 56.9%, 22.5%, 42.7% and 39.9%, with an average of 15.5%, 3.3%, 9.4% and 8.8%, respectively. Given the relatively high buffer cache miss penalties, which typically are six orders of magnitude higher than buffer cache hit times, these gains of hit ratios obtained by RACE are likely to imply significant performance gains in applications' response times as well.
INDEX TERMS
Buffering, Main memory, Input/output
CITATION
Yifeng Zhu, Hong Jiang, "RACE: A Robust Adaptive Caching Strategy for Buffer Cache", IEEE Transactions on Computers, vol.57, no. 1, pp. 25-40, January 2008, doi:10.1109/TC.2007.70788
REFERENCES
[1] M.J. Bach, The Design of the UNIX Operating System. Prentice Hall, 1986.
[2] A.S. Tanenbaum and A.S. Woodhull, Operating Systems Design and Implementation. Prentice Hall, 1987.
[3] R.W. Carr and J.L. Hennessy, “WSCLOCK—A Simple and Effective Algorithm for Virtual Memory Management,” Proc. Eighth ACM Symp. Operating Systems Principles (SOSP '81), pp. 87-95, 1981.
[4] A.J. Smith, “Analysis of the Optimal, Look-Ahead Demand Paging Algorithms,” SIAM J. Computing, vol. 5, no. 4, pp. 743-757, Dec. 1976.
[5] J.M. Kim, J. Choi, J. Kim, S.H. Noh, S.L. Min, Y. Cho, and C.S. Kim, “A Low-Overhead, High-Performance Unified Buffer Management Scheme that Exploits Sequential and Looping References,” Proc. Fourth Symp. Operating System Design and Implementation (OSDI '00), pp. 119-134, Oct. 2000.
[6] J. Choi, S.H. Noh, S.L. Min, and Y. Cho, “An Implementation Study of a Detection-Based Adaptive Block Replacement Scheme,” Proc. 1999 Usenix Ann. Technical Conf., pp. 239-252, June 1999.
[7] C. Gniady, A.R. Butt, and Y.C. Hu, “Program-Counter-Based Pattern Classification in Buffer Caching,” Proc. Sixth Symp. Operating System Design and Implementation (OSDI '04), pp. 395-408, Dec. 2004.
[8] F. Zhou, R. von Behren, and E. Brewer, “AMP: Program Context Specific Buffer Caching,” Proc. Usenix Technical Conf., Apr. 2005.
[9] J. Choi, S.H. Noh, S.L. Min, E.-Y. Ha, and Y. Cho, “Design, Implementation, and Performance Evaluation of a Detection-Based Adaptive Block Replacement Scheme,” IEEE Trans. Computers, vol. 51, no. 7, pp. 793-800, July 2002.
[10] L.A. Belady, “A Study of Replacement Algorithms for a Virtual-Storage Computer,” IBM Systems J., vol. 5, no. 2, pp. 78-101, 1966.
[11] R.L. Mattson, J. Gecsei, D.R. Slutz, and I.L. Traiger, “Evaluation Techniques for Storage Hierarchies,” IBM Systems J., vol. 9, no. 2, pp. 78-117, 1970.
[12] E.J. O'Neil, P.E. O'Neil, and G. Weikum, “The LRU-K Page Replacement Algorithm for Database Disk Buffering,” Proc. ACM SIGMOD Int'l Conf. Management of Data, pp. 297-306, 1993.
[13] T. Johnson and D. Shasha, “2Q: A Low Overhead High Performance Buffer Management Replacement Algorithm,” Proc. 20th Int'l Conf. Very Large Data Bases (VLDB '94), pp. 439-450, 1994.
[14] D. Lee, J. Choi, J.-H. Kim, S.H. Noh, S.L. Min, Y. Cho, and C.S. Kim, “On the Existence of a Spectrum of Policies that Subsumes the Least Recently Used (LRU) and Least Frequently Used (LFU) Policies,” Proc. 1999 ACM SIGMETRICS Int'l Conf. Measurement and Modeling of Computer Systems, pp. 134-143, 1999.
[15] Y. Smaragdakis, S. Kaplan, and P. Wilson, “EELRU: Simple and Effective Adaptive Page Replacement,” Proc. ACM SIGMETRICS Int'l Conf. Measurement and Modeling of Computer Systems, pp. 122-133, 1999.
[16] Y. Zhou, J. Philbin, and K. Li, “The Multi-Queue Replacement Algorithm for Second Level Buffer Caches,” Proc. General Track: 2002 Usenix Ann. Technical Conf., pp. 91-104, 2001.
[17] S. Jiang and X. Zhang, “LIRS: An Efficient Low Inter-Reference Recency Set Replacement Policy to Improve Buffer Cache Performance,” Proc. ACM SIGMATRICS Int'l Conf. Measurement and Modeling of Computer Systems, pp. 31-42, June 2002.
[18] N. Megiddo and D.S. Modha, “ARC: A Self-Tuning, Low Overhead Replacement Cache,” Proc. Second Usenix Conf. File and Storage Technologies (FAST '03), pp. 115-130, Mar. 2003.
[19] D. Lee, J. Choi, J.-H. Kim, S.H. Noh, S.L. Min, Y. Cho, and C.S. Kim, “LRFU: A Spectrum of Policies that Subsumes the Least Recently Used and Least Frequently Used Policies,” IEEE Trans. Computers, vol. 50, no. 12, pp. 1352-1361, Dec. 2001.
[20] J. Song and Z. Xiaodong, “Making LRU Friendly to Weak Locality Workloads: A Novel Replacement Algorithm to Improve Buffer Cache Performance,” IEEE Trans. Computers, vol. 54, no. 8, pp. 939-952, Aug. 2005.
[21] S. Jiang, F. Chen, and X. Zhang, “CLOCK-Pro: An Effective Improvement of the CLOCK Replacement,” Proc. 2005 Usenix Ann. Technical Conf., Apr. 2005.
[22] N. Megiddo and D.S. Modha, “One Up on LRU,” ;login:—The Magazine of the Usenix Assoc., vol. 4, no. 18, pp. 7-11, 2003.
[23] N. Megiddo and D.S. Modha, “One Up on LRU,” The Magazine of the Usenix Assoc., vol. 4, no. 18, pp. 7-11, 2003.
[24] P. Cao, E.W. Felten, A.R. Karlin, and K. Li, “Implementation and Performance of Integrated Application-Controlled File Caching, Prefetching, and Disk Scheduling,” ACM Trans. Computer Systems, vol. 14, no. 4, pp. 311-343, 1996.
[25] R.H. Patterson, G.A. Gibson, E. Ginting, D. Stodolsky, and J. Zelenka, “Informed Prefetching and Caching,” Proc. 15th ACM Symp. Operating Systems Principles (SOSP '95), pp. 79-95, 1995.
[26] A.D. Brown, T.C. Mowry, and O. Krieger, “Compiler-Based I/O Prefetching for Out-of-Core Applications,” ACM Trans. Computer Systems, vol. 19, no. 2, pp. 111-170, 2001.
[27] T.M. Madhyastha and D.A. Reed, “Learning to Classify Parallel Input/Output Access Patterns,” IEEE Trans. Parallel and Distributed Systems, vol. 13, no. 8, pp. 802-813, Aug. 2002.
[28] G. Glass and P. Cao, “Adaptive Page Replacement Based on Memory Reference Behavior,” Proc. ACM SIGMETRICS Int'l Conf. Measurement and Modeling of Computer Systems, pp. 115-126, 1997.
[29] K. So and R.N. Rechtschaffen, “Cache Operations by MRU Change,” IEEE Trans. Computers, vol. 37, no. 6, pp. 700-709, June 1988.
[30] R. Floyd, “Short-Term File Reference Patterns in a UNIX Environment,” Technical Report TR-177, Computer Science Dept., Univ. of Rochester, Mar. 1986.
[31] C. Staelin, “High-Performance File System Design,” PhD dissertation, Dept. of Computer Science, Princeton Univ., Oct. 1991.
[32] V. Cate and T. Gross, “Combining the Concepts of Compression and Caching for a Two-Level File System,” Proc. Fourth Architectural Support for Programming Languages and Operating Systems (ASPLOS '91), pp. 200-211, Apr. 1991.
[33] H. Tang and T. Yang, “An Efficient Data Location Protocol for Self-Organizing Storage Clusters,” Proc. ACM/IEEE Conf. Supercomputing (SC '03), Nov. 2003.
[34] P. Cao, E.W. Felten, and K. Li, “Application-Controlled File Caching Policies,” Proc. Usenix Summer Technical Conf., pp. 171-182, June 1994.
[35] A.R. Butt, C. Gniady, and Y.C. Hu, “The Performance Impact of Kernel Prefetching on Buffer Cache Replacement Algorithms,” Proc. ACM SIGMETRICS Int'l Conf. Measurements and Modeling of Computer Systems, pp. 157-168, June 2005.
[36] J.L. Steffen, “Interactive Examination of a C Program with Cscope,” Proc. Winter Usenix Technical Conf., Jan. 1985.
[37] U. Manber and S. Wu, “GLIMPSE: A Tool to Search through Entire File Systems,” Proc. Winter Usenix Technical Conf., pp. 23-32, 1994.
[38] S.F. Altschul, W. Gish, W. Miller, E.W. Myers, and D.J. Lipman, “Basic Local Alignment Search Tool,” J. Molecular Biology, vol. 215, no. 3, pp. 403-410, , Oct. 1990.
[39] K.T. Pedretti, T.L. Casavant, R.C. Braun, T.E. Scheetz, C.L. Birkett, and C.A. Roberts, “Three Complementary Approaches to Parallelization of Local Blast Service on Workstation Clusters,” Proc. Fifth Int'l Conf. Parallel Computing Technologies (PACT '99), invited paper, pp. 271-282, 1999.
[40] TPC, Transaction Processing Council, http://dx.doi.org/10.1006/jmbi.1990.9999http:/ www.tpc.org, 2007.
[41] D. Thiebaut, H.S. Stone, and J.L. Wolf, “Improving Disk Cache Hit-Ratios through Cache Partitioning,” IEEE Trans. Computers, vol. 41, no. 6, pp. 665-676, June 1992.
[42] J.R. Spirn, Program Behavior: Models and Measurements. Elsevier Science, 1977.
[43] C. Gniady, A.R. Butt, Y.C. Hu, and Y.-H. Lu, “Program Counter-Based Prediction Techniques for Dynamic Power Management,” IEEE Trans. Computers, vol. 55, no. 6, pp. 641-658, June 2006.
21 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool