토스증권, GPU-aware 한계 넘어 GPU-native 클러스터 구축기
핵심 내용
토스증권이 GPU-aware의 한계를 극복하고 검증 및 자원 제어 기능을 갖춘 GPU-native 클러스터를 구축한 사례를 공개했다.
자세히 보기
토스증권 Data Infra 팀과 ML Platform 팀은 Kubernetes 기반 GPU-native 클러스터 구축 경험을 공유했다. 기존 GPU-aware 상태는 K8s가 GPU를 자원으로 인식하고 할당하는 수준에 그쳤으나, 실제 운영에서는 VRAM 제어 불가, 노드 상태와 GPU 상태 불일치, 정수 단위 할당으로 인한 배치 비효율 등 한계가 명확했다.
GPU Ready와 운영 안정성 확보
토스증권은 노드의 Ready 상태와 개별 GPU의 Ready 상태를 구분하여 관리한다. 기존 nvidia-validator는 드라이버 검증 시 nvidia-smi의 종료 코드만 참고하여 개별 GPU의 ERR! 상태나 Xid 오류를 정상으로 오판하는 문제가 있었다. 이를 해결하기 위해 별도 DaemonSet을 도입해 nvidia-smi 출력, PCI 디바이스 수 일치 여부, 치명적 Xid 발생 여부 등을 종합적으로 검증한다.
또한 DCGM Exporter를 활용해 GPU 내부 상태를 상시 관측한다. VRAM 사용량(FB_USED/FREE/TOTAL), 연산 유닛 활용도(SM_ACTIVE), 그리고 DRIVER, MEM, NVLINK 등 세부 항목의 건강 상태(HEALTH_STATUS)를 Prometheus 메트릭으로 수집한다. 특히 Xid 오류는 K8s 이벤트로 관측되지 않으므로, 이를 단순 로그가 아닌 격리 및 복구 결정의 운영 신호로 활용한다.
자원 단위화 및 배치 최적화
GPU 자원 할당의 유연성을 높이기 위해 MIG(Multi-Instance GPU) 기술을 적용했다. MIG Manager를 통해 ConfigMap 기반으로 MIG 구성을 자동화하여 수동 관리 부담을 줄였다. 또한 NVIDIA Device Plugin의 기본 분산 할당 방식이 MIG 조각을 여러 GPU에 흩어뜨려 Full GPU 확보를 어렵게 하는 문제를 해결하기 위해, 한 물리 GPU부터 채우는 Packed Allocation 방식을 제안하여 업스트림에 반영했다. 이는 v0.20.0부터 sharedDevicesAllocationPolicy 설정으로 제공된다.
신규 장비 투입 절차
Blackwell 시리즈 등 신규 장비나 복귀 노드를 클러스터에 투입하기 전 GPU 시범운행(preflight) 절차를 거친다. 표준 스펙 정합성 확인부터 하드웨어 burn-in 테스트, NVLink 대역폭 실측, CUDA 런타임 검증, 그리고 소형 LLM 서빙 워크로드 테스트까지 5단계 관문을 통과해야 한다. 모든 검증을 통과한 노드에만 preflight=passed 라벨을 부여하고 cordon을 해제하여 서비스 투입을 허용한다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.