하나의 쿼리, 네 개의 GPU: 노드 간 분산 학습 정체 추적
Source: DZone DevOps
TL;DR
단일 지연 노드 하나가 4노드 분산 학습 작업을 지연시켰습니다. 우리는 네 개의 노드 모두에 동일한 SQL 쿼리를 퍼뜨려 1초 이내에 답을 받아 이를 찾아냈습니다. 이것은 eBPF를 이용한 분산 GPU 학습 디버깅이며, 중앙 서비스, Prometheus, 시계열 데이터베이스 없이 각 머신에 이미 실행 중인 단일 바이너리 에이전트만 사용합니다.
The Problem We Kept Hitting
우리는 Ingero—CUDA API 호출과 호스트 커널 이벤트를 추적해 GPU 지연 시간을 설명하는 eBPF 에이전트를 구축하고 있었습니다. v0.9 이전까지는 단일 노드 전용이었습니다. 한 대의 머신을 추적하고 그 머신에서 무슨 일이 일어났는지 설명했습니다. 단일 GPU 추론이나 학습에서는 이것으로 충분했습니다.