피드로 돌아가기
Dev.toInfrastructure
원문 읽기
eBPF 기반 per-rank 관측성 확보를 통한 GPU 추론 병목 분석
What Inference-Platform Benchmark Posts Leave Out
AI 요약
Context
기존 DCGM 중심의 호스트 레벨 모니터링은 GPU 통합 지표만 제공하여 개별 Rank 간의 성능 편차를 식별하지 못하는 한계 존재. 특히 Multi-GPU 환경에서 Tensor Parallelism 적용 시, 가장 느린 Rank가 전체 처리량을 결정하는 Straggler 문제가 발생함에도 이를 정밀하게 추적할 수 있는 가시성 부족.
Technical Solution
- libnccl 내 collective entry/exit 심볼에 eBPF uprobes를 배치하여 Rank별 타임스탬프 정밀 기록
- cgroup-aware 이벤트를 통해 커널 모드 이벤트를 특정 Tenant PID와 연결하는 attribution 구조 설계
- NCCL_PROFILER 훅의 프로세스 재시작 제약을 극복하기 위해 워크로드 수정 없는 동적 커널 추적 방식 채택
- AllReduce, Broadcast, AllGather 등 Collective 통신 단계별 지연 시간을 측정하는 per-rank latency histogram 구축
- OTLP 데이터 포맷 기반의 Echo 스키마를 통해 cluster_id, node_id, rank 등 다차원 필터링 최적화
실천 포인트
1. Multi-GPU 추론 시 p90 TTFT 외에 p99 Tail Latency의 분포와 원인을 분석하고 있는가?
2. Tensor Parallelism 환경에서 특정 GPU의 Thermal Throttling이나 NUMA 배치 이슈로 인한 Rank Skew 가능성을 검토했는가?
3. Multi-tenant 환경에서 특정 사용자의 요청 지연이 Host CPU나 Network Saturation 때문인지 cgroup 레벨에서 확인 가능한가?
4. 라이브러리 재컴파일 없이 eBPF uprobes를 통해 NCCL 통신 오버헤드를 측정할 수 있는 체계가 마련되었는가?