왜 지금 GB200 NVL72와 Slurm 스케줄링이 주목받나?

AI 모델이 점점 거대해지면서, 단순히 하드웨어 스펙만으로는 성능을 다 뽑아낼 수 없는 시대가 왔습니다. 특히 NVIDIA GB200 NVL72는 단일 랙에 72개의 Blackwell GPU와 130TB/s 대역폭의 NVLink를 탑재한, 사실상 하나의 슈퍼컴퓨터나 다름없는 시스템이죠.

하지만 아무리 좋은 하드웨어라도, 여러 사용자가 동시에 작업을 돌리는 공유 클러스터 환경에서는 작업을 어떻게 배치하느냐가 성능을 좌우합니다. 네트워크 토폴로지를 고려하지 않고 작업을 던져주면, NVLink로 빠르게 통신해야 할 GPU들이 서로 다른 스위치에 흩어져 통신 병목이 발생합니다.

이 문제를 해결하는 핵심이 바로 Slurm의 토폴로지 인식(Topology-Aware) 스케줄링입니다. 이 글에서는 GB200 NVL72 아키텍처의 특징을 이해하고, Slurm 블록 플러그인을 활용해 GPU 점유율과 작업 성능을 동시에 최적화하는 방법을 알아보겠습니다.

NVIDIA GB200 NVL72 rack scale exascale AI server cluster with NVLink interconnect Coding Session Visual

GB200 NVL72의 계층적 네트워크 구조 이해하기

GB200 NVL72는 하나의 랙 안에서도 NVLink 도메인이라는 계층 구조를 가집니다. 여러 대의 NVL72 랙이 모여 클러스터를 이루면 이 구조는 더욱 복잡해집니다.

세그먼트(Segment) 개념

Slurm에서 세그먼트란 NVLink로 완전히 연결된 노드들의 그룹을 의미합니다. 이전 HGX H100 시스템에서는 세그먼트 크기가 최대 1노드(4GPU)로 제한되었지만, GB200 NVL72는 **최대 18노드(72GPU)**까지 하나의 세그먼트로 묶을 수 있습니다.

# Slurm 블록 토폴로지 설정 예시 (slurm.conf)
# GB200 NVL72 4개 랙 클러스터 (총 288 GPU)
# 각 랙을 하나의 블록으로 정의

NodeName=gpu[01-18] NodeAddr=10.0.0.[1-18] Feature=nvl72_rack1
NodeName=gpu[19-36] NodeAddr=10.0.0.[19-36] Feature=nvl72_rack2
NodeName=gpu[37-54] NodeAddr=10.0.0.[37-54] Feature=nvl72_rack3
NodeName=gpu[55-72] NodeAddr=10.0.0.[55-72] Feature=nvl72_rack4

PartitionName=normal Nodes=gpu[01-72] Default=YES MaxTime=INFINITE
# 블록 플러그인 활성화
TopologyPlugin=topology/block
TopologyParam=BlockSched

세그먼트 크기 선택 전략

적절한 세그먼트 크기는 워크로드 특성에 따라 달라집니다. NVIDIA의 모델링 결과, 다음과 같은 가이드라인이 제시됩니다.

작업 GPU 수권장 세그먼트 크기 (노드)예시 워크로드
12816MoE 모델 학습 (혼합 전문가)
32 ~ 644대규모 밀집 모델 학습
32 미만1소규모 모델 학습, 추론

팁: 전체 클러스터 GPU 시간의 90% 이상을 차지하는 '대형 작업'은 세그먼트 크기 16으로 설정하고, 나머지 10%는 작은 세그먼트로 유연하게 배치하는 것이 좋습니다.

Slurm topology aware block scheduling diagram showing GPU segment allocation across NVL72 domains Dev Environment Setup

시뮬레이션으로 검증한 최적의 스케줄링 정책

NVIDIA는 실제 프로덕션 환경에 적용하기 전, Slurm 시뮬레이터를 통해 다양한 정책을 검증했습니다.

시뮬레이션 환경

  • 클러스터 규모: 5,000개 GB200 NVL72 노드 (20,000 GPU)
  • 워크로드: 7일 동안 15,000개 작업
  • 신뢰성: 평균 2.5% 노드 장애 반영

비교 정책

  • Large_Perf_Custom: 32노드 이상 작업은 세그먼트 16, 그 외는 세그먼트 2
  • NoTopo: 토폴로지 무시 (이론상 최대 점유율)

주요 결과

  1. 단편화(Fragmentation) 최소화: 블록 플러그인은 소형 작업을 각 NVLink 도메인의 마지막 2개 노드에 집중 배치하여, 대형 작업을 위한 대역폭을 보존했습니다.
  2. GPU 점유율(Occupancy) 차이 단 1%: Large_Perf_Custom 정책이 NoTopo 대비 점유율이 약 1% 낮았을 뿐, 거의 동등한 수준을 기록했습니다. 이는 토폴로지 인식 스케줄링이 성능 저하 없이 높은 활용률을 달성할 수 있음을 증명합니다.

Simulation graph comparing GPU occupancy between topology aware and non topology aware scheduling policies IT Technology Image

결론: GB200 NVL72 클러스터 운영을 위한 핵심 전략

GB200 NVL72의 잠재력을 최대로 끌어내려면 토폴로지 인식 스케줄링이 필수입니다. NVIDIA와 SchedMD가 협력해 만든 Slurm topology/block 플러그인은 단순 설정만으로 큰 효과를 볼 수 있습니다.

핵심 권장 사항

  1. 64GPU 이상의 대형 작업에는 최대 NVLink 도메인을 할당하고, 세그먼트 크기 16을 우선 고려하세요.
  2. 소형 작업은 세그먼트 크기 2~8 사이에서 워크로드 특성에 맞게 조정하세요.
  3. 정기적인 모니터링으로 단편화 지표를 추적하고, 워크로드 변화에 맞춰 세그먼트 크기를 재조정하세요.
  4. 시뮬레이터를 활용해 새로운 정책을 프로덕션에 적용하기 전에 반드시 검증하세요.

함께 보면 좋은 글

참고 자료: 이 글은 NVIDIA 기술 블로그 원문을 기반으로, 국내 클러스터 운영 환경에 맞게 재구성했습니다.

본 콘텐츠는 신뢰할 수 있는 출처를 바탕으로 AI 도구를 활용하여 초안이 작성되었으며, 편집자의 검토를 거쳐 발행되었습니다. 전문가의 조언을 대체하지 않습니다.