피드로 돌아가기
Dev.toInfrastructure
원문 읽기
eBPF 기반 Fan-out 쿼리로 Distributed Training Stall 원인 1초 내 식별
One Query, Four GPUs: Tracing a Distributed Training Stall Across Nodes
AI 요약
Context
Distributed GPU Training 환경에서 특정 노드의 성능 저하가 전체 작업의 병목을 유발하는 Straggler 문제가 발생. 기존 nvidia-smi나 dstat으로는 파악 불가능한 커널 레벨의 지연 시간을 확인하기 위해 각 노드별 로그를 수동으로 대조하는 비효율적 디버깅 구조의 한계 직면.
Technical Solution
- Centralized Service 배제 및 각 노드에 상주하는 Single-binary Agent 기반의 분산 아키텍처 설계
- Node Identity 도입을 통한 Event ID의 Namespace화로 다수 노드 데이터 병합 시 Collision 방지
- Fleet Fan-out Query 구조를 통한 동일 SQL 쿼리의 병렬 전송 및 결과 집계로 분석 시간 단축
- TLS 1.3 및 mTLS 적용을 통한 노드 간 통신 보안성 확보 및 VPC 환경 최적화
- Air-gapped 환경 대응을 위해 SQLite DB 기반의 Offline Merge 및 Perfetto Trace Export 기능 구현
- eBPF 기반 Host-level Instrumentation을 통한 GPU 벤더 독립적인 커널 이벤트 추적
실천 포인트
- Distributed Training 성능 저하 시 개별 노드 GPU 점유율 외에 커널 수준의 sched_switch 및 Block I/O 간섭 여부 확인 - 다수 노드 데이터 분석 시 Event ID에 Node Name을 포함하는 Namespace 설계 적용 - 보안 제약이 심한 환경을 고려하여 Live Query와 Offline Merge 경로를 동시에 제공하는 진단 도구 설계