A Load Balancing Method using Partition Tuning for Pipelined Multi-way Hash Join

다중 해시 조인의 파이프라인 처리에서 분할 조율을 통한 부하 균형 유지 방법

  • 문진규 (국방과학연구소) ;
  • 진성일 (충남대학교 정보통신공학부 컴퓨터과학과) ;
  • 조성현 (홍익대학교 전자전기컴퓨터공학부)
  • Published : 2002.06.01

Abstract

We investigate the effect of the data skew of join attributes on the performance of a pipelined multi-way hash join method, and propose two new harsh join methods in the shared-nothing multiprocessor environment. The first proposed method allocates buckets statically by round-robin fashion, and the second one allocates buckets dynamically via a frequency distribution. Using harsh-based joins, multiple joins can be pipelined to that the early results from a join, before the whole join is completed, are sent to the next join processing without staying in disks. Shared nothing multiprocessor architecture is known to be more scalable to support very large databases. However, this hardware structure is very sensitive to the data skew. Unless the pipelining execution of multiple hash joins includes some dynamic load balancing mechanism, the skew effect can severely deteriorate the system performance. In this parer, we derive an execution model of the pipeline segment and a cost model, and develop a simulator for the study. As shown by our simulation with a wide range of parameters, join selectivities and sizes of relations deteriorate the system performance as the degree of data skew is larger. But the proposed method using a large number of buckets and a tuning technique can offer substantial robustness against a wide range of skew conditions.

Shared nothing 다중 프로세서 환경에서 조인 어트리뷰트의 자료 불균형(data skew)이 파이프라인 해시 조인 연산의 성능에 주는 영향을 연구하고, 자료 불균형을 대비하여 적재부하를 Round-robin 방식으로 정적 분할하는 방법과 자료분포도를 이용하여 동적 분할하는 두 가지 파이프라인 해시 조인 알고리즘을 제안한다. 해시 기반 조인을 사용하면 여러 개의 조인을 파이프라인 방식으로 처리할 수 있다. 다중 조인은 파이프라인 방식 처리는 조인 중간 결과를 디스크를 통하지 않고 다른 프로세서에게 직접 전달하므로 효율적이다. Shared nothing 다중 프로세서 구조는 대용량 데이타베이스를 처리하는데 확장성은 좋으나 자료 불균형 분포에 매우 민감하다. 파이프라인 해시 조인 알고리즘이 동적 부하 균형 유지 메커니즘을 갖고 있지 않다면 자료 불균형은 성능에 매우 심각한 영향을 줄 수 있다. 본 논문은 자료 불균형의 영향과 제안된 두 가지 기법을 비교하기 위하여 파이프라인 세그먼트의 실행 모형, 비용 모형, 그리고 시뮬레이터를 개발한다. 다양한 파라미터로 모의 실험을 한 결과에 의하면 자료 불균형은 조인 선택도와 릴레이션 크기에 비례하여 시스템 성능을 떨어뜨림을 보여준다. 그러나 제안된 파이프라인 해시 조인 알고리즘은 다수의 버켓 사용과 분할의 조율을 통해 자료 불균형도가 심한 경우에도 좋은 성능을 갖게 한다.

Keywords

References

  1. Priti Mishra, Margaret H. Eich, 'Join Processing in Relational Databases,' ACM Computing Surveys, vol. 24, no. 1, pp. 63-113, March 1992 https://doi.org/10.1145/128762.128764
  2. Goetz Graefe, 'Query Evaluation Techniques for Large Databases,' ACM Computing Surveys, vol. 24, no. 2, pp.73-170, June 1993 https://doi.org/10.1145/152610.152611
  3. D.J. DeWitt, J. Gray, 'Parallel Database Systems: The Future of High Performance Database Systems,' Comm. ACM, vol. 35, no. 6, pp.85-98, June 1992 https://doi.org/10.1145/129888.129894
  4. D.A. Schneider and D.J. DeWitt, 'A Performance Evaluation of Four Parallel Join Algorithms in a Shared-nothing Multiprocessor Environment,' Proc. SIGMOD Conf., pp.110-121, May 1989 https://doi.org/10.1145/67544.66937
  5. D. Schneider, D.J. DeWitt, 'Tradeoffs in processing Complex Join Queries via Hashing in Multicomputer Database Machines,' Proc. 16th Int'l Conf. VLDB, pp. 469-480, August 1990
  6. N. Roussopoulos, H. Kang, 'A Pipeline n-way Join Algorithm based on the 2-way Semijoin program,' IEEE Trans. Knowledge and Data Engineering, vol. 3, no. 4, pp.461-473, December, 1991 https://doi.org/10.1109/69.109109
  7. A. Wilschut and P. Apers, 'Dataflow query execution in parallel main memory environment,' Proc. First Conf. Parallel and Distributed Information Systems, pp.68-77, December 1991
  8. Ming-Syan Chen, Hui-I Hsiao, Philip S. Yu, 'Applying Hash Filters to Improving the Execution of Bushy Trees,' Proc. 14th Int'l Conf. VLDB, pp.505-516, August 1993
  9. Ming-Syan Chen, Mingling Lo, Philip S. Yu, Honesty C. Young, 'Applying Segmented Right-Deep Trees to Pipelining Multiple Hash Joins,' IEEE Trans. Knowledge and Data Engineering, vol. 7, no. 4, pp.656-668, August 1995 https://doi.org/10.1109/69.404036
  10. Hui-I Hsiao, Ming-Syan Chen, 'Parallel Execution of Hash Joins in Parallel Databases,' IEEE Trans. Parallel and Distributed Systems, vol. 8, no. 8, pp.872-883, August 1997 https://doi.org/10.1109/71.605772
  11. 이규옥, 홍만표, '페이지 실행시간 동기화를 이용한 다중 해쉬 결합에서 결합률에 따른 효율적인 프로세서 할당 기법,' 정보과학회지논문지:시스템 및 이론, 제28권, 제3호, pp. 144-154, 2001
  12. Ming-Syan Chen, Philip S. Yu, 'Interleaving a Join Sequence with Semijoins in Distributed Query Processing,' IEEE Trans. Parallel and Distributed Systems, vol. 3, no. 5, pp.611-621, September 1992 https://doi.org/10.1109/71.159044
  13. M. Seetha Lakshmi, Philip S. Yu, 'Effectiveness of Parallel Joins,' IEEE Trans. Knowledge and Data Engineering, vol. 2, no. 4, pp.410-424, December 1990 https://doi.org/10.1109/69.63253
  14. D.J. DeWitt, J.F. Naughton, D.A. Schneider, S. Seshadri, 'Practical Skew Handling in Parallel-joins,' Proc. Int'l Conf. VLDB, pp.27-40, August 1992
  15. Kien A. Hua, Chiang Lee, Chau M. Hua, 'Dynamic Load Balancing in Multicomputer Database Systems Using Partition Tuning,' IEEE Trans. Knowledge and Data Engineering, vol.7, no.6, pp. 968-983, December 1995 https://doi.org/10.1109/69.476502