Performance Comparison of Join Operations Parallelization by using GPGPU

GPGPU 기반 조인 연산 병렬화 성능 비교

  • 이종섭 (충남대학교 컴퓨터공학과) ;
  • 이상백 (충남대학교 컴퓨터공학과) ;
  • 이규철 (충남대학교 컴퓨터공학과)
  • Received : 2018.10.16
  • Accepted : 2018.12.10
  • Published : 2018.12.31

Abstract

In a database system, the most expensive operation among relational operations is a join operation. Generally, CPU-based join operations uses parallel processing with either 1 core or 16 cores at most, which does not significantly improve the function. On the other hand, GPGPU(General-Purpose computing on Graphics Processing Units) allows parallel processing through thousands of processing units, greatly reducing the time required to perform join operations. Parallelization of the operation using GPGPU uses NVIDIA's CUDA SDK. In this paper, we implement parallelization of the join operation using GPGPU and compare the performances. The used join operations are Nested Loop Join (NLJ), Sort Merge Join (SMJ) and Hash Join (HJ), and GPGPU equipment uses TITAN Xp, GTX 1080 Ti and GTX 1080. We measure and compare the performance of join operations based on CPU and GPGPU. We compare this performance with the performance of the previous study on the join operation based on GPGPU. The results of experiment show that the performance based on GPGPU is 6~328 times faster than the one based on CPU.

데이터베이스 시스템 관계 연산자 중에서 연산 비용이 가장 비싼 연산은 조인 연산이다. 일반적으로 CPU 기반의 조인 연산의 경우에는 하나의 코어를 사용하거나 많게는 16개 정도의 코어를 사용하여 병렬 처리를 해서 병렬화에 따른 성능 향상이 크지 않다. 이에 반해, GPGPU(General-Purpose computing on Graphics Processing Units)는 수천 개의 프로세싱 유닛을 통한 병렬 처리가 가능해서 조인 연산 수행 시간을 크게 단축할 수 있다. 본 논문에서는 GPGPU 기반에서 조인 연산 병렬화를 구현하기 위해 NVIDIA의 CUDA SDK가 사용되며, CPU 기반과 GPGPU 기반에서의 조인 연산 성능을 측정한다. 사용되는 조인 연산은 NLJ (Nested Loop Join), SMJ (Merge Join), HJ (Hash Join)이며, GPGPU 장비는 TITAN Xp, GTX 1080 Ti 및 GTX 1080을 사용한다. CPU 기반과 GPGPU 기반의 성능을 비교하고, GPGPU 기반의 조인 연산과 이전 연구의 성능과의 성능을 비교한다. 마지막으로, 실험 결과는 GPGPU 기반의 성능이 CPU 기반의 성능보다 6~328 배 빠른 성능을 보였고 향후 연구의 방향성에 대하여 토의한다.

Keywords

Acknowledgement

Supported by : 충남대학교

References

  1. He, Bingsheng, et al. "Relational joins on graphics processors." Proceedings of the 2008 ACM SIGMOD international conference on Management of data. ACM, 2008.
  2. Rui, Ran, Hao Li, and Yi-Cheng Tu. "Join algorithms on GPUs: A revisit after seven years." Big Data (Big Data), 2015 IEEE International Conference on. IEEE, 2015.
  3. 박준용, "다중 레벨 저장 시스템에서 해쉬 기반의 다중 공간 조인 기법", 인하대학교, 2005.
  4. Agbaria, Adnan, et al. "Overtaking CPU DBMSes with a GPU in Whole-Query Analytic Processing with Parallelism-Friendly Execution Plan Optimization." International Workshop on In-Memory Data Management and Analytics. Springer, Cham, 2016.
  5. Yabuta, Makoto, et al. "Relational Joins on GPUs: A Closer Look." IEEE Transactions on Parallel and Distributed Systems (2017).
  6. Devarajan, N., S. Navneeth, and S. Mohanavalli. "Gpu accelerated relational hash join operation." Advances in Computing, Communications and Informatics (ICACCI), 2013 International Conference on. IEEE, 2013.
  7. Shehab, Esraa, Alsayed Algergawy, and Amany Sarhan. "Accelerating relational database operations using both CPU and GPU co-processor." Computers & Electrical Engineering 57 (2017): 69-80. https://doi.org/10.1016/j.compeleceng.2016.12.014
  8. Wu, Haicheng, et al. "Red fox: An execution environment for relational query processing on gpus." Proceedings of Annual IEEE/ACM International Symposium on Code Generation and Optimization. ACM, 2014.
  9. NVIDIA , NVIDIA 차세대 CUDA 컴퓨팅 아키텍처, https://www.nvidia.co.kr/content/apac/pdf/tesla/nvidia-kepler-gk110-architecture-whitepaper-kr.pdf
  10. Sang-Won Ha and Tack-Don Han, "A Scalable Work-Efficient and Depth-Optimal Parallel Scan for the GPGPU Environment," Parallel and Distributed Systems, IEEE Transactions on, vol.24, no.12, pp.2324- 2333, Dec. 2013. https://doi.org/10.1109/TPDS.2012.336
  11. Ahn, Jung Ho, Mattan Erez, and William J. Dally. "Scatter-add in data parallel architectures," HighPerformance Computer Architecture, 2005. HPCA11. 11th International Symposium on. IEEE, pp.132-142, Feb. 12-16, 2005.
  12. Jong-Sub Lee, Sang-Back Lee and Kyu-Chul Lee, "A Study on the Improvement of Performance of Join Operations based on GPGPU Parallel Computing", Korean DataBase Conference 2017, Nov. 24-25, 2017.