🔧 Engineering/📁 GPU & Hardware

NVIDIA MIG 정리

만두개 2026. 3. 23. 14:48
반응형
SMALL

1. MIG(Multi-Instance GPU)란?

MIG는 하나의 물리적 GPU를 최대 7개의 독립적인 GPU 인스턴스로 분할하는 기술입니다. 각 인스턴스는 전용 고대역폭 메모리(HBM), 캐시, 연산 코어를 할당받아 마치 개별적인 작은 GPU처럼 작동합니다.

2. MIG의 핵심 특징: "완벽한 격리(Isolation)"

기존의 소프트웨어 기반 시분할(Time-slicing) 방식과 MIG의 가장 큰 차이점은 하드웨어 수준의 격리입니다.

  • 장애 격리: 특정 인스턴스에서 프로세스가 충돌하거나 에러가 발생해도, 다른 인스턴스에서 실행 중인 작업에는 전혀 영향을 주지 않습니다.
  • 성능 보장(QoS): 각 인스턴스가 독립적인 메모리와 대역폭을 점유하므로, 옆 칸에서 무거운 작업을 돌려도 내 작업의 속도가 느려지지 않습니다.
  • 보안: 인스턴스 간 데이터 간섭이 차단되어 보안이 중요한 멀티 테넌트(Multi-tenant) 환경에 적합합니다.

3. H100에서의 MIG 프로파일 (Slice)

H100은 메모리 크기와 연산 능력에 따라 다양한 크기로 쪼갤 수 있습니다. 보통 g는 GPU 연산 자원, gb는 메모리 용량을 의미합니다.

  • 예시 (H100 80GB 기준):
    • 1g.10gb: GPU를 7개로 쪼개어 각각 10GB씩 할당 (가장 작은 단위)
    • 2g.20gb: GPU를 3개로 분할
    • 3g.40gb: GPU를 2개로 분할
    • 7g.80gb: 분할 없이 전체 사용 (Full GPU)

4. 실무 설정 및 확인 명령어 (CLI)

운영 중에 MIG 상태를 확인하고 설정할 때 사용하는 핵심 명령어입니다.

 

① MIG 모드 활성화 (재부팅 또는 모듈 재로드 필요)

# GPU 0번에 대해 MIG 모드 활성화
nvidia-smi -i 0 -mig 1

 

② 가용한 프로파일 확인

# 어떤 크기로 쪼갤 수 있는지 리스트 확인
nvidia-smi mig -lgip

 

③ 인스턴스 생성

# GPU 0번에 1g.10gb 크기의 인스턴스 생성
nvidia-smi mig -cgi 1g.10gb -C

 

④ 상태 확인

# 분할된 인스턴스 현황 출력
nvidia-smi

5. Kubernetes와 MIG의 결합

쿠버네티스 환경에서 NVIDIA GPU Operator를 사용하면 MIG를 더 스마트하게 관리할 수 있습니다.

  • Single Strategy: 노드의 모든 GPU를 동일한 프로파일로 분할.
  • Mixed Strategy: 노드 내 GPU마다 서로 다른 프로파일 적용 가능 (예: 0번 GPU는 7등분, 1번 GPU는 통째로 사용).
  • 자동 인식: 생성된 MIG 인스턴스는 쿠버네티스 리소스([nvidia.com/mig-1g.10gb](https://nvidia.com/mig-1g.10gb) 등)로 자동 등록되어 스케줄링에 활용됩니다.

요약: 왜 MIG를 써야 하는가?

구분 일반 GPU (MIG Off) MIG 활성화 (MIG On)
자원 공유 여러 프로세스가 자원을 경쟁함 정해진 자원을 독점적으로 사용
안정성 한 작업의 에러가 전체 GPU에 영향 인스턴스 간 에러 전파 차단
효율성 가벼운 작업 시 자원 낭비 심함 필요한 만큼만 쪼개어 여러 명 할당

 

결론적으로, DGX H100과 같은 고가의 자원을 한 명의 사용자가 점유하지 않고, 여러 프로젝트나 서비스에 안전하게 배분하기 위한 인프라 엔지니어의 필수 기술입니다.

반응형
LIST