Carleton University
Technical Report TR-99-09
November 1999
Load Balanced and Communication Efficient Partitioning Strategies for Parallel Data Cube Generation
Abstract
In this paper we present a general framework for the efficient parallelization of existing data cube construction algorithms. We present two different partitioning strategies, one for top-down and one for bottom-up cube algorithms. Both strategies balance the loads assigned to the processors and minimize communication overhead. Subcube computations are carried out using existing sequential, external memory data cube algorithms. The bottom-up partitioning strategy balances the number of single column external sorts made by each processor. The top-down strategy partitions a weighted tree in which weights reflect algorithm specific cost measures like estimated view sizes. Communication overhead is minimized by avoiding irregular and data-driven communication patterns, sending few large messages instead of many small ones, and overlapping communication and computation. Both partitioning approaches are architecture independent. They can be implemented on any parallel machines composed of processors connected via an interconnection fabric. Processors are assumed to have standard-size local memory and access to parallel disks. The interconnection fabric can be an interconnection network or shared memory. Experimental results presented support the claim that our partitioning strategies generate load balanced subcube problems requiring only small communication overhead. We measure the quality of a partitioning with respect to the sizes of the subproblems generated, the sequential time needed by each processor to perform the subcube computation, and the size of the output generated by each processor. We compare our results to optimal partitionings and to optimal parallel time.