计算机科学与探索 ›› 2014, Vol. 8 ›› Issue (1): 40-50.DOI: 10.3778/j.issn.1673-9418.1305052
周 爽1,鲍玉斌1+,王志刚1,冷芳玲1,于 戈1,邓 超2,郭磊涛2
ZHOU Shuang1, BAO Yubin1+, WANG Zhigang1, LENG Fangling1, YU Ge1, DENG Chao2, GUO Leitao2
摘要: 图数据划分是基于BSP(bulk synchronous parallel)编程模型的大规模图处理系统中一个关键技术问题。传统的图划分技术需要多次迭代,时间复杂度过高,且划分结果不具有图顶点到分区的映射信息,因此这些算法并不适用于BSP模型下的数据划分。提出了一种新的面向BSP模型的负载均衡Hash数据划分算法(balanced Hash partition,BHP)。为了实现各个分区的出边数尽可能均衡,该算法引入了虚拟桶的概念,通过贪婪算法将虚拟桶重组为实际分区,保证了每个实际分区负载均衡,同时数据本地化策略使本分片上的数据尽可能地保留在本节点上,从而减小在数据加载时的数据迁移开销。从三个方面对比了BHP算法和经典Hash算法的性能,结果表明BHP算法能够提高作业的执行效率,减少消息发送的数量,有效解决了经典Hash算法的负载不均衡和分区间交互边过多的问题,当数据量变大时,效果尤为明显。