Constraint-aware GPU 할당: 증설 전에 배치 순서를 바꿔야 하는 이유
GPU가 비어 있어도 작업은 대기할 수 있다. 필요한 GPU 수를 한꺼번에 확보하지 못하거나 메모리가 부족할 수 있고, 실행할 수 없는 대형 작업이 대기열 앞을 막을 수도 있기 때문이다. 이런 상황에서는 하드웨어 증설에 앞서 작업의 제약과 우선순위를 배치 순서에 반영해야 한다.
Constraint-aware GPU 할당이 바꾸는 것
Constraint-aware GPU 할당은 도착 순서만 따르지 않는다. 작업별 GPU 수, 메모리 요구량, 우선순위, 실행 특성과 현재 가용 자원을 함께 고려해 다음 실행 대상을 정한다.
반면 FIFO는 먼저 들어온 작업부터 처리한다. 대기열 앞의 작업을 배치할 수 없으면 뒤에 있는 실행 가능한 작업도 기다릴 수 있어, 가용 자원이 남아 있는데도 전체 처리가 지연될 수 있다.
GPU 내부의 경합까지 고려하면 문제는 더 복잡해진다. CUDA 커널은 CPU 호스트가 GPU로 넘기는 병렬 작업이다. 서로 독립적인 CUDA 스트림에서 실행되는 커널도 연산 자원과 메모리를 두고 경쟁할 수 있다.1 따라서 여러 작업을 같은 GPU에 배치하는 것만으로 효율적인 병렬 실행이 보장되지는 않는다.
사용률보다 중요한 것은 ‘어떤 작업을 끝냈는가’
동일한 하드웨어와 워크로드를 사용한 7개 벤치마크 시나리오에서 Constraint-aware GPU 할당기와 FIFO를 비교했다. 훈련 중심의 8-GPU 시나리오에서는 사용률이 FIFO의 53.6%에서 87.0%로 상승했다. 하드웨어를 추가하지 않고 배치 판단을 바꿔 33.4%포인트를 높인 결과다.2
효과는 사용률에만 나타나지 않았다. 자원 경합이 발생한 5개 시나리오에서 우선순위 가중 출력은 FIFO보다 24.6~105.1% 높았다.2 이는 처리량뿐 아니라 중요한 작업을 얼마나 우선적으로 완료했는지도 함께 평가해야 한다는 점을 보여준다.
규모가 커지면 차이는 다른 형태로 나타날 수 있다. 64개 GPU에서 30개 작업을 수행한 테스트에서는 두 방식 모두 사용률 44.9%와 완료 작업 27개를 기록했다. 그러나 Constraint-aware GPU 방식의 우선순위 가중 출력은 FIFO보다 15.9% 높았다.2 같은 수의 작업을 완료하고 같은 사용률을 기록하더라도, 업무 가치가 높은 작업을 먼저 처리할 수 있다는 의미다.
스케줄링과 자원 분할은 따로 설계해야 한다
배치 순서만으로 모든 경합을 해결할 수는 없다. GPU의 스트리밍 멀티프로세서(SM)는 CUDA 코어로 구성된 연산 클러스터이며, 여러 커널은 같은 SM에 동시에 상주하거나 서로 다른 SM 그룹에 공간적으로 나뉘어 실행될 수 있다.1
표준 CUDA 실행 모델은 연산 자원의 공간 분할이나 서로 다른 프로세스의 커널 동시 실행을 직접 지원하지 않는다. CUDA MPS는 여러 프로세스의 동시 실행과 애플리케이션별 연산 자원 비율 예약을 지원하지만, 메모리 대역폭과 캐시는 클라이언트 사이에서 공유된다. 반면 MIG는 연산 자원과 메모리 자원을 함께 파티셔닝한다.1
따라서 다음 두 문제를 구분해야 한다.
스케줄링: 어떤 작업을 언제, 어느 GPU에 배치할 것인가
자원 분할: 한 GPU의 연산 및 메모리 자원을 작업 간에 어떻게 나눌 것인가
Constraint-aware GPU 할당은 첫 번째 문제를 개선한다. CUDA MPS나 MIG 같은 방식은 두 번째 문제를 다루며, 필요한 격리 수준과 경합 특성에 따라 별도로 선택해야 한다.
적용 전에 함께 측정할 지표
실제 환경에서는 GPU 사용률 하나로 정책을 평가하지 않는 것이 중요하다. 최소한 다음 지표를 함께 확인해야 한다.
작업별 대기 시간
완료 작업 수
GPU 사용률
우선순위별 처리량 또는 가중 출력
필요한 GPU를 동시에 확보하지 못해 발생하는 대기
특히 다중 GPU 훈련은 여러 GPU를 동시에 확보해야 하므로 자원 단편화와 장기 대기가 발생하기 쉽다.3 이 경우 FIFO와 Constraint-aware GPU 정책을 동일한 워크로드에서 비교해야 배치 순서 변경의 실질적인 효과를 판단할 수 있다.
요약: Constraint-aware GPU의 핵심은 GPU를 더 구매하는 데 있지 않다. 작업의 자원 제약과 우선순위를 반영해 배치 순서를 정하고, 사용률뿐 아니라 중요한 작업의 완료 성과까지 함께 높이는 데 있다.
1Contention-Aware GPU Partitioning and Task-to-Partition Allocation for Real-Time Workloads
2Same Cluster, 33 Points More Utilization: What Changed Was the Order
3Reducing Fragmentation and Starvation in GPU Clusters through Dynamic Multi-Objective Scheduling
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.
