Graph neural network(GNN) has been widely applied in real-world applications, such as product recommendation in e-commerce platforms and risk control in financial management systems. Several cache-based GNN systems have been built to accelerate GNN training in a single machine with multiple GPUs. However, these systems fail to train billion-scale graphs efficiently, which is a common challenge in the industry. In this work, we propose Legion, a system that automatically pushes the envelope of multi-GPU systems for accelerating billion-scale GNN training. First, we design a hierarchical graph partitioning mechanism that significantly improves the multi-GPU cache performance. Second, we build a unified multi-GPU cache that helps to minimize the PCIe traffic incurred by caching both graph topology and features with the highest hotness. Third, we develop an automatic caching management mechanism that adapts the multi-GPU cache plan according to the hardware specifications and various graphs to maximize the overall training throughput. Evaluations on various GNN models and multiple datasets show that Legion supports training billion-scale GNNs in a single machine and significantly outperforms the state-of-the-art cache-based systems on small graphs.
翻译:图神经网络(Graph Neural Network,GNN)已广泛应用于现实场景,如电商平台的产品推荐与金融管理系统的风险控制。现有基于缓存的多GPU单机系统虽能加速GNN训练,但难以高效处理工业界常见的十亿级规模图数据。本文提出Legion系统,通过自动优化多GPU系统性能来加速十亿级GNN训练。首先,我们设计分层图划分机制,显著提升多GPU缓存性能;其次,构建统一多GPU缓存架构,通过缓存最高热度的图拓扑与特征数据,最小化PCIe传输开销;最后,开发自动缓存管理机制,根据硬件配置与图特征自适应调整多GPU缓存策略以最大化训练吞吐量。在多种GNN模型与多数据集上的评估表明,Legion系统可在单机环境下支持十亿级GNN训练,并在小规模图上显著优于现有最先进的缓存系统。