[论文解读] EnGN: A High-Throughput and Energy-Efficient Accelerator for Large Graph Neural Networks
EnGN 是一种专用硬件加速器,通过引入一种新型的环边归约(RER)数据流和可重构的处理元素阵列(PE-array)架构,实现了大规模图神经网络(GNNs)的高吞吐量、高能效推理。与 CPU 相比,其最高加速比达 1802.9X,能效提升达 1326.35X;与最先进的 GCN 加速器 HyGCN 相比,速度提升 2.97X,能耗降低 6.2X。
Graph neural networks (GNNs) emerge as a powerful approach to process non-euclidean data structures and have been proved powerful in various application domains such as social networks and e-commerce. While such graph data maintained in real-world systems can be extremely large and sparse, thus employing GNNs to deal with them requires substantial computational and memory overhead, which induces considerable energy and resource cost on CPUs and GPUs. In this work, we present a specialized accelerator architecture, EnGN, to enable high-throughput and energy-efficient processing of large-scale GNNs. The proposed EnGN is designed to accelerate the three key stages of GNN propagation, which is abstracted as common computing patterns shared by typical GNNs. To support the key stages simultaneously, we propose the ring-edge-reduce(RER) dataflow that tames the poor locality of sparsely-and-randomly connected vertices, and the RER PE-array to practice RER dataflow. In addition, we utilize a graph tiling strategy to fit large graphs into EnGN and make good use of the hierarchical on-chip buffers through adaptive computation reordering and tile scheduling. Overall, EnGN achieves performance speedup by 1802.9X, 19.75X, and 2.97X and energy efficiency by 1326.35X, 304.43X, and 6.2X on average compared to CPU, GPU, and a state-of-the-art GCN accelerator HyGCN, respectively.
研究动机与目标
- 解决在 CPU 和 GPU 上运行大规模、稀疏、真实世界图的 GNN 所面临的高计算与内存开销问题。
- 克服通用处理器在处理 GNN 所特有的不规则、动态数据访问模式时的低效问题。
- 设计一种专用加速器,支持 GCN 之外的多种 GNN 架构,包括 GRN 和 GAT。
- 针对具有可变顶点特征长度的幂律分布图,优化数据局部性和内存层次结构。
- 通过统一的、可重构的硬件架构,实现所有 GNN 传播阶段的高吞吐量与高能效。
提出的方法
- 提出一种环边归约(RER)数据流,通过围绕顶点环和边归约组织计算,有效管理稀疏且随机连接图中的差数据局部性。
- 设计一种可重构的 RER PE-array,支持 GNN 各层间动态维度变化,实现特征提取、聚合和更新阶段的高并行性。
- 提出一种图分块策略,结合自适应计算重排与分块调度,将大图适配至片上缓冲区,最大化缓冲区利用率。
- 采用三级片上内存层次结构(寄存器文件、共享缓冲区和暂存存储器),减少片外内存访问,提升能效。
- 在 RER PE-array 内部采用类似脉动的数据流模式,高效处理 GNN 中的密集张量操作,同时保持对不规则图访问的灵活性。
- 根据模型和数据集特性调整 PE-array 尺寸(如 32×32),避免资源利用率不足,最大化吞吐量。
实验结果
研究问题
- RQ1如何设计硬件加速器,以高效支持超越 GCN 的通用 GNN 模型所呈现的多样化与不规则数据流模式?
- RQ2何种数据流与内存访问模式能有效缓解大规模、稀疏、幂律分布图中的差数据局部性问题?
- RQ3如何协同设计片上内存层次结构与任务调度,以支持超过片上内存容量的图处理?
- RQ4与 CPU、GPU 及现有 GNN 加速器相比,领域专用加速器在性能与能效方面能带来多大提升?
- RQ5PE-array 尺寸的选择如何影响异构 GNN 工作负载下的资源利用率与吞吐量?
主要发现
- 在多个 GNN 模型与数据集上,EnGN 相较于 CPU 实现了平均 1802.9X 的加速比和 1326.35X 的更高能效。
- 与 GPU 相比,EnGN 平均实现 19.75X 的加速比和 304.43X 的更高能效。
- 与最先进的 GCN 加速器 HyGCN 相比,EnGN 实现了 2.97X 更高的吞吐量和 6.2X 更低的能耗。
- 当输入特征维度(如 16)小于列数时,32×32 PE-array 的性能未超过基线,表明存在资源利用率不足,凸显了自适应阵列尺寸的必要性。
- 在大尺寸数据集上,性能加速比低于小尺寸数据集,原因是聚合阶段在更大的 PE-array 中成为瓶颈,尤其在边-顶点比更高的情况下更为明显。
- 图分块与自适应调度显著提升了缓冲区利用率,使处理超出片上内存容量的图成为可能。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。