Amazon EKS에서 NVIDIA GPU 관리하기

Amazon EKS에서 NVIDIA GPU 관리하기

NVIDIA GPU는 머신러닝 학습, 추론, 고성능 컴퓨팅 워크로드에 널리 사용됩니다. Amazon EKS는 EKS 클러스터에서 NVIDIA GPU 장치를 관리하기 위한 두 가지 메커니즘을 지원합니다. GPU용 NVIDIA DRA driver와 NVIDIA Kubernetes device plugin이에요.

Kubernetes 1.34 이상 버전에서 Karpenter의 정적 용량 프로비저닝, EKS 관리형 노드 그룹, 또는 자체 관리 노드를 사용하는 새 배포에는 DRA 드라이버를 사용할 것을 권장합니다. DRA는 현재 EKS Auto Mode에서 지원되지 않아요. NVIDIA DRA driver는 유연한 GPU 할당과 컨테이너 간 GPU 공유를 가능하게 합니다.

EKS에서 DRA 기능의 가용성은 Release notes for Kubernetes versions for EKS를 참고하세요. NVIDIA DRA driver와 device plugin을 EKS와 함께 사용하는 방법에 대한 자세한 내용은 Use the NVIDIA DRA driver or device plugin on Amazon EKS를 참고하세요.

GPU 공유 (MIG 및 시간 조각화)

Multi-instance GPU (MIG)

Multi-Instance GPU (MIG)는 NVIDIA GPU의 하드웨어 기능으로, 단일 물리 GPU를 여러 개의 격리된 인스턴스로 분할합니다. 최대 인스턴스 수는 GPU에 따라 달라요. A100, H100, H200, B200 같은 데이터 센터 GPU는 최대 7개 인스턴스를 지원하고, Blackwell 기반 g7과 g7e GPU는 더 적은 수를 지원합니다. 각 인스턴스는 전용 메모리, 컴퓨팅 유닛, 메모리 대역폭을 가지므로 한 인스턴스에서 실행되는 워크로드는 다른 인스턴스의 워크로드에 영향을 줄 수 없어요. 격리 없이 소프트웨어 시간 다중화로 GPU를 공유하는 시간 조각화와 달리, MIG는 Pod 간 하드웨어 수준 메모리·장애 격리를 제공합니다.

MIG는 멀티 테넌트 추론, 예측 가능한 서비스 품질이 필요한 워크로드, 하드웨어 격리 테넌시에 대한 규정 준수 요구 사항이 있는 환경에 가장 잘 맞아요. NVIDIA Ampere (A100), Hopper (H100 및 H200), Blackwell GPU에서 사용할 수 있습니다. AWS에서는 P-family 인스턴스 유형과 Blackwell 기반 g7 및 g7e 인스턴스 유형이 이에 해당합니다.

NVIDIA GPU와 EKS에서 MIG를 사용하는 방법과 단계에 대한 자세한 내용은 Use multi-instance GPUs (MIG) with NVIDIA GPUs on Amazon EKS를 참고하세요.

시간 조각화 (Time-slicing)

시간 조각화는 NVIDIA device plugin 또는 DRA driver가 GPU당 둘 이상의 스케줄 가능 슬롯을 광고하도록 구성해서 여러 Pod가 단일 물리 NVIDIA GPU를 공유할 수 있게 해 줍니다. Kubernetes 스케줄러는 여러 Pod를 같은 GPU에 배치하고, GPU의 CUDA 스케줄러는 워크로드를 시간 다중화합니다.

시간 조각화는 가장 간단한 GPU 공유 전략이에요. 소프트웨어만 사용하며 특별한 하드웨어가 필요 없고 AWS의 모든 NVIDIA GPU 인스턴스 유형에서 작동합니다. 시간 조각화는 GPU를 공유하는 Pod 간 메모리 또는 컴퓨팅 격리를 제공하지 않아요. 요청 사이에 유휴 상태인 추론 서비스나 여러 사용자가 GPU를 공유하는 개발 환경처럼 GPU 활용도가 낮은 워크로드에 가장 잘 맞습니다. 하드웨어 수준 메모리·컴퓨팅 격리가 필요한 워크로드에는 MIG를 대신 사용하세요.

NVIDIA GPU와 EKS에서 시간 조각화를 사용하는 방법과 단계에 대한 자세한 내용은 Use time-slicing with NVIDIA GPUs on Amazon EKS를 참고하세요.

더 알아보기 (Learn more)

출처: 문서