[논문 리뷰] An Efficient Dispatcher for Large Scale GraphProcessing on OpenCL-based FPGAs
이 논문은 OpenCL 기반 FPGA에서 대규모 그래프 처리를 위한 이중 모듈형, 엣지 블록 기반 디스패처를 제안한다. 정점 중심 및 엣지 중심 계산을 조합하여 다양한 병렬성 수준에 동적으로 적응한다. 고정 크기의 엣지 블록으로 엣지를 구성하고 런타임 디스패처를 사용해 처리 모드를 전환함으로써 현장 내 메모리 사용량과 파ip라인 효율성을 최적화하여, 다양한 그래프 워크로드에서 이전의 FPGA 기반 시스템보다 뛰어난 성능을 달성한다.
High parallel framework has been proved to be very suitable for graph processing. There are various work to optimize the implementation in FPGAs, a pipeline parallel device. The key to make use of the parallel performance of FPGAs is to process graph data in pipeline model and take advantage of on-chip memory to realize necessary locality process. This paper proposes a modularize graph processing framework, which focus on the whole executing procedure with the extremely different degree of parallelism. The framework has three contributions. First, the combination of vertex-centric and edge-centric processing framework can been adjusting in the executing procedure to accommodate top-down algorithm and bottom-up algorithm. Second, owing to the pipeline parallel and finite on-chip memory accelerator, the novel edge-block, a block consist of edges vertex, achieve optimizing the way to utilize the on-chip memory to group the edges and stream the edges in a block to realize the stream pattern to pipeline parallel processing. Third, depending to the analysis of the block structure of nature graph and the executing characteristics during graph processing, we design a novel conversion dispatcher to change processing module, to match the corresponding exchange point.
연구 동기 및 목표
- 대규모 그래프 처리에서의 비정규적 메모리 액세스와 변동하는 병렬성의 과제를 해결하기 위해.
- 비대칭 정점 도수 분포를 가진 그래프 워크로드에서 현장 내 메모리 활용도와 파이프라인 스루풋을 향상시키기 위해.
- 워크로드 특성에 따라 런타임에서 정점 중심 및 엣지 중심 처리 모드를 전환할 수 있는 동적 런타임 디스패처를 설계하기 위해.
- 엣지 블록을 사용해 데이터 스트리밍 및 메모리 액세스 패턴을 최적화하여 무작위 액세스 오버헤드를 줄이기 위해.
- 다양한 그래프 워크로드를 대상으로 프레임워크를 평가하고 기존의 FPGA 가속기와의 성능을 비교하기 위해.
제안 방법
- 프레임워크는 런타임 조건에 따라 정점 중심 및 엣지 중심 처리 모드를 동적으로 전환하는 이중 모듈 아키텍처를 사용한다.
- 엣지 블록은 고정 크기의 단위로, 여덟 개의 목적지 정점을 포함하여 파이프라인으로의 엣지 구조적 스트리밍을 가능하게 한다.
- 새로운 런타임 디스패처는 그래프 구조와 실행 특성을 분석하여 각 반복에서 최적의 처리 모드(푸시 대 풀)를 선택한다.
- 엣지 블록 메커니즘은 목적지 정점별로 엣지를 그룹화하여 데이터 국소성을 향상시키고 순차적 액세스 패턴을 가능하게 하여 메모리 액세스 오버헤드를 감소시킨다.
- 시스템은 FPGA의 파이프라인 병렬성과 현장 내 블록 램(BRAM) 자원을 활용하여 고스루풋 데이터 처리를 유지한다.
- 프레임워크는 OpenCL를 사용해 단일 FPGA에 구현되었으며, 메모리 대역폭과 자원 활용도 최적화가 이루어졌다.
실험 결과
연구 질문
- RQ1어떻게 단일 FPGA가 대규모 그래프 처리에서 매우 변동성이 큰 병렬성과 비정규적 메모리 액세스 패턴을 효율적으로 처리할 수 있는가?
- RQ2그래프 실행 중 정점 중심(push)과 엣지 중심(pull) 계산 모델 간의 전환 전략으로서 최적의 방법은 무엇인가?
- RQ3어떻게 엣지 블록을 설계하여 FPGA 기반 그래프 가속기에서 현장 내 메모리 재사용과 파이프라인 효율성을 극대화할 수 있는가?
- RQ4동적 모드 전환과 엣지 블록 데이터 구조화를 조합함으로써 FPGA에서 달성할 수 있는 성능 향상은 무엇인가?
- RQ5통합된 모드 전환 기능을 갖춘 제안된 디스패처는 스레드 또는 단일 모드 처리 프레임워크에 비해 스루풋과 자원 활용도 측면에서 어떻게 비교되는가?
주요 결과
- 제안된 디스패처는 네 가지 다양한 그래프 워크로드에서 이전의 FPGA 기반 시스템과 비교해 더 나은 또는 유사한 성능을 달성한다.
- 엣지 블록의 사용은 데이터 국소성을 크게 향상시키고, 파이프라인으로의 엣지 순차적 스트리밍을 가능하게 하여 무작위 메모리 액세스를 감소시킨다.
- 정점 중심 및 엣지 중심 모드 간의 동적 전환은 변화하는 워크로드 특성에 적응하여 전체 스루풋을 향상시킨다.
- 고정 크기의 블록으로 엣지를 그룹화함으로써 제한된 현장 내 메모리와 BRAM 자원을 효과적으로 활용한다.
- 평가 결과, 지능적인 모드 전환 기능을 갖춘 이중 모듈 아키텍처는 정적 또는 단일 모듈 기반 처리 모델보다 우수한 성능을 보였다.
- 시스템은 강력한 확장성 잠재력을 보이며, 향후 다중 FPGA 배포를 통해 성능을 더욱 향상시키는 것이 목표이다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.