[논문 리뷰] Dynamic Load Balancing Strategies for Graph Applications on GPUs
이 논문은 불규칙한 워크로드로 인한 성능 저하 문제를 해결하기 위해 GPU에서 그래프 애플리케이션에 적합한 세 가지 동적 로드 밸런싱 전략—워크로드 분해, 노드 분할, 계층적 워크리스트—을 제안한다. 엣지 기반 로드 밸런싱과 노드 기반 아키텍처를 결합하고 동적 워크분배에 적응함으로써, 이 방법들은 대규모 그래프에서 실행 시간을 최대 75% 감소시켜 정적 노드 및 엣지 기반 접근 방식을 능가한다.
Acceleration of graph applications on GPUs has found large interest due to the ubiquitous use of graph processing in various domains. The inherent extit{irregularity} in graph applications leads to several challenges for parallelization. A key challenge, which we address in this paper, is that of load-imbalance. If the work-assignment to threads uses node-based graph partitioning, it can result in skewed task-distribution, leading to poor load-balance. In contrast, if the work-assignment uses edge-based graph partitioning, the load-balancing is better, but the memory requirement is relatively higher. This makes it unsuitable for large graphs. In this work, we propose three techniques for improved load-balancing of graph applications on GPUs. Each technique brings in unique advantages, and a user may have to employ a specific technique based on the requirement. Using Breadth First Search and Single Source Shortest Paths as our processing kernels, we illustrate the effectiveness of each of the proposed techniques in comparison to the existing node-based and edge-based mechanisms.
연구 동기 및 목표
- 불규칙하고 편향된 노드 차수로 인해 GPU 가속 그래프 애플리케이션에서 발생하는 로드 불균형으로 인한 성능 저하 문제를 해결하기 위해.
- 낮은 로드 밸런싱 또는 높은 메모리 오버헤드로 인해 성능이 떨어지는 정적 노드 기반 및 엣지 기반 작업 분배 방식의 한계를 극복하기 위해.
- 그래프 알고리즘 실행 중 변화하는 워크로드에 대응하는 동적이고 적응형 로드 밸런싱 전략을 개발하기 위해.
- 다양한 그래프 유형과 커널(BFS, SSSP)을 대상으로 전략을 평가하여 맥락에 따라 최적의 접근 방식을 식별하기 위해.
- 제한된 메모리 자원을 가진 GPU에서 대규모 그래프 워크로드를 효율적으로 실행하기 위해 메모리 프로파일을 최소화하면서 로드 밸런싱을 극대화하기 위해.
제안 방법
- 워크로드 분해는 활성 노드의 엣지를 스레드에 할당하여 엣지 수준의 로드 밸런싱과 노드 수준의 아키텍처를 결합함으로써 메모리 오버헤드를 감소시킨다.
- 노드 분할은 고차수 노드를 다수의 낮은 차수의 가상 노드로 동적으로 분해하여 스레드 간 작업 분포를 더 균형 있게 만든다.
- 계층적 처리 방식은 메인 워크리스트와 동적으로 생성되는 서브워크리스트를 사용하여 스레드 간 로드 밸런싱을 달성하며, 서브워크리스트 크기에 따라 스레드 수를 조정한다.
- 이 전략들은 LoneStar-GPU 프레임워크에 통합되어 실세계 및 합성 그래프에서 BFS와 SSSP 커널을 대상으로 평가된다.
- 노드 분할 전략에서 최적의 가상 노드 수를 자동으로 결정하는 새로운 히우리스틱 기법이 제안되었으며, 수동 튜닝을 방지한다.
- 모든 방법은 CSR 그래프 포맷과 호환되도록 설계되어 COO 기반 엣지 처리 방식 대비 메모리 오버헤드를 최소화한다.
실험 결과
연구 질문
- RQ1불규칙한 그래프에서 워크로드 분해 전략이 전통적인 노드 기반 및 엣지 기반 작업 분배 방식과 비교해 로드 밸런싱 및 성능 측면에서 어떻게 성능을 냈는가?
- RQ2노드 분할 전략은 고차수 노드가 있는 그래프에서 로드 불균형을 얼마나 줄일 수 있으며, 가상 노드 기반 접근 방식과 비교해 어떤가?
- RQ3엣지 기반 방법이 메모리 제약으로 실패하는 대규모 그래프에서 계층적 워크리스트 처리 방식이 로드 불균형을 효과적으로 관리할 수 있는가?
- RQ4각 전략이 정적 로드 밸런싱 방식을 능가하는 그래프 특성(예: 지름, 차수 분포)은 무엇인가?
- RQ5SSSP와 같은 계산 집약적인 그래프 커널에서 동적 로드 밸런싱의 성능 영향은 기준 구현 대비 어떻게 나타나는가?
주요 결과
- 엣지 기반 처리 방식은 BFS에서는 기준 대비 10% 향상된 성능을 기록했고, SSSP에서는 60~80% 향상되어 균형 잡힌 워크로드에서의 우수성을 입증했다.
- 작은 지름을 가진 그래프에서는 워크로드 분해 전략이 다른 노드 기반 전략보다 뛰어난 성능을 보였으며, 표준 노드 기반 할당 방식보다 더 우수한 로드 밸런싱을 달성했다.
- 큰 지름을 가진 그래프에서는 노드 분할 전략이 노드 기반 전략 중에서 가장 뛰어난 성능을 보였으며, 고차수 노드로 인한 로드 불균형을 감소시켰다.
- 계층적 처리 방식은 엣지 기반 방법이 메모리 제약으로 실패하는 매우 큰 그래프에서 기준 대비 실행 시간을 48~75% 감소시켰다.
- 단일 전략이 항상 다른 전략을 능가하지는 않았으며, 성능은 그래프 유형과 알고리즘에 따라 크게 달라져 맥락 인식이 가능한 선택 전략의 필요성을 시사했다.
- 제안된 전략들은 기준 노드 기반 방법이 심각한 로드 불균형을 겪는 SSSP에서 뚜렷한 성능 향상을 이끌었으며, 모든 동적 전략에서 최소 20% 향상된 성능을 기록했다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.