KoreaDevKNOWLEDGE SHARING

콘텐츠 유형학습하기

AI INFRASTRUCTURE · 08 / 12

GPU 플랫폼

Kubernetes가 GPU를 발견·할당하는 구조와 GPU sharing·MIG·distributed workload의 검증 경계를 배웁니다.

난이도
중급
구성
핵심 단원 3개 · 판단 활동 · 3단계 평가

NEW HIRE ONBOARDING

첫 업무를 받는 순서로 시작합니다

중학교를 졸업하고 처음 IT 업무를 맡은 신입사원도 따라올 수 있도록, 어려운 정의보다 상황·할 일·증거·보고할 경계를 먼저 확인합니다.

  1. 01

    상황을 한 문장으로 읽기

    driver에서 kubelet resource, scheduler placement, MIG/time-slicing, multi-node collective까지 각 책임과 failure boundary를 분리합니다.

  2. 02

    오늘 맡은 일

    분산 GPU workload의 중단 조건과 복구 증거를 작업 기록으로 작성할 수 있다.

  3. 03

    완료를 보여 주는 증거

    공식 문서와 교육용 출력 판독 검토. 실장비 명령·성능 시험은 미확인입니다.

  4. 04

    멈추고 선임에게 확인할 경계

    Pod가 Pending이고 node에는 GPU가 보입니다. 첫 확인은?

낯선 용어 먼저 풀기

Device plugin(장치 자원 제공기)
node의 장치를 kubelet에 알리고 container에 장치 접근 정보를 제공하는 확장 구성요소입니다.

이 과정의 운영 질문

GPU capacity를 숫자가 아니라 격리·topology·workload evidence로 어떻게 할당할까?

driver에서 kubelet resource, scheduler placement, MIG/time-slicing, multi-node collective까지 각 책임과 failure boundary를 분리합니다.

CORE UNIT 1 / 3

GPU 발견과 scheduling

driver·device plugin·resource request의 책임을 구분합니다.

난이도
중급
구성
강의 5개 · 실습 2개 · 평가

도해·표 자료: 각 강의의 공식 1차 출처를 바탕으로 저자 구성. 원문과 검토일은 해당 강의 끝에서 확인합니다.

PREREQUISITE CHECK

본문을 읽기 전에 확인할 세 가지

정답을 외우는 시험이 아닙니다. 질문을 먼저 생각한 뒤 해설을 열어 이번 과목에서 사용할 바탕 개념을 확인하십시오.

1이 단원에서 실제 장비에 명령을 전송합니까?

아닙니다. 교육용 출력을 브라우저에서 읽고 판단합니다. 별도 재현은 승인된 격리 환경에서만 수행합니다.

2실습 전에 확인할 권한과 환경은 무엇입니까?

lab cluster-admin·GPU reconfiguration maintenance. cluster network·NCCL test fabric.

3처음 보는 값과 아직 실행하지 않은 시험은 어떻게 적습니까?

미확인으로 기록합니다. 교육용 예상 출력과 실제 측정값을 구분하고, 승인 없는 작업으로 빈칸을 채우지 않습니다.

TEXTBOOK GUIDE

개념의 배경부터 판단 기준까지 읽는 본문

IT를 처음 접하는 독자도 용어를 암기하지 않고 원인과 결과를 연결할 수 있도록 한 절씩 이어서 설명합니다.

  1. GPU 발견과 scheduling의 구성요소와 실패 경계를 구성도로 설명할 수 있다.
  2. GPU 발견과 scheduling의 상태를 명령 출력과 관측값으로 판정할 수 있다.
  3. GPU 발견과 scheduling의 중단 조건과 복구 증거를 작업 기록으로 작성할 수 있다.
GPU 발견과 scheduling 실습 환경과 안전 경계
하드웨어2-node GPU cluster fixture·MIG-capable inventory
소프트웨어Kubernetes 1.31 fixture·NVIDIA device plugin·DCGM exporter
필요 권한lab cluster-admin·GPU reconfiguration maintenance
네트워크cluster network·NCCL test fabric

공식 문서와 교육용 출력 판독 검토. 실장비 명령·성능 시험은 미확인입니다.

적용 버전: Kubernetes Device Plugin API stable v1beta1 · NVIDIA MIG Guide current documentation · 원고 검토일: 2026-09-01

CONCEPT FLOW

각 장은 이렇게 연결됩니다

각 장은 따로 외우는 단답이 아닙니다. 왼쪽에서 오른쪽으로 따라가며 앞 장의 개념이 다음 판단에 어떻게 쓰이는지 먼저 살펴보세요.

  1. 1장host driver에서 확인을 시작합니다
  2. 2장device plugin의 실습 대상을 고정합니다
  3. 3장scheduler의 출력과 의미를 구분합니다
  4. 4장runtime의 진행과 중단을 결정합니다
  5. 5장GPU 발견과 scheduling의 복구를 재검증합니다
GPU 발견과 scheduling의 전체 지도입니다. 아래 장문 해설과 각 장을 읽다가 길을 잃으면 이 순서로 돌아오세요.

CONTROLLED EXPLANATION

확인할 증거를 한 단계씩 따라갑니다

현재 설명 · 1/5 · host driver에서 확인을 시작합니다

다음 연결: device plugin의 실습 대상을 고정합니다

  1. host driver에서 확인을 시작합니다

    원인을 추측해서 설정부터 바꾸지 않습니다. 다음 증거를 같은 시각대의 기록으로 묶으면 어느 경계에서 기대 상태가 깨졌는지 다른 운영자도 재현할 수 있습니다.

  2. device plugin의 실습 대상을 고정합니다

    실습 상황:: resource name 오타로 Pending인 Pod와 plugin crash fixture를 서로 다른 failure domain으로 판정합니다. 수행 지시:: 브라우저에서는 아래의 교육용 출력을 읽고 판정문을 작성합니다. 명령을 실제 장비로 보내지 않습니다. 명령을 별도로 재현하려면 해당 도구와 예제 파일을 갖춘 승인된 격리 환경을 준비해야 합니다. 출력 전체를 저장하고, capacity·request·runtime 불일치 조건이 보이면 다음 변경으로 넘어가지 마십시오.

  3. scheduler의 출력과 의미를 구분합니다

    값 자체를 외우는 것이 아니라 resource가 광고되었고 현재 request·allocation 때문에 배치가 막혔는지를 확인해야 합니다. 표시한 값은 교육용 재현 예시이며 실제 장비에서 측정한 결과가 아닙니다. 장비·driver·cluster마다 식별자와 수치는 달라질 수 있습니다.

  4. runtime의 진행과 중단을 결정합니다

    host→plugin→node resource→Pod request→visible UUID의 다섯 경계를 실제 identity로 연결하면 성공입니다. 결과에는 실행 시각, 대상 identity, 사용한 명령, 핵심 출력, 판정과 다음 행동을 함께 남깁니다.

  5. GPU 발견과 scheduling의 복구를 재검증합니다

    plugin 실패면 DaemonSet revision과 log를 보존하고 node를 신규 GPU 배치에서 제외합니다. 지원 조합으로 복구한 뒤 allocatable과 test Pod UUID를 재확인합니다. 복구 뒤에는 같은 명령과 같은 성공 기준으로 다시 측정합니다. 정상처럼 보인다는 표현만으로 incident를 닫지 않습니다.

개념 해설 01

GPU 발견에서 Pod device 주입까지 책임을 나눕니다

Device plugin(장치 자원 제공기): node의 장치를 kubelet에 알리고 container에 장치 접근 정보를 제공하는 확장 구성요소입니다.

host driver가 GPU를 발견하는 단계, device plugin이 kubelet에 resource를 광고하는 단계, scheduler가 Pod request를 맞추는 단계, runtime이 device node를 주입하는 단계는 분리되어 있습니다.

vendor extended resource는 capacity와 allocatable에 정수로 나타나고 일반적으로 overcommit되지 않습니다. label·taint·affinity는 placement를 좁히지만 실제 GPU health와 topology를 자동 검증하지 않습니다.

Pending Pod를 보고 GPU가 없다고 단정하지 않습니다. nvidia-smi, plugin DaemonSet, node allocatable, Pod request, event, runtime allocation을 순서대로 확인합니다.

교육 사례에서 nvidia-smi는 GPU 8개를 보이지만 node allocatable에는 GPU가 없습니다. host driver 인식과 Kubernetes 자원 광고는 별도 경계입니다. device plugin 상태와 kubelet 등록을 확인한 뒤 resource request와 실제 Pod 배치를 대조합니다. request를 적지 않은 Pod가 우연히 GPU에 접근한 사실을 scheduling 보장으로 해석하지 않습니다.

host driver부터 runtime device 주입까지 다섯 경계를 담당하는 것·확인 명령과 값·다음 경계로 넘기는 값·끊겼을 때 증상으로 나눈 그림
그림 읽는 법 배지 1부터 5까지가 GPU가 Pod에 닿기까지의 다섯 경계이며 그대로 확인 순서입니다. 각 칸은 그 경계가 담당하는 것, 읽을 명령과 값, 다음 경계로 넘기는 값, 끊겼을 때의 증상을 차례로 적었습니다. 한 칸의 넘기는 값이 다음 칸의 입력이므로 값이 끊긴 자리가 곧 고칠 경계입니다. 아래 왼쪽 상자는 nvidia-smi가 GPU 8개를 보이는데 node allocatable에는 광고가 없는 교육 사례이고, 오른쪽 상자는 같은 Pending이라도 resource name 오타와 plugin crash가 서로 다른 failure domain임을 보여 줍니다. 호박색 상자는 hostPath로 scheduler를 우회하지 말라는 금지이고, 초록 상자는 다섯 경계를 실제 identity로 연결하면 성공이라는 정리입니다. Pending을 보고 GPU가 없다고 단정하지 않는 것이 이 그림의 판단 기준입니다. 물리 배선이나 시간 비율을 그린 그림은 아니며 확인 순서와 책임 경계만 표현합니다. 자료: Kubernetes Device Plugins · NVIDIA DCGM User Guide를 바탕으로 저자 구성.
왜 이런가
vendor extended resource는 capacity와 allocatable에 정수로 나타나고 일반적으로 overcommit되지 않습니다. label·taint·affinity는 placement를 좁히지만 실제 GPU health와 topology를 자동 검증하지 않습니다.
언제 문제가 되는가
capacity·request·runtime 불일치 조건이면 진행 근거가 부족합니다.
초보자가 자주 하는 오해
GPU device file을 hostPath로 직접 주입해 scheduler를 우회하지 않습니다. 자원 회계와 격리, health 처리가 깨집니다.
직접 확인하는 방법
host의 GPU UUID와 health를 먼저 확인합니다. device plugin Pod와 kubelet registration log를 확인합니다.
이 절을 정리하면host→plugin→node resource→Pod request→visible UUID의 다섯 경계를 실제 identity로 연결하면 성공입니다.

CHAPTER 1 / 5

host driver에서 확인을 시작합니다

원인을 추측해서 설정부터 바꾸지 않습니다. 다음 증거를 같은 시각대의 기록으로 묶으면 어느 경계에서 기대 상태가 깨졌는지 다른 운영자도 재현할 수 있습니다.

1. host의 GPU UUID와 health를 먼저 확인합니다. 2. device plugin Pod와 kubelet registration log를 확인합니다. 3. node capacity/allocatable과 이미 할당된 request를 계산합니다. 4. Pending event와 실행 Pod의 visible device UUID를 연결합니다.

CHAPTER 2 / 5

device plugin의 실습 대상을 고정합니다

격리 환경 재현용 명령 · 브라우저에서는 실행하지 않습니다
kubectl get node gpu-node-01 -o jsonpath='{.status.capacity.nvidia\.com/gpu}{" "}{.status.allocatable.nvidia\.com/gpu}{"\n"}'
kubectl get pod -A -l app.kubernetes.io/name=nvidia-device-plugin-ds -o wide
kubectl describe pod -n inference gpu-job

CHAPTER 3 / 5

scheduler의 출력과 의미를 구분합니다

교육용 예상 출력 · 실제 측정값 아님
8 8
nvidia-device-plugin-... 1/1 Running gpu-node-01
Warning FailedScheduling ... Insufficient nvidia.com/gpu

CHAPTER 4 / 5

runtime의 진행과 중단을 결정합니다

CHAPTER 5 / 5

GPU 발견과 scheduling의 복구를 재검증합니다

CONCRETE CASES

resource name 오타로 Pending인 Pod와 plugin crash fixture를 서로 다른 failure domain으로 판정합니다.

Pending Pod를 보고 GPU가 없다고 단정하지 않습니다. nvidia-smi, plugin DaemonSet, node allocatable, Pod request, event, runtime allocation을 순서대로 확인합니다.

잘못된 대응과 확인할 경계

GPU device file을 hostPath로 직접 주입해 scheduler를 우회하지 않습니다. 자원 회계와 격리, health 처리가 깨집니다.

plugin 실패면 DaemonSet revision과 log를 보존하고 node를 신규 GPU 배치에서 제외합니다. 지원 조합으로 복구한 뒤 allocatable과 test Pod UUID를 재확인합니다. 복구 뒤에는 같은 명령과 같은 성공 기준으로 다시 측정합니다. 정상처럼 보인다는 표현만으로 incident를 닫지 않습니다.

INTERACTIVE LAB 1 / 2

실습 1 · 출력에서 판정 근거 찾기

브라우저 안에서 값을 입력하고 실행 결과와 실패·복구 경로를 확인합니다. 실제 장비나 NAS에는 어떤 명령도 보내지 않습니다.

실습 상황:: resource name 오타로 Pending인 Pod와 plugin crash fixture를 서로 다른 failure domain으로 판정합니다. 수행 지시:: 브라우저에서는 아래의 교육용 출력을 읽고 판정문을 작성합니다. 명령을 실제 장비로 보내지 않습니다. 명령을 별도로 재현하려면 해당 도구와 예제 파일을 갖춘 승인된 격리 환경을 준비해야 합니다. 출력 전체를 저장하고, capacity·request·runtime 불일치 조건이 보이면 다음 변경으로 넘어가지 마십시오.

8 8
nvidia-device-plugin-... 1/1 Running gpu-node-01
Warning FailedScheduling ... Insufficient nvidia.com/gpu

값 자체를 외우는 것이 아니라 resource가 광고되었고 현재 request·allocation 때문에 배치가 막혔는지를 확인해야 합니다. 표시한 값은 교육용 재현 예시이며 실제 장비에서 측정한 결과가 아닙니다. 장비·driver·cluster마다 식별자와 수치는 달라질 수 있습니다.

INTERACTIVE LAB 2 / 2

실습 2 · 중단과 복구 계획 세우기

브라우저 안에서 값을 입력하고 실행 결과와 실패·복구 경로를 확인합니다. 실제 장비나 NAS에는 어떤 명령도 보내지 않습니다.

GPU device file을 hostPath로 직접 주입해 scheduler를 우회하지 않습니다. 자원 회계와 격리, health 처리가 깨집니다.

KEY TERMS

이번 단원 핵심 용어

Device plugin(장치 자원 제공기)
node의 장치를 kubelet에 알리고 container에 장치 접근 정보를 제공하는 확장 구성요소입니다.

UNIT WORKBOOK

개념을 새로운 상황에 적용하는 문제와 기록지

기본 원리 확인에서 시작해 실제 업무 판단으로 확장합니다. 답을 제출하면 정답만이 아니라 모든 선택지가 맞거나 틀린 이유를 확인할 수 있습니다.

GPU 발견과 scheduling의 중단 조건과 복구 증거를 작업 기록으로 작성할 수 있다.

PERSONAL WORKSHEET

내 환경에 옮겨 적는 학습 기록지

입력 내용은 현재 브라우저 화면에만 머물며 저장하거나 외부로 전송하지 않습니다. 민감한 실제 정보 대신 범주와 가명을 사용하십시오.

OFFICIAL SOURCES

공식 자료에서 다시 확인하기

공식 문서와 교육용 출력 판독 검토. 실장비 명령·성능 시험은 미확인입니다.

CORE UNIT 2 / 3

GPU 격리와 sharing

exclusive GPU·time slicing·MIG의 trade-off를 판정합니다.

난이도
중급
구성
강의 5개 · 실습 2개 · 평가

도해·표 자료: 각 강의의 공식 1차 출처를 바탕으로 저자 구성. 원문과 검토일은 해당 강의 끝에서 확인합니다.

PREREQUISITE CHECK

본문을 읽기 전에 확인할 세 가지

정답을 외우는 시험이 아닙니다. 질문을 먼저 생각한 뒤 해설을 열어 이번 과목에서 사용할 바탕 개념을 확인하십시오.

1이 단원에서 실제 장비에 명령을 전송합니까?

아닙니다. 교육용 출력을 브라우저에서 읽고 판단합니다. 별도 재현은 승인된 격리 환경에서만 수행합니다.

2실습 전에 확인할 권한과 환경은 무엇입니까?

lab cluster-admin·GPU reconfiguration maintenance. cluster network·NCCL test fabric.

3앞 단원 「GPU 발견과 scheduling」에서 어떤 증거를 남겼습니까?

host→plugin→node resource→Pod request→visible UUID의 다섯 경계를 실제 identity로 연결하면 성공입니다.

TEXTBOOK GUIDE

개념의 배경부터 판단 기준까지 읽는 본문

IT를 처음 접하는 독자도 용어를 암기하지 않고 원인과 결과를 연결할 수 있도록 한 절씩 이어서 설명합니다.

  1. GPU 격리와 sharing의 구성요소와 실패 경계를 구성도로 설명할 수 있다.
  2. GPU 격리와 sharing의 상태를 명령 출력과 관측값으로 판정할 수 있다.
  3. GPU 격리와 sharing의 중단 조건과 복구 증거를 작업 기록으로 작성할 수 있다.
GPU 격리와 sharing 실습 환경과 안전 경계
하드웨어2-node GPU cluster fixture·MIG-capable inventory
소프트웨어Kubernetes 1.31 fixture·NVIDIA device plugin·DCGM exporter
필요 권한lab cluster-admin·GPU reconfiguration maintenance
네트워크cluster network·NCCL test fabric

공식 문서와 교육용 출력 판독 검토. 실장비 명령·성능 시험은 미확인입니다.

적용 버전: Kubernetes Device Plugin API stable v1beta1 · NVIDIA MIG Guide current documentation · 원고 검토일: 2026-09-01

CONCEPT FLOW

각 장은 이렇게 연결됩니다

각 장은 따로 외우는 단답이 아닙니다. 왼쪽에서 오른쪽으로 따라가며 앞 장의 개념이 다음 판단에 어떻게 쓰이는지 먼저 살펴보세요.

  1. 1장workload 요구에서 확인을 시작합니다
  2. 2장격리 선택의 실습 대상을 고정합니다
  3. 3장공유 선택의 출력과 의미를 구분합니다
  4. 4장운영 검증의 진행과 중단을 결정합니다
  5. 5장GPU 격리와 sharing의 복구를 재검증합니다
GPU 격리와 sharing의 전체 지도입니다. 아래 장문 해설과 각 장을 읽다가 길을 잃으면 이 순서로 돌아오세요.

CONTROLLED EXPLANATION

확인할 증거를 한 단계씩 따라갑니다

현재 설명 · 1/5 · workload 요구에서 확인을 시작합니다

다음 연결: 격리 선택의 실습 대상을 고정합니다

  1. workload 요구에서 확인을 시작합니다

    원인을 추측해서 설정부터 바꾸지 않습니다. 다음 증거를 같은 시각대의 기록으로 묶으면 어느 경계에서 기대 상태가 깨졌는지 다른 운영자도 재현할 수 있습니다.

  2. 격리 선택의 실습 대상을 고정합니다

    실습 상황:: latency-sensitive inference와 batch embedding workload를 세 가지 모드에 배치하고 선택표를 작성합니다. 수행 지시:: 브라우저에서는 아래의 교육용 출력을 읽고 판정문을 작성합니다. 명령을 실제 장비로 보내지 않습니다. 명령을 별도로 재현하려면 해당 도구와 예제 파일을 갖춘 승인된 격리 환경을 준비해야 합니다. 출력 전체를 저장하고, profile 부족·tenant 경계·SLO 미검증 조건이 보이면 다음 변경으로 넘어가지 마십시오.

  3. 공유 선택의 출력과 의미를 구분합니다

    값 자체를 외우는 것이 아니라 실제 MIG profile과 cluster 광고·quota가 선택한 sharing 정책을 반영하는지를 확인해야 합니다. 표시한 값은 교육용 재현 예시이며 실제 장비에서 측정한 결과가 아닙니다. 장비·driver·cluster마다 식별자와 수치는 달라질 수 있습니다.

  4. 운영 검증의 진행과 중단을 결정합니다

    두 workload 각각의 memory/SLO/failure impact를 근거로 모드를 선택하고 resource·quota·관측 지표를 제시하면 성공입니다. 결과에는 실행 시각, 대상 identity, 사용한 명령, 핵심 출력, 판정과 다음 행동을 함께 남깁니다.

  5. GPU 격리와 sharing의 복구를 재검증합니다

    SLO가 깨지면 tenant별 telemetry와 placement를 보존하고 신규 배치를 멈춥니다. profile 또는 mode를 즉시 바꾸지 말고 격리 node에서 동일 workload로 재현한 뒤 승인 변경합니다. 복구 뒤에는 같은 명령과 같은 성공 기준으로 다시 측정합니다. 정상처럼 보인다는 표현만으로 incident를 닫지 않습니다.

개념 해설 01

GPU 격리와 공유는 SLO와 failure impact로 선택합니다

MIG(Multi-Instance GPU, GPU 하드웨어 분할): 지원 GPU를 정해진 compute·memory profile로 나누는 기능이며 지원 제약을 확인해야 합니다.

exclusive GPU는 단순한 운영 모델과 예측 가능성을, time-slicing은 높은 평균 사용률을, Multi-Instance GPU(MIG)는 지원 GPU에서 hardware partition과 독립 resource profile을 제공합니다. 셋은 성능·격리·유연성·운영 복잡도가 다릅니다.

time-slicing workload는 같은 GPU의 memory/compute pressure를 경쟁할 수 있고 한 tenant의 오류가 다른 workload에 영향을 줄 수 있습니다. MIG profile은 고정된 compute/memory slice를 제공하지만 workload 크기와 P2P/NCCL 제약을 확인해야 합니다.

공유 정책은 utilization만으로 정하지 않습니다. tenant 신뢰, model memory, latency SLO, burst, preemption, telemetry와 reconfiguration maintenance를 함께 평가합니다.

교육 사례에서 model이 필요한 peak memory는 12GiB인데 할당 profile의 표기 용량은 10GB입니다. 단위도 다르고 용량도 부족하므로 utilization이 낮아도 배치할 수 없습니다. time slicing으로 GPU 접근을 공유해도 각 workload의 memory 요구가 없어지는 것은 아닙니다. 격리 수준, profile 실제 용량과 동시 부하에서의 지연을 함께 검증합니다.

exclusive GPU와 MIG 1g.10gb, time-slicing을 격리 수준·memory 보장·failure impact·확인 명령·선택 기준 다섯 축으로 비교한 표
그림 읽는 법 왼쪽 열이 비교 축이고 오른쪽 세 열이 exclusive GPU · MIG 1g.10gb · time-slicing입니다. 한 행씩 가로로 읽으면 같은 축에서 세 모드가 어떻게 다른지 비교됩니다. 세 열은 같은 채움과 같은 굵기로 그렸으며 색은 우열을 뜻하지 않습니다. memory 보장 행이 이 그림의 핵심으로, model peak 12GiB는 표기 용량 10GB인 profile에 들어가지 않으므로 utilization이 낮아도 배치할 수 없습니다. 마지막 행이 언제 어느 쪽인지를 정하는 판단 기준이고, 아래 두 상자는 교육 사례의 판정과 두 workload를 나눠 배치한 결과입니다. 호박색 상자는 MIG mode와 profile 변경을 cordon · drain과 rollback을 갖춘 maintenance에서만 하라는 뜻이며, 초록 상자는 memory · SLO · failure impact를 근거로 모드를 고르라는 정리입니다. 성능 수치를 측정해 비교한 그림이 아니라 선택 기준을 정리한 표입니다. 자료: NVIDIA Multi-Instance GPU User Guide · Kubernetes Device Plugins를 바탕으로 저자 구성.
왜 이런가
time-slicing workload는 같은 GPU의 memory/compute pressure를 경쟁할 수 있고 한 tenant의 오류가 다른 workload에 영향을 줄 수 있습니다. MIG profile은 고정된 compute/memory slice를 제공하지만 workload 크기와 P2P/NCCL 제약을 확인해야 합니다.
언제 문제가 되는가
profile 부족·tenant 경계·SLO 미검증 조건이면 진행 근거가 부족합니다.
초보자가 자주 하는 오해
MIG mode나 profile 변경은 실행 workload와 관리 daemon에 영향을 줄 수 있습니다. node cordon·drain과 지원 matrix, rollback을 갖춘 maintenance에서 수행합니다.
직접 확인하는 방법
model peak memory와 compute duty cycle, latency SLO를 측정합니다. exclusive·MIG·time-slicing별 failure impact와 noisy neighbor를 적습니다.
이 절을 정리하면두 workload 각각의 memory/SLO/failure impact를 근거로 모드를 선택하고 resource·quota·관측 지표를 제시하면 성공입니다.

CHAPTER 1 / 5

workload 요구에서 확인을 시작합니다

원인을 추측해서 설정부터 바꾸지 않습니다. 다음 증거를 같은 시각대의 기록으로 묶으면 어느 경계에서 기대 상태가 깨졌는지 다른 운영자도 재현할 수 있습니다.

1. model peak memory와 compute duty cycle, latency SLO를 측정합니다. 2. exclusive·MIG·time-slicing별 failure impact와 noisy neighbor를 적습니다. 3. resource name/profile·quota·admission policy를 확인합니다. 4. tenant별 utilization·memory·error와 request latency를 연결합니다.

CHAPTER 2 / 5

격리 선택의 실습 대상을 고정합니다

격리 환경 재현용 명령 · 브라우저에서는 실행하지 않습니다
nvidia-smi -L
nvidia-smi mig -lgip
kubectl get nodes -L nvidia.com/mig.config,nvidia.com/gpu.sharing-strategy
kubectl get resourcequota -A

CHAPTER 3 / 5

공유 선택의 출력과 의미를 구분합니다

교육용 예상 출력 · 실제 측정값 아님
GPU 0: NVIDIA A100-SXM4-80GB ...
  MIG 1g.10gb Device 0: (UUID: MIG-...)
GPU instances: 1g.10gb ...
gpu-node-01 all-1g.10gb none
inference gpu-quota ...

CHAPTER 4 / 5

운영 검증의 진행과 중단을 결정합니다

CHAPTER 5 / 5

GPU 격리와 sharing의 복구를 재검증합니다

CONCRETE CASES

latency-sensitive inference와 batch embedding workload를 세 가지 모드에 배치하고 선택표를 작성합니다.

공유 정책은 utilization만으로 정하지 않습니다. tenant 신뢰, model memory, latency SLO, burst, preemption, telemetry와 reconfiguration maintenance를 함께 평가합니다.

잘못된 대응과 확인할 경계

MIG mode나 profile 변경은 실행 workload와 관리 daemon에 영향을 줄 수 있습니다. node cordon·drain과 지원 matrix, rollback을 갖춘 maintenance에서 수행합니다.

SLO가 깨지면 tenant별 telemetry와 placement를 보존하고 신규 배치를 멈춥니다. profile 또는 mode를 즉시 바꾸지 말고 격리 node에서 동일 workload로 재현한 뒤 승인 변경합니다. 복구 뒤에는 같은 명령과 같은 성공 기준으로 다시 측정합니다. 정상처럼 보인다는 표현만으로 incident를 닫지 않습니다.

INTERACTIVE LAB 1 / 2

실습 1 · 출력에서 판정 근거 찾기

브라우저 안에서 값을 입력하고 실행 결과와 실패·복구 경로를 확인합니다. 실제 장비나 NAS에는 어떤 명령도 보내지 않습니다.

실습 상황:: latency-sensitive inference와 batch embedding workload를 세 가지 모드에 배치하고 선택표를 작성합니다. 수행 지시:: 브라우저에서는 아래의 교육용 출력을 읽고 판정문을 작성합니다. 명령을 실제 장비로 보내지 않습니다. 명령을 별도로 재현하려면 해당 도구와 예제 파일을 갖춘 승인된 격리 환경을 준비해야 합니다. 출력 전체를 저장하고, profile 부족·tenant 경계·SLO 미검증 조건이 보이면 다음 변경으로 넘어가지 마십시오.

GPU 0: NVIDIA A100-SXM4-80GB ...
  MIG 1g.10gb Device 0: (UUID: MIG-...)
GPU instances: 1g.10gb ...
gpu-node-01 all-1g.10gb none
inference gpu-quota ...

값 자체를 외우는 것이 아니라 실제 MIG profile과 cluster 광고·quota가 선택한 sharing 정책을 반영하는지를 확인해야 합니다. 표시한 값은 교육용 재현 예시이며 실제 장비에서 측정한 결과가 아닙니다. 장비·driver·cluster마다 식별자와 수치는 달라질 수 있습니다.

INTERACTIVE LAB 2 / 2

실습 2 · 중단과 복구 계획 세우기

브라우저 안에서 값을 입력하고 실행 결과와 실패·복구 경로를 확인합니다. 실제 장비나 NAS에는 어떤 명령도 보내지 않습니다.

MIG mode나 profile 변경은 실행 workload와 관리 daemon에 영향을 줄 수 있습니다. node cordon·drain과 지원 matrix, rollback을 갖춘 maintenance에서 수행합니다.

KEY TERMS

이번 단원 핵심 용어

MIG(Multi-Instance GPU, GPU 하드웨어 분할)
지원 GPU를 정해진 compute·memory profile로 나누는 기능이며 지원 제약을 확인해야 합니다.

UNIT WORKBOOK

개념을 새로운 상황에 적용하는 문제와 기록지

기본 원리 확인에서 시작해 실제 업무 판단으로 확장합니다. 답을 제출하면 정답만이 아니라 모든 선택지가 맞거나 틀린 이유를 확인할 수 있습니다.

GPU 격리와 sharing의 중단 조건과 복구 증거를 작업 기록으로 작성할 수 있다.

PERSONAL WORKSHEET

내 환경에 옮겨 적는 학습 기록지

입력 내용은 현재 브라우저 화면에만 머물며 저장하거나 외부로 전송하지 않습니다. 민감한 실제 정보 대신 범주와 가명을 사용하십시오.

OFFICIAL SOURCES

공식 자료에서 다시 확인하기

공식 문서와 교육용 출력 판독 검토. 실장비 명령·성능 시험은 미확인입니다.

CORE UNIT 3 / 3

분산 GPU workload

multi-node 통신·placement·failure 증거를 수집합니다.

난이도
중급
구성
강의 5개 · 실습 2개 · 평가

도해·표 자료: 각 강의의 공식 1차 출처를 바탕으로 저자 구성. 원문과 검토일은 해당 강의 끝에서 확인합니다.

PREREQUISITE CHECK

본문을 읽기 전에 확인할 세 가지

정답을 외우는 시험이 아닙니다. 질문을 먼저 생각한 뒤 해설을 열어 이번 과목에서 사용할 바탕 개념을 확인하십시오.

1이 단원에서 실제 장비에 명령을 전송합니까?

아닙니다. 교육용 출력을 브라우저에서 읽고 판단합니다. 별도 재현은 승인된 격리 환경에서만 수행합니다.

2실습 전에 확인할 권한과 환경은 무엇입니까?

lab cluster-admin·GPU reconfiguration maintenance. cluster network·NCCL test fabric.

3앞 단원 「GPU 격리와 sharing」에서 어떤 증거를 남겼습니까?

두 workload 각각의 memory/SLO/failure impact를 근거로 모드를 선택하고 resource·quota·관측 지표를 제시하면 성공입니다.

TEXTBOOK GUIDE

개념의 배경부터 판단 기준까지 읽는 본문

IT를 처음 접하는 독자도 용어를 암기하지 않고 원인과 결과를 연결할 수 있도록 한 절씩 이어서 설명합니다.

  1. 분산 GPU workload의 구성요소와 실패 경계를 구성도로 설명할 수 있다.
  2. 분산 GPU workload의 상태를 명령 출력과 관측값으로 판정할 수 있다.
  3. 분산 GPU workload의 중단 조건과 복구 증거를 작업 기록으로 작성할 수 있다.
분산 GPU workload 실습 환경과 안전 경계
하드웨어2-node GPU cluster fixture·MIG-capable inventory
소프트웨어Kubernetes 1.31 fixture·NVIDIA device plugin·DCGM exporter
필요 권한lab cluster-admin·GPU reconfiguration maintenance
네트워크cluster network·NCCL test fabric

공식 문서와 교육용 출력 판독 검토. 실장비 명령·성능 시험은 미확인입니다.

적용 버전: Kubernetes Device Plugin API stable v1beta1 · NVIDIA MIG Guide current documentation · 원고 검토일: 2026-09-01

CONCEPT FLOW

각 장은 이렇게 연결됩니다

각 장은 따로 외우는 단답이 아닙니다. 왼쪽에서 오른쪽으로 따라가며 앞 장의 개념이 다음 판단에 어떻게 쓰이는지 먼저 살펴보세요.

  1. 1장job spec에서 확인을 시작합니다
  2. 2장placement의 실습 대상을 고정합니다
  3. 3장collective의 출력과 의미를 구분합니다
  4. 4장결과 판정의 진행과 중단을 결정합니다
  5. 5장분산 GPU workload의 복구를 재검증합니다
분산 GPU workload의 전체 지도입니다. 아래 장문 해설과 각 장을 읽다가 길을 잃으면 이 순서로 돌아오세요.

CONTROLLED EXPLANATION

확인할 증거를 한 단계씩 따라갑니다

현재 설명 · 1/5 · job spec에서 확인을 시작합니다

다음 연결: placement의 실습 대상을 고정합니다

  1. job spec에서 확인을 시작합니다

    원인을 추측해서 설정부터 바꾸지 않습니다. 다음 증거를 같은 시각대의 기록으로 묶으면 어느 경계에서 기대 상태가 깨졌는지 다른 운영자도 재현할 수 있습니다.

  2. placement의 실습 대상을 고정합니다

    실습 상황:: 4-node all-reduce fixture에서 잘못된 NIC를 선택한 rank를 찾아 재배치와 검증 계획을 작성합니다. 수행 지시:: 브라우저에서는 아래의 교육용 출력을 읽고 판정문을 작성합니다. 명령을 실제 장비로 보내지 않습니다. 명령을 별도로 재현하려면 해당 도구와 예제 파일을 갖춘 승인된 격리 환경을 준비해야 합니다. 출력 전체를 저장하고, rank 누락·topology 편차·retry 증가 조건이 보이면 다음 변경으로 넘어가지 마십시오.

  3. collective의 출력과 의미를 구분합니다

    값 자체를 외우는 것이 아니라 각 rank가 의도한 transport를 쓰고 성능 편차가 인수 범위 안인지를 확인해야 합니다. 표시한 값은 교육용 재현 예시이며 실제 장비에서 측정한 결과가 아닙니다. 장비·driver·cluster마다 식별자와 수치는 달라질 수 있습니다.

  4. 결과 판정의 진행과 중단을 결정합니다

    rank map·topology·transport log·collective 분포·fabric counter와 재현 command를 한 evidence package로 제출하면 성공입니다. 결과에는 실행 시각, 대상 identity, 사용한 명령, 핵심 출력, 판정과 다음 행동을 함께 남깁니다.

  5. 분산 GPU workload의 복구를 재검증합니다

    한 rank의 transport가 다르면 job을 재시작하기 전에 log와 placement를 보존합니다. network annotation·device visibility를 고친 새 revision으로 전체 rank를 다시 시험합니다. 복구 뒤에는 같은 명령과 같은 성공 기준으로 다시 측정합니다. 정상처럼 보인다는 표현만으로 incident를 닫지 않습니다.

개념 해설 01

rank placement와 fabric를 collective 결과에 연결합니다

Rank(분산 작업 참여 번호): world size로 정한 참여 process 집합 안에서 각 process를 구분하는 번호입니다.

분산 학습과 serving은 rank·world size·rendezvous, GPU/NIC topology, collective library와 fabric가 동시에 맞아야 합니다. 한 rank의 느린 data path나 retry는 barrier에서 전체 job을 지연시킵니다.

collective는 topology와 message size에 따라 ring/tree 등 algorithm을 사용합니다. scheduler placement가 rank를 서로 다른 slow path에 두거나 NIC 선택이 틀리면 GPU는 높게 보이면서도 communication wait가 늘 수 있습니다.

성공 여부뿐 아니라 rank별 hostname·GPU UUID·NIC·NUMA·log와 collective 분포를 run ID로 묶습니다. 실패 rank가 사라지기 전에 Pod와 node event를 보존합니다.

교육 사례에서 rank 7만 Socket transport를 선택하고 나머지는 IB transport를 사용했습니다. rank 수가 모두 맞아도 통신 경로가 같지 않으므로 collective 시간이 늘 수 있습니다. log의 transport 선택과 GPU·NIC 배치를 rank별로 연결합니다. network 변경 전 job 설정을 보존하고 같은 message 크기와 참여 수로 재시험해야 비교가 성립합니다.

rank 0부터 7까지의 transport와 NIC을 나란히 놓고 증거·판정·다음 행동 세 열로 rank 7의 Socket 경로를 판정하는 표
그림 읽는 법 첫 줄에서 rank 0부터 7까지의 transport와 NIC을 나란히 읽습니다. 일곱 rank는 NET/IB와 mlx5_0이고 rank 7만 NET/Socket과 eth0이며 bandwidth가 중앙값보다 22% 낮습니다. 아래 표는 왼쪽부터 증거 · 판정 · 다음 행동이고 배지 1에서 4까지가 확인 순서입니다. 판정 칸이 진행 여부를 말하며 rank 누락 · topology 편차 · retry 증가 중 하나라도 걸리면 변경을 멈춥니다. 다음 행동 칸은 고치기 전에 log와 placement를 보존하고 같은 message 크기와 같은 참여 수로만 재시험하라는 뜻입니다. 첫 줄 상자의 채움은 흰색이 중앙값과 같은 rank, 연호박이 관찰된 편차이며 색을 구별하지 않아도 값으로 읽을 수 있습니다. 물리 배선이나 시간 비율을 그린 그림이 아니라 증거와 판정의 연결만 표현하며, 도표의 식별자와 수치는 저자 구성 교육용 예시입니다. 자료: NVIDIA NCCL User Guide · NVIDIA nccl-tests를 바탕으로 저자 구성.
왜 이런가
collective는 topology와 message size에 따라 ring/tree 등 algorithm을 사용합니다. scheduler placement가 rank를 서로 다른 slow path에 두거나 NIC 선택이 틀리면 GPU는 높게 보이면서도 communication wait가 늘 수 있습니다.
언제 문제가 되는가
rank 누락·topology 편차·retry 증가 조건이면 진행 근거가 부족합니다.
초보자가 자주 하는 오해
분산 시험은 fabric와 GPU를 크게 사용합니다. production queue와 분리하고 duration·message size·node 범위를 승인받습니다.
직접 확인하는 방법
job revision·world size·rank/hostname mapping을 저장합니다. rank별 GPU UUID·NIC·NUMA와 NCCL topology를 수집합니다.
이 절을 정리하면rank map·topology·transport log·collective 분포·fabric counter와 재현 command를 한 evidence package로 제출하면 성공입니다.

CHAPTER 1 / 5

job spec에서 확인을 시작합니다

원인을 추측해서 설정부터 바꾸지 않습니다. 다음 증거를 같은 시각대의 기록으로 묶으면 어느 경계에서 기대 상태가 깨졌는지 다른 운영자도 재현할 수 있습니다.

1. job revision·world size·rank/hostname mapping을 저장합니다. 2. rank별 GPU UUID·NIC·NUMA와 NCCL topology를 수집합니다. 3. message size별 bandwidth와 rank별 duration 분포를 비교합니다. 4. fabric error·retry·Pod/node event를 같은 시각대에 연결합니다.

CHAPTER 2 / 5

placement의 실습 대상을 고정합니다

격리 환경 재현용 명령 · 브라우저에서는 실행하지 않습니다
kubectl logs -n training -l job-name=allreduce-test --all-containers --prefix
kubectl get pod -n training -l job-name=allreduce-test -o wide
mpirun -np 8 --hostfile hosts ./all_reduce_perf -b 8M -e 1G -f 2 -g 1

CHAPTER 3 / 5

collective의 출력과 의미를 구분합니다

교육용 예상 출력 · 실제 측정값 아님
[pod/rank-0] NCCL INFO NET/IB : Using mlx5_0
[pod/rank-7] NCCL INFO NET/Socket : Using eth0
# Avg bus bandwidth rank-7 22% below median

CHAPTER 4 / 5

결과 판정의 진행과 중단을 결정합니다

CHAPTER 5 / 5

분산 GPU workload의 복구를 재검증합니다

CONCRETE CASES

4-node all-reduce fixture에서 잘못된 NIC를 선택한 rank를 찾아 재배치와 검증 계획을 작성합니다.

성공 여부뿐 아니라 rank별 hostname·GPU UUID·NIC·NUMA·log와 collective 분포를 run ID로 묶습니다. 실패 rank가 사라지기 전에 Pod와 node event를 보존합니다.

잘못된 대응과 확인할 경계

분산 시험은 fabric와 GPU를 크게 사용합니다. production queue와 분리하고 duration·message size·node 범위를 승인받습니다.

한 rank의 transport가 다르면 job을 재시작하기 전에 log와 placement를 보존합니다. network annotation·device visibility를 고친 새 revision으로 전체 rank를 다시 시험합니다. 복구 뒤에는 같은 명령과 같은 성공 기준으로 다시 측정합니다. 정상처럼 보인다는 표현만으로 incident를 닫지 않습니다.

INTERACTIVE LAB 1 / 2

실습 1 · 출력에서 판정 근거 찾기

브라우저 안에서 값을 입력하고 실행 결과와 실패·복구 경로를 확인합니다. 실제 장비나 NAS에는 어떤 명령도 보내지 않습니다.

실습 상황:: 4-node all-reduce fixture에서 잘못된 NIC를 선택한 rank를 찾아 재배치와 검증 계획을 작성합니다. 수행 지시:: 브라우저에서는 아래의 교육용 출력을 읽고 판정문을 작성합니다. 명령을 실제 장비로 보내지 않습니다. 명령을 별도로 재현하려면 해당 도구와 예제 파일을 갖춘 승인된 격리 환경을 준비해야 합니다. 출력 전체를 저장하고, rank 누락·topology 편차·retry 증가 조건이 보이면 다음 변경으로 넘어가지 마십시오.

[pod/rank-0] NCCL INFO NET/IB : Using mlx5_0
[pod/rank-7] NCCL INFO NET/Socket : Using eth0
# Avg bus bandwidth rank-7 22% below median

값 자체를 외우는 것이 아니라 각 rank가 의도한 transport를 쓰고 성능 편차가 인수 범위 안인지를 확인해야 합니다. 표시한 값은 교육용 재현 예시이며 실제 장비에서 측정한 결과가 아닙니다. 장비·driver·cluster마다 식별자와 수치는 달라질 수 있습니다.

INTERACTIVE LAB 2 / 2

실습 2 · 중단과 복구 계획 세우기

브라우저 안에서 값을 입력하고 실행 결과와 실패·복구 경로를 확인합니다. 실제 장비나 NAS에는 어떤 명령도 보내지 않습니다.

분산 시험은 fabric와 GPU를 크게 사용합니다. production queue와 분리하고 duration·message size·node 범위를 승인받습니다.

KEY TERMS

이번 단원 핵심 용어

Rank(분산 작업 참여 번호)
world size로 정한 참여 process 집합 안에서 각 process를 구분하는 번호입니다.

UNIT WORKBOOK

개념을 새로운 상황에 적용하는 문제와 기록지

기본 원리 확인에서 시작해 실제 업무 판단으로 확장합니다. 답을 제출하면 정답만이 아니라 모든 선택지가 맞거나 틀린 이유를 확인할 수 있습니다.

분산 GPU workload의 중단 조건과 복구 증거를 작업 기록으로 작성할 수 있다.

PERSONAL WORKSHEET

내 환경에 옮겨 적는 학습 기록지

입력 내용은 현재 브라우저 화면에만 머물며 저장하거나 외부로 전송하지 않습니다. 민감한 실제 정보 대신 범주와 가명을 사용하십시오.

OFFICIAL SOURCES

공식 자료에서 다시 확인하기

공식 문서와 교육용 출력 판독 검토. 실장비 명령·성능 시험은 미확인입니다.

DECISION ACTIVITY

Pod가 Pending이고 node에는 GPU가 보입니다. 첫 확인은?

먼저 필요한 증거와 중단 기준을 적은 뒤 판단을 선택하십시오.

답 선택

THREE-LEVEL ASSESSMENT

기본 원리에서 운영 판단까지

답을 제출하면 모든 선택지가 맞거나 틀린 이유를 확인할 수 있습니다.

기본 문제 1

Kubernetes가 GPU를 scheduling하려면 vendor device plugin이 하는 일은?

답 선택
적용 문제 2

MIG와 time-slicing의 핵심 차이는?

답 선택
종합 문제 3

분산 job 승인에서 필요한 증거는?

답 선택

LEARNING RECORD

본문·판단 활동·모든 해설을 확인했나요?

완료 기록은 이 브라우저에만 저장됩니다.