[논문 리뷰] An Efficient Graph Accelerator with Parallel Data Conflict Management
이 논문은 도달 가능도 기반 병렬 누적기법을 도입하여 충돌하는 정점 업데이트를 병렬 실행할 수 있도록 하는 그래프 전용 FPGA 가속기 아키텍처를 제안한다. 이는 원자 연산에서 발생하는 순차적 처리의 성능 저하를 크게 줄인다. 가속기는 평균 2.36 GTEPS의 성능을 달성하며, BFS, PageRank, WCC 등의 알고리즘에서 원자 연산의 증분적이고 단순한 특성에 기반해 상태 기반 최신 기술인 ForeGraph 대비 최대 3.14배의 성능 향상을 이룬다.
Graph-specific computing with the support of dedicated accelerator has greatly boosted the graph processing in both efficiency and energy. Nevertheless, their data conflict management is still sequential in essential when some vertex needs a large number of conflicting updates at the same time, leading to prohibitive performance degradation. This is particularly true for processing natural graphs. In this paper, we have the insight that the atomic operations for the vertex updating of many graph algorithms (e.g., BFS, PageRank and WCC) are typically incremental and simplex. This hence allows us to parallelize the conflicting vertex updates in an accumulative manner. We architect a novel graphspecific accelerator that can simultaneously process atomic vertex updates for massive parallelism on the conflicting data access while ensuring the correctness. A parallel accumulator is designed to remove the serialization in atomic protection for conflicting vertex updates through merging their results in parallel. Our implementation on Xilinx Virtex UltraScale+ XCVU9P with a wide variety of typical graph algorithms shows that our accelerator achieves an average throughput by 2.36 GTEPS as well as up to 3.14x performance speedup in comparison with state-of-the-art ForeGraph (with single-chip version).
연구 동기 및 목표
- 그래프 처리 중 충돌하는 정점 업데이트로 인한 순차적 원자 연산으로 인한 성능 저하 문제를 해결하기 위해.
- 일반적인 그래프 알고리즘(BFS, PageRank, WCC 등)에서 원자 연산이 증분적이고 단순한 특성을 지닌다는 점을 고려해 병렬화가 가능한지 탐색하기 위해.
- 데이터 충돌 상황에서도 정확성을 유지하면서도 정점 업데이트에 대한 대량 병렬 처리를 지원하는 그래프 가속기 설계를 위해.
- 저도 및 고도 정점에 대한 메모리 접근을 적응형 병렬 처리와 소스 기반 그래프 분할 기법을 통해 최적화하기 위해.
- 시리얼라이제이션 오버헤드를 줄이고 처리량을 향상시켜 기존의 가속기들(예: ForeGraph)을 뛰어넘기 위해.
제안 방법
- 다중 충돌 원자 업데이트의 결과를 병렬로 융합하는 병렬 누적기법을 설계하여 순차적 시리얼라이제이션의 필요성을 제거한다.
- 저도 정점은 병렬 처리하고 고도 정점의 수준 병렬 처리를 제한함으로써 동기화 오버헤드를 줄이는 도달 가능도 기반 스케줄링 전략을 구현한다.
- 메모리 요청을 균일하게 분산시키고 순서를 재배치하여 처리하는 고처리량 片상 메모리와 재배치 기법을 통합한다.
- 특히 평균 도수가 낮은 그래프에서 메모리 압박을 줄이고 메모리 효율을 향상시키기 위해 소스 기반 그래프 분할 기법을 적용한다.
- 다중 그래프 반복 동안 데이터 일관성을 유지하면서도 고처리량을 유지할 수 있도록 파ip라인 아키텍처를 활용한다.
- 핵심 그래프 알고리즘에서 원자 연산의 교환법칙과 결합법칙을 활용하여 안전하고 효율적인 병렬 실행을 가능하게 한다.
실험 결과
연구 질문
- RQ1BFS, PageRank, WCC 등의 일반적인 그래프 알고리즘에서 원자 연산이 증분적이고 단순한 특성을 지닌다는 점을 바탕으로 안전하게 병렬화가 가능한가?
- RQ2정확성을 훼손하거나 시리얼라이제이션을 유도하지 않고도 충돌하는 정점 업데이트를 관리할 수 있는 병렬 누적기법은 어떻게 설계할 수 있는가?
- RQ3정점의 도수는 그래프 가속기에서 병렬 데이터 충돌 관리 설계에 어떤 영향을 미치는가?
- RQ4소스 기반 그래프 분할은 메모리 접근 효율성과 전체 가속기 성능에 어떤 영향을 미치는가?
- RQ5제안된 가속기는 기존의 최신 기술인 FPGA 기반 그래프 가속기(ForeGraph 등)에 비해 어느 정도 뛰어난 성능을 발휘할 수 있는가?
주요 결과
- 제안된 가속기는 다양한 그래프 워크로드에서 평균 2.36 GTEPS의 처리량을 달성한다.
- 실제 워크로드에서 최신 기술인 ForeGraph(Single-chip 버전) 대비 최대 3.14배의 성능 향상을 기록한다.
- 병렬 누적기법은 동시 업데이트 처리를 가능하게 하여 시리얼라이제이션 오버헤드를 감소시켜 성능 향상에 기여한다.
- Wiki 그래프에서 4개의 파artition으로 분할할 경우 최대 61%의 성능 저하가 발생하여 메모리 용량과 접근 패턴에 민감함을 보여준다.
- 효율적인 메모리 요청 재배치 및 분할 기법을 통해 원래 수준의 메모리 요청을 10% 이내로 감소시켰다.
- 도달 가능도 기반 설계는 고도 정점에서 병렬 처리와 동기화 간의 균형을 효과적으로 유지하여 전체 시스템의 효율성을 향상시켰다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.