[논문 리뷰] Helios: An Efficient Out-of-core GNN Training System on Terabyte-scale Graphs with In-memory Performance
Helios는 GPU 주도의 비동기 I/O, CPU 및 GPU 메모리에 걸친 GPU 관리의 이질적 캐시, 그리고 깊이 있는 GNN 인식 파이프라인을 활용하여 테라바이트 규모의 그래프에서 메모리 내 훈련 처리량을 달성하는 새로운 외부 메모리 GNN 훈련 시스템이다. 이는 상태의 최고 수준의 GPU 관리 기반 시스템보다 최대 6.43배 빠르며, CPU 관리 시스템보다는 182배 이상 빠르다.
Training graph neural networks (GNNs) on large-scale graph data holds immense promise for numerous real-world applications but remains a great challenge. Several disk-based GNN systems have been built to train large-scale graphs in a single machine. However, they often fall short in terms of performance, especially when training on terabyte-scale graphs. This is because existing disk-based systems either overly focus on minimizing the number of SSD accesses or do not fully overlap SSD accesses with GNN training, thus resulting in substantial unnecessary overhead on the CPU side and then low GPU utilization. To this end, we propose Helios, a system that can train GNN on terabyte graphs in a single machine while achieving throughput comparable with in-memory systems. To achieve this, we first present a GPU-initiated asynchronous disk IO stack, allowing the GPU to directly access graph data on SSD. This design only requires about 30% GPU cores to reach the almost maximal disk IO throughput and wastes no GPU cores between IO submission and IO completion such that the majority of GPU cores are left for other GNN kernels. Second, we design a GPU-managed heterogeneous cache that extends the cache hierarchy to heterogeneous CPU and GPU memory and thus enhances cache lookup throughput significantly by GPU parallelism. Finally, we build a deep GNN-aware pipeline that seamlessly integrates the computation and communication phases of the entire GNN training process, maximizing the utility of GPU computation cycles. Experimental results demonstrate that Helios can match the training throughput of in-memory GNN systems, even for terabyte-scale graphs. Remarkably, Helios surpasses the state-of-the-art GPU-managed baselines by up to 6.43x and exceeds CPU-managed baselines by over 182x on all terabyte-scale graphs.
연구 동기 및 목표
- 테라바이트 규모의 그래프를 처리할 때 CPU 병목 현상과 낮은 GPU 활용도로 인해 발생하는 디스크 기반 GNN 훈련 시스템의 핵심 성능 저하 문제를 해결한다.
- 기존의 CPU 관리 시스템의 한계를 극복하여, 시리얼 CPU-GPU 데이터 전송과 미니배치 준비 시 높은 CPU 오버헤드로 인해 GPU 코어가 낭비되는 문제를 해결한다.
- GIDS와 같은 GPU 관리 시스템의 처리량 한계를 제거한다. 이는 병렬성 부족과 부족한 캐시 용량으로 인해 디스크 I/O를 저해하고 GPU 자원을 고갈시키기 때문이다.
- 단일 머신 외부 메모리 아키텍처를 사용하여, 메모리 내 저장소가 필요 없이도 테라바이트 규모의 그래프에서 메모리 수준의 훈련 처리량을 달성한다.
- GPU 네이티브 제어와 지능적인 데이터 계층 관리를 통해 계산, I/O, 캐시 관리를 겹치도록 설계하여 GPU 활용도를 극대화한다.
제안 방법
- 디스크에 저장된 그래프 데이터에 직접 GPU가 접근할 수 있도록 하는 GPU 주도의 비동기 I/O 스택을 도입하여 CPU의 관여를 줄이고, GPU 코어의 약 30%가 근사 최대 디스크 처리량을 유지할 수 있도록 한다.
- CPU 및 GPU 메모리에 걸쳐 펼쳐진 GPU 관리의 이질적 캐시를 활용하여, GPU 병렬 처리를 통해 캐시 검색을 가속화하고 I/O 지연을 감소시킨다.
- 계산 및 통신 단계를 원활하게 통합하는 깊이 있는 GNN 인식 파이프라인을 설계하여, GPU의 공백 시간을 최소화하고 하드웨어 활용도를 극대화한다.
- GNN 훈련 커널과 데이터 로딩을 겹쳐서 최적화하여 디스크 I/O를 최적화하고, GPU 작업 부하가 지속되며 I/O 제출과 완료 사이의 공백 시간을 제거한다.
- GPU 주도의 샘플링과 특징 추출을 수행하는 슈퍼배치 및 미니배치 생성 전략을 사용하여 중복된 데이터 이동을 최소화하고 I/O 효율성을 극대화한다.
- GPUDirect 기술을 활용하여 CPU를 통한 데이터 이동보다 지연 시간과 메모리 복사 오버헤드를 줄이는 직접 GPU-SSD 데이터 전송을 구현한다.
실험 결과
연구 질문
- RQ1CPU 병목 현상과 GPU 활용도를 최소화함으로써 디스크 기반 GNN 훈련 시스템이 테라바이트 규모의 그래프에서 메모리 내 처리량 수준의 성능을 달성할 수 있는가?
- RQ2GPU 주도의 비동기 I/O는 GNN 훈련 워크로드에서 디스크 I/O 처리량을 향상시키고 GPU 공백 시간을 얼마나 줄일 수 있는가?
- RQ3CPU 및 GPU 메모리에 걸쳐 분포된 GPU 관리의 이질적 캐시는 대규모 GNN에서 디스크 I/O를 줄이고 데이터 접근 속도를 높이는 데 얼마나 효과적인가?
- RQ4계산 및 통신 단계를 통합한 깊이 있는 GNN 인식 파이프라인은 GPU 활용도와 훈련 처리량을 크게 향상시킬 수 있는가?
- RQ5CPU 관리 시스템과 GPU 관리 시스템 간의 테라바이트 규모의 그래프에서의 성능 격차는 무엇이며, 새로운 시스템이 이 격차를 메워 메모리 내 성능에 도달할 수 있는가?
주요 결과
- Helios는 CPU 병목 현상을 제거하고 GPU 활용도를 극대화함으로써, 테라바이트 규모의 그래프에서도 메모리 내 GNN 시스템과 유사한 훈련 처리량을 달성한다.
- Helios는 모든 테라바이트 규모의 그래프에서 최신 GPU 관리 기반 기준 시스템인 GIDS를 최대 6.43배 뛰어넘는 훈련 처리량을 기록한다.
- Helios는 Ginex와 MariusGNN와 같은 CPU 관리 기반 기준 시스템을 182배 이상 뛰어넘는 훈련 처리량을 기록하여 뚜렷한 성능 우위를 입증한다.
- GPU 주도의 비동기 I/O 스택은 GPU 코어의 약 30%만을 사용하여 근사 최대 디스크 I/O 처리량을 달성하며, 나머지 대부분의 코어는 GNN 커널에 사용할 수 있다.
- GPU 관리의 이질적 캐시는 자주 액세스되는 데이터를 CPU 및 GPU 메모리에 캐시하여 디스크 I/O를 크게 줄여주며, 외부 메모리 저장소의 성능 손실를 완화한다.
- Helios는 훈련 워크로드에서 90% 이상의 GPU 활용도를 기록하는 반면, Ginex와 같은 CPU 관리 시스템은 0.6%의 낮은 활용도를 보이며, I/O와 계산의 효과적인 겹침으로 인해 성능이 뛰어나다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.