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)|2019. 11. 16.
Data Mining Algorithms and Applications인용 수 6
한 줄 요약

Pangolin은 고성능이며 유연한 그래프 패턴 마이닝(GPM) 프레임워크로, 확장-감소-필터 모델 기반의 고수준 추상화를 사용하여 CPU와 GPU에서 모티프 카운팅을 가속화한다. 사용자가 정의한 정규화를 통해 이소모르피즘 테스트를 제거하고 메모리 접근을 최적화하며 동적 메모리 할당을 줄임으로써, 기존 프레임워크 대비 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고수준 추상화가 그래프 패턴 마이닝에서 효율적인 검색 공간 정규화 및 이소모르피즘 테스트 제거에 얼마나 효과적인가?
  • RQ3CPU와 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가 만들고, 인간 에디터가 검토했습니다.