Improving Prefetching Effects by Exploiting Reference Patterns

참조패턴을 이용한 선반입의 개선

  • 이효정 (홍익대학교 컴퓨터공학과) ;
  • 도인환 (홍익대학교 컴퓨터공학과) ;
  • 노삼혁 (홍익대학교 컴퓨터공학과)
  • Published : 2008.04.15

Abstract

Prefetching is one of widely used techniques to improve performance of I/O. But it has been reported that prefetching can bring adverse result on some reference pattern. This paper proposes a prefet-ching frame that can be adopted on existing prefetching techniques simply. The frame called IPRP (Improving Prefetching Effects by Exploiting Reference Patterns) and detects reference patterns online and control pre-fetching upon the characteristics of the detected pattern. In our experiment, we adopted IPRP on Linux read-ahead prefetching. IPRP could prevent adverse result clearly when Linux read-ahead prefetching increases total execution time about $40%{\sim}70%$. When Linux read-ahead prefetching could bring some benefit, IPRP with read- ahead performed similar or slightly better benefit on execution time. With this result we could see our IPRP can complement and improve legacy prefetching techniques efficiently.

선반입은 I/O 성능 향상을 위해 널리 사용되는 기법 중의 하나이다. 하지만 어떤 참조패턴에 대해서는 선반입을 수행하면 오히려 전체 수행시간이 증가하는 경우가 보고된 바 있다. 본 논문은 기존의 선반입 기법에 쉽게 적용될 수 있는 프레임 IPRP(Improving Prefetching Effects by Exploiting Reference Patterns)를 제안한다. IPRP는 참조패턴을 자동으로 탐지하고 기존의 선반입을 참조패턴의 특성에 따라 조정하여 개선하고자 한다. IPRP를 리눅스 미리 읽기 선반입에 적용한 성능평가에서 리눅스 미리 위기 선반입이 수행시간을 $40%{\sim}70%$ 정도 증가시키는 악영향을 발휘할 때 IPRP를 적용할 경우 악영향을 완전히 방지했다. 리눅스 미리 읽기 선반입이 성능 향상을 가져오는 경우에도 리눅스 미리 읽기와 유사한 성능을 가전 왔다. 이 결과를 통해 IPRP가 기존의 선반입을 효율적으로 보완 및 개선할 수 있음을 알 수 있다.

Keywords

References

  1. P. Cao, E. W. Felten, A. R. Karlin and K. Li, 'A Study of Integrated Prefetching and Caching Strategies,' In Proceedings of the ACM International Conference on Measurement & Modeling of Computer Systems (SIGMETRICS), pp. 188-197, 1995 https://doi.org/10.1145/223586.223608
  2. A. R. Butt, C. Gniady, and Y. C. Hu, 'The Performance Impact of Kernel Prefetching on Buffer Cache Replacement Algorithms,' In Proceedings of the ACM International Conference on Measurement & Modeling of Computer Systems (SIGMETRICS), pp. 57-168, 2005
  3. P. Cao, E. W. Felten, A. R. Karlin and K. Li, 'Implementation and Performance of Integrated Application-Controlled File Caching, Prefetching, and Disk Scheduling,' ACM Transactions on Computer Systems, Vol.14, No.4, pp. 311-343, 1996 https://doi.org/10.1145/235543.235544
  4. R. H. Patterson, G. A. Gibson, E. Ginting, D. Stodolsky, and J. Zelenka, 'Informed Prefetching and Caching,' In Proceedings of the 15th ACM Symposium on Operating System Principles, pp. 79-95, 1995
  5. T. Kimbrel, A. Tomkins, R. H. Patterson, B. Bershad, P. Cao, E. Felten, G. Gibson, A. R. Karlin, and K. Li, 'A trace-driven comparison of algorithms for parallel prefetching and caching,' In Proceedings of the 1996 Symposium on Operating Systems Design and Implementation, pp. 19-34, USENIX Association, 1996
  6. A. Tomkins, R. H. Patterson, and G. A. Gibson, 'Informed Multi-Process Prefetching and Caching,' In Proceedings of the ACM International Conference on Measurement & Modeling of Computer Systems (SIGMETRICS), pp. 100-114, 1997 https://doi.org/10.1145/258623.258680
  7. B. S. Gill and D. S. Modha, 'SARC: Sequential prefetching in adaptive replacement cache,' In Proceedings of the USENIX Annual Technical Conference, pp. 293-308, 2005
  8. B. S. Gill and L. D. Bathen, 'AMP: Adaptive Multi-stream Prefetching in a Shared Cache,' In Proceedings of the 5th USENIX Conference on File and Storage Technologies (FAST 07), pp. 185-198, 2007
  9. C. Li, K. Shen and A. Papathanasiou, 'Competitive prefetching for concurrent sequential I/O,' In Proceedings of 2nd European Conference on Computer Systems (EuroSys 2007), Mar, 2007
  10. J. M. Kim, J. Choi, J. Kim, S. H. Noh, S. L. Min, Y. Cho, and C. S. Kim, 'A Low-Overhead, High- Performance Unified Buffer Management Scheme That Exploits Sequential and Looping References,' In Proceedings of the 4th Symposium on Operating Systems Design and Implementation (OSDI), pp. 119-134, 2000
  11. C. Gniady, A. R. Butt, and Y. C. Hu, 'Program Counter Based Pattern Classification in Buffer Caching,' In Proceedings of the 6th Symposium on Operating Systems Design and Implementation (OSDI), pp. 395-408, 2004
  12. J. Choi, S. H. Noh, S. L. Min, and Y. Cho. 'Towards application / file-level characterization of block references: a case for fine-grained buffer management,' In Proceedings of the ACM International Conference on Measurement & Modeling of Computer Systems (SIGMETRICS), June 2000
  13. S. Jiang and X. Zhang, 'LIRS: an efficient low inter-reference recency set replacement policy to improve buffer cache performance,' In Proceedings of the ACM International Conference on Measurement & Modeling of Computer Systems (SIGMETRICS), June 2002
  14. D. Lee, J. Choi, J. H. Kim, S. H. Noh, S. L. Min, Y. Cho, and C. S. Kim, 'LRFU: A spectrum of policies that subsumes the least recently used and least frequently used policies,' IEEE Transactions on Computers, Vol.50, No.12, pp. 1352-1360, 2001 https://doi.org/10.1109/TC.2001.970573
  15. N. Megiddo and D. S. Modha, 'ARC: A Self- tuning, Low Overhead Replacement Cache,' In Proceedings of the 2th USENIX Conference on File and Storage Technologies (FAST 04), Mar. 2003