As the size of graphs increases, Graph Neural Networks (GNNs) often face memory demands exceeding DRAM capacity. Given this trend, one solution is to utilize SSDs as extended memory while leveraging host DRAM as a cache via the OS page cache. However, the high miss rate and the slow I/O operations of SSDs can hamper performance in such scenarios. We propose the solution, which reduces SSD access frequency by caching frequently used node embeddings in a fine-grained manner on DRAM and exploits the high internal bandwidth of SSDs by offloading a portion of the computations onto SSDs. Our approach shows an average 7.76x performance improvement.
그래프 신경망에서 다루는 그래프 크기가 점점 커짐에 따라 디램의 용량을 넘어서는 일이 자주 일어나고 있다. 이런 트렌드를 고려해 보았을 때, 운영체제에서 지원하는 페이지 캐쉬를 활용하여 솔리드 스테이트 드라이브를 메모리의 확장으로 사용하고, 디램을 캐쉬처럼 사용하는 방법을 고려해볼 수 있다. 위의 시나 리오를 가정하면 높은 미스 비율과 솔리드 스테이트 드라이브의 느린 입출력 동작이 성능을 저해하게 된다. 본 논문에서는 자주 사용되는 노드의 임베딩을 작은 단위로 세부적으로 캐쉬에 넣어주어 미스 비율을 낮추 고, 연산의 일부를 솔리드 스테이트 드라이브에 할당하여 솔리드 스테이트 드라이브의 높은 내부 대역폭을 활용하여 입출력 동작을 가속한다. 결과적으로 그래프 신경망의 집합연산에서 평균 7.76x 배의 성능 향상을 얻는다.