대규모 저장소 기반 멀티GPU 그래프 신경망 학습 최적화
초록
LSM‑GNN은 그래프 파티셔닝 없이 SSD에 저장된 대규모 그래프 데이터를 GPU 소프트웨어 캐시와 CPU 핀 메모리 기반 Victim Buffer를 활용해 효율적으로 공유함으로써, 제한된 저장소 대역폭 환경에서도 멀티GPU GNN 학습을 가속한다. 하이브리드 교체 정책과 사전 Victim‑Buffer Prefetcher(PVP)를 도입해 캐시 적중률을 높이고 스토리지 접근 압력을 크게 감소시킨다. 실험 결과, 2GPU 단일 노드 구성이 4GPU 2노드 Dist‑DGL 대비 최대 3.75배 빠른 epoch 시간을 기록한다.
상세 분석
LSM‑GNN은 기존의 그래프 파티셔닝 기반 멀티GPU 학습이 안고 있던 두 가지 근본적인 병목—파티셔닝 전처리 비용과 GPU 간 네트워크 통신 오버헤드—를 회피한다. 핵심 아이디어는 “GPU 소프트웨어 캐시를 시스템 전역 공유 캐시로 활용”하는 새로운 통신 레이어이다. 이 레이어는 각 GPU의 L2 캐시 위에 32‑way set‑associative 소프트웨어 캐시를 구축하고, CUDA Scoped Memory Consistency 모델의 .acquire/.release 메커니즘을 이용해 메타데이터 일관성을 저비용으로 유지한다.
캐시 관리 측면에서 LSM‑GNN은 정적 정보(노드의 정규화된 역 PageRank)와 동적 정보(다음 재사용 시점)를 결합한 하이브리드 교체 정책을 제안한다. 정적 정보는 그래프 구조 기반으로 사전에 계산되어 ‘핫’ 노드를 미리 식별하고, 동적 정보는 샘플링 단계에서 미리 실행된 여러 라운드의 노드 접근 로그를 통해 추정한다. 이 두 정보를 가중합해 교체 우선순위를 결정함으로써, 전통적인 LRU 혹은 LFU 기반 정책에 비해 캐시 적중률을 15‑20% 이상 향상시킨다.
스토리지 대역폭이 제한적인 상황에서 LSM‑GNN은 Victim Buffer(PVB)를 도입한다. 캐시에서 퇴출된 노드 피처는 즉시 CPU 핀 메모리의 PVB로 이동하고, Preemptive Victim‑buffer Prefetcher(PVP)가 GPU가 현재 PCIe 인그레스 대역폭을 충분히 활용하지 못하는 학습 단계에서 비동기적으로 데이터를 재프리페치한다. PVP는 퇴출 시점에 기록된 ‘다음 재사용 예상 시점’ 정보를 활용해, 재사용 가능성이 높은 라인만을 선별적으로 미리 로드한다. 이 설계는 GPU 메모리와 SSD 사이의 데이터 전송을 최소화하고, 스토리지 I/O 대기 시간을 크게 줄인다.
성능 평가에서는 두 가지 대규모 그래프(IGBH‑medium, Pinterest‑scale)와 GraphSAGE‑GAT 모델을 사용하였다. 2GPU‑1노드 환경에서 LSM‑GNN은 동일 하드웨어 구성의 Dist‑DGL(4GPU‑2노드) 대비 평균 2.9배, 최고 3.75배의 epoch 시간 단축을 달성했다. 캐시 히트율은 68%에서 84%로 상승했으며, SSD 읽기 대역폭은 1/4 수준으로 감소했다. 또한, 파티셔닝 전처리 시간이 거의 0에 가까워 전체 파이프라인의 시작 지연을 크게 줄였다.
한계점으로는 현재 구현이 NVIDIA GPU와 PCIe‑NVMe SSD에 최적화돼 있어, 다른 아키텍처(예: AMD GPU, 고대역폭 CXL 스토리지)에서는 동일한 이점을 보장하기 어렵다. 또한, 하이브리드 교체 정책의 파라미터(정적·동적 가중치) 튜닝이 그래프 특성에 따라 민감하게 변할 수 있어 자동화된 파라미터 최적화 기법이 필요하다.
전반적으로 LSM‑GNN은 저장소 기반 GNN 학습을 멀티GPU 환경에 확장하는 새로운 패러다임을 제시한다. 소프트웨어 캐시 공유, 하이브리드 교체, 사전 프리페치라는 세 가지 핵심 메커니즘이 결합돼, 스토리지 대역폭이 제한적인 상황에서도 높은 GPU 활용률과 학습 효율을 달성한다. 향후 연구에서는 다양한 스토리지 인터페이스와 메모리 계층을 지원하도록 확장하고, 자동 교체 정책 학습을 도입해 다양한 그래프 토폴로지에 대한 일반성을 높이는 것이 기대된다.
댓글 및 학술 토론
Loading comments...
의견 남기기