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%.
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- BLAST. NCBI BLAST. URL:http://www.ncbi.nlm.nih.gov/BLAST/.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Griffioen, J. and Appleton, R. 1994. Reducing file system latency using a predictive approach. In Proceedings of USENIX Summer. 197--207. Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Katcher, J. 1997. PostMark: A new file system benchmark. Tech. rep., TR 3022, Network Appliance Inc.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Lei, H. and Duchamp, D. 1997. An analytical approach to file prefetching. In Proceedings of the USENIX Annual Technical Conference. Google Scholar
Digital Library
- Loizides, C. Journaling-filesystem fragmentation project--tool: Agesystem. URL: http://www.informatik.uni-frankfurt.de/~loizides/reiserfs/agesystem.html.Google Scholar
- LXR. Linux cross-reference. URL: http://lxr.linux.no/.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Pai, R., Pulavarty, B., and Cao, M. 2004. Linux 2.6 performance improvement through readahead optimization. In Proceedings of the Linux Symposium.Google Scholar
- Papathanasiou, A. E. and Scott, M. L. 2004. Energy efficient prefetching and caching. In Proceedings of the USENIX Annual Technical Conference. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- Pozo, R. and Miller, B. 2000. Scimark 2.0. URL: http://math.nist.gov/scimark2/.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- TPC-H. 2006. TPC benchmark H -- standard specification. URL: http://www.tpc.org.Google Scholar
- Trent, G. and Sake, M. 1995. WebSTONE: The first generation in HTTP server benchmarking. URL: http://www.mindcraft.com/webstone/paper.html.Google Scholar
- 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 Scholar
Digital Library
- Zhou, Y., Chen, Z., and Li, K. 2004. Second-level buffer cache management. IEEE Trans. Paral. Distrib. Syst. 15, 6, 505--519. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
Index Terms
A buffer cache management scheme exploiting both temporal and spatial localities
Recommendations
A Prefetching Scheme Exploiting both Data Layout and Access History on Disk
Prefetching is an important technique for improving effective hard disk performance. A prefetcher seeks to accurately predict which data will be requested and load it ahead of the arrival of the corresponding requests. Current disk prefetch policies in ...
Application-adaptive intelligent cache memory system
This article presents the design of a simple hardware-controlled, high performance cache system. The design supports fast access time, optimal utilization of temporal and spatial localities adaptive to given applications, and a simple dynamic fetching ...
Reducing memory latency using a small software driven array cache
HICSS '95: Proceedings of the 28th Hawaii International Conference on System SciencesFrom the programming viewpoint, data references can be classified into two types: array reference and non-array references. Array references have relatively strong spatial locality while non-array references have relatively strong temporal locality. ...






Comments