[논문 리뷰] Efficient and Scalable Graph Pattern Mining on GPUs
G 2 Miner는 패턴 인지, 입력 인지, 아키텍처 인지 최적화를 융합하여 높은 효율성과 확장성을 달성하는 새로운 다중 GPU 기반 그래프 패턴 마이닝 프레임워크이다. 이 프레임워크는 최신 단일 GPU 시스템 대비 최대 7.2배 빠르게 GPM 워크로드를 처리하며, V100 GPU에서 CPU 기반 시스템 대비 48.3배 빠르게 동작한다. 또한 8개 GPU에서 선형 확장성을 구현하고, 이전 GPU 시스템을 뛰어넘는 대규모 그래프와 패턴을 지원한다.
Graph Pattern Mining (GPM) extracts higher-order information in a large graph by searching for small patterns of interest. GPM applications are computationally expensive, and thus attractive for GPU acceleration. Unfortunately, due to the complexity of GPM algorithms and parallel hardware, hand optimizing GPM applications suffers programming complexity, while existing GPM frameworks sacrifice efficiency for programmability. Moreover, little work has been done on GPU to scale GPM computation to large problem sizes. We describe G2Miner, the first Graph Pattern Mining (GPM) framework that runs on multiple GPUs. G2Miner uses pattern-aware, input-aware and architecture-aware search strategies to achieve high efficiency on GPUs. To simplify programming, it provides a code generator that automatically generates pattern-aware CUDA code. G2Miner flexibly supports both breadth-first search (BFS) and depth-first search (DFS) to maximize memory utilization and generate sufficient parallelism for GPUs. For the scalability of G2Miner, we use a customized scheduling policy to balance work among multiple GPUs. Experiments on a V100 GPU show that G2Miner achieves average speedups of 5.4x and 7.2x over two state-of-the-art single-GPU systems, Pangolin and PBE, respectively. In the multi-GPU setting, G2Miner achieves linear speedups from 1 to 8 GPUs, for various patterns and data graphs. We also show that G2Miner on a V100 GPU is 48.3x and 15.2x faster than the state-of-the-art CPU-based system, Peregrine and GraphZero, on a 56-core CPU machine.
연구 동기 및 목표
- 패턴, 입력, 하드웨어 특성을 종합적으로 최적화하는 효율적이고 확장 가능하며 프로그래밍 가능한 GPU 기반 그래프 패턴 마이닝(GPM) 프레임워크의 부족을 보완한다.
- 기존 GPU GPM 시스템은 효율성과 프로그래머블성 사이의 선택을 요구하거나, 메모리 및 로드 불균형 문제로 인해 대규모 그래프와 패턴에 대해 확장되지 못하는 한계를 지닌다.
- 패턴 인지 프루닝, 입력 인지 메모리 추정, GPU 아키텍처 인지 병렬 처리를 통합한 통합 최적화 전략을 설계하여 GPU에서 고성능 GPM을 실현한다.
- GPU 프로그래밍 복잡성을 숨기기 위해 자동 CUDA 코드 생성기를 통해 사용자 友好的 프로그래밍 모델을 제공함으로써 비전문가 사용자도 고성능 GPM을 쉽게 이용할 수 있도록 한다.
- 맞춤형 워크로드 스케줄링 정책을 통해 1에서 8개 GPU까지 선형 확장성을 확보함으로써 이전에는 GPU에서 구현이 어려웠던 대규모 그래프와 복잡한 패턴의 처리를 가능하게 한다.
제안 방법
- 패턴 구조에 따라 동적으로 BFS와 DFS를 선택하는 패턴 인지 검색 전략을 설계하여 메모리 사용과 병렬 처리의 균형을 확보한다.
- 저수준 GPU 프로그래밍을 추상화하고 고생산성을 달성하기 위해 최적화된 패턴 인지 CUDA 커널을 자동으로 생성하는 코드 생성기를 구현한다.
- 각 워프가 동기화된 DFS 워크를 수행하는 이중 병렬 모델을 도입하여 스레드 분열을 최소화하고 워프 실행 효율을 향상시킨다.
- SIMD 인지 GPU 프리미티브와 메모리 최적화된 데이터 구조를 적용하여 메모리 프로파일을 감소시키고 메모리 대역폭 활용도를 향상시킨다.
- 도수 기반 메모리 추정과 레이블 분포 분석과 같은 입력 인지 최적화를 적용하여 최악의 경우 메모리 사용량을 예측하고 동적 할당을 방지한다.
- 그래프 및 패턴 특성을 분석하여 GPU 간 워크로드 균형을 맞추는 맞춤형 다중 GPU 작업 스케줄러를 설계하여 1에서 8개 GPU까지 선형 속도 향상을 달성한다.
실험 결과
연구 질문
- RQ1패턴 구조, 입력 그래프 특성, GPU 아키텍처를 종합적으로 고려하여 GPU 기반 GPM 프레임워크가 높은 성능과 프로그래머블성을 동시에 달성할 수 있는가?
- RQ2DFS 기반 GPM 알고리즘을 GPU에 효율적으로 매핑하여 스레드 분열과 메모리 병목 현상을 방지하면서도 프루닝 기회를 유지할 수 있는가?
- RQ3GPU 기반 GPM 시스템이 다중 GPU에서 얼마나 확장될 수 있으며, 로드 밸런싱과 선형 속도 향상을 유지하기 위해 필요한 스케줄링 정책은 무엇인가?
- RQ4패턴 인지 프루닝, 입력 인지 메모리 추정, 아키텍처 인지 최적화를 통합한 프레임워크가 기존 시스템 대비 성능 향상은 어느 정도일 수 있는가?
- RQ5GPU 기반 시스템은 대규모 그래프와 복잡한 패턴에서 가장 최적화된 CPU 기반 GPM 시스템을 초월할 수 있으며, 그 성능 향상은 어느 정도인가?
주요 결과
- G 2 Miner는 V100 GPU에서 최신 단일 GPU 시스템인 Pangolin과 PBE 대비 각각 5.4× 및 7.2× 빠른 성능을 기록한다.
- 56코어 CPU 머신에서 단일 V100 GPU를 사용한 G 2 Miner는 Peregrine 대비 48.3배 빠르고, GraphZero 대비 15.2배 빠르며, GPU 가속의 뚜렷한 성능 우위를 입증한다.
- G 2 Miner는 Friendster와 같은 10억 간선 그래프에서 8클리크 패턴 마이닝을 지원하는 반면, Pangolin은 메모리 부족 오류로 실패함으로써 대규모 입력에 대한 확장성의 우수성을 입증한다.
- 다양한 패턴과 데이터 그래프에서 1에서 8개 GPU로의 선형 속도 향상을 달성하여 효과적인 워크로드 분배와 로드 밸런싱을 입증한다.
- G 2 Miner의 워프 실행 효율은 80%를 초과하며, 패턴 인지 프루닝과 최적화된 워프 중심 세트 연산 및 스레드 분열 감소 덕분에 Pangolin의 약 40%보다 뚜렷이 높다.
- 카운팅 전용 프루닝만으로도 G 2 Miner는 평균 6.2배 성능 향상을 기록했으며, 이 최적화를 적용한 상태에서도 G 2 Miner는 Peregrine 대비 41.1배 빠르게 동작하여 아키텍처적 우수성을 입증한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.