A Neighbor Prefetching Scheme for a Hybrid Storage System

SSD 캐시를 위한 이웃 프리페칭 기법

  • Received : 2018.08.28
  • Accepted : 2018.10.16
  • Published : 2018.10.31

Abstract

Solid state drive (SSD) cache technologies that are used as a second-tier cache between the main memory and hard disk drive (HDD) have been widely studied. The SSD cache requires a new prefetching scheme as well as cache replacement algorithms. This paper presents a prefetching scheme for a storage-class cache using SSD. This prefetching scheme is designed for the storage-class cache and based on a long-term scheduling in contrast to the short-term prefetching in the main memory. Traditional prefetching algorithms just consider only read, but the presented prefetching scheme considers both read and write. An experimental evaluation shows 2.3% to 17.8% of hit rate with a 64GB of SSD and the 4GiB of prefetching size using an I/O trace of 14 days. The proposed prefetching scheme showed significant improvement of cache hit rate and can be easily implemented in storage-class cache systems.

플래시 기반의 SSD(solid state drive)를 HDD(hard disk drive)의 2차 캐시로 사용하는 기술이 많이 연구되었다. SSD를 이용한 캐시에 대한 캐시 교체 정책 및 관리에 관한 연구뿐만 아니라 프리페칭 연구도 필요하게 되었다. 본 논문은 SSD를 스토리지급 캐시로 사용하는 시스템을 위한 프리페칭 기술을 제시한다. 이 프리페칭 기술은 스토리지급 크기의 캐시에 맞게 대규모의 프리페칭이며, 단기적인 프리페칭은 1차 캐시인 주메모리에서 수행되므로 장기적 스케줄링을 기반한 프리페칭이며, 기존 프리페칭은 읽기만을 고려하였지만, 지속 가능한 SSD 캐시를 위해 쓰기 요청도 고려한 프리페칭이다. 어떤 사용자의 14일간의 입출력에서, 64GB 용량의 SSD에 프리페칭 용량이 4GiB일 때에, 2.3%에서 17.8%의 캐시 적중률 향상을 보였다. 본 기술은 구현이 간단하여 스토리지급 캐시 시스템에 쉽게 적용할 수 있다.

Keywords

References

  1. 손재기, et al. "PCI-Express 기반 고성능 SSD를 위한 리눅스 소프트웨어 RAID 레벨 0 기법." 한국차세대컴퓨팅학회 논문지 10.1 pp.22-30, 2014.
  2. 백승훈. "가상 데스크톱 인프라를 위한 데이터 손실 없는 지속형 인메모리 스토리지." 한국차세대컴퓨팅학회논문지 12.3, pp.23-31, 2016.
  3. Sang-Won Lee, et al. "A case for flash memory ssd in enterprise database applications." Proceedings of the 2008 ACM SIGMOD international conference on Management of data. ACM, 2008.
  4. C. Mohan and Frank Levine. ARIES/IM: an efficient and high concurrency index management method using write-ahead logging. Vol. 21. No. 2. ACM, 1992.
  5. Mustafa Canim, et al. "SSD bufferpool extensions for database systems." Proceedings of the VLDB Endowment 3.1-2 pp.1435-1446, 2010. https://doi.org/10.14778/1920841.1921017
  6. Adam Leventhal. "Flash storage memory." Communications of the ACM 51.7 pp.47-51, 2008. https://doi.org/10.1145/1364782.1364796
  7. 백승훈, 박기웅. "일반 플래시 SSD 를 이용한 지속형 읽기/쓰기 캐시." 한국차세대컴퓨팅학회 논문지 Vol.10, No.4 pp.40-54, 2014.
  8. Jorge Guerra, et al. "Cost Effective Storage using Extent Based Dynamic Tiering." FAST. Vol. 11. 2011.
  9. Jun Yang, et al. "NV-Tree: Reducing Consistency Cost for NVM-based Single Level Systems." FAST. Vol. 15. 2015.
  10. Mingju Li, et al. "TaP: Table-based Prefetching for Storage Caches." FAST. Vol. 8. 2008.
  11. Knuth Stener Grimsrud, James K. Archibald, and Brent E. Nelson. "Multiple prefetch adaptive disk caching." IEEE Transactions on Knowledge and Data Engineering 5.1 pp.88-103, 1993. https://doi.org/10.1109/69.204094
  12. Jim Griffioe, and Randy Appleton. "Reducing File System Latency using a Predictive Approach." USENIX summer. 1994.
  13. Doug Joseph, and Dirk Grunwald. "Prefetching using Markov predictors." ACM SIGARCH Computer Architecture News. Vol. 25. No. 2. ACM, 1997.
  14. Tom M. Kroeger, and Darrell DE Long. "Design and Implementation of a Predictive File Prefetching Algorithm." USENIX Annual Technical Conference, General Track. 2001.
  15. Hui Lei, and Dan Duchamp. "An analytical approach to file prefetching." USENIX Annual Technical Conference. 1997.
  16. R. Hugo Patterson, et al. Informed prefetching and caching. Vol. 29. No. 5. ACM, 1995.
  17. Sung Hoon Baek, Kyu Ho Park. Prefetching with adaptive cache culling for striped disk arrays. In: The 2008 USENIX Annual Technical Conference. USENIX, pp.363-376, 2008.
  18. Sung Hoon Baek, and Kyu Ho Park. "Striping-aware sequential prefetching for independency and parallelism in disk arrays with concurrent accesses." IEEE Transactions on Computers 8 pp.1146-1152, 2009.
  19. Sung Hoon Baek. "An Asynchronous Striping-Aware Readahead Framework for Disk Arrays in Linux." IEICE TRANSACTIONS on Information and Systems 96.1 pp.19-27, 2013. https://doi.org/10.1587/transinf.e96.d.19
  20. Sung Hoon Baek, and Ki-Woong Park. "A fully persistent and consistent read/write cache using flash-based general SSDs for desktop workloads." Information Systems 58 pp.24-42, 2016 https://doi.org/10.1016/j.is.2016.02.002
  21. Yiying Zhang, et al. Warming up storagelevel caches with bonfire. In: FAST. pp. 59-72, 2013.