주소: 서울특별시 중구 퇴계로 286 쌍림빌딩 8/9층 (주)유클릭 디지털 트랜스포메이션 사업본부

전화: 02-6320-0121

© 2030 by uDNA & Uclick

최근 딥러닝, 머신 러닝 관련해 VM웨어 vSphere 환경에서 GPU 자원을 어떻게 공유할지에 대한 관심이 커지고 있습니다. GPU 가상화 방법은 VM웨어가 제공하는 DirectPath I/O, NVIDIA가 제공하는 GRID 그리고 VM웨어가 인수한 비트퓨전의 GPU 가상화 솔루션을 이용하는 방법이 있습니다. 

대부분의 조직에서 GPU 자원 활용률을 보면 평균 15%에 못미친다고 합니다. 피크 때를 제외하면 GPU 활용률이 낮은 반면, 자원 요구가 빗발치는 시간대에는 컴퓨팅 리소스가 부족합니다. GPU 자원 가상화를 이런 문제를 해결하는 동시에 다음과 같은 효과를 제공합니다. GPU 가상화는 크게 세 가지 방법으로 구현할 수 있습니다. 

 

· 하드웨어 자원 최적화를 통해 불필요한 자원 낭비와 투자 최소화 

· 효율적인 자원 공유로 딥러닝, 머신 러닝 워크로드 생산성 향상

· VM웨어 기반 가상화 환경에서 원활한 Data Science 작업 지원

이 기능은 VM웨어가 제공하는 것으로 VM에서 하이퍼바이저를 거치지 않고 물리적 하드웨어의 PCI에 직접 접근할 수 있도록 하는 것입니다. 이 모드를 이용하면 ESXi 호스트가 설치된 서버에 장착된 물리적인 GPU에 VM이 다이렉트로 접근할 수 있습니다. 참고로 VM은 1~4개의 GPU에 접근할 수 있습니다. 

NVIDIA는 가상화 환경에서 그래픽, 엔지니어링 등의 워크로드를 지원하기 위해 GRID라는 GPU 가상화 기능을 지원해왔습니다. 최근 NVIDIA GIRD의 활용 범위는 그래픽, 엔지니어링을 넘어 딥러닝, 머신 러닝으로 확대되고 있습니다.

VM웨어가 인수한 비트퓨전 사가 제공하는 GPU 가상화 솔루션인 FlexDirect는 앞서 소개한 가상화보다 더 유연하고 규모가 큰 자원 통합을 지원합니다. 네, 호스트 단위의 가상화가 아니라 데이터센터 측면의 GPU 가상화와 자원 통합을 지원하는 유연성을 제공합니다. 

위 세 가지 방법은 각각의 특징이 뚜렷합니다. 이 말은 딥러닝, 머신 러닝 모델링, 트레이닝, 인퍼러싱 관련해 각 회사와 조직의 특성에 맞는 방법을 골라야 한다는 것을 뜻합니다. 성능, 생산성 등 조직마다 수행하는 프로젝트 특징에 따라 우선순위가 다릅니다. 이를 고려해 우리 회사에 맞는 방법을 선택해야 합니다. 

VM웨어가 제공하는 DirectPath I/O는 보편적인 딥러닝, 머신 러닝 모델 개발, 트레이닝 작업에 활용할 수 있는 가상화 기법입니다. 이 기능의 특징은 ESXi 하이퍼바이저를 거치지 않고 VM에 올린 게스트 운영체제가 PCI 타입의 GPU 카드에 직접 접근할 수 있다는 것입니다. 네, 중간에 거치는 것이 줄기 때문에 GPU의 성능을 최대한 살리는 데 좋습니다. DirectPath I/O는 보통 한 개의 VM에게 물리적인 GPU 자원을 독점적으로 할당하는 방식으로 쓰입니다. 한 개의 VM에 할당할 수 있는 GPU는 최대 4개입니다.  DirectPath I/O를 이용한 GPU 가상화의 경우 GPU가 장착된 물리적인 시스템 단위로 이루어집니다. 이는 장점이자 단점이 될 수 있습니다. 장점은 예측 가능한 선에서 성능을 데이터 과학자나 AI 개발자에게 보장할 수 있다는 것입니다. 단점은 전사 측면에서 자원 통합을 이루기에는 유연성이 떨어진다는 것입니다. 

GPU 가상화 시나리오: VM웨어 vSphere 환경에서 NVIDIA vGPU 사용

NVDIA는 VM웨어 환경에서 GPU를 가상화된 자원으로 접근할 수 있도록 가상 GPU(vGPU) 기능을 제공합니다. NVIDIA는 vGPU 패밀리를 두 가지로 구분합니다. 하나는 NVIDIA VCS(Virtual ComputeServer)이고, 다른 하나는 vDWS(Virtual Datacenter Workstation)입니다. 이중 머신 러닝, 딥러닝 워크로드를 위한 GPU 가상화를 원할 경우 NVIDIA가 추천하는 것은 VCS 소프트웨어를 이용하는 것입니다. 참고로 VM웨어 환경에서 NVIDIA vGPU를 이용하려면 소프트웨어 라이선스를 확보해야 합니다. 이 소프트웨어 패키지는 NVIDIA Virtual GPU Manager for the VMWare vSphere, NVIDIA Windows Driver, NVIDIA Linux Driver로 구성됩니다. NVIDIA Virtual GPU Manager는 VIB(VMware Installation Bundle) 형태로 vSphere 하이퍼바이저 상에서 운영됩니다. 그리고 게스트 운영체제에 NVDIA의 vGPU 드라이버가 설치됩니다. NVIDIA vGPU를 이용하면 하나의 VM에 GPU 자원을 단독으로 할당하거나, 하나 이상의 VM에 GPU 자원을 쪼개어 줄 수 있습니다. 이를 정하는 기준은 간단합니다. AI 워크로드가 GPU 하나를 다 써야 할 정도로 성능 요구 사항이 높은지 아닌지를 기준으로 정하면 됩니다. 

GPU 가상화 시나리오: FlexDirect 활용

FlexDirect를 이용하면 한 개의 GPU를 15%, 20%, 30% 등 다양한 크기로 유연하게 나눠 사용할 수 있어 GPU 잡 스케줄링을 더 정교한 단위로 할 수 있습니다. 따라서 자원의 낭비 없이 전사 측면에서 GPU 풀의 경제성을 크게 높일 수 있습니다. 또한, 대규모 연산이 필요한 프로젝트의 경우 여러 GPU를 동시 할당할 수 있어 다양한 AI 워크로드에 유연하게 대응할 수 있습니다. 

  • 블랙 블로거 아이콘