Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

10. FlashGNN: An In-SSD Accelerator for GNN Training #13

Open
Student5421 opened this issue Aug 16, 2024 · 0 comments
Open

10. FlashGNN: An In-SSD Accelerator for GNN Training #13

Student5421 opened this issue Aug 16, 2024 · 0 comments

Comments

@Student5421
Copy link
Contributor

Student5421 commented Aug 16, 2024

Motivation

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 훈련을 효율적으로 수행할 수 있는 방안을 제시한다.

@Student5421 Student5421 changed the title FlashGNN: An In-SSD Accelerator for GNN Training 10. FlashGNN: An In-SSD Accelerator for GNN Training Aug 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant