DOI QR코드

DOI QR Code

Block Allocation Method for Efficiently Managing Temporary Files of Hash Joins on SSDs

SSD상에서 해시조인 임시 파일의 효과적인 관리를 위한 블록 할당 방법

  • 김준태 (성균관대학교 소프트웨어학과) ;
  • 이상원 (성균관대학교 소프트웨어융합대학)
  • Received : 2022.08.26
  • Accepted : 2022.09.28
  • Published : 2022.12.31

Abstract

Temporary files are generated when the Hash Join is performed on tables larger than the memory. During the join process, each temporary file is deleted sequentially after it completes the I/O operations. This paper reveals for that the fallocate system call and file deletion-related trim options significantly impact the hash join performance when temporary files are managed on SSDs rather than hard disks. The experiment was conducted on various commercial and research SSDs using PostgreSQL, a representative open-source database. We find that it is possible to improve the join performance up to 3 to 5 times compared to the default combination depending on whether fallocate and trim options are used for temporary files. In addition, we investigate the write amplification and trim command overhead in the SSD according to the combination of the two options for temporary files.

메모리보다 큰 대용량 테이블들에 대해 해시조인(Hash Join) 수행 시 임시 파일들을 생성해서 조인 과정에서 발생하는 임시 데이터 I/O를 수행하고 조인 종료 시에 그 파일들을 삭제한다. 본 논문에서는 해시조인용 임시 파일들을 하드디스크가 아닌 SSD상에서 관리할 때, 파일 생성 시 fallocate 시스템 콜 및 파일 삭제 관련 trim 옵션이 해시조인 성능에 큰 영향을 미치는 점을 밝힌다. 구체적으로 대표적인 오픈소스 데이터베이스인 PostgreSQL을 이용해서 다양한 상용 및 연구용 SSD 상에서 해시조인 수행 시, 임시 파일들에 대한 fallocate 및 trim 옵션 사용 여부에 따라 디폴트 조합에 비해 최대 약 3~5배 조인 성능 향상이 가능함을 보인다. 그리고, 임시 파일들에 대한 두 옵션의 조합여부에 따른 SSD내의 쓰기 증폭(Write Amplification)과 Trim 명령어 오버헤드가 조인 성능에 큰 영향을 미치는 점을 자세히 분석한다.

Keywords

Acknowledgement

이 성과는 정부(과학기술정보통신부)의 재원으로 한국연구재단의 지원을 받아 수행된 연구임(No. 2022R1A2C2008225). 이 논문은 정부(과학기술정보통신부)의 재원으로 정보통신기획평가원의 지원을 받아 수행된 연구임(No.2015-0-00314, 비휘발성 메모리 기반 개방형 고성능 DBMS 개발).

References

  1. J. Kim, H. Kim, S. Lee, and Y. Won, "FTL design for TRIM command," In The Fifth International Workshop on Software Support for Portable Storage, pp.7-12, 2010.
  2. G. Kim and D. Shin, "Performance analysis of SSD write using TRIM in NTFS and EXT4," 2011 6th International Conference on Computer Sciences and Convergence Information Technology (ICCIT), pp.422-423, 2011.
  3. J. M. Patel, M. J. Carey, and M. K. Vernon, "Accurate modeling of the hybrid hash join algorithm," In Proceedings of the 1994 ACM SIGMETRICS Conference on Measurement and Modeling of Computer Systems, pp.56-66, 1994.
  4. S. W. Lee, B. Moon, and C. Park, "Advances in flash memory SSD technology for enterprise database applications," In Proceedings of the 2009 ACM SIGMOD International Conference on Management of data, pp.863-870, 2009.
  5. K. Smith, "Garbage collection," SandForce, Flash Memory Summit, Santa Clara, CA, pp.1-9, 2011.
  6. H. Son, Y. Lee, Y. Kim, and J.-S. Kim, "An analysis on the performance of TRIM commands on SSDs and its application to the Ext4 file system," KIISE Transactions on Computing Practices, Vol.21, No.1, pp.52-57, 2015. https://doi.org/10.5626/ktcp.2015.21.1.52
  7. J. T. Kim, and S. W. Lee, "Analysis of the effect of TRIM on hash Join," 2021 KDBC. Korean Database Conference. https://dbsociety.kr/kdbc/kdbc2021/KDBC2021_Proceedings.pdf (pp.6-9), 2021.
  8. Y. H. Song, S. H. Jung, S. W. Lee, and J. S. Kim, "Cosmos openSSD: A PCIe-based open source SSD platform," Proc. Flash Memory Summit, pp.1-30, 2014.
  9. J. W. Kwak, S. J. Lee, K. B. Park, J. W. Jeong, and Y. H. Song, "Cosmos+ OpenSSD: Rapid Prototype for Flash Storage Systems," ACM Transactions on Storage, Vol.16, No.3, Article 15, pp.35, 2020. https://doi.org/10.1145/3385073.