문서 목차
ORKESTRIXAI 플랫폼
gpu_sharing
정보 — 요건 정적 GPU 공유를 지원하는 가속기에 대해, 활용률 향상을 위한 GPU 공유 전략을 최소 하나 제공한다. 하드웨어 파티셔닝(MIG 등)을 지원하면 분할 GPU가 스케줄 가능한 리소스로 노출 되어야 하고, 소프트웨어 공유(time slicing 등)를 지원하면 GPU oversubscription이 허용 되어
QUANTUM C&S
정보 — 요건
정적 GPU 공유를 지원하는 가속기에 대해, 활용률 향상을 위한 GPU 공유 전략을 최소 하나 제공한다. 하드웨어 파티셔닝(MIG 등)을 지원하면 분할 GPU가 스케줄 가능한 리소스로 노출되어야 하고, 소프트웨어 공유(time-slicing 등)를 지원하면 GPU oversubscription이 허용되어야 한다.
카테고리: 가속기 (Accelerators) · 수준: SHOULD · 상태: Implemented
적용 솔루션
QKS는 NVIDIA GPU Operator를 통해 두 가지 공유 전략을 동시에 운영합니다.
- 하드웨어 파티셔닝 (MIG): MIG 파티션(
nvidia.com/mig-*)이 노드의 스케줄 가능 리소스로 노출되며, 추론 워크로드가 파티션 단위로 스케줄됩니다. - 소프트웨어 공유 (time-slicing): device plugin의 time-slicing 설정으로 물리 GPU 1장을
nvidia.com/gpu: 5로 oversubscription 광고합니다.
증명 (명령어 + 출력)
캡처: 2026-07-02T01:39:35Z
1. 노드별 GPU 공유 전략 구성
$ kubectl get nodes -L nvidia.com/gpu.present -L nvidia.com/device-plugin.config
NAME STATUS ROLES AGE VERSION GPU.PRESENT DEVICE-PLUGIN.CONFIG
qcs01 Ready control-plane 427d v1.35.1
qcs02 Ready control-plane 424d v1.35.1
qcs03 Ready control-plane 427d v1.35.1
qcs04 Ready worker 427d v1.35.1
qcs05 Ready accelerator,worker 84d v1.35.1 true time-slicing-5
qcs06 Ready accelerator,worker 337d v1.35.1 true none
qcs07 Ready accelerator,worker 118d v1.35.1 true mig-mixed
2. 하드웨어 파티셔닝 — MIG 파티션이 스케줄 가능 리소스로 노출
$ kubectl get node qcs07 -o jsonpath="{.status.allocatable}"
{"cpu":"64","devices.kubevirt.io/kvm":"1k","devices.kubevirt.io/tun":"1k","devices.kubevirt.io/vhost-net":"1k","ephemeral-storage":"860321675478","hugepages-1Gi":"0","hugepages-2Mi":"0","memory":"527910868Ki","nvidia.com/gpu":"0","nvidia.com/mig-1g.24gb":"4","nvidia.com/mig-4g.96gb":"1","pods":"160"}
→ nvidia.com/mig-1g.24gb: 4, nvidia.com/mig-4g.96gb: 1이 개별 스케줄 가능 리소스로 노출됨.
3. 소프트웨어 공유 — time-slicing oversubscription
물리 GPU 1장이 5개 replica로 광고됩니다.
$ kubectl get cm device-plugin-configs -n gpu-operator -o jsonpath="{.data.time-slicing-5}"
version: v1
sharing:
timeSlicing:
resources:
- name: nvidia.com/gpu
replicas: 5
$ kubectl get node qcs05 -o jsonpath="{.status.allocatable.nvidia\.com/gpu}"
5
4. 실사용 — MIG 파티션 단위로 스케줄된 워크로드
$ kubectl describe node qcs07 | grep -A14 "Allocated resources"
Allocated resources:
(Total limits may be over 100 percent, i.e., overcommitted.)
Resource Requests Limits
-------- -------- ------
cpu 40020m (62%) 50200m (78%)
memory 93674139008 (17%) 206543136Ki (39%)
ephemeral-storage 2298Mi (0%) 8Gi (0%)
hugepages-1Gi 0 (0%) 0 (0%)
hugepages-2Mi 0 (0%) 0 (0%)
devices.kubevirt.io/kvm 0 0
devices.kubevirt.io/tun 0 0
devices.kubevirt.io/vhost-net 0 0
nvidia.com/gpu 0 0
nvidia.com/mig-1g.24gb 3 3
nvidia.com/mig-4g.96gb 1 1
→ MIG 파티션 4개(1g.24gb ×3 + 4g.96gb ×1)가 추론 서비스에 파티션 단위로 할당되어 실사용 중.
관련 링크
- NVIDIA GPU Operator device plugin 공유 설정:
gpu-operator네임스페이스device-plugin-configsConfigMap