SIMD 벡터 명령어를 이용한 다차원 레코드 스캔

Multi-Dimensional Record Scan with SIMD Vector Instructions

  • 조성룡 (성균관대학교 정보통신공학부) ;
  • 한환수 (성균관대학교 정보통신공학부) ;
  • 이상원 (성균관대학교 정보통신공학부)
  • 투고 : 2009.12.24
  • 심사 : 2010.03.05
  • 발행 : 2010.06.15

초록

대량의 데이터 처리 영역에 대한 중요성이 증가하는 가운데 다차원의 속성을 갖는 레코드에 대한 스캔을 필요로 하는 질의처리에 있어 SIMD 명령어 셋을 이용하여 보다 효율적인 스캔성능을 얻을 수 있다. 이러한 배경하에서 이 논문에서 제시하는 기법인 'SIMD 레코드 스캔'은 행-기반의 스캔으로 열-기반의 저장구조를 갖는 기존의 메모리 기반 데이터베이스 시스템에서 조건식 처리나 집계연산등에서의 연산성능을 높이기 위해 열에 종속적으로 SIMD 명령어를 이용하던 것과는 달리 다차원 속성들의 비교가 요구되는 레코드 스캔에서의 효율을 높일 수 있다. 이는 레지스터 및 시스템 메모리의 크기가 증가함에 따라 더 큰 성능향상을 가져올 수 있으며, 멀티코어 기반의 병렬화 기법과 독립적이므로 SIMD를 지원하는 단일 프로세서뿐 아니라 이들로 구성된 멀티코어 프로세서에도 기존 시스템이나 아키텍처를 변경하지 않고도 적용이 가능하다.

Processing a large amount of data becomes more important than ever. Particularly, the information queries which require multi-dimensional record scan can be efficiently implemented with SIMD instruction sets. In this article, we present a SIMD record scan technique which employs row-based scanning. Our technique is different from existing SIMD techniques for predicate processes and aggregate operations. Those techniques apply SIMD instructions to the attributes in the same column of the database, exploiting the column-based record organization of the in-memory database systems. Whereas, our SIMD technique is useful for multi-dimensional record scanning. As the sizes of registers and the memory become larger, our row-based SIMD scan can have bigger impact on the performance. Moreover, since our technique is orthogonal to the parallelization techniques for multi-core processors, it can be applied to both uni-processors and multi-core processors without too many changes in the software architectures.

키워드

참고문헌

  1. N. Govindaraju, B. Lloyd, W. Wang, M. Lin, and D. Manocha, "Fast Computation of Database Operations using Graphics Processors," Proc. of ACM SIGMOD International Conference on Management of Data, pp.215-226, 2004.
  2. J. Chhugani, W. Macy, A. Baransi, A. Nguyen, M. Hagog, S. Kumar, V.W. Lee, Y. K. Chen and P. Dubey, "Efficient Implementation of Sorting on Multi-Core SIMD CPU Architecture," Proc. of the Very Large Data Base Endowment, vol. 1 issue2, August 2008, pp.1313-1324, 2008.
  3. C. Kim, T. Kaldewey, V. W. Lee, E. Sedlar, A. D. Nguyen, N. Satish, J. Chhugani, A. D. Blas, P. Dubey, "Sort Vs. Hash Revisited: Fast Join Implementation on Modern Multi-Core CPUs," Proc. of the 35th International conference on Very Large Data Bases, pp.1378-1389, 2009.
  4. S. Park, T. Kim, J. Park, J. Kim, H. Im, "Parallel Skyline Computation on Multicore Architectures," Proc. of IEEE International Conference on Data Engineering, pp.760-771, 2009.
  5. S. Borzsonyi, D. Kossmann, K. Stocker, "The Skyline Operator," Proc. of the 17th International Conference on Data Engineering, pp.421-430, 2001.
  6. J. Zhou, K. A. Loss, "Implementing database operations using SIMD instructions," Proc. of ACM SIGMOD International Conference on Management of Data, pp.145-156, 2002.