DOI QR코드

DOI QR Code

Mapping Cache for High-Performance Memory Mapped File I/O in Memory File Systems

메모리 파일 시스템 기반 고성능 메모리 맵 파일 입출력을 위한 매핑 캐시

  • 김지원 (성균관대학교 소프트웨어플랫폼학과) ;
  • 최정식 (성균관대학교 전자전기컴퓨터공학과) ;
  • 한환수 (성균관대학교 컴퓨터공학과)
  • Received : 2015.10.06
  • Accepted : 2016.02.12
  • Published : 2016.05.15

Abstract

The desire to access data faster and the growth of next-generation memories such as non-volatile memories, contribute to the development of research on memory file systems. It is recommended that memory mapped file I/O, which has less overhead than read-write I/O, is utilized in a high-performance memory file system. Memory mapped file I/O, however, brings a page table overhead, which becomes one of the big overheads that needs to be resolved in the entire file I/O performance. We find that same overheads occur unnecessarily, because a page table of a file is removed whenever a file is opened after being closed. To remove the duplicated overhead, we propose the mapping cache, a technique that does not delete a page table of a file but saves the page table to be reused when the mapping of the file is released. We demonstrate that mapping cache improves the performance of traditional file I/O by 2.8x and web server performance by 12%.

기존보다 데이터를 빠르게 접근하기 위한 노력과 비-휘발성 메모리의 발전은 메모리 파일 시스템 연구에 큰 기여를 해왔다. 메모리 파일 시스템은 파일 입출력의 고성능을 위해서 기존에 사용하는 읽기-쓰기 입출력보다 오버헤드가 적은 메모리 맵 파일 입출력을 사용하도록 제안하고 있다. 하지만 메모리 맵 파일 입출력을 사용하게 되면서 페이지 테이블을 구축할 때 발생하는 오버헤드가 전체 입출력 성능의 큰 부분을 차지하게 되었다. 또한 같은 파일이 반복적으로 접근될 때마다 페이지 테이블을 매번 삭제하기 때문에, 오버헤드가 불필요하게 중복되어서 발생한다는 점을 발견했다. 본 논문이 제안하는 매핑 캐시는 이러한 중복되는 오버헤드를 제거하기 위해서, 매핑이 해제될 때 파일의 페이지 테이블을 제거하지 않고 저장하고 있다가 다시 접근될 때 이를 재활용할 수 있도록 고안한 기법이다. 매핑 캐시는 기존 파일 입출력 성능보다 2.8배, 그리고 웹서버 전체 성능보다 12% 향상을 보였다.

Keywords

Acknowledgement

Grant : 스마트TV 2.0 소프트웨어 플랫폼

Supported by : 한국연구재단, 정보통신기술진흥센터

References

  1. J. Condit, E. B. Nightingale, C. Frost, E. Ipek, B. Lee, D. Burger, and D. Coetzee, "Better I/O through byte-addressable, persistent memory," Proc. of ACM Symposium on Operating Systems Principles, Big Sky, USA, pp. 133-146, Oct. 2009.
  2. X. Wu and A. L. N. Reddy, "SCMFS: a file system for storage class memory," Proc. of International Conference for High Performance Computing, Networking, Storage and Analysis, Seattle, USA, article No. 39, Nov. 2011.
  3. S. R. Dulloor, S. Kumar, A. Keshavamurthy, P. Lantz, D. Reddy, R. Sankaran, and J. Jackson, "System software for persistent memory," Proc. of ACM European Conference on Computer Systems, Amsterdam, Netherlands, pp. 1-15, Apr. 2014.
  4. H. Kim, J. Ahn, S. Ryu, J. Choi, and H. Han, "In-Memory File System for Non-Volatile Memory," Proc of. ACM Research in Adaptive and Convergent Systems, pp. 479-484, Oct. 2013.
  5. A. W. Leung, S. Pasupathy, G. Goodson, and E. L. Miller, "Measurement and Analysis of Large-Scale Network File System Workloads," Proc. of USENIX Annual Technical Conference, Berkeley, USA, pp. 213-226, Jun. 2008.
  6. J. Corbet. (2014), "Optimizing VMA caching," [Online]. Available: http://lwn.net/Articles/589475
  7. J. Corbet. (2011), "Transparent hugepages in 2.6.38" [Online]. Available: http://lwn.net/Articles/423584
  8. J. Kim, J. Yoo, S. Huh, and S. Hong, "Lazy Unmapping of Anonymous Pagesfor Reducing Page Faults in Linux-based Smartphones," Proc. of the KIISE Korea Computer Congress, pp. 392-394, Jun. 2013. (in Korean)
  9. J. Axboe. (2008), "Fio-flexible io tester," [Online]. Available: http://freecode.com/projects/fio
  10. J. Fulmer. (2013), "Siege HTTP load testing and benchmarking utility," [Online]. Available: http://www.joedog.org/JoeDog/Siege
  11. L. Breslau, P. Cao, L. Fan, G. Phillips, and S. Shenker, "Web caching and Zipf-like distributions: Evidence and implications," Proc. of IEEE International Conference of Computer and Communications Societies, New York, USA, Vol. 1, pp. 126-134, Mar. 1999.