DOI QR코드

DOI QR Code

비휘발성 버퍼 캐시를 이용한 파일 시스템의 주기적인 flush 오버헤드 개선

Improving Periodic Flush Overhead of File Systems Using Non-volatile Buffer Cache

  • 이은지 (충북대학교 소프트웨어학과) ;
  • 강효정 (이화여자대학교 컴퓨터공학과) ;
  • 고건 (이화여자대학교 컴퓨터공학과) ;
  • 반효경 (이화여자대학교 컴퓨터공학과, 임베디드소프트웨어연구센터)
  • 투고 : 2014.07.18
  • 심사 : 2014.09.22
  • 발행 : 2014.11.15

초록

파일 시스템 버퍼 캐시는 느린 스토리지의 접근 횟수를 줄여 입출력 성능 향상에 기여하지만, 캐시에서 수정된 데이터를 스토리지에 오랫동안 반영하지 않을 경우 크래쉬 발생 시 최신 데이터가 유실되거나 데이터의 일관성이 깨어지는 문제가 발생할 수 있다. 이를 방지하기 위해 대부분의 운영체제는 수정 데이터를 주기적으로 스토리지에 반영하는 flush 데몬을 사용한다. 본 논문은 파일시스템의 쓰기 연산 중 30-70%가 주기적인 flush에 의해 발생함을 분석하고, 이를 소량의 NVRAM 버퍼 캐시를 이용하여 해결하는 기법을 제시한다. 특히, 본 논문은 델타 쓰기 및 그룹 기반 교체 기법을 제안하여 소량의 NVRAM 만으로 스토리지 쓰기 트래픽과 처리량을 각각 44.3%와 23.6% 개선할 수 있음을 보인다.

File I/O buffer cache plays an important role in narrowing the wide speed gap between the main memory and the secondary storage. However, data loss or inconsistencies may occur if the system crashes before the data that has been updated in the buffer cache is flushed to storage. Thus, most operating systems adopt a daemon that periodically flushes dirty data to the secondary storage. In this study, we show that periodic flushes account for 30-70% of the total write traffic to storage and remove this inefficiency by implementing a small, non-volatile buffer cache. Specifically, we present space-efficient management techniques, such as delta-write and fragment-grouping, and show that the storage write traffic and throughput can be improved by a margin of 44.2% and 23.6%, respectively, with only a small NVRAM.

키워드

과제정보

연구 과제 주관 기관 : 한국연구재단

참고문헌

  1. E. Lee, H. Bahn, and S. Noh, "Unioning of the buffer cache and journaling layers with nonvolatile memory," Proc. of USENIX FAST'13, pp. 73-80, 2013.
  2. P. Zhou, B. Zhao, J. Yang, and Y. Zhang, "A durable and energy efficient main memory using phase change memory technology," Proc. of ISCA'09, pp. 14-23, 2009.
  3. X. Guo, E. Ipek, and T. Soyata, "Resistive computation: avoiding the power wall with low-leakage, STT-MRAM based computing," Proc. of ISCA'10, pp. 371-382, 2010.
  4. NOW Trace Collection Project, http://tracehost.cs.berkeley.edu/traces.html (downloaded 2014, Jun. 12)
  5. U. Vahallia, UNIX Internals: The New Frontiers, Prentice Hall, 1995.
  6. R. Fang, H. Hsiao, B. He, C. Mohan, and Y. Wang, "High performance database logging using storage class memory," Proc. of IEEE ICDE, pp. 11-16, 2011.
  7. LinkBench: A database benchmark for the social graph, https://github.com/facebook/linkbench (downloaded 2014, Jun. 12)
  8. W. Norcutt, The IOzone Filesystem Benchmark. http://www.iozone.org/ (downloaded 2014, Jun. 12)
  9. Filebench, http://www.solarisinternals.com/wiki/index.php/FileBench (downloaded 2014, Jun. 12)

피인용 문헌

  1. The Least-Dirty-First CLOCK Replacement Policy for Phase-Change Memory based Swap Devices vol.42, pp.9, 2015, https://doi.org/10.5626/JOK.2015.42.9.1071