skip to main content
article

A buffer cache management scheme exploiting both temporal and spatial localities

Published:01 June 2007Publication History
Skip Abstract Section

Abstract

On-disk sequentiality of requested blocks, or their spatial locality, is critical to real disk performance where the throughput of access to sequentially-placed disk blocks can be an order of magnitude higher than that of access to randomly-placed blocks. Unfortunately, spatial locality of cached blocks is largely ignored, and only temporal locality is considered in current system buffer cache managements. Thus, disk performance for workloads without dominant sequential accesses can be seriously degraded. To address this problem, we propose a scheme called DULO (DUal LOcality) which exploits both temporal and spatial localities in the buffer cache management. Leveraging the filtering effect of the buffer cache, DULO can influence the I/O request stream by making the requests passed to the disk more sequential, thus significantly increasing the effectiveness of I/O scheduling and prefetching for disk performance improvements.

We have implemented a prototype of DULO in Linux 2.6.11. The implementation shows that DULO can significantly increases disk I/O throughput for real-world applications such as a Web server, TPC benchmark, file system benchmark, and scientific programs. It reduces their execution times by as much as 53%.

References

  1. Albers, S. and Buttner, M. 2003. Integrated prefetching and caching in single and parallel disk systems. In Proceedings of the 15th Annual ACM Symposium on Parallel Algorithms and Architectures (SPAA'03). ACM Press, New York, NY, 109--117. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Arpaci-Dusseau, A. C., Arpaci-Dusseau, R. H., Burnett, N. C., Denehy, T. E., Engle, T. J., Gunawi, H. S., Nugent, J. A., and Popovici, F. I. 2003. Transforming policies into mechanisms with infokernel. In Proceedings of the 19th ACM Symposium on Operating Systems Principles (SOSP'03). ACM Press, New York, NY, 90--105. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Black, D. L., Carter, J., Feinberg, G., MacDonald, R., Mangalat, S., Sheinbrood, E., Sciver, J. V., and Wang, P. 1991. OSF/1 virtual memory improvements. In Proceedings of USENIX MACH Symposium. 87--104.Google ScholarGoogle Scholar
  4. BLAST. NCBI BLAST. URL:http://www.ncbi.nlm.nih.gov/BLAST/.Google ScholarGoogle Scholar
  5. Butt, A. R., Gniady, C., and Hu, Y. C. 2005. The performance impact of kernel prefetching on buffer cache replacement algorithms. In Proceedings of the ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS'05). ACM Press, New York, NY, 157--168. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Cao, P., Felten, E. W., Karlin, A. R., and Li, K. 1995. A study of integrated prefetching and caching strategies. SIGMETRICS Perform. Eval. Rev. 23, 1, 188--197. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Cao, P., Felten, E. W., Karlin, A. R., and Li, K. 1996. Implementation and performance of integrated application-controlled file caching, prefetching, and disk scheduling. ACM Trans. Comput. Syst. 14, 4, 311--343. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Cao, P. and Irani, S. 1997. Cost-aware WWW proxy caching algorithms. In Proceedings of the Usenix Symposium on Internet Technologies and Systems (USITS'97). Monterey, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Ding, X., Jiang, S., Chen, F., Davis, K., and Zhang, X. 2007. DiskSeen: Exploiting disk layout and access history to enhance I/O prefetch. In Proceedings of USENIX Annual Technical Conference (USENIX'07). USENIX Association. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Forney, B. C., Arpaci-Dusseau, A. C., and Arpaci-Dusseau, R. H. 2002. Storage-aware caching: Revisiting caching for heterogeneous storage systems. In Proceedings of the 1st USENIX Conference on File and Storage Technologies (FAST'02). USENIX Association. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Gill, B. S. and Modha, D. S. 2005. SARC: Sequential prefetching in adaptive replacement cache. In Proceedings of the USENIX Annual Technical Symposium. USENIX Association. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Griffioen, J. and Appleton, R. 1994. Reducing file system latency using a predictive approach. In Proceedings of USENIX Summer. 197--207. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Hsu, W. W., Smith, A. J., and Young, H. C. 2003. The automatic improvement of locality in storage systems. Tech. rep. UCB/CSD-03-1264, EECS Department, University of California, Berkeley, CA.Google ScholarGoogle Scholar
  14. Iyer, S. and Druschel, P. 2001. Anticipatory scheduling: A disk scheduling framework to overcome deceptive idleness in synchronous I/O. In Proceedings of the 18th ACM Symposium on Operating Systems Principles (SOSP'01). ACM Press, New York, NY, 117--130. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Jiang, S., Chen, F., and Zhang, X. 2005. CLOCK-Pro: An effective improvement of the clock replacement. In Proceedings of the Annual USENIX Technical Conference. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Jiang, S., Ding, X., Chen, F., Tan, E., and Zhang, X. 2005. DULO: An effective buffer cache management scheme to exploit both temporal and spatial localities. In Proceedings of the 4th USENIX Conference on File and Storage Technologies (FAST'05). USENIX Association. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Jiang, S. and Zhang, X. 2002. LIRS: An efficient low interreference recency set replacement policy to improve buffer cache performance. In Proceedings of the ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS'02). ACM Press, New York, NY, 31--42. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Johnson, T. and Shasha, D. 1994. 2Q: A low overhead high performance buffer management replacement algorithm. In Proceedings of the 20th International Conference on Very Large Data Bases (VLDB'94). Morgan Kaufmann Publishers Inc., San Francisco, CA, 439--450. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Kaplan, S. F., McGeoch, L. A., and Cole, M. F. 2002. Adaptive caching for demand prepaging. In Proceedings of the 3rd International Symposium on Memory Management (ISMM'02). ACM Press, New York, NY, 114--126. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Katcher, J. 1997. PostMark: A new file system benchmark. Tech. rep., TR 3022, Network Appliance Inc.Google ScholarGoogle Scholar
  21. Kimbrel, T., Tomkins, A., Patterson, R. H., Bershad, B., Cao, P., Felten, E. W., Gibson, G. A., Karlin, A. R., and Li, K. 1996. A trace-driven comparison of algorithms for parallel prefetching and caching. In Proceedings of the 2nd USENIX Symposium on Operating Systems Design and Implementation (OSDI'96). ACM Press, New York, NY, 19--34. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Kroeger, T. M. and Long, D. D. E. 1996. Predicting file-system actions from prior events. In Proceedings of the Annual USENIX Technical Conference. 319--328. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Kroeger, T. M. and Long, D. D. E. 2001. Design and implementation of a predictive file prefetching algorithm. In Proceedings of the USENIX Annual Technical Conference. USENIX Association, 105--118. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Lei, H. and Duchamp, D. 1997. An analytical approach to file prefetching. In Proceedings of the USENIX Annual Technical Conference. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Loizides, C. Journaling-filesystem fragmentation project--tool: Agesystem. URL: http://www.informatik.uni-frankfurt.de/~loizides/reiserfs/agesystem.html.Google ScholarGoogle Scholar
  26. LXR. Linux cross-reference. URL: http://lxr.linux.no/.Google ScholarGoogle Scholar
  27. Megiddo, N. and Modha, D. S. 2003. ARC: A self-tuning, low overhead replacement cache. In Proceedings of the 2nd USENIX Conference on File and Storage Technologies (FAST '03). USENIX Association, 115--130. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. O'Neil, E. J., O'Neil, P. E., and Weikum, G. 1993. The LRU-K page replacement algorithm for database disk buffering. In Proceedings of the ACM SIGMOD International Conference on Management of Data (SIGMOD'93). ACM Press, New York, NY, 297--306. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Pai, R., Pulavarty, B., and Cao, M. 2004. Linux 2.6 performance improvement through readahead optimization. In Proceedings of the Linux Symposium.Google ScholarGoogle Scholar
  30. Papathanasiou, A. E. and Scott, M. L. 2004. Energy efficient prefetching and caching. In Proceedings of the USENIX Annual Technical Conference. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Patterson, R. H., Gibson, G. A., Ginting, E., Stodolsky, D., and Zelenka, J. 1995. Informed prefetching and caching. In Proceedings of the 15th ACM Symposium on Operating Systems Principles (SOSP'95). ACM Press, New York, NY, 79--95. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Pozo, R. and Miller, B. 2000. Scimark 2.0. URL: http://math.nist.gov/scimark2/.Google ScholarGoogle Scholar
  33. Schlosser, S. W., Schindler, J., Papadomanolakis, S., Shao, M., Ailamaki, A., Faloutsos, C., and Ganger, G. R. 2005. On multidimensional data and modern disks. In Proceedings of the 4th USENIX Conference on File and Storage Technologies (FAST'05). Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Tomkins, A., Patterson, R. H., and Gibson, G. 1997. Informed multi-process prefetching and caching. In Proceedings of the ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS'97). ACM Press, New York, NY, 100--114. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. TPC-H. 2006. TPC benchmark H -- standard specification. URL: http://www.tpc.org.Google ScholarGoogle Scholar
  36. Trent, G. and Sake, M. 1995. WebSTONE: The first generation in HTTP server benchmarking. URL: http://www.mindcraft.com/webstone/paper.html.Google ScholarGoogle Scholar
  37. Young, N. E. 1998. Online file caching. In Proceedings of the 9th annual SIAM Symposium on Discrete Algorithms (SODA'98). SIAM, Philadelphia, PA, 82--86. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Zhou, Y., Chen, Z., and Li, K. 2004. Second-level buffer cache management. IEEE Trans. Paral. Distrib. Syst. 15, 6, 505--519. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Zhu, Q., David, F. M., Devaraj, C. F., Li, Z., Zhou, Y., and Cao, P. 2004a. Reducing energy consumption of disk storage using power-aware cache management. In Proceedings of the 10th International Symposium on High Performance Computer Architecture (HPCA'04). IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Zhu, Q., Shankar, A., and Zhou, Y. 2004b. PB-LRU: A self-tuning power aware storage cache replacement algorithm for conserving disk energy. In Proceedings of the 18th Annual International Conference on Supercomputing (ICS'04). ACM Press, New York, NY, 79--88. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A buffer cache management scheme exploiting both temporal and spatial localities

    Recommendations

    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