멀티테넌트 GPU 클러스터를 위한 이동 기반 혼잡 최소화 시스템, MonkeyTree
초록
MonkeyTree는 다중 사용자 GPU 클러스터에서 네트워크 혼잡을 완화하기 위해 작업 마이그레이션을 활용한다. 링 기반 집합 통신이 랙당 하나의 크로스‑랙 흐름만 생성한다는 특성을 이용해, ILP 기반 최소 이동 최적화를 수행하고, 2개의 크로스‑랙 파편 이하로 배치를 정돈한다. 시뮬레이션과 5노드 테스트베드 실험에서 평균 작업 완료 시간이 14 % 향상되고, 16:1 과다 할당 상황에서도 p99 지연이 이상적인 5 % 이내에 머문다.
상세 분석
본 논문은 기존의 라우팅·플로우 스케줄링 방식이 네트워크 용량을 초과하는 트래픽 상황에서 근본적인 한계를 갖는다는 점을 실험적으로 입증하고, 완전 이중 대역폭 토폴로지를 구축하는 비용 문제를 지적한다. 이러한 배경에서 저자들은 GPU 기반 딥러닝 훈련이 주로 링 기반 집합 연산을 사용한다는 사실에 주목한다. 링 집합은 작업이 차지하는 랙 수만큼 정확히 하나의 크로스‑랙 흐름을 생성하므로, 각 랙의 업링크 용량을 초과하지 않도록 배치만 조정하면 네트워크 충돌을 완전히 회피할 수 있다.
핵심 인사이트는 세 가지이다. 첫째, “혼잡‑프리 상태”가 존재한다는 점이다. DP(데이터 병렬) 흐름이 랙당 하나이므로, 랙별로 허용 가능한 파편 수(업링크 수) 이하로 작업을 집중시키면 경로 격리(path isolation)가 보장된다. 둘째, 이러한 상태가 풍부하게 존재한다는 점이다. 작업 내 GPU 순서와 랙 내부 배치는 트래픽에 영향을 주지 않으며, 각 랙의 제약이 독립적이기 때문에 현재 배치에서 몇 번의 이동만으로도 쉽게 도달할 수 있다. 셋째, 일단 도달하면 상태 유지가 자기 강화적이다. 새로운 작업이 들어와도 몇 개의 랙만 위배되며, 제한된 이동으로 다시 복구 가능하다.
알고리즘적으로는 중앙 컨트롤러가 현재 배치를 모니터링하고, 랙당 파편 수가 사전 정의된 임계값을 초과하면 ILP(정수선형계획) 문제를 풀어 최소 이동 수를 구한다. 저자는 단일 링 경우 모든 배치를 최대 2개의 파편으로 정리할 수 있음을 증명하고, 이를 기반으로 하이브리드 병렬(다중 링) 상황에도 확장한다. ILP의 복잡도는 이동 수에 비례하므로, 대부분의 경우 2번 이하의 이동으로 해결되며, 1 024 GPU 클러스터에서는 평균 0.89 초 내에 해결된다.
마이그레이션 구현은 기존 PyTorch 분산 체크포인트 라이브러리를 활용해 RDMA 기반 인‑메모리 체크포인트‑복구를 수행한다. 실험 결과, 워커당 9.02 초의 오버헤드만으로 중단 없이 이동이 가능함을 보여준다. 시뮬레이션에서는 4:1 과다 할당에서 평균 JCT가 14 % 개선되고, 16:1 과다 할당에서도 p99 JCT가 이상적인 5 % 이내에 머무른다. 실제 5노드 A100 테스트베드에서도 동일한 마이그레이션 비용을 확인했다.
이러한 설계는 기존 네트워크 중심 최적화와 달리 근본적인 원인인 “작업 파편화”를 직접 해결한다는 점에서 혁신적이며, GPU 클러스터 특유의 트래픽 구조를 정확히 활용한 사례라 할 수 있다.
댓글 및 학술 토론
Loading comments...
의견 남기기