Parallel Processing Letters · 2003 · 15 citations · 4 references
ComputingComputer ScienceComputer SystemsDatabasesParallel AlgorithmsParallel ComputingData ParallelismData PartitioningData PipelinesParallel DatabasesQuery OptimizationQuery ProcessingBulk Synchronous Parallel AlgorithmsBulk Synchronous Parallel ModelBulk Synchronous ParallelismData DistributionJoinJoin AlgorithmsParallel Join AlgorithmsParallel Query Processing
Most standard parallel join algorithms try to overcome data skews with a relatively static approach. The way they distribute data (and then computation) over nodes depends on a data re-distribution algorithm (hashing or range partitioning) that is determined before the actual join begins. On the contrary, our approach consists in pre-scanning data in order to choose an efficient join method for each given value of the join attribute. This approach has already proved to be efficient both theoretically and practically in our previous papers. In this paper we introduce a new pipelined version of our frequency adaptive join algorithm. The use of pipelining offers flexible strategies for resource allocation while avoiding unnecessary disk input/output of intermediate join results when computing multi-join queries. We present a detailed version of the algorithm and a cost analysis based on the BSP (Bulk Synchronous Parallel) model, showing that our pipelined algorithm achieves noticeable improvements compared to the sequential parallel version for multi-join queries while guaranteeing perfect balancing properties.
4
A bridging model for parallel computation
Leslie G. Valiant · Communications of the ACM · 1990 · 3.7K citations · Full text
David J. DeWitt, Jim Gray · Communications of the ACM · 1992 · 1.3K citations · Full text
Questions and Answers about BSP
David B. Skillicorn, Jonathan M. D. Hill, W. F. McColl · Scientific Programming · 1997 · 319 citations · Full text