분산 메모리 시스템에서의 고성능 병렬 BFS 설계와 구현

분산 메모리 시스템에서의 고성능 병렬 BFS 설계와 구현
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

본 논문은 대규모 그래프 탐색에 핵심적인 너비 우선 탐색(BFS)을 위해 두 가지 분산 메모리 기반 병렬 알고리즘을 제안한다. 하나는 정점 기반 1차원 파티셔닝을 이용한 레벨‑동기화 방식이고, 다른 하나는 2차원 희소 행렬 파티셔닝을 활용해 통신량을 크게 감소시키는 방법이다. 두 알고리즘 모두 노드 내부 멀티스레딩을 결합한 하이브리드 형태로 구현했으며, 40 000코어 규모의 Hopper 시스템에서 17.8 BTEPS(초당 178억 엣지 방문)라는 최고 성능을 기록하였다.

상세 분석

이 연구는 BFS가 메모리 대역폭에 강하게 의존하는 ‘메모리‑바운드’ 특성을 정확히 짚어, 분산 환경에서의 성능 병목을 두 축—계산 부하 균형과 통신 비용—으로 분석한다. 첫 번째 접근법은 전통적인 1차원 정점 파티셔닝을 사용한다. 각 프로세서는 자신의 정점 집합과 인접 리스트를 로컬 메모리에 보관하고, 레벨‑동기화 방식으로 현재 프론티어를 확장한다. 이때 원격 정점에 대한 방문 여부를 확인하기 위해 매 레벨마다 전역 All‑to‑All 집계가 필요하며, 이는 코어 수가 증가함에 따라 통신 오버헤드가 급격히 확대되는 단점이 있다.

두 번째 접근법은 그래프를 희소 행렬로 모델링하고, 행과 열을 각각 2차원 프로세서 격자에 분할한다. 이 방식은 각 프로세서가 행 블록과 열 블록을 동시에 담당함으로써, 프론티어 확장 시 필요한 원격 정점 정보를 행‑열 교차 방식으로 전송한다. 결과적으로 한 레벨당 필요한 통신 횟수가 1차원 파티셔닝 대비 O(√P)로 감소하고, 전송되는 메시지 양도 크게 줄어든다. 특히, 행‑열 교차 단계에서 비동기 MPI 집계와 압축 전송을 적용해 네트워크 포화도를 최소화하였다.

두 알고리즘 모두 노드 내부에서 OpenMP 기반 멀티스레딩을 적용했으며, 스레드 간 작업 분할은 정점 기반 로드 밸런싱과 캐시 친화적인 데이터 레이아웃을 고려해 설계되었다. 메모리 접근 모델링에서는 ‘메모리 참조 비용’이라는 간단한 식을 도입해, 로컬 메모리 대역폭, 원격 메모리 접근 지연, 그리고 네트워크 대역폭을 정량화하였다. 이를 통해 2차원 파티셔닝이 높은 코어 수에서 통신 비용을 3.5배까지 절감함을 이론적으로 증명하고, 실험적으로도 동일한 경향을 확인했다.

실험은 Graph500 벤치마크에 기반한 스케일‑프리 그래프(정점 4.3 B, 엣지 68.7 B)를 사용했으며, Hopper(AMD Magny‑Cours, Cray XE6)와 같은 최신 슈퍼컴퓨터에서 40 000코어까지 확장하였다. 1차원 방식은 코어 수가 8 K 이하에서는 경쟁력 있었지만, 16 K 코어를 초과하면 통신 포화가 급격히 나타났다. 반면 2차원 하이브리드 방식은 40 K 코어에서도 안정적인 17.8 BTEPS를 유지했으며, 이는 기존 보고된 최고 성능을 크게 앞선 수치이다. 또한, 메모리 사용량을 정점당 약 8 바이트 수준으로 제한해, 대규모 그래프를 메모리 제한이 있는 시스템에서도 처리 가능하게 했다.

이 논문은 BFS뿐 아니라, 스파스 행렬-벡터 곱, PageRank, Connected Components 등 다른 그래프 알고리즘에도 2차원 파티셔닝이 유사한 통신 절감 효과를 제공할 수 있음을 시사한다. 특히, 차세대 슈퍼컴퓨터가 코어당 대역폭이 감소하는 추세이므로, 행‑열 분할 기반 설계가 앞으로도 확장성을 유지할 핵심 전략이 될 것으로 전망한다.


댓글 및 학술 토론

Loading comments...

의견 남기기