비휘발성 메모리를 활용한 파일 I/O 가속기를 위한 공유 자료구조 및 알고리즘

Title
비휘발성 메모리를 활용한 파일 I/O 가속기를 위한 공유 자료구조 및 알고리즘
Other Titles
Shared Data Structures and Algorithms for File I/O Accelerator Using Non-Volatile Memory
Author
이상엽
Alternative Author(s)
Rhee, Sang Youp
Advisor(s)
정형수
Issue Date
2018-08
Publisher
한양대학교
Degree
Master
Abstract
동기적 파일 쓰기작업의 느린 지연시간은 데이터베이스 관리 시스템 및 스토리지 시스템의 성능에 안 좋은 영향을 미친다. 최근 이런 시스템들의 성능을 향상시키기 위해 다양한 고성능 저장장치들이 등장하였다. 예를 들어, 비휘발성 메모리 NVDIMM은 DRAM에 가까운 지연시간을 보이고, PCIe 인터페이스 기반 NVMe SSD는 초당 수십억 바이트의 I/O 성능을 보인다. 하지만 고성능 저장장치를 이용하면 이전에 드러나지 않았던 소프트웨어 오버헤드가 부각되어 제 성능을 발휘하지 못할 수 있다. 따라서 실제 시스템에서 이러한 고성능 저장장치를 이용할 때 성능 검증이 필요하고 소프트웨어 오버헤드가 존재할 시 고성능 저장장치를 잘 활용하기 위한 방안이 모색되어야 한다. 이 논문은 마이크로벤치마크를 통해 NVMe SSD를 이용한 기존 리눅스의 동기적 및 비동기적 파일 쓰기 성능을 실험하고 그 결과를 기반으로 기존 리눅스의 성능에 영향을 미치는 이슈에 대해 알아본다. 더 나아가 이러한 이슈를 극복한, 멀티코어 환경에서 동시다발적 요청이 들어와도 성능이 저하되지 않는 파일 I/O 가속기인 AutoBahn에 대해 알아본다. 비휘발성 메모리를 이용한 AutoBahn은 고성능 장치를 이용한다는 것 외에 멀티코어 환경에서 높은 성능이 유지될 수 있도록 락프리 큐와 파이프라이닝 기법을 이용한다. 이 논문은 AutoBahn을 구현할 때 이용하는 공유 자료구조와 알고리즘에 대해 논의한다. AutoBahn의 성능을 확인하기 위해 마이크로벤치마크를 이용하여 다양한 조건에서 기존 리눅스의 동기적 및 비동기적 파일쓰기 성능과 비교한다. 다음으로 RocksDB에서 로깅부분에 AutoBahn을 적용한 버전과 그렇지 않은 버전을 YCSB 벤치마크를 통해 성능 비교를 한다. 마이크로벤치마크에서는 AutoBahn을 적용한 버전의 성능이 기존 리눅스의 동기적 파일 쓰기 성능보다 최대 213배, 비동기적 파일 쓰기 성능보다 최대 3.5배 빠른 성능을 보였다. YCSB 벤치마크에서는 AutoBahn을 적용하지 않은 버전에서 tmpfs에 로깅을 한 실험과 대등한 성능을 보임으로써 AutoBahn의 유용성을 입증하였다.
The high latency of synchronous file writes negatively affects the performance of database management systems and storage systems. Recently, to improve the performance of such systems, various high-performance storage devices have emerged. For instance, non-volatile memories such as NVDIMM have near-DRAM latency, and PCIe-based NVMe SSDs have I/O performance of billions of bytes per second. However, using high-performance storage devices may not always improve the performance of a system as much as we want due to unexplored software overheads. Therefore, performance verification is required when using such high-performance storage devices in a real system, and a solution to fully utilize the performance of the storage devices should be sought. This paper examines the performance of Linux synchronous and asynchronous file writes to NVMe SSDs through a microbenchmark. Then, we discuss the issues affecting the performance based on the results. In addition, we look at AutoBahn, a file I/O accelerator that overcomes such issues and sustains high performance of concurrent requests under multicore environment. Besides using the fast non-volatile memory, AutoBahn utilizes lock-free queues and pipelining technique to keep the high performance and scalability. This paper discusses shared data structures and algorithms used to implement such AutoBahn. To verify the performance of AutoBahn, we run a microbenchmark to compare with the performance of existing Linux synchronous and asynchronous file writes under various conditions. In addition, we apply AutoBahn in logging from RocksDB, run YCSB benchmark and compare its performance against the unapplied version of RocksDB. As a result, AutoBahn shows up to 213 times better performance than the Linux synchronous file writes, and 3.5 times better performance than the Linux asynchronous file writes. In the YCSB benchmark, RocksDB with AutoBahn shows similar performance to the one without AutoBahn that writes logs to tmpfs.
URI
http://dcollection.hanyang.ac.kr/common/orgView/000000106730http://repository.hanyang.ac.kr/handle/20.500.11754/75946
Appears in Collections:
GRADUATE SCHOOL[S](대학원) > COMPUTER SCIENCE(컴퓨터·소프트웨어학과) > Theses (Master)
Files in This Item:
There are no files associated with this item.
Export
RIS (EndNote)
XLS (Excel)
XML


qrcode

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

BROWSE