Kun-Lung Wu, Philip S. Yu, et al.
IEEE TMM
Parallel processing of relational queries has received considerable attention of late. However, in the presence of data skew, the speedup from conventional parallel join algorithms can be very limited, due to load imbalances among the various processors. Even a single large skew element can cause a processor to become overloaded. In this paper, we propose a parallel sort merge join algorithm which uses a divide-and-conquer approach to address the data skew problem. The proposed algorithm adds an extra, low cost scheduling phase to the usual sort, transfer, and join phases. During the scheduling phase, a parallelizable optimization algorithm, using the output of the sort phase, attempts to balance the load across the multiple processors in the subsequent join phase. The algorithm naturally identifies the largest skew elements, and assigns each of them to an optimal number of processors. Assuming a Zipf-like distribution for data skew, the algorithm is demonstrated to achieve very good load balancing for the join phase, and is shown to be very robust relative, among other things, to the degree of data skew and the total number of processors. © 1993 IEEE
Kun-Lung Wu, Philip S. Yu, et al.
IEEE TMM
Bo Long, Zhongfei Zhang, et al.
ICML 2007
Bing Liu, Yiyuan Xia, et al.
CIKM 2000
Bruno Ciciani, Daniel M. Dias, et al.
IEEE Transactions on Software Engineering