멀티레벨 멀티큐 설계로 GPU 기반 최단경로 탐색 가속화
초록
본 논문은 GPU에서 SSSP를 처리할 때 단일 전역 큐가 초래하는 동기화·메모리 병목을 해결하기 위해, 메모리 계층과 병렬 수준에 맞춰 여러 큐를 배치하는 Multi‑Level‑Multi‑Queue(MLMQ) 구조를 제안한다. 캐시‑유사 협업 메커니즘과 Read/Write 원시 연산을 기반으로 다양한 큐 타입을 조합하고, 입력 그래프 특성에 따라 자동으로 최적 구성을 선택한다. 실험 결과, 기존 최첨단 구현 대비 1.87×~17.13×의 평균 속도 향상을 달성한다.
상세 분석
MLMQ는 GPU의 SM(Streaming Multiprocessor) 단위, 워프 단위, 그리고 전역 메모리 수준에 각각 큐를 배치함으로써, 전통적인 단일 전역 큐가 야기하는 과도한 원자 연산과 글로벌 메모리 접근을 크게 감소시킨다. 핵심은 “캐시‑스타일 협업 메커니즘”으로, 상위 레벨 큐에서 일정량의 작업을 하위 레벨 큐에 전파할 때 메타데이터를 최소화하고, 데이터 이동을 연속적인 메모리 블록 복사 형태로 구현한다. 이를 지원하는 Read와 Write 원시 연산은 큐 종류에 관계없이 동일한 인터페이스를 제공해, FIFO, 우선순위 큐, 버킷 큐 등 다양한 스케줄링 정책을 모듈식으로 결합할 수 있게 한다.
설계상의 세 가지 주요 도전 과제는 (1) 메모리 계층 간 가시성·접근성 차이로 인한 다중 큐 조정의 복잡성, (2) 로컬 큐 사용 시 발생하는 우선순위 역전으로 인한 중복 파동 전파, (3) 그래프 특성에 따라 최적 큐 조합이 달라지는 거대한 설계 공간이다. 논문은 첫 번째 문제를 해결하기 위해 각 레벨별 큐를 독립적인 버퍼로 유지하면서, 필요 시 “협업 버퍼”를 통해 최소한의 동기화만 수행하도록 설계했다. 두 번째 문제는 상위 레벨 큐에 단순 FIFO 정책을 적용하고, 하위 레벨에서 보다 정교한 우선순위 정렬을 수행함으로써 우선순위 역전을 억제한다. 세 번째 문제는 그래프의 평균 차수, 직경, 가중치 분포 등을 분석한 후, 사전 학습된 규칙 기반 혹은 경량 머신러닝 모델을 이용해 실행 시점에 최적 큐 구성을 자동 선택한다.
성능 평가에서는 12개의 실세계 그래프(도로망, 소셜 네트워크, 메쉬 등)를 대상으로 기존 GPU SSSP 구현(예: Gunrock, CuGraph)과 비교하였다. 특히 메모리 대역폭이 제한된 상황에서 전역 큐 접근을 최소화한 MLMQ는 원자 연산 수를 평균 6배 감소시켰으며, 글로벌 메모리 트래픽도 70% 이상 절감했다. 또한, 입력 적응형 구성 덕분에 어느 그래프에서도 최소 1.8배, 최악의 경우에도 1.2배 이상의 성능 향상을 보였다. 코드가 공개된 점은 재현성과 확장성을 높이며, 향후 다른 그래프 알고리즘(예: BFS, PageRank)에도 적용 가능성을 시사한다.
댓글 및 학술 토론
Loading comments...
의견 남기기