Akira Kawaguchlt, Kui W. Mok, et al.
IEICE Transactions on Information and Systems
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
Akira Kawaguchlt, Kui W. Mok, et al.
IEICE Transactions on Information and Systems
Charu C. Aggarwal, Joel L. Wolf, et al.
SIGMOD 1999
Mi-Yen Yeh, Kun-Lung Wu, et al.
EDBT 2009
Michail Vlachos, Aris Anagnostopoulos, et al.
VLDB Journal