FlashGNN은 대규모 그래프 데이터셋에서 그래프 신경망(GNN)을 효율적으로 훈련시킬 필요성에서 시작한다. 기존의 중앙 집중식 CPU/GPU 기반 시스템은 실제 데이터셋의 크기가 커짐에 따라 하드웨어 활용도가 낮고 분산 시스템에서의 느린 데이터 교환으로 인해 비효율적이다. SSD 기반 시스템은 큰 저장 용량을 제공하지만, PCIe 데이터 전송 속도가 느려 CPU 및 GPU 리소스의 활용이 저해되는 병목 현상을 겪는다. 이러한 문제를 해결하기 위해 FlashGNN은 SSD 내부에서 처리 능력을 활용하여 PCIe 병목 현상을 극복하고 데이터 재사용을 향상시키며, SSD 내 I/O 병렬 처리를 최대한 활용하여 GNN 훈련을 최적화하고자 한다.
Proposal
FlashGNN의 아키텍처는 다음과 같은 주요 기법을 제안한다.
노드 기반 훈련(Node-Wise Training): 이 프레임워크는 전통적인 레이어 기반 훈련의 동기화 오버헤드를 피하면서 필요한 데이터가 이용 가능해지면 즉시 노드 계산을 시작함으로써 메모리 사용량을 줄이고 느린 플래시 메모리에 대한 접근을 최소화한다.
청크 요청 스케줄링(Chunk Request Scheduling): 이 알고리즘은 SSD 플래시 메모리에 저장된 피처 벡터의 재사용을 최대화하여 불필요한 데이터 전송을 제거하고 성능을 향상시킨다.
데이터 기반 서브그래프 생성(Data-driven Subgraph Generation): 이 방법은 DRAM에 이미 사용 가능한 엣지 목록의 활용을 극대화하여 서브그래프 생성의 효율성을 높이고, 플래시 메모리에 대한 반복적인 접근을 줄인다.
Results
FlashGNN은 Ginex라는 최첨단 SSD 기반 GNN 훈련 시스템과 비교하여 최대 11.83배의 속도 향상과 상당한 에너지 절약을 달성하였으며, 이 설계는 느린 플래시 메모리 접근과 PCIe 버스 병목 현상의 한계를 효과적으로 해결하여 대규모 데이터셋에 대해 GNN 훈련을 효율적으로 수행할 수 있는 방안을 제시한다.
Motivation
FlashGNN은 대규모 그래프 데이터셋에서 그래프 신경망(GNN)을 효율적으로 훈련시킬 필요성에서 시작한다. 기존의 중앙 집중식 CPU/GPU 기반 시스템은 실제 데이터셋의 크기가 커짐에 따라 하드웨어 활용도가 낮고 분산 시스템에서의 느린 데이터 교환으로 인해 비효율적이다. SSD 기반 시스템은 큰 저장 용량을 제공하지만, PCIe 데이터 전송 속도가 느려 CPU 및 GPU 리소스의 활용이 저해되는 병목 현상을 겪는다. 이러한 문제를 해결하기 위해 FlashGNN은 SSD 내부에서 처리 능력을 활용하여 PCIe 병목 현상을 극복하고 데이터 재사용을 향상시키며, SSD 내 I/O 병렬 처리를 최대한 활용하여 GNN 훈련을 최적화하고자 한다.
Proposal
FlashGNN의 아키텍처는 다음과 같은 주요 기법을 제안한다.
Results
FlashGNN은 Ginex라는 최첨단 SSD 기반 GNN 훈련 시스템과 비교하여 최대 11.83배의 속도 향상과 상당한 에너지 절약을 달성하였으며, 이 설계는 느린 플래시 메모리 접근과 PCIe 버스 병목 현상의 한계를 효과적으로 해결하여 대규모 데이터셋에 대해 GNN 훈련을 효율적으로 수행할 수 있는 방안을 제시한다.