피드로 돌아가기
Dev.toInfrastructure
원문 읽기
Cross-rank 쿼리로 290ms Straggler를 탐지하는 GPU Observability 설계
A Cluster Stall Looks Healthy on Every Host. The Cause Is in the Pattern Across Hosts.
AI 요약
Context
분산 학습 중 ncclAllReduce Barrier로 인한 Token throughput 4배 급감 발생. Per-host 모니터링으로는 CUDA Kernel 실행 상태만 확인 가능하여 특정 Rank의 진입 지연을 식별하지 못하는 한계 존재.
Technical Solution
- Host 경계를 넘는 Relational Query 수행을 위해 모든 노드의 OTLP 스트림을 단일 DuckDB로 Fan-in 하는 구조 설계
- eBPF uprobe를 통한 libcudart.so 및 libnccl.so 호출 추적 및 일관된 Timestamp 기반의 Event 수집
- Cluster-wide 분석을 위해 Cluster ID, Node ID, Rank 등 Resource Attribute를 보존하는 통합 스키마 적용
- AI Agent가 직접 SQL Join을 수행할 수 있도록 MCP(Model Context Protocol) 서버 인터페이스 제공
- WAL 손상 방지를 위한 flock(2) 적용 및 Bearer-token 기반의 OTLP Listener 보안 강화
Impact
- 2,000개 이벤트 유실 없는 수집 및 80개 Causal-chain 마커의 완전한 보존 검증
- 개별 호스트 트레이스에서 발견 불가능했던 290ms 진입 지연 및 14단계 주기 Memory-fragmentation 패턴 식별
Key Takeaway
분산 시스템의 병목 진단 시 단일 노드의 Health Check보다 노드 간 이벤트의 상관관계를 분석하는 Cross-host Join 관점의 데이터 모델링이 필수적임.
실천 포인트
- GPU 클러스터 성능 저하 시 nvidia-smi의 GPU Utilization 수치보다 Barrier 진입/종료 시점의 편차를 우선 분석할 것 - 분산 추적 시스템 설계 시 각 노드의 로그를 단순 집계하는 수준을 넘어, SQL Join이 가능한 구조적 저장소(Analytical DB)를 확보할 것 - eBPF 기반의 Low-overhead(<2%) 수집 체계를 통해 커널 레벨의 스케줄링 이벤트와 CUDA Call Stack을 연동하여 분석할 것