skip to main content
10.1145/1272996.1273017acmconferencesArticle/Chapter ViewAbstractPublication PageseurosysConference Proceedingsconference-collections
Article

Competitive prefetching for concurrent sequential I/O

Published:21 March 2007Publication History

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%.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle Scholar
  3. Ask Jeeves Search, http://www.ask.com.Google ScholarGoogle Scholar
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle Scholar
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. GNU Diffutils Project, 2006. http://www.gnu.org/software/diffutils/diffutils.html.Google ScholarGoogle Scholar
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. H. Lei and D. Duchamp. An Analytical Approach to File Prefetching. In Proc. of the USENIX Annual Technical Conf., Anaheim, CA, Jan. 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle Scholar
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  27. C. Ruemmler and J. Wilkes. An Introduction to Disk Drive Modeling. IEEE Computer, 27(3):17--28, Mar. 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. TPC-H Benchmark, http://www.tpc.org.Google ScholarGoogle Scholar
  32. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  33. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  34. 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 ScholarGoogle Scholar

Index Terms

  1. Competitive prefetching for concurrent sequential I/O

    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
    • Published in

      cover image ACM Conferences
      EuroSys '07: Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007
      March 2007
      431 pages
      ISBN:9781595936363
      DOI:10.1145/1272996
      • cover image ACM SIGOPS Operating Systems Review
        ACM SIGOPS Operating Systems Review  Volume 41, Issue 3
        EuroSys'07 Conference Proceedings
        June 2007
        386 pages
        ISSN:0163-5980
        DOI:10.1145/1272998
        Issue’s Table of Contents

      Copyright © 2007 ACM

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 21 March 2007

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • Article

      Acceptance Rates

      Overall Acceptance Rate241of1,308submissions,18%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!