MIG vs. vGPU

AI Lexicon (사전)

MIG vs. vGPU


vGPU without MIG 와vGPU with MIG

 

베어메탈에서 쓰면 MIG

하이퍼바이저 상에서 하면 vGPU

 

vGPU without MIG는time-shared 방식

VM에 할당된 vGPU간에는프로파일대로 GPU 메모리는 전용으로 나눠가지지만, vGPU간에시간을 쪼개서 사용

 

MIG는 쪼개진 GPU 별로컴퓨팅 리소스와 메모리까지 아예 나눠가지게 됨

 

A100 기준으로 MIG를통해 나눌 수 있는 GPU 인스턴스는 최대 7개

 

VWware의 가상GPU9(vGPU)

NVIDIA 다중인스턴스GPU(MiG) 모드 중 하나로 VM간에 공유될 수 있음.

 

vGPU는 GPU의 메모리가정적으로 분할 되지만 컴퓨팅 기능은 GPU를 공유하는 VM간에시간 공유(GPU의 모든 컴퓨팅 기능을 '소유’ 하지만 GPU메모리 공유에만 액세스



규모와 복잡성면에서 많은 데이터 센터 워크로드가 계속 확장되는 반면 초기 단계 개발이나 낮은 배치 크기의 간단한 모델에 대한 추론과 같은 일부 가속화 작업은 그다지 요구되지 않습니다. 데이터 센터 관리자는 리소스 활용률을 높게 유지하는 것을 목표로하므로 이상적인 데이터 센터 가속기는 규모가 커질뿐만 아니라 여러 소규모 워크로드를 효율적으로 가속화합니다. 


새로운 MIG 기능은 최적의 활용을 위해 각 A100을 최대 7 개의 GPU 인스턴스로 분할하여 모든 사용자 및 응용 프로그램에 대한 액세스를 효과적으로 확장 할 수 있습니다.

Volta MPS가 어떻게 여러 응용 프로그램이 별도의 GPU 실행 리소스 (SM)에서 동시에 실행될 수 있는지 보여줍니다. 그러나 메모리 시스템 리소스가 모든 응용 프로그램에서 공유되었으므로 DRAM 대역폭에 대한 요구가 높거나 해당 요청이 L2 캐시를 초과 구독 한 경우 한 응용 프로그램이 다른 응용 프로그램을 방해 할 수 있습니다.

A100 GPU의 새로운 MIG 기능은 단일 GPU를 GPU 인스턴스 라는 여러 GPU 파티션으로 나눌 수 있습니다 . 각 인스턴스의 SM에는 전체 메모리 시스템을 통해 분리되고 분리 된 경로가 있습니다. 온칩 크로스바 포트, L2 캐시 뱅크, 메모리 컨트롤러 및 DRAM 주소 버스는 모두 개별 인스턴스에 고유하게 할당됩니다. 따라서 다른 작업이 자체 캐시를 스 래싱하거나 DRAM 인터페이스를 포화 상태로 만들더라도 동일한 L2 캐시 할당 및 DRAM 대역폭으로 개별 사용자의 워크로드를 예측 가능한 처리량 및 대기 시간으로 실행할 수 있습니다.

이 기능을 사용하여 MIG는 사용 가능한 GPU 컴퓨팅 리소스를 분할하여 정의 된 서비스 품질 (QoS)에 다른 클라이언트 (예 : VM, 컨테이너, 프로세스 등)에 대한 장애 격리 기능 을 제공 할 수 있습니다 . 하나의 물리적 A100 GPU에서 여러 GPU 인스턴스를 병렬로 실행할 수 있습니다. 또한 MIG는 CUDA 프로그래밍 모델을 변경하지 않고 프로그래밍 노력을 최소화합니다.

CSP는 MIG를 사용하여 GPU 서버의 사용률을 높여 추가 비용없이 최대 7 배 더 많은 GPU 인스턴스를 제공 할 수 있습니다. MIG는 한 클라이언트 (VM, 컨테이너, 프로세스)가 다른 클라이언트의 작업이나 일정에 영향을 줄 수 없도록 CSP에 필요한 QoS 및 격리 보증을 지원합니다.

 

CSP는 종종 고객 사용 패턴에 따라 하드웨어를 분할합니다. 효과적인 파티셔닝은 하드웨어 리소스가 일관된 대역폭, 적절한 격리 및 런타임 동안 우수한 성능을 제공하는 경우에만 작동합니다.

NVIDIA  Ampere 아키텍처 기반 GPU를 사용하면 새로운 가상 GPU 인스턴스에서 실제 GPU 인 것처럼 작업을보고 예약 할 수 있습니다. MIG는 Linux 운영 체제 및 해당 하이퍼 바이저와 함께 작동합니다. 사용자는 곧 Kubernetes를 사용한 컨테이너 오케스트레이션을 지원하면서 Docker Engine과 같은 런타임을 사용하여 MIG로 컨테이너를 실행할 수 있습니다. 



 


0 Comments