WWCLOCK: Page Replacement Algorithm Considering Asymmetric I/O Cost of Flash Memory

WWCLOCK: 플래시 메모리의 비대칭적 입출력 비용을 고려한 페이지 교체 알고리즘

  • 박준석 (서울대학교 컴퓨터공학부) ;
  • 이은지 (서울대학교 컴퓨터공학부) ;
  • 서현민 (서울대학교 컴퓨터공학부) ;
  • 고건 (서울대학교 컴퓨터공학부)
  • Published : 2009.12.15

Abstract

Flash memories have asymmetric I/O costs for read and write in terms of latency and energy consumption. However, the ratio of these costs is dependent on the type of storage. Moreover, it is becoming more common to use two flash memories on a system as an internal memory and an external memory card. For this reason, buffer cache replacement algorithms should consider I/O costs of device as well as possibility of reference. This paper presents WWCLOCK(Write-Weighted CLOCK) algorithm which directly uses I/O costs of devices along with recency and frequency of cache blocks to selecting a victim to evict from the buffer cache. WWCLOCK can be used for wide range of storage devices with different I/O cost and for systems that are using two or more memory devices at the same time. In addition to this, it has low time and space complexity comparable to CLOCK algorithm. Trace-driven simulations show that the proposed algorithm reduces the total I/O time compared with LRU by 36.2% on average.

낸드 플래시 메모리는 하드디스크와 달리 읽기 입출력과 쓰기 입출력이 소모하는 시간 및 전력량이 다르며 그 비율은 SLC, MLC, SSD 등 다양한 형태에 따라 상이하다. 특히 최근에는 내장 메모리 장치와 함께 외장 메모리 카드 또는 USB 메모리를 동시에 사용하는 경우도 증가하고 있어서, 버퍼 캐시 교체 알고리즘을 설계하는 데 있어서 페이지의 재참조 확률뿐 만 아니라 접근 장치와 참조 종류에 따른 입출력 비용을 함께 고려해야 한다. 본 논문은 페이지의 참조 빈도(frequency), 최근성(recency) 정보와 함께 인기와 쓰기의 입출력 비용을 직접적으로 고려하는 WWCLOCK (Write-Weighted CLOCK) 알고리즘을 제안한다. WWCLOCK은 입출력 비용이 다른 다양한 2차 저장 장치에 대해 적용 가능하며, CLOCK에 가까운 낮은 시간 및 공간 복잡도를 갖고 있다. 트레이스 기반 시뮬레이션을 통해 제안된 알고리즘이 LRU 알고리즘에 비해 전체 입출력 실행 시간을 평균 36.2% 감소시킴을 보인다.

Keywords

References

  1. L.-P. Chang, 'Hybrid solid-state disks: Combining heterogeneous NAND flash in large SSDs,' Proceedings of the 2008 conference on Asia and South PacifIc design automation, pp.428-433, 2008
  2. Y.-J. Kim and J. Kim, "Device-aware cache re-placement algorithm for heterogeneous mobile sto-rage devices," Proceedings of the 3rd International Conference on Embedded Software and Systems (ICESS), pp.13-24, 2007 https://doi.org/10.1007/978-3-540-72685-2_2
  3. B. C. Forney, A. C. Arpaci-Dusseau, R. H. Arpaci-Dusseau, “Storage-Aware Caching: Revisiting Cach-ing for Heterogeneous Storage Systems,” Procee-dings of the 1st USENIX Conference on File and Storage (FAST), 2002
  4. D. Lee, J. Choi, J. H. Kim, S. H. Noh, S. L. Mm, Y. Cho, C. S. Kim, “LRFU: A Spectrum of Policies that Subsumes the Least Recently Used and Least Frequently Used Policies,” IEEE Trans-actions on Computers, vol.50, issue 12, 2001 https://doi.org/10.1109/TC.2001.970573
  5. S. Jiang, X. Zhang, "LIRS: An efficient low inter-reference recency set replacement policy to improve buffer cache performance," Proceedings of the ACM SIGMETRICS conference, 2002 https://doi.org/10.1145/511334.511340
  6. S.-Y. Park, D. Jung, J.-U. Kang, J.-S. Kim, J. Lee, "CFLRU: a replacement algorithm for flash memory," Proceedings of the international confer-ence on Compilers, Architecture and Synthesis for Embedded Systems (CASES), pp.234-241, 2006 https://doi.org/10.1145/1176760.1176789
  7. H. Jung, H. Shim, S. Park, S. Kang, and Jaehyuk Cha, "LRU-WSR: Integration of LRU and Writes Sequence Recordering for Flash Memory," IEEE Transactions on Consumer Electronics, vol.54, issue 3, pp.1215-1223, 2008 https://doi.org/10.1109/TCE.2008.4637609