tially disjoint) sets of processors. This brings us to
limit the number of simultaneous builds. As a conse-
quence, we have to segment our query trees, similarly
to segmented right-deep trees, each segment (i.e. a
set of successive joins) being started when the former
is over. Once the histograms are produced for both
tables, we can compute the communication template,
then distribute data, and finally compute the join. Un-
fortunately, the computation of the communication
template is the implicit barrier within the execution
flow, that prohibits the use of long pipeline chains.
4 CONCLUSIONS
In this paper, we presented PDFA-Join a pipelined
parallel join algorithm based on a dynamic data re-
distribution. We showed that it can be applied effi-
ciently in various parallel execution strategies offer-
ing flexible resource allocation and reducing disks in-
put/output of intermediate join result in the evaluation
of multi-join queries. This algorithm achieves several
enhancements compared to solutions suggested in the
literature by reducing communication costs to only
relevant tuples while guaranteeing perfect balancing
properties on heterogeneous multi-processors shared
nothing architectures even for highly skewed data.
The BSP cost analysis showed that the overhead
related to histogram management remains very small
compared to the gain it provides to avoid the effect
of load imbalance due to data skew, and to reduce
the communication costs due to the redistribution of
the intermediate results which can lead to a significant
degradation of the performance.
Our experience with the BSP cost model and the
tests presented in our previous papers (Bamha and
Hains, 1999; Bamha and Hains, 2000; Hassan and
Bamha, 2008) prove the effectiveness of our approach
compared to standard hash-join pipelined algorithms.
REFERENCES
Bamha, M. (2005). An optimal and skew-insensitive join
and multi-join algorithm for distributed architectures.
In Proc. of DEXA’2005 International Conference.
Copenhagen, Danemark, pages 616–625.
Bamha, M. and Exbrayat, M. (2003). Pipelining a skew-
insensitive parallel join algorithm. Parallel Process-
ing Letters, 13(3), pages 317–328.
Bamha, M. and Hains, G. (2000). A skew insensitive al-
gorithm for join and multi-join operation on Shared
Nothing machines. Proc. of DEXA’2000 International
Conference, pages 644–653, London, UK.
Bamha, M. and Hains, G. (1999). A frequency adaptive
join algorithm for Shared Nothing machines. PDCP
Journal, Volume 3, Number 3, pages 333-345.
Chen, M.-S., Lo, M. L., Yu, P. S., and Young, H. C. (1992a).
Using segmented right-deep trees for the execution of
pipelined hash joins. Proc. of VLDB’92 International
Conference, 1992, Vancouver, Canada, pages 15–26.
Chen, M.-S., Yu, P. S., and Wu, K.-L. (1992b). Scheduling
and processor allocation for the execution of multi-
join queries. In International Conference on Data En-
gineering, pages 58–67, Los Alamos, Ca., USA.
Datta, A., Moon, B., and Thomas, H. (1998). A case for
parallelism in datawarehousing and OLAP. In Proc.
of DEXA 98 International Workshop, IEEE Computer
Society, pages 226–231, Vienna.
DeWitt, D. J., Naughton, J. F., Schneider, D. A., and Se-
shadri, S. (1992). Practical Skew Handling in Parallel
Joins. In Proceedings of the 18th VLDB Conference,
pages 27–40, Vancouver, British Columbia, Canada.
Gounaris, A. (2005). Resource aware query processing on
the grid. Thesis report, University of Manchester, Fac-
ulty of Engineering and Physical Sciences.
Hassan, M. A. H. and Bamha, M. (2008). Dynamic data re-
distribution for join queries on heterogeneous shared
nothing architecture. Technical Report 2, LIFO, Uni-
versit´e d’Orl´eans, France.
Hua, K. A. and Lee, C. (1991). Handling data skew in mul-
tiprocessor database computers using partition tun-
ing. In Proc. of VLDB 17th International Conference,
pages 525–535, Barcelona, Catalonia, Spain.
Liu, B. and Rundensteiner, E. A. (2005). Revisiting
pipelined parallelism in multi-join query processing.
In Proc. of VLDB’05 International Conference, pages
829–840.
Lu, H., Ooi, B.-C., and Tan, K.-L. (1994). Query Process-
ing in Parallel Relational Database Systems. IEEE
Computer Society Press, Los Alamos, California.
Mourad, A. N., Morris, R. J. T., Swami, A., and Young,
H. C. (1994). Limits of parallelism in hash join algo-
rithms. Performance evaluation, 20(1/3):301–316.
Rahm, E. (August 1996). Dynamic load balancing in par-
allel database systems. in: Proc. EURO-PAR’96 Con-
ference, LNCS, Springer-Verlag, Lyon.
Schneider, D. and DeWitt, D. (1989). A performance eval-
uation of four parallel join algorithms in a shared-
nothing multiprocessor environment. Proc. of 1989
ACM SIGMOD International Conference, Portland,
Oregon, pages 110–121, New York, NY 10036, USA.
Skillicorn, D. B., Hill, J. M. D., and McColl, W. F. (1997).
Questions and Answers about BSP. Scientific Pro-
gramming, 6(3):249–274.
Valiant, L. G. (1990). A bridging model for parallel compu-
tation. Communications of the ACM, 33(8):103–111.
Wilschut, A. N., Flokstra, J., and Apers, P. M. (1995). Paral-
lel evaluation of multi-join queries. In Proc. of ACM-
SIGMOD, 24(2):115–126.
ICSOFT 2008 - International Conference on Software and Data Technologies
134