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 ScholarDigital 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 ScholarDigital 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 ScholarDigital 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 ScholarDigital 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 ScholarDigital 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 ScholarDigital 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 ScholarDigital 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 ScholarDigital 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 ScholarDigital Library
- Griffioen, J. and Appleton, R. 1994. Reducing file system latency using a predictive approach. In Proceedings of USENIX Summer. 197--207. Google ScholarDigital 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 ScholarDigital 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 ScholarDigital 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 ScholarDigital 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 ScholarDigital 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 ScholarDigital 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 ScholarDigital 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 ScholarDigital 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 ScholarDigital 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 ScholarDigital Library
- Lei, H. and Duchamp, D. 1997. An analytical approach to file prefetching. In Proceedings of the USENIX Annual Technical Conference. Google ScholarDigital 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 ScholarDigital 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 ScholarDigital 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 ScholarDigital 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 ScholarDigital 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 ScholarDigital 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 ScholarDigital 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 ScholarDigital Library
- Zhou, Y., Chen, Z., and Li, K. 2004. Second-level buffer cache management. IEEE Trans. Paral. Distrib. Syst. 15, 6, 505--519. Google ScholarDigital 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 ScholarDigital 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 ScholarDigital 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 ...
Making a case for split data caches for embedded applications
Special issue: MEDEA'05In this paper we show that cache memories for embedded applications can be designed to increase performance while reduce area and energy consumed. Previously we have shown that separating data cache into an array cache and a scalar cache can lead to ...
Comments