Skip to main content
QUICK REVIEW

[논문 리뷰] Distributed-Memory Breadth-First Search on Massive Graphs

Aydın Buluç, Scott Beamer|arXiv (Cornell University)|2017. 05. 10.
Graph Theory and Algorithms참고 문헌 6인용 수 22
한 줄 요약

이 논문은 일반화된 2차원 프로세서 격자 분해와 방향 최적화 기법을 사용하여 거대한 그래프를 위한 고성능이고 확장 가능한 분산 메모리 BFS 알고리즘을 제안한다. 초희소 DCSC 저장 방식, 다중 스레딩, 그리고 적응형 상향/하향 순회를 결합함으로써, Cray 아키텍처와 같은 대규모 시스템에서 통신 비용과 메모리 사용량을 줄여 뛰어난 성능을 달성한다.

ABSTRACT

This chapter studies the problem of traversing large graphs using the breadth-first search order on distributed-memory supercomputers. We consider both the traditional level-synchronous top-down algorithm as well as the recently discovered direction optimizing algorithm. We analyze the performance and scalability trade-offs in using different local data structures such as CSR and DCSC, enabling in-node multithreading, and graph decompositions such as 1D and 2D decomposition.

연구 동기 및 목표

  • 저성능 강도와 비정규적인 메모리 액세스를 보이는 분산 메모리 시스템에서 거대하고 비정규적인 그래프에서 BFS를 효율적으로 수행하는 데 도전 과제를 해결한다.
  • 정사각형 격자 외에도 임의의 직사각형 구성으로까지 일반화된 2차원 프로세서 격자 분해를 통해 병렬 BFS의 확장성과 성능을 향상시킨다.
  • 노드 내 다중 스레딩과 희소 행렬 저장 형식(DCSC 대비 CSR)이 통신, 계산 및 메모리 사용에 미치는 영향을 평가한다.
  • 전방(frontier) 크기에 따라 상향 및 하향 순회를 동적으로 전환하는 방향 최적화 BFS의 효과를 입증한다. 이는 간선 검사의 중복을 최소화한다.
  • 실제 그래프와 대규모 HPC 플랫폼(예: Cray 시스템 및 Twitter 그래프)에서의 구현을 검증한다.

제안 방법

  • 그래프의 인접 행렬을 분산하기 위해 일반화된 $p_r \times p_c$ 직사각형 2차원 프로세서 격자를 사용하여 유연한 로드 밸런싱과 통신 최적화를 가능하게 한다.
  • 방향 최적화 BFS를 구현하여 전략적으로 상향 및 하향 순회를 전환한다: 초기/후기 단계에는 상향 순회, 큰 전방이 존재할 경우 하향 순회로 전환하여 중복 간선 검사를 줄인다.
  • 로컬 부분 그래프에 대해 이중 압축 희소 컬럼(DCSC) 형식을 사용하여 CSR 대비 메모리 프로파일을 감소시키고 메모리 대역폭 효율을 향상시킨다.
  • 전역 통신을 위해 Alltoallv와 Allgatherv 연산을 사용한다: 컬럼을 따라 Alltoallv로 전방 교환을 수행하고, 행을 따라 Allgatherv로 전역 동기화를 수행한다.
  • 노드 내 다중 스레딩을 통합하여 계산 활용도를 향상시키고, 특히 대규모 코어 시스템에서 통신 지연을 숨긴다.
  • 상향 및 하향 BFS의 장점을 조합한 하이브리드 접근 방식을 적용하여 총 간선 검사 횟수를 최소화하고 로드 밸런싱을 향상시킨다.

실험 결과

연구 질문

  • RQ1프로세서 격자 비율(예: 정사각형 대비 직사각형 또는 평평한 형태)이 분산 BFS에서 통신, 계산 및 전체 성능에 어떤 영향을 미치는가?
  • RQ2메모리 제약이 있는 대규모 분산 BFS 환경에서 DCSC 대비 CSR 희소 행렬 형식 사용이 성능에 어떤 영향을 미치는가?
  • RQ3노드 내 다중 스레딩이 분산 BFS에서 확장성 향상과 통신 지연 숨기기에 얼마나 효과적인가?
  • RQ4방향 최적화 BFS(상향 및 하향 순회 간 동적 전환)가 중복 간선 검사를 얼마나 줄이고 런타임 성능을 향상시키는가?
  • RQ5Twitter와 같은 실제 그래프에서 알고리즘이 어떻게 확장되는가? 하위 초 단위의 순회 시간을 달성하기 위해 필요한 코어 수는 얼마인가?

주요 결과

  • 직사각형 구성(특히 정사각형 또는 약간 높거나 얇은 격자)을 사용한 2차원 프로세서 격자 분해가 평평하고 짧은 격자보다 성능이 뛰어나며, 로드 밸런싱이 우수하고 Allgatherv 통신 비용이 감소하기 때문이다.
  • DCSC 저장 형식은 CSR 대비 메모리 사용을 크게 감소시켜 더 큰 규모의 그래프 순회를 가능하게 한다. 예를 들어, 1×110×440 격자에서 스케일 33에서 CSR은 메모리가 부족해졌지만, DCSC는 이를 피할 수 있었다.
  • 다중 스레딩은 특히 대규모 코어 시스템에서 통신 지연을 숨기고 계산 활용도를 향상시켜 성능과 확장성 향상에 기여한다.
  • 방향 최적화 BFS 알고리즘은 전방이 가장 큰 중간 단계에서 간선 중복 검사를 최대 90%까지 줄여 런타임 성능 향상에 기여한다.
  • Twitter 그래프(1440코어)에서 방향 최적화 BFS는 0.08초 만에 완료되었으며, 기준 방법 대비 10배 이상 적은 코어를 사용해 0.2초 이내 성능을 달성했다.
  • 입력 크기를 두 배로 늘릴 때 통신 비용이 2.5배 증가했음에도 불구하고 성능 저하는 주로 국부적 계산 증가에 기인했으며, 이는 2D 격자에서 CSR의 확장성 한계를 드러낸다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.