Skip to main content
QUICK REVIEW

[论文解读] A GPU-Based Solution to Fast Calculation of Betweenness Centrality on Large Weighted Networks

Rui Fan, Ke Xu|arXiv (Cornell University)|Jan 21, 2017
Complex Network Analysis Techniques被引用 15
一句话总结

本文提出了一种基于GPU加速的快速加权网络介数中心性(BC)计算算法,通过采用工作高效的任务调度与线程束中心优化策略,在CUDA平台上实现了相较于基于CPU的Brandes算法30倍至150倍的加速。该方法结合了基于Dijkstra算法的优化单源最短路径(SSSP)计算,通过定制化的线程管理机制,有效应对非规则网络结构与负载不均问题。

ABSTRACT

Recent decades have witnessed the tremendous development of network science, which indeed brings a new and insightful language to model real systems of different domains. Betweenness, a widely employed centrality in network science, is a decent proxy in investigating network loads and rankings. However, the extremely high computational cost greatly prevents its applying on large networks. Though several parallel algorithms have been presented to reduce its calculation cost on unweighted networks, a fast solution for weighted networks, which are in fact more ubiquitous than unweighted ones in reality, is still missing. In this study, we develop an efficient parallel GPU-based approach to boost the calculation of betweenness centrality on very large and weighted networks. Comprehensive and systematic evaluations on both synthetic and real-world networks demonstrate that our solution can arrive the performance of 30x to 150x speedup over the CPU implementation by integrating the work-efficient and warp-centric strategies. Our algorithm is completely open-sourced and free to the community and it is public available through https://dx.doi.org/10.6084/m9.figshare.4542405. Considering the pervasive deployment and declining price of GPU on personal computers and servers, our solution will indeed offer unprecedented opportunities for exploring the betweenness related problems in network science.

研究动机与目标

  • 解决加权网络中缺乏高效GPU实现的介数中心性计算问题,因为现实应用中加权网络比无权网络更为常见。
  • 克服大规模网络中介数中心性计算的高成本问题,因为基于CPU的Brandes算法在拥有数百万个节点的网络上可能需要数年时间。
  • 开发一种并行GPU解决方案,以高效处理现实世界加权网络中固有的非规则结构与负载不均问题。
  • 集成并评估先进的GPU优化策略——工作高效性与线程束中心技术,以在多种网络拓扑结构下最大化性能。
  • 提供一个公开可用的开源工具,支持使用GPU加速在加权网络上计算节点与边的介数中心性。

提出的方法

  • 采用Dijkstra算法将Brandes算法适配于加权网络,实现在GPU上的单源最短路径(SSSP)计算。
  • 实施工作高效策略,仅将线程动态分配给活跃的边界节点,以减少空闲计算并提升内存合并访问效率。
  • 采用线程束中心方法,使用较小的线程束大小(如4、8、16),以减少线程发散,并更好地匹配节点度数,尤其在低度数网络中表现更优。
  • 将工作高效调度与小线程束大小执行相结合,以最小化线程浪费并实现线程束间的负载均衡。
  • 优化内存访问模式与内核启动配置,以提升GPU占用率并降低非规则图遍历中的延迟。
  • 使用CUDA内核并行化所有节点的SSSP计算,结合动态负载均衡与收敛时的早期终止机制。

实验结果

研究问题

  • RQ1与CPU实现相比,基于GPU的算法是否能在大规模加权网络上实现介数中心性计算的显著加速?
  • RQ2工作高效性与线程束中心优化策略在非规则、现实世界加权网络上的性能提升效果如何?二者联合使用时的性能表现如何?
  • RQ3在线性度数不同、结构特征各异的网络中,改变线程束大小对性能有何影响?
  • RQ4工作高效性与小线程束大小策略的结合是否能在多种网络类型中实现更稳定且可扩展的性能表现?
  • RQ5所提出的GPU算法是否能有效应用于具有不同直径与度分布的合成网络与真实世界加权网络?

主要发现

  • 所提出的基于GPU的BC算法在真实世界的加权网络(包括电子邮件网络与社交网络)上,相较于最佳CPU实现,实现了30倍至150倍的加速。
  • 工作高效调度与小线程束大小(如warp4)执行的结合,在真实网络上相较基线GPU方法实现了2.65倍的加速。
  • 在低度数网络(平均度数≈4)中,采用小线程束大小的实现优于节点并行与大线程束大小方法,尤其在结合工作高效性时优势更明显。
  • 工作高效性与小线程束大小的联合策略在多种网络类型中均表现稳健,包括真实世界网络与Kronecker图,且性能增益稳定。
  • 在高深度、低度数的随机图中,若使用大线程束大小,算法性能较差;但采用小线程束大小结合工作高效性,仍能较仅使用工作高效性时带来轻微改进。
  • 最终实现已开源并可通过DOI:10.6084/m9.figshare.4542405 公开获取,支持社区使用与扩展,适用于网络科学相关应用。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。