2023, 34(4):1977-1996.
DOI: 10.13328/j.cnki.jos.006732
摘要:
现阶段, 随着数据规模扩大化和结构多样化的趋势日益凸现, 如何利用现代链路内链的异构多协处理器为大规模数据处理提供实时、可靠的并行运行时环境, 已经成为高性能以及数据库领域的研究热点. 利用多协处理器(GPU)设备的现代服务器(multi-GPU server)硬件架构环境, 已经成为分析大规模、非规则性图数据的首选高性能平台. 现有研究工作基于Multi-GPU服务器架构设计的图计算系统和算法(如广度优先遍历和最短路径算法),整体性能已显著优于多核CPU计算环境. 然而, 这类图计算系统中, 多GPU协处理器间的图分块数据传输性能受限于PCI-E总线带宽和局部延迟, 导致通过增加GPU设备数量无法达到整体系统性能的类线性增长趋势, 甚至会出现严重的时延抖动, 进而已无法满足大规模图并行计算系统的高可扩展性要求. 经过一系列基准实验验证发现,现有系统存在如下两类缺陷: (1) 现代GPU设备间数据通路的硬件架构发展日益更新(如NVLink-V1, NVLink-V2), 其链路带宽和延迟得到大幅改进, 然而现有系统受限于PCI-E总线进行数据分块通信, 无法充分利用现代GPU链路资源(包括链路拓扑、连通性和路由); (2) 在应对不规则图数据集时, 这类系统常采用过于单一的设备间数据组织和移动策略, 带来大量不必要GPU设备间经PCI-E总线的数据同步开销, 导致本地性计算同步等待时延开销过大.因此, 充分地利用各类现代Multi-GPU服务器通信链路架构来设计可扩展性强的图数据高性能计算系统亟待解决.为了达到Multi-GPU下图计算系统的高可扩展性, 提出一种基于混合感知的细粒度通信来增强Multi-GPU图计算系统的可伸缩性, 即采用架构链路预感知技术对图结构化数据采用模块化数据链路和通信策略, 为大规模图数据(结构型数据、应用型数据)最优化选择数据交换方法. 综合上述优化策略, 提出并设计了一种面向Multi-GPU图并行计算系统ChattyGraph. 通过对GPU图数据缓冲区优化, 基于OPENMP与NCCL优化多核GPU协同计算, ChattyGraph能在Multi-GPU HPC平台上自适应、高效地支持各类图并行计算应用和算法. 在8-GPU NVIDIA DGX服务器上, 对各种真实世界图数据的若干实验评估表明: ChattyGraph显著实现了图计算效率和可扩展性的提升, 并优于其他最先进的竞争对手性能, 计算效率平均提升了1.2×-1.5×, 加速比平均提升了2×-3×, 包括WS-VR和Groute.