分享自:

GraphCube:面向互连层次结构感知的图处理

期刊:ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming (PPoPP '24)DOI:10.1145/3627535.3638498

GraphCube:面向超算层级互连拓扑优化的图处理系统

作者及发表信息
本研究的核心作者团队来自中国国防科技大学(NUDT)与英国利兹大学(University of Leeds),包括Xinbiao Gan、Guang Wu、Shenghao Qiu等10位研究者。研究成果发表于2024年3月的PPoPP ‘24(第29届ACM SIGPLAN并行编程原理与实践年度研讨会),论文标题为《GraphCube: Interconnection Hierarchy-Aware Graph Processing》。


学术背景
随着金融风险管理、社交网络分析等领域的图数据规模激增(如万亿级边数的图),传统图处理引擎在超算系统上的扩展性面临挑战。现有系统(如Gemini、GraphScope)通常假设节点间通信开销均匀,而实际超算系统的互连拓扑具有层级性(如机架-刀片-主板-核心簇),不同层级的通信延迟差异可达15倍。这种异构性导致负载不均衡和通信瓶颈,限制系统扩展性。GraphCube旨在通过动态路由表配置拓扑感知的图分区策略,优化超算环境下的图处理性能。


研究流程与方法
1. 动态路由表优化
- 问题建模:基于超算拓扑(如天河-Exa的胖树结构),将节点通信延迟建模为层级间延迟的累加(公式1)。通过四元组坐标系统定位节点位置,量化行(x)与列(y)方向的通信开销差异。
- 路由配置:提出平衡通信流量的行-列节点比例计算模型(公式7),通过Linux ip route类脚本动态配置路由表,耗时仅1毫秒。实验显示,该优化使BFS(广度优先搜索)在79,024节点上的通信开销降低98%。

  1. 拓扑感知图分区

    • 顶点聚类:基于空间局部性,以高度数顶点为中心,按跳数阈值(ℎ)生成顶点簇(Algorithm 1)。例如,在Graph 500生成的4万亿边图中,优先将高连通性顶点分配至同一刀片内。
    • 分层分配:通过通信树(Communication Tree)映射节点层级(如机架-刀片),递归分配顶点簇至最近通信域(Algorithm 2)。采用并行K-means加速预处理,顶点分布效率较传统2D分解提升14.2倍。
  2. 共享内存优化(PGAS)

    • 预取机制:在Gather-Apply-Scatter(GAS)计算流水线中插入预取阶段,利用ARMv8的pldl2keep指令预加载高度数顶点至L2缓存,平衡芯片网络(NoC)的x/y方向通信。
    • 向量化加速:如Algorithm 3所示,通过SIMD指令(如vcmpeq32)并行化顶点状态检查,在Phytium FT-2000 CPU上实现BFS速度提升3.07倍。

主要结果
1. Graph 500基准测试
- BFS性能:在79,024节点(126万核心)的天河-Exa上达到162,494 GTEPS(每秒千亿边遍历),超越Fugaku(137,096 GTEPS)的1.57倍,且核心使用量仅为后者的1/5.8。
- SSSP性能:在8,192节点上实现23,021 GTEPS,较武汉超算(19,039 GTEPS)提升20.9%,后者核心数为其53倍。

  1. 对比实验

    • 扩展性优势:在4,096节点处理38级图时,GraphCube的BFS吞吐量达22,490 GTEPS,较TopoX(9.7×)和CLUGP(28.7×)显著领先(图5)。
    • 真实数据集:在Twitter-2010图上,性能超越GraphScope达18.9倍,预处理时间缩短至其1/14(图14)。
  2. 通信平衡分析

    • 通过NAM2工具监测MPI通信,GraphCube的行-列平衡因子(𝑏)接近理想值1(图9),而2D分解和TopoX的偏差分别达0.25和0.5,导致并行进程停滞。

结论与价值
GraphCube首次提出动态路由表配置层级拓扑感知分区的协同优化框架,解决了超算图处理的扩展性瓶颈。其科学价值体现在:
1. 方法论创新:建立通信延迟的层级分析模型,为异构互连系统提供通用优化理论。
2. 工程实践:开源10万行C++/汇编代码库,支持BFS、SSSP、PageRank等5类算法,适配ARM/x86架构。
3. 应用前景:在生物信息学、风险分析等万亿级图计算场景中,可降低超算资源需求达80%。


研究亮点
1. 跨层级优化:首次将路由表配置与图分区联合优化,通信效率较Gemini提升18.9倍。
2. 低开销设计:1毫秒级路由重配置、线性复杂度顶点聚类,适用于动态图场景。
3. 硬件适配性:针对ARMv8多核簇(如Matrix-3000加速器)设计预取流水线,缓存命中率提升2.5倍。

其他贡献
- 提出PGAS(Prefetch-GAS)流水线,扩展经典GAS模型,为多核CPU图处理提供新范式。
- 公开测试数据集包括ClueWeb12(426亿边)等,推动领域基准标准化。

(注:全文基于PPoPP ‘24论文,实验数据及算法细节可参考原文第4-8节。)

上述解读依据用户上传的学术文献,如有不准确或可能侵权之处请联系本站站长:admin@fmread.com