Skip to main content
QUICK REVIEW

[论文解读] Pangolin: An Efficient and Flexible Graph Mining System on CPU and GPU

Xuhao Chen, Roshan Dathathri|arXiv (Cornell University)|Nov 16, 2019
Data Mining Algorithms and Applications被引用 6
一句话总结

Pangolin 是一个高性能、灵活的图模式挖掘(GPM)框架,通过基于扩展-归约-过滤模型的高级抽象,在 CPU 和 GPU 上加速了 motif 计数。它通过优化内存访问、减少动态内存分配以及通过用户定义的剪枝消除同构性测试,在 CPU 上相比现有框架实现了高达 88× 的加速,在 GPU 上进一步实现了 15× 的加速。

ABSTRACT

There is growing interest in graph pattern mining (GPM) problems such as motif counting. GPM systems have been developed to provide unified interfaces for programming algorithms for these problems and for running them on parallel systems. However, existing systems may take hours to mine even simple patterns in moderate-sized graphs, which significantly limits their real-world usability.We present Pangolin, an efficient and flexible in-memory GPM framework targeting shared-memory CPUs and GPUs. Pangolin is the first GPM system that provides high-level abstractions for GPU processing. It provides a simple programming interface based on the extend-reduce-filter model, which allows users to specify application specific knowledge for search space pruning and isomorphism test elimination. We describe novel optimizations that exploit locality, reduce memory consumption, and mitigate the overheads of dynamic memory allocation and synchronization.Evaluation on a 28-core CPU demonstrates that Pangolin outperforms existing GPM frameworks Arabesque, RStream, and Fractal by 49×, 88×, and 80× on average, respectively. Acceleration on a V100 GPU further improves performance of Pangolin by 15× on average. Compared to state-of-the-art hand-optimized GPM applications, Pangolin provides competitive performance with less programming effort.

研究动机与目标

  • 解决当前图模式挖掘(GPM)系统在处理中等规模图时耗时数小时的性能瓶颈问题。
  • 在共享内存的 CPU 和 GPU 上实现高效且可扩展的 GPM,同时最小化编程开销。
  • 提供高级抽象,使用户能够表达特定应用的知识以实现搜索空间剪枝和同构性测试消除。
  • 减少 GPM 工作负载中的内存消耗和动态内存分配开销。
  • 在实现复杂度更低的情况下,实现与手工优化应用相当的性能表现。

提出的方法

  • Pangolin 使用一种新颖的扩展-归约-过滤编程模型,通过高级抽象表达适用于 GPU 和 CPU 执行的 GPM 算法。
  • 它引入了利用数据局部性的优化,以改善内存访问模式并降低延迟。
  • 通过最小化中间数据结构并复用计算阶段之间的内存缓冲区,系统减少了内存消耗。
  • 通过内存池管理和异步内核启动,减轻了动态内存分配和同步开销。
  • 通过允许用户将特定应用的知识注入搜索空间剪枝逻辑,实现了同构性测试的消除。
  • 它支持 CPU 和 GPU 执行,提供统一的编程接口,抽象了底层 GPU 编程的复杂性。

实验结果

研究问题

  • RQ1GPM 的高级编程模型是否能在实现与手工优化 GPU 内核相当性能的同时,降低实现复杂度?
  • RQ2高级抽象在图模式挖掘中实现高效搜索空间剪枝和同构性测试消除方面的有效性如何?
  • RQ3在 CPU 和 GPU 上的 GPM 工作负载中,内存访问模式和动态内存分配的优化程度如何?
  • RQ4统一的 CPU-GPU GPM 框架的性能与现有最先进系统相比如何?
  • RQ5与传统 GPM 框架相比,使用高级抽象结合先进优化带来的性能提升有多大?

主要发现

  • 在 28 核 CPU 上,Pangolin 平均分别比 Arabesque、RStream 和 Fractal 快 49×、88× 和 80×。
  • 使用 V100 GPU 时,Pangolin 在 CPU 单独执行的基础上实现了额外的 15× 平均性能提升。
  • Pangolin 在性能上与最先进的手工优化 GPM 应用相当,但编程工作量显著减少。
  • 系统在内存访问和动态内存管理方面的优化显著降低了内存消耗和运行时开销。
  • 扩展-归约-过滤模型有效支持了将特定应用知识集成到剪枝和同构性测试消除中,从而提升了整体效率。
  • Pangolin 的高级抽象在保持高性能的同时,简化了在异构架构上开发复杂 GPM 算法的流程。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。