ABSTRACT
During concurrent I/O workloads, sequential access to one I/O stream can be interrupted by accesses to other streams in the system. Frequent switching between multiple sequential I/O streams may severely affect I/O efficiency due to long disk seek and rotational delays of disk-based storage devices. Aggressive prefetching can improve the granularity of sequential data access in such cases, but it comes with a higher risk of retrieving unneeded data. This paper proposes a competitive prefetching strategy that controls the prefetching depth so that the overhead of disk I/O switch and unnecessary prefetching are balanced. The proposed strategy does not require a-priori information on the data access pattern, and achieves at least half the performance (in terms of I/O throughput) of the optimal offline policy. We also provide analysis on the optimality of our competitiveness result and extend the competitiveness result to capture prefetching in the case of random-access workloads.
We have implemented the proposed competitive prefetching policy in Linux 2.6.10 and evaluated its performance on both standalone disks and a disk array using a variety of workloads (including two common file utilities, Linux kernel compilation, the TPC-H benchmark, the Apache web server, and index searching). Compared to the original Linux kernel, our competitive prefetching system improves performance by up to 53%. At the same time, it trails the performance of an oracle prefetching strategy by no more than 42%.
- S. V. Anastasiadis, R. G. Wickremesinghe, and J. S. Chase. Circus: Opportunistic Block Reordering for Scalable Content Servers. In Proc. of the Third USENIX Conf. on File and Storage Technologies, pages 201--212, San Fancisco, CA, Mar. 2004. Google Scholar
Digital Library
- M. Arlitt and T. Jin. Workload Characterization of the 1998 World Cup Web Site. Technical Report HPL-1999-35, HP Laboratories Palo Alto, 1999.Google Scholar
- Ask Jeeves Search, http://www.ask.com.Google Scholar
- P. Barham, B. Dragovic, K. Eraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt, and A. Warfield. Xen and the art of virtualization. In Proc. of the 19th ACM Symp. on Operating Systems Principles, pages 164--177, Bolton Landing, NY, Oct. 2003. Google Scholar
Digital Library
- R. Barve, M. Kallahalla, P. J. Varman, and J. S. Vitter. Competitive Parallel Disk Prefetching and Buffer Management. Journal of Algorithms, 38(2):152--181, Aug. 2000. Google Scholar
Digital Library
- P. Cao, E. W. Felten, A. R. Karlin, and K. Li. A Study of Integrated Prefetching and Caching Strategies. In Proc. of the ACM SIGMETRICS, pages 188--197, Ottawa, Canada, June 1995. Google Scholar
Digital Library
- P. Cao, E. W. Felten, and K. Li. Implementation and Performance of Application-Controlled File Caching. In Proc. of the First USENIX Symp. on Operating Systems Design and Implementation, Monterey, CA, Nov. 1994. Google Scholar
Digital Library
- P. H. Carns, W. B. L. Ill, R. B. Ross, and R. Thakur. PVFS: A Parallel File System For Linux Clusters. In Proc. of the 4th Annual Linux Showcase and Conf., pages 317--327, Atlanta, GA, Oct. 2000. Google Scholar
Digital Library
- E. Carrera and R. Bianchini. Improving Disk Throughput in Data-Intensive Servers. In Proc. of the 10th Int'l Symp. on High Performance Computer Architecture, pages 130--141, Madrid, Spain, Feb. 2004. Google Scholar
Digital Library
- F. Chang and G. Gibson. Automatic I/O Hint Generation Through Speculative Execution. In Proc. of the Third USENIX Symp. on Operating Systems Design and Implementation, New Orleans, LA, Feb. 1999. Google Scholar
Digital Library
- Z. Dimitrijevic, R. Rangaswami, and E. Chang. Design and Implementation of Semi-preemptible IO. In Proc. of the Second USENIX Conf. on File and Storage Technologies, pages 145--158, San Francisco, CA, Mar. 2003. Google Scholar
Digital Library
- K. Fraser and F. Chang. Operating System I/O Speculation: How Two Invocations Are Faster Than One. In Proc. of the USENIX Annual Technical Conf., pages 325--338, San Antonio, TX, June 2003.Google Scholar
- G. R. Ganger and Y. N. Patt. Using System-Level Models to Evaluate I/O Subsystem Designs. IEEE Transactions on Computers, 47(6):667--678, June 1998. Google Scholar
Digital Library
- B. S. Gill and D. S. Modha. SARC: Sequential Prefetching in Adaptive Replacement Cache. In Proc. of the USENIX Annual Technical Conf., pages 293--308, Anaheim, CA, Apr. 2005. Google Scholar
Digital Library
- GNU Diffutils Project, 2006. http://www.gnu.org/software/diffutils/diffutils.html.Google Scholar
- S. Iyer and P. Druschel. Anticipatory Scheduling: A Disk Scheduling Framework to Overcome Deceptive Idleness in Synchronous I/O. In Proc. of the 18th ACM Symp. on Operating Systems Principles, pages 117 -- 130, Banff, Canada, Oct. 2001. Google Scholar
Digital Library
- S. T. Jones, A. C. Arpaci-Dusseau, and R. H. Arpaci-Dusseau. Antfarm: Tracking processes in a virtual machine environment. In Proc. of the USENIX Annual Technical Conf., pages 1--14, Boston, MA, June 2006. Google Scholar
Digital Library
- S. F. Kaplan, L. A. McGeoch, and M. F. Cole. Adaptive Caching for Demand Prepaging. In Proc. of the Third Int'l Symp. on Memory Management, pages 114--126, Berlin, Germany, June 2002. Google Scholar
Digital Library
- D. Kotz, S. B. Toh, and S. Radhakrishnan. A Detailed Simulation Model of the HP 97560 Disk Drive. Technical Report PCS-TR94-220, Dept. of Computer Science, Dartmouth College, July 1994. Google Scholar
Digital Library
- H. Lei and D. Duchamp. An Analytical Approach to File Prefetching. In Proc. of the USENIX Annual Technical Conf., Anaheim, CA, Jan. 1997. Google Scholar
Digital Library
- C. Li, A. Papathanasiou, and K. Shen. Competitive Prefetching for Data-Intensive Online Servers. In the First Workshop on Operating System and Architectural Support for the on demand IT Infrastructure, Boston, MA, Oct. 2004.Google Scholar
- C. Li and K. Shen. Managing Prefetch Memory for Data-Intensive Online Servers. In Proc. of the 4th USENIX Conf. on File and Storage Technologies, pages 253--266, San Fancisco, CA, Dec. 2005. Google Scholar
Digital Library
- C. R. Lumb, J. Schindler, G. R. Ganger, and D. F. Nagle. Towards Higher Disk Head Utilization: Extracting Free Bandwidth From Busy Disk Drives. In Proc. of the 4th USENIX Symp. on Operating Systems Design and Implementation, San Diego, CA, Oct. 2000. Google Scholar
Digital Library
- A. Papathanasiou and M. Scott. Aggressive Prefetching: An Idea Whose Time Has Come. In Proc. of the 10th Workshop on Hot Topics in Operating Systems, Santa Fe, NM, June 2005. Google Scholar
Digital Library
- A. E. Papathanasiou and M. L. Scott. Energy Efficient Prefetching and Caching. In Proc. of the USENIX Annual Technical Conf., Boston, MA, June 2004. Google Scholar
Digital Library
- R. H. Patterson, G. A. Gibson, E. Ginting, D. Stodolsky, and J. Zelenka. Informed Prefetching and Caching. In Proc. of the 15th ACM Symp. on Operating Systems Principles, pages 79--95, Copper Mountain Resort, CO, Dec. 1995. Google Scholar
Digital Library
- C. Ruemmler and J. Wilkes. An Introduction to Disk Drive Modeling. IEEE Computer, 27(3):17--28, Mar. 1994. Google Scholar
Digital Library
- E. Shriver, A. Merchant, and J. Wilkes. An Analytical Behavior Model for Disk Drives with Readahead Caches and Request Reordering. In Proc. of the ACM SIGMETRICS, pages 182--192, Madison, WI, June 1998. Google Scholar
Digital Library
- E. Shriver, C. Small, and K. A. Smith. Why Does File System Prefetching Work? In Proc. of the USENIX Annual Technical Conf., pages 71--84, Monterey, CA, June 1999. Google Scholar
Digital Library
- A. Tomkins, R. H. Patterson, and G. A. Gibson. Informed Multi-Process Prefetching and Caching. In Proc. of the ACM SIGMETRICS, pages 100--114, Seattle, WA, June 1997. Google Scholar
Digital Library
- TPC-H Benchmark, http://www.tpc.org.Google Scholar
- R. von Behren, J. Condit, F. Zhou, G. C. Necula, and E. Brewer. Capriccio: Scalable Threads for Internet Services. In Proc. of the 19th ACM Symp. on Operating Systems Principles, pages 268--281, Bolton Landing, NY, Oct. 2003. Google Scholar
Digital Library
- M. Welsh, D. Culler, and E. Brewer. SEDA: An Architecture for Well-Conditioned, Scalable Internet Services. In Proc of the 18th ACM Symp. on Operating Systems Principles, pages 230--243, Banff, Canada, Oct. 2001. Google Scholar
Digital Library
- T. Yeh, D. Long, and S. A. Brandt. Using Program and User Information to Improve File Prediction Performance. In Proc. of the Int'l Symposium on Performance Analysis of Systems and Software, pages 111--119, Tucson, AZ, Nov. 2001.Google Scholar
Index Terms
Competitive prefetching for concurrent sequential I/O
Recommendations
Competitive prefetching for concurrent sequential I/O
EuroSys'07 Conference ProceedingsDuring concurrent I/O workloads, sequential access to one I/O stream can be interrupted by accesses to other streams in the system. Frequent switching between multiple sequential I/O streams may severely affect I/O efficiency due to long disk seek and ...
Sequential Hardware Prefetching in Shared-Memory Multiprocessors
To offset the effect of read miss penalties on processor utilization in shared-memory multiprocessors, several software- and hardware-based data prefetching schemes have been proposed. A major advantage of hardware techniques is that they need no ...
Evaluation of Hardware-Based Stride and Sequential Prefetching in Shared-Memory Multiprocessors
We study the efficiency of previously proposed stride and sequential prefetching two promising hardware-based prefetching schemes to reduce read-miss penalties in shared-memory multiprocessors. Although stride accesses dominate in four out of six of the ...






Comments