节点文献

基于Supersonic的并行分组聚集

Supersonic-based parallel group-by aggregation

  • 推荐 CAJ下载
  • PDF下载
  • 不支持迅雷等下载工具,请取消加速工具后下载。

【作者】 张兵孙辉范旭李翠平陈红王雯

【Author】 ZHANG Bing;SUN Hui;FAN Xu;LI Cuiping;CHEN Hong;WANG Wen;Key Laboratory of Data Engineering and Knowledge Engineering,Ministry of Education ( Renmin University of China);School of Information,Renmin University of China;

【机构】 数据工程与知识工程教育部重点实验室(中国人民大学)中国人民大学信息学院

【摘要】 针对在分析型联机分析处理(OLAP)应用中频繁出现的数据密集型操作符——分组聚集耗时较多的问题,提出Cache友好的分组聚集算法对该操作进行性能优化。首先,为充分发挥列存储在数据密集型计算方面的优势,采用基于开源的列存储查询执行引擎Supersonic,并在此之上设计Cache友好的分组聚集算法;其次,为加速查询的执行,使用并行技术,将单线程的分组聚集算法改为多线程并行的分组聚集算法。基于Supersonic设计并实现4种并行分组聚集算法:无共享Hash表并行分组聚集(NSHPGA)算法、表锁共享Hash表并行分组聚集(TLSHPGA)算法、桶锁共享Hash表并行分组聚集(BLSHPGA)算法、节点锁共享Hash表并行分组聚集(NLSHPGA)算法,且在不同的分组势集、不同的线程数的情况下,针对上述4种算法做了多组实验。通过对比3种不同粒度的共享Hash表并行分组聚集算法的加速比,得出NLSHPGA算法在加速比和并发度两方面表现最好,部分查询可达到10倍加速比;通过比较NSHPGA算法和NLSHPGA算法的加速比、Cache miss内存使用等情况,得出NLSHPGA算法在分组势集大于8时,加速比超过NSHPGA算法,并且Cache miss更低,使用的内存更少。

【Abstract】 To solve the time-consuming problem of group-by aggregation operation in case of data-intense computation, a cache-friendly group-by aggregation method was proposed. In this paper, the group-by aggregation operation was optimized in two aspects. Firstly, designing cache-friendly group-by aggregation algorithm on Supersonic, an open-source and columnoriented query execution engine, to take the full advantage of column-storage on in-memory computation. Secondly, rewriting the algorithm with multi-threads to speed up the query. In this paper, four different parallel aggregation algorithms were put forward, respectively named Shared-Nothing Parallel Group-by Aggregation( NSHPGA) algorithm, Table-Lock Shared-Hash Parallel Group-by Aggregation( TLSHPGA) algorithm, Bucket-Lock Shared-Hash Parallel Group-by Aggregation( BLSHPGA)algorithm and Node-Lock Shared-Hash Parallel Group-by Aggregation( NLSHPGA) algorithm. Through a series of comparison experiment on different group power set and different number of worker threads, NLSHPGA algorithm was proved to have the best performance both on speed-up ratio and concurrency, which achieved 10 x speedups on part of queries. Besides,considering Cache miss and memory utilization, the results shows that NSHPGA algorithm is suitable for smaller group power set, which was 8 in the experiment, and when getting larger, NLSHPGA algorithm performs better than NSHPGA algorithm.

  • 【文献出处】 计算机应用 ,Journal of Computer Applications , 编辑部邮箱 ,2016年01期
  • 【分类号】TP311.13
  • 【下载频次】62
节点文献中: 

本文链接的文献网络图示:

本文的引文网络