DOI QR코드

DOI QR Code

qtar: 플래시 변환 계층 리매핑 기법을 이용한 최적화된 tar 명령어 구현

qtar: Design and Implementation of an Optimized tar Command with FTL-level Remapping

  • 유정석 (서울대학교 컴퓨터공학과) ;
  • 한상욱 (서울대학교 컴퓨터공학과) ;
  • 김지홍 (서울대학교 컴퓨터공학과)
  • 투고 : 2017.08.25
  • 심사 : 2017.10.19
  • 발행 : 2018.01.15

초록

tar는 여러 개의 파일들을 묶어 하나의 파일로 만들어주는 리눅스 명령어이다. 크기가 작은 여러 파일들을 하나의 파일로 만들면, 파일 압축 및 전송 시에 좋은 효율을 갖는다. 하지만, tar는 타겟 파일들의 크기가 작을수록 성능이 떨어지는 문제점이 있다. 본 논문에서는 이 성능 하락이 tar가 파일들의 데이터를 읽어오는 데에서 발생함을 보이고, 플래시 변환 계층 리매핑 기법을 통해 이 문제를 해결하여 qtar (quick tar)를 구현하였다. I/O 성능은 I/O 요청의 크기가 1 MB보다 작아질 경우 그 크기에 비례하여 떨어지게 되는데, tar의 경우 파일들의 데이터를 한 파일 단위로 읽어 각 파일의 크기가 작을수록 안 좋은 성능을 갖게 된다. 그러나, qtar의 경우 리매핑 기법을 활용하여 파일들의 데이터를 항상 최대 I/O 크기로 읽어 각 파일의 크기와 관계없이 좋은 성능을 갖는다. 실험 결과, qtar가 tar에 비해 최대 3.4배 빠르게 동작하는 것을 확인하였다.

Tar is a Linux command that combines several files into a single file. Combining multiple small files into large files increases the compression efficiency and data transfer speed. However, tar has a problem in that smaller target files, result in a lower performance. In this paper, we show that this performance degradation occurs when tar reads the data from the target files and propose qtar (quick tar) to solve this problem via flash-level remapping. When the size of an I/O request is less than 1 MB, the I/O performance decreases proportionally to the decrease in size of the I/O request. Since tar reads the data of files one by one, a smaller file size results in a lower performance. Therefore, the remapping technique is implemented in qtar to read data from the target files at the maximum I/O size regardless of the size of each file. Our evaluations show that the execution time with qtar is reduced by up to 3.4 times compared to that with tar.

키워드

과제정보

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

참고문헌

  1. Flexible I/O Tester. [Online]. Available: https://github.com/axboe/fio.
  2. S. Jun, M. Liu, S. Lee, J. Hicks, J. Ankcorn, M. King, S. Xu, and Arvind, "BlueDBM: An Appliance for Big Data Analytics," Proc. of the ACM/IEEE Annual International Symposium on Computer Architecture, pp. 1-13, 2015.
  3. H. Choi, S. Lim, and K. Park, "JFTL: A Flash Translation Layer based on a Journal Remapping for Flash Memory," ACM Transactions on Storage, Vol. 4, No. 14, 2009.
  4. H. Kim, D. Shin, Y. Jeong, and K. Kim, "SHRD: Improving Spatial Locality in Flash Storage Accesses by Sequentializing in Host and Randomizing in Device," Proc. of the USENIX Conference on File and Storage Technologies, pp. 271-283, 2017.
  5. S. S. Hahn, S. Lee, C. Ji, L. Chang, I. Yee, L. Shi, C. Xue, and J. Kim, "Improving File System Performance of Mobile Storage Systems Using a Decoupled Defragmenter," Proc. of the 2017 USENIX Annual Technical Conference, pp. 759-771, 2017.
  6. G. Oh, C. Seo, R. Mayuram, Y. Kee, and S. Lee, "SHARE Interface in Flash Storage for Relational and NoSQL Databases," Proc. of the 2016 ACM SIGMOD International Conference on Management of Data, pp. 343-354, 2016.
  7. W. Kand, S. Lee, B. Moon, G. Oh, and C. Min, "X-FTL: Transactional FTL for SQLite Database," Proc of the 2013 ACM SIGMOD International Conference on Management of Data, pp. 97-106, 2013.