본문으로 건너뛰기

Overview

GPU 관리란 무엇인가요?

GPU 관리 기능은 운영자 중심 기능인 GPU Dashboard을 통해서 모든 GPU 자원의 현황을 관리하며, 물리적/논리적 용량, GPU 자원의 Pool 요청 및 할당을 통해서 GPU의 사용현황을 관리합니다.

단일 인터페이스를 통해 GPU pool 생성, 할당,최적화, 모니터링 등을 전체 관리할 수 있습니다.

주요 기능

  • GPU Capacity: 물리적 GPU 하드웨어의 실제 용량을 풀로 관리하여 활용률을 높입니다.
    • NodeCapacity: 각 GPU 노드의 전체 용량 정보
    • GpuCapacity: 개별 GPU 디바이스의 상세 정보
    • Profile: 실제 할당된 Pod 정보를 매핑하는 용도 (워크로드 추적)
    • SpecAndCount: 프로비저닝된 MIG 또는 GPU 리소스를 관리하기 위한 용도
  • GPU Pool Management: 작업 부하 유형에 따라 GPU를 그룹화하거나 분리하고 프로젝트 수준에서 풀로 관리합니다.
  • GPU Monitoring: 전력사용량, SM 활성도 및 메모리에서 발생하는 오류를 통해 GPU 활용률을 측정합니다.

아키텍처 참조

GPU는 Nvidia H100 및 H200 구성으로 Nvidia 에서 제공하는 GPU 관리스택을 통해서 관리하며, Kubernetes 기반으로 GPU의 Life-Cycle (컨테이너 스케줄링, 리소스 할당 및 격리 등) 을 통합적으로 관리하고 있습니다. 따라서, 할당된 GPU는 Kubernetes상에서 이루어지는 Workload 동작 원리(App 배포 통한 자원 할당 등)를 동일하게 적용하고 있습니다.

계층요소역할기능
물리Kubernetes Node물리적 서버서버 자원을 호스팅하는 물리적 인프라
GPU 하드웨어물리적 GPUAI관련 연산 처리 담당
논리Kubernetes Api ServerAPI 서버Kubernetes 자원에 대한 컨트롤
GPU OperatorGPU 관리GPU 리소스 관리 및 프로비저닝
MCM
(Multi-Cluster )
클러스터 관리Kubernetes 클러스터 관리 및 GPU 자원 관리
Capacity용량 관리Gpu Pool과 물리 계층 간의 자원 관리 객체
GPU사용량 관리논리적 리소스로 최종 사용자에게 할당되는 관리 객체

GPU 관리 방법

GPU는 Nvidia가 A100 부터 도입한 하드웨어 기반의 GPU 가상화 기술로 본 GPUaaS 상에서도 물리적인 GPU와 독립적인 GPU 인스턴스로 분할된 MIG 형태로 GPU 자원을 관리합니다.

MIG (Multi-Instance GPU) 프로비저닝

MIG(Multi-Instance GPU)는 NVIDIA의 혁신적인 기술로, 단일 GPU를 최대 7개의 독립적인GPU 인스턴스로 분할할 수 있습니다. 각 인스턴스는 전용 메모리, 캐시, 스트리밍 멀티프로세서를 가지며, 하드웨어 수준에서 완전히 격리되어 운영됩니다. 이를 통해 하나의 인스턴스에서 오류가 발생해도 다른 인스턴스에 영향을 주지 않는 안전한 멀티테넌트 환경을 제공합니다.

  • 리소스 효율성 극대화
    • 하나의 고가 GPU(예: A100)를 여러 사용자가 동시에 활용
    • GPU 전체 성능이 필요하지 않은 워크로드의 비용 효율적 사용
    • 유휴 GPU 리소스 최소화를 통한 ROI 향상
  • 멀티테넌시 지원
    • 여러 프로젝트나 팀이 동일한 GPU를 안전하게 공유
    • 각 인스턴스 간 완전한 격리 보장 (메모리, 컴퓨팅 리소스)
    • 하나의 인스턴스 장애가 다른 인스턴스에 영향을 주지 않음
  • 워크로드 맞춤형 할당
    • 추론 작업: 작은 메모리로도 충분한 성능 제공
    • 개발/테스트: 소규모 리소스로 빠른 반복 개발 가능
    • 배치 처리: 여러 작은 작업을 병렬로 동시 실행
  • 운영 효율성 향상
    • GPU 큐 대기 시간 단축 (더 많은 인스턴스 제공)
    • 리소스 예약 및 스케줄링 유연성 증대
    • 사용량 기반 정확한 비용 할당 가능
  • 확장성 및 관리 편의성
    • 물리적 GPU 추가 없이 더 많은 사용자 수용
    • 중앙집중식 GPU 리소스 관리
    • 동적 리소스 재할당을 통한 최적화

전체 GPU 프로비저닝

모든 워크로드에 MIG가 적합한 것은 아니며 고성능, 대규모 병렬처리가 필요한 환경에서는 Full GPU를 활용하는 것이 가장 효과적입니다. Full GPU를 사용하는 사례는 주로 대규모 학습(딥러닝 학습), LLM 학습 (GPT-3 등)과 대용량 모델의 추론, 고성능 시뮬레이션 및 과학 연산에 주로 활용하며 Multi-GPU, Fine-Tuning 등에 활용됩니다. 전체 GPU를 하나의 워크로드에서 독점 사용하는 방식입니다. 대규모 AI 모델 훈련이나 고성능 컴퓨팅 작업에 최적화되어 있습니다.

구분MIG (Multi-Instance GPU)Full GPU
자원 구조GPU를 하드웨어적인 분할 (1~7개 인스턴스)GPU를 단일 리소스로 사용
격리 수준하드웨어 수준 격리 (Memory, Cache 분리)공유 (단일 GPU 기준의 리소스)
성능고밀도 멀티테넌시최대 성능, 고대역폭 활용가능
적합한 작업 부하추론, 소형 Fine-Tuning대규모 학습, 멀티 GPU 훈련

과금 방식: GPUaaS는 GPU Pool의 사용량을 자동으로 추적하고 과금 데이터를 생성하는 빌링 서비스를 제공합니다. GPU 사용은 프로젝트 단위의 Pool 사용 요청에 따라 승인 이후부터 과금 대상이되며, Pool 할당된 자원은 타 프로젝트에서 공유가 불가능한 전용의 GPU 자원으로 사용이 가능합니다.