A hash partitioning method based on MapReduce framework and three efficient optimizations including storage structure optimization
multi-pass partitioning optimization and skew data optimization on chip multiprocessor(CMP)are proposed to address the problems that conventional hash partitioning method cannot take full advantage of CMP's parallel execution resources and properly process the skew input data. The input data are split into several units which are later processed by all threads simultaneously
and suitable strategy is adopted to avoid writing collision hence CMP's parallel execution resources could be fully unitized. The new hash table proposed in this paper can improve the overall performance by increasing the cache efficiency. The introduction of MapReduce framework makes it possible to multiply partition the data in Map phase and Reduce phase
respectively. In addition
the skew data optimization can make the proposed method suitable for processing various skew input data. Experiments have testified these advantages displayed by the proposed hash partitioning method.
DENG Yadan, JING Ning, XIONG Wei. Hash join query optimization based on shared-cache chip multi-processor[J]. Journal of Software, 2010, 21(6): 1220-1232.
YE Y, ROSS K, VESDAPUNT N. Scalable aggregation on multicore processors[C]∥Proceedings of the Seventh International Workshop on Data Management on New Hardware. New York, USA: ACM, 2011: 1-9.
BALKESEN C, TEUBNER J, ALONSO G, et al. Main-memory hash join on multi-core CPUs: tuning to the underlying hardware[C]∥Proceedings of the 29th International Conference on Data Engineering. Piscataway, NJ, USA: IEEE, 2013: 362-373.
MANEGOLD S, BONCZ P, KERSTEN M. Optimizing main-memory join on modern hardware[J]. IEEE Transactions on Knowledge and Data Engineering, 2002, 14(4): 709-730.
CIESLEWICZ J, ROSS K. Data partitioning on chip multiprocessors[C]∥Proceedings of the Fourth International Workshop on Data Management on New Hardware. New York, USA: ACM, 2008: 25-34.
WU L, BARKER R, KIM M, et al. Navigating big data with high-throughput, energy-efficient data partitioning[C]∥Proceedings of the 40th Annual International Symposium on Computer Architecture. New York, USA: ACM, 2013: 249-260.
DEAN J, GHEMAWAT S. MapReduce: simplified data processing on large clusters[C]∥Proceedings of the Sixth Symposium on Operating Systems Design and Implementation. Berkeley, USA: USENIX, 2004: 137-150.
TALBOT J, YOO R, KOZYRAKIS C. Phoenix++: modular MapReduce for shared-memory systems[C]∥Proceedings of the Second International Workshop on MapReduce and Its Applications. New York, USA: ACM, 2011: 9-16.
FANG Wenbin, HE Bingsheng, LUO Qiong, et al. Mars: accelerating MapReduce with graphics processors[J]. IEEE Transactions on Parallel and Distributed Systems, 2011, 22(4): 608-620.
CIESLEWICZ J, ROSS K, GIANNAKAKIS I. Parallel buffers for chip multiprocessors[C]∥Proceedings of the Third International Workshop on Data Management on New Hardware. New York, USA: ACM, 2007: 1-10.