Helios:在 TB 级图上实现内存级性能的高效外存 GNN 训练系统
分布式、并行与集群计算
2023-10-03 v1
摘要
在大规模图数据上训练图神经网络(GNNs)对众多现实应用极具前景,但仍是一项巨大挑战。已有若干基于磁盘的 GNN 系统被构建以在单机上训练大规模图。然而,它们常在性能上不足,尤其在 TB 级图训练时。这是因为现有基于磁盘的系统要么过度关注最小化 SSD 访问次数,要么未将 SSD 访问与 GNN 训练充分重叠,从而导致 CPU 侧大量不必要开销及低 GPU 利用率。为此,我们提出 Helios,一个可在单机 TB 级图上训练 GNN 且达到与内存系统相当吞吐量的系统。为此,我们首先提出 GPU 发起的异步磁盘 IO 栈,允许 GPU 直接访问 SSD 上的图数据。该设计仅需约 30% 的 GPU 核心即可达到近乎最大的磁盘 IO 吞吐,且在 IO 提交与完成之间不浪费 GPU 核心,使大部分核心可用于其他 GNN 内核。其次,我们设计了 GPU 管理的异构缓存,将缓存层次扩展到异构 CPU 与 GPU 内存,从而通过 GPU 并行显著提升缓存查找吞吐。最后,我们构建了深度 GNN 感知流水线,无缝整合整个 GNN 训练过程的计算与通信阶段,最大化 GPU 计算周期利用。实验结果表明,即便对 TB 级图,Helios 也能匹配内存 GNN 系统的训练吞吐。值得注意的是,在所有 TB 级图上,Helios 超越最先进 GPU 管理基线达 6.43 倍,并超过 CPU 管理基线 182 倍以上。
引用
@article{arxiv.2310.00837,
title = {Helios: An Efficient Out-of-core GNN Training System on Terabyte-scale Graphs with In-memory Performance},
author = {Jie Sun and Mo Sun and Zheng Zhang and Jun Xie and Zuocheng Shi and Zihan Yang and Jie Zhang and Fei Wu and Zeke Wang},
journal= {arXiv preprint arXiv:2310.00837},
year = {2023}
}