skip to main content
article
Free Access

Implementation and performance of integrated application-controlled file caching, prefetching, and disk scheduling

Published:01 November 1996Publication History
Skip Abstract Section

Abstract

As the performance gap between disks and micropocessors continues to increase, effective utilization of the file cache becomes increasingly immportant. Application-controlled file caching and prefetching can apply application-specific knowledge to improve file cache management. However, supporting application-controlled file caching and prefetching is nontrivial because caching and prefetching need to be integrated carefully, and the kernel needs to allocate cache blocks among processes appropriately. This article presents the design, implementation, and performance of a file system that integrates application-controlled caching, prefetching, and disk scheduling. We use a two-level cache management strategy. The kernel uses the LRU-SP (Least-Recently-Used with Swapping and Placeholders) policy to allocate blocks to processes, and each process integrates application-specific caching and prefetching based on the controlled-aggressive policy, an algorithm previously shown in a theoretical sense to be nearly optimal. Each process also improves its disk access latency by submittint its prefetches in batches so that the requests can be scheduled to optimize disk access performance. Our measurements show that this combination of techniques greatly improves the performance of the file system. We measured that the running time is reduced by 3% to 49% (average 26%) for single-process workloads and by 5% to 76% (average 32%) for multiprocess workloads.

References

  1. ANDERSON, T. E., BERSHAD, B. N., LAZOWSKA, E. D., AND LEVY, H. M. 1992. Scheduler activations: Effective kernel support for the user-level management of parallelism. ACM Trans. Comput. Syst. 10, 1 (Feb.), 53-79.]] Google ScholarGoogle Scholar
  2. CAO, P. 1996. Application-controlled file caching and prefetching. Ph.D. thesis, Princeton Univ., Princeton, N.J. Also appeared as Tech. Rep. CS-TR-522-96, Princeton Univ.]] Google ScholarGoogle Scholar
  3. CAO, P., FELTEN, E. W., KARLIN, A. R., AND LI, K. 1995. A study of integrated prefetching and caching strategies. In Proceedings of 1995 ACM SIGMETRICS. ACM, New York, 188-197.]] Google ScholarGoogle Scholar
  4. CAO, P., FELTEN, E. W., AND LI, K. 1994a. Application-controlled file caching policies. In Proceedings of the USENIX Summer 1994 Technical Conference. USENIX Assoc., Berkeley, Calif., 171-182.]] Google ScholarGoogle Scholar
  5. CAO, P., FELTEN, E. W., AND LI, K. 1994b. Implementation and performance of applicationcontrolled file caching. In Proceedings of the 1st USENIX Symposium on Operating Systems Design and Implementation. USENIX Assoc., Berkeley, Calif., 165-178.]] Google ScholarGoogle Scholar
  6. CALLAHAN, D., KENNEDY, K., AND POTERFIELD, A. 1991. Software prefetching. In Proceedings of the 4th International Conference on Architectural Support for Programming Languages and Operating Systems. ACM, New York, 40-52.]] Google ScholarGoogle Scholar
  7. CHEN, T.-F. AND BAER, J.-L. 1992. Reducing memory latency via nonblocking and prefetching caches. In Proceedings of the 5th International Conference on Architectural Support for Programming Languages and Operating Systems. ACM, New York, 51-61.]] Google ScholarGoogle Scholar
  8. CHOU, H.-T. AND DEWITT, D.g. 1985. An evaluation of buffer management strategies for relational database systems. In Proceedings of the 11th International Conference on Very Large Databases. VLDB Endowment Press, Saratoga, Calif., 127-141.]]Google ScholarGoogle Scholar
  9. CUREWITZ, K. M., KRISHNAN, P., AND VITTER, J. S. 1993. Practical prefetching via data compression. In Proceedings of the 1993 ACM-SIGMOD Conference on the Management of Data. ACM, New York, 257-266.]] Google ScholarGoogle Scholar
  10. GRIFFIOEN, g. AND APPLETON, R. 1994. Reducing file system latency using a predictive approach. In Proceedings of the USENIX 1994 Technical Conference. USENIX Assoc., Berkeley, Calif., 197-208.]] Google ScholarGoogle Scholar
  11. GRAY, J. 1991. The Benchmark Handbook. Morgan Kaufmann, San Mateo, Calif.]]Google ScholarGoogle Scholar
  12. HARTY, K. AND CHERITON, D.R. 1992. Application-controlled physical memory using external page-cache management. In the 5th International Conference on Architectural Support for Programming Languages and Operating Systems. ACM, New York, 187-197.]] Google ScholarGoogle Scholar
  13. HOWARD, J. H., KAZAR, M. L., MENEES, S. G., NICHOLS, D. A., SATYANARAYANAN, M., SIDEBOTHAM, R. N., AND WEST, M.J. 1988. Scale and performance in a distributed file system. ACM Trans. Comput. Syst. 6, 1 (Feb.), 51-81.]] Google ScholarGoogle Scholar
  14. HENNESSY, J. L. AND PATTERSON, D.A. 1990. Computer Architecture: A Quantitative Approach. Morgan Kaufmann, San Mateo, Calif.]] Google ScholarGoogle Scholar
  15. JACOBSON, D. AND WILKES, g. 1991. Disk scheduling algorithms based on rotational positioning. Tech. Rep. HPL-CSP-91-7, Hewlett Packard Laboratories, Palo Alto, Calif. Feb.]]Google ScholarGoogle Scholar
  16. MCNAMEE, D. AND ARMSTRONG, K. 1990. Extending the Mach external pages interface to accommodate user-level page replacement policies. In Proceedings of the USENIX Mach Symposium '91. USENIX Assoc., Berkeley, Calif., 17-29.]]Google ScholarGoogle Scholar
  17. McVoY, L. W. AND KLEIMAN, S.R. 1991. Extent-like performance from a UNIX file system. In Proceedings of the 1991 Winter USENIX Symposium. USENIX Assoc., Berkeley, Calif., 33-43.]]Google ScholarGoogle Scholar
  18. MOGUL, J. C. 1994. A better update policy. In Proceedings of the 1994 Summer USENIX Technical Conference. USENIX Assoc., Berkeley, Calif., 99-111.]] Google ScholarGoogle Scholar
  19. MANBER, U. AND WU, S. 1994. GLIMPSE: A tool to search through entire file systems. In Proceedings of the USENIX 1994 Winter Technical Conference. USENIX Assoc., Berkeley, Calif., 23-32.]] Google ScholarGoogle Scholar
  20. O'NEIL, E. J., O'NEIL, P. E., AND WEIKUM, G. 1993. The LRU-K page replacement algorithm for database disk buffering. In the ACM SIGMOD Conference on the Management of Data. ACM, New York, 297-306.]] Google ScholarGoogle Scholar
  21. PATTERSON, R. H. AND GIBSON, G. A. 1994. Exposing I/O concurrency with informed prefetching. In Proceedings of the 3rd International Conference on Parallel and Distributed Information Systems. IEEE Computer Society, Washington, D.C.]] Google ScholarGoogle Scholar
  22. 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. ACM, New York.]] Google ScholarGoogle Scholar
  23. POSTGRES GROUP. 1993. POSTGRES version 4.1 release notes. Tech. Rep., Electronics Research Laboratory, Univ. of Calif., Berkeley, Calif.]]Google ScholarGoogle Scholar
  24. PALMER, M. AND ZDONIK, S.B. 1991. Fido: A cache that learns to fetch. In Proceedings of the 17th International Conference on Very Large Data Bases. VLDB Endowment Press, Saratoga, Calif., 255-264.]] Google ScholarGoogle Scholar
  25. ROGERS, A. AND LI, K. 1992. Software support for speculative loads. In Proceedings of the 5th International Conference on Architectural Support for Programming Languages and Operating Systems. ACM, New York, 38-50.]] Google ScholarGoogle Scholar
  26. ROSENBLUM, M. AND OUSTERHOUT, J. K. 1991. The designing and implementation of a log-structured file system. In Proceedings of the 13th ACM Symposium on Operating Systems Principles. ACM, New York, 1-15.]] Google ScholarGoogle Scholar
  27. SCHLATTER ELLIS, C. AND KOTZ, D. 1989. Prefetching in file systems for MIMD multiprocessors. In Proceedings of the 1989 International Conference on Parallel Processing. CRC Press, Boca Raton, Fla., 306-314.]]Google ScholarGoogle Scholar
  28. SECHREST, S. AND PARK, Y. 1991. User-level physical memory management for Mach. In Proceedings of the 1991 USENIX Mach Symposium. USENIX Assoc., Berkeley, Calif., 189-199.]]Google ScholarGoogle Scholar
  29. SELTZER, M. AND SMITH, K.A. 1995. File system logging versus clustering: A performance comparison. In Proceedings of the 1995 Summer USENIX. USENIX Assoc., Berkeley, Calif.]] Google ScholarGoogle Scholar
  30. SELTZER, M., CHEN, P., AND OUSTERHOUT, J. 1990. Disk scheduling revisited. In Proceedings of the USENIX 1990 Winter Technical Conference. USENIX Assoc., Berkeley, Calif., 313- 324.]]Google ScholarGoogle Scholar
  31. SMITH, A.J. 1978. Sequential program prefetching in memory hierarchies. IEEE Comput. 11, 12 (Dec.), 7-21.]]Google ScholarGoogle Scholar
  32. STEFFEN, J.L. 1985. Interactive examination of a C program with cscope. In the USENIX Dallas 1985 Winter Conference Proceedings. USENIX Assoc., Berkeley, Calif., 170-175.]]Google ScholarGoogle Scholar
  33. STONEBRAKER, M. 1981. Operating system support for database management. Commun. ACM 24, 7 (July), 412-418.]] Google ScholarGoogle Scholar
  34. TAIT, C. D. AND DUCHAMP, D. 1990. Detection and exploitation of file working sets. Tech. Rep. CUCS-050-90, Computer Science Dept., Columbia Univ., New York.]]Google ScholarGoogle Scholar
  35. TULLSEN, D. M. AND EGGERS, S.J. 1993. Limitations of cache prefetching on a bus-based multiprocessor. In Proceedings of the 20th International Symposium on Computer Architecture. IEEE Computer Society, Washington, D.C., 278-288.]] Google ScholarGoogle Scholar
  36. WORTHINGTON, B. L., GANGER, G. R., AND PATT, Y. N. 1994. Scheduling for modern disk drives and nonrandom workloads. Tech. Rep. CSE-TR-194-94, Dept. of Electrical Engineering and Computer Science, Univ. of Michigan, Ann Arbor, Mich. Mar.]]Google ScholarGoogle Scholar
  37. Wu, K. L., Yu, P. S., AND TENG, J.Z. 1993. Performance comparison of thrashing control policies for concurrent mergesorts with parallel prefetching. In Proceedings of the 1993 ACM SIGMETRICS. ACM, New York, 171-182.]] Google ScholarGoogle Scholar

Index Terms

  1. Implementation and performance of integrated application-controlled file caching, prefetching, and disk scheduling

                  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