[논문 리뷰] GRE: A Graph Runtime Engine for Large-Scale Distributed Graph-Parallel Applications
GRE는 산발적 메시지와 에이전트-그래프 데이터 모델을 활용한 산발적-결합 계산 모델을 통해 대규모 분산 그래프 병렬 계산의 성능을 향상시키는 새로운 그래프 런타임 엔진을 제안한다. 세부적인 간선 수준의 병렬성과 정점 분해를 통한 방향성 그래프 분할 최적화를 통해, PowerGraph 대비 2.5–17× 빠른 성능을 달성하며, 768GB 메모리 환경에서 최대 10억 개 정점과 170억 개 간선을 처리하여 기존 프레임워크보다 빠르고 메모리 효율성이 뛰어나다.
Large-scale distributed graph-parallel computing is challenging. On one hand, due to the irregular computation pattern and lack of locality, it is hard to express parallelism efficiently. On the other hand, due to the scale-free nature, real-world graphs are hard to partition in balance with low cut. To address these challenges, several graph-parallel frameworks including Pregel and GraphLab (PowerGraph) have been developed recently. In this paper, we present an alternative framework, Graph Runtime Engine (GRE). While retaining the vertex-centric programming model, GRE proposes two new abstractions: 1) a Scatter-Combine computation model based on active message to exploit massive fined-grained edge-level parallelism, and 2) a Agent-Graph data model based on vertex factorization to partition and represent directed graphs. GRE is implemented on commercial off-the-shelf multi-core cluster. We experimentally evaluate GRE with three benchmark programs (PageRank, Single Source Shortest Path and Connected Components) on real-world and synthetic graphs of millions billion of vertices. Compared to PowerGraph, GRE shows 2.5~17 times better performance on 8~16 machines (192 cores). Specifically, the PageRank in GRE is the fastest when comparing to counterparts of other frameworks (PowerGraph, Spark,Twister) reported in public literatures. Besides, GRE significantly optimizes memory usage so that it can process a large graph of 1 billion vertices and 17 billion edges on our cluster with totally 768GB memory, while PowerGraph can only process less than half of this graph scale.
연구 동기 및 목표
- 비정규적인 데이터 접근과 낮은 국지성으로 인해 발생하는 대규모 그래프 병렬 워크로드에서의 비정규적이고 세밀한 병렬성 표현의 과제를 해결한다.
- 편향된 차수 분포를 가진 스케일프리 그래프에서 균형 잡힌 그래프 분할을 구현하기 어려워지는 문제를 해결하여 높은 통신 오버헤드를 줄인다.
- 정점 중심 모델의 단순성을 유지하면서도 효율적이고 대규모 간선 수준 병렬성을 가능하게 하는 새로운 계산 모델을 설계한다.
- 방향성 그래프에서 정점을 에이전트로 분해함으로써 통신 비용과 메모리 사용량을 줄이는 분산 데이터 모델을 개발한다.
- 일반적인 다중 코어 클러스터 환경에서 10억 개 이상의 정점과 간선을 처리하는 실제 및 합성 그래프에서 고성능과 확장성을 달성한다.
제안 방법
- 기존의 GAS(Gather-Apply-Scatter)에서 두 측면 간선 연산을 산발적 메시지로 변환하여 세밀한 간선 수준 병렬성을 극대화하는 산발적-결합 계산 모델을 도입한다.
- 산발적 메시지 전달을 통신 원자로 사용하여 기존 메시지 전달 또는 공유 메모리 모델 대비 효율적이고 저오버헤드의 메시지 전송을 가능하게 한다.
- 정점을 에이전트로 분해하여 방향성 그래프를 표현하는 에이전트-그래프 데이터 모델을 제안함으로써 분산 시스템에서 더 효율적인 분할과 간선 컷 감소를 달성한다.
- 정점 컷 기반 분할을 에이전트-그래프 모델에 적용하여, PowerGraph의 접근 방식과 유사하지만 방향성 그래프에 맞게 조정하고 통신 감소를 최적화한다.
- 세밀한 동기화를 위한 vLock 및 스레드 수준 통신을 위한 FastForward와 같은 저수준 최적화를 통합하여 다중 코어 머신에서의 로컬 성능을 향상시킨다.
- 상용 다중 코어 클러스터 기반의 완전한 런타임 시스템을 구축하여, PageRank, SSSP, Connected Components와 같은 반복적 그래프 알고리즘을 지원한다.
실험 결과
연구 질문
- RQ1비정규적인 액세스 패턴을 가진 대규모 분산 그래프 병렬 응용에서 세밀한 간선 수준 병렬성을 어떻게 효율적으로 표현하고 활용할 수 있는가?
- RQ2정점 분해 기반 데이터 모델이 스케일프리 방향성 그래프에서 통신 오버헤드를 얼마나 줄이고 부하 균형을 향상시킬 수 있는가?
- RQ3산발적 메시지 기반 신규 계산 모델이 전통적인 GAS 및 메시지 전달 모델 대비 성능과 메모리 효율성 측면에서 뛰어나게 되는가?
- RQ4실제 그래프에서 제안된 에이전트-그래프 모델이 간선 컷 및 정점 컷 분할 방식과 비교해 통신 비용과 확장성 측면에서 어떻게 성능을 내는가?
- RQ5PowerGraph, Spark, Twister와 같은 기존 프레임워크와 비교해 GRE가 100억 규모 그래프 처리 시 종단 간 성능과 메모리 효율성은 어떠한가?
주요 결과
- GRE는 8~16台의 머신(192개 코어)에서 PageRank, 단일 소스 최단 경로, 연결 요소 세 가지 벤치마크 워크로드에서 PowerGraph 대비 2.5~17배 빠른 성능을 달성한다.
- GRE의 PageRank는 공개 문헌상 보고된 바 중 가장 빠른 성능을 기록하며, PowerGraph, Spark, Twister의 대응 제품을 모두 앞선다.
- GRE는 메모리 사용을 크게 줄여 768GB 메모리 클러스터에서 10억 개 정점, 170억 개 간선의 그래프 처리를 가능하게 했으며, PowerGraph는 이보다 훨씬 작은 규모까지만 처리 가능하다.
- 에이전트-그래프 모델은 정점 분해를 통해 간선 컷을 최소화함으로써 통신 비용을 감소시키며, 특히 편향된 차수 분포를 가진 방향성 그래프에서 뛰어난 효과를 발휘한다.
- 산발적-결합 모델은 산발적 메시지 전달을 통해 기존 모델 대비 동기화 및 통신 오버헤드를 줄여 대규모 간선 수준 병렬성을 효율적으로 활용할 수 있도록 한다.
- 런타임 시스템은 강력한 확장성과 효율성을 보이며, 실제 및 합성 그래프에서 모두 높은 성능을 발휘하여 제안된 추상화 기법의 실용적 효과를 입증한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.