[논문 리뷰] Parallel Breadth-First Search on Distributed Memory Systems
이 논문은 분산 메모리 시스템을 위한 두 가지 고도로 최적화된 하이브리드 병렬 BFS 알고리즘을 제시한다: 수준 동기화 정점 분할 방식과 혁신적인 이차원 희소 행렬 분할 방법. 후자는 통신 오버헤드를 최대 3.5배까지 감소시키며, 40,000코어 시스템에서 1초당 178억 개 간선 방문을 달성하여, 비대칭 도수 분포를 가진 대규모 그래프에서 BFS의 성능 기록을 새로이 수립한다.
Data-intensive, graph-based computations are pervasive in several scientific applications, and are known to to be quite challenging to implement on distributed memory systems. In this work, we explore the design space of parallel algorithms for Breadth-First Search (BFS), a key subroutine in several graph algorithms. We present two highly-tuned parallel approaches for BFS on large parallel systems: a level-synchronous strategy that relies on a simple vertex-based partitioning of the graph, and a two-dimensional sparse matrix-partitioning-based approach that mitigates parallel communication overhead. For both approaches, we also present hybrid versions with intra-node multithreading. Our novel hybrid two-dimensional algorithm reduces communication times by up to a factor of 3.5, relative to a common vertex based approach. Our experimental study identifies execution regimes in which these approaches will be competitive, and we demonstrate extremely high performance on leading distributed-memory parallel systems. For instance, for a 40,000-core parallel execution on Hopper, an AMD Magny-Cours based system, we achieve a BFS performance rate of 17.8 billion edge visits per second on an undirected graph of 4.3 billion vertices and 68.7 billion edges with skewed degree distribution.
연구 동기 및 목표
- 불규칙한 메모리 액세스 패턴을 가진 분산 메모리 시스템에서 병렬 BFS의 성능 도전 과제를 해결하기 위해.
- 대규모 그래프에 대한 정점 기반 및 행렬 기반 분할 전략 간의 알고리즘적 트레이드오프를 탐색하기 위해.
- 고병렬 환경에서 통신 오버헤드를 최소화하고 확장성을 극대화하기 위해.
- 하이브리드 병렬 처리(MPI + 다중스레딩)를 활용해 현대 슈퍼컴퓨터에서 최첨단 성능을 달성하기 위해.
- 기존 프레임워크인 PBGL을 능가하는 고성능, 프로덕션 수준의 구현을 제공하기 위해.
제안 방법
- 프로세서 간 일차원 정점 기반 분할을 사용하는 수준 동기화 BFS 전략을 적용한다.
- 상호 프로세서 간 통신을 줄이기 위해 관련된 그래프 데이터를 함께 위치시키는 이차원 희소 행렬 분할 체계를 활용한다.
- 멀티코어 노드에서 데이터 국소성 향상과 메모리 지연 숨기기를 위해 내부 노드 다중스레딩을 통합한다.
- 이차원 접근 방식에서 로드 밸런싱과 통신 왜곡 감소를 위해 무작위 정점 순서를 적용한다.
- 고병렬 환경에서의 성능을 위해 MPI를 사용하여 노드 간 통신을 처리하고, 집합 연산(Alltoall, Allgather)을 최적화한다.
- BFS 반복을 선형 대수 연산으로 표현하기 위해 희소 행렬-벡터 곱셈(SpMV) 추상화를 사용한다.
실험 결과
연구 질문
- RQ1이차원 희소 행렬 분할 전략이 분산 BFS에서 통신 볼륨을 크게 감소시킬 수 있는가?
- RQ2하이브리드 다중스레딩(MPI + OpenMP)이 대규모 BFS에서 멀티코어 노드에서 성능을 어떻게 향상시키는가?
- RQ3기존의 병렬 BFS 프레임워크인 PBGL이 대규모 시스템에서 성능 저하 요인은 무엇인가?
- RQ4통신 감소가 고프로세스 수에서 확장성 향상에 얼마나 기여하는가?
- RQ5현대의 분산 메모리 아키텍처에서 기존 작업에 비해 BFS 성능을 크게 향상시킬 수 있는가?
주요 결과
- 이차원 분할 기반 알고리즘은 표준 정점 기반 접근 방식 대비 통신 시간을 최대 3.5배까지 감소시킨다.
- 40,000코어 시스템(Hopper)에서, 비대칭 도수 분포를 가진 43억 정점, 687억 간선 그래프에서 1초당 178억 개 간선 방문을 달성한다.
- R-MAT 그래프에서 소규모 테스트 케이스(128~2048코어)에서 PBGL 대비 최대 16배 빠른 성능을 기록한다.
- 단일 노드 다중스레딩 버전은 표준 테스트 인스턴스에서 기존 고성능 구현보다 최대 1.47배 빠른 성능을 보인다.
- AMD Magny-Cours(Hopper)와 Intel Nehalem(Carver)을 포함한 여러 아키텍처에서 성능 우월성이 유지된다.
- 성능 향상을 위해 세분화된 통신이 반드시 필요하다는 가정을 도전하며, 2차원 분할을 통한 통신의 군집화가 더 효과적일 수 있음을 시사한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.