2013-01-24 5 views
14

AWS가 Cluster GPU Instances에 GPU를 할당하는 방식과 유사한 동적 클라우드 기반 NVIDIA GPU 가상화를 사용할 수있는 옵션을 찾고 있습니다.Amazon Web Services 클러스터 GPU 인스턴스와 비슷한 사설 클라우드 GPU 가상화

내 프로젝트가 내부 클라우드를 세우고 있습니다. 하나의 요구 사항은 서버 측 CUDA 프로세싱을 위해 가상 머신/인스턴스에 GPU를 할당하는 기능입니다.

USC가 이것을 지원하기 위해 OpenStack enhancements에서 근무하고있는 것으로 보입니다. 아직 준비가되지 않았습니다. 이것은 OpenStack에서 완벽하게 기능한다면 정확히 내가 원하는 것입니다.

NVIDIA VGX은 정확히 GPL 가상화 인 GPL으로의 할당만을 지원하는 것으로 보입니다. 내가 틀렸다면 VGX가 가상 머신/인스턴스에서 서버 측 CUDA 컴퓨팅을 사용할 수 있도록 설정해 둡니다.

+2

[Xen HVM hypervisor] (http://wiki.xen.org/wiki/XenVGAPassthrough)를 사용하여 GPU를 VM에 할당 할 수 있습니다. 그러나 사소한 설정이긴하지만, 모든 동작에서 거친 부분이 많습니다. VM을 부팅하기 전에 할당을 완료해야합니다. 사실 GPU가 VM에 1 : 1로 매핑되어 있기 때문에 이러한 방식으로 여러 VM간에 단일 GPU를 동시에 공유 할 수 없습니다 (PCI 패스 스루 사용). –

+1

@Robert Crovella - 감사합니다. 클라우드 관리 도구와 원활하게 통합 될 수있는 무언가를 찾고 싶지만 가능한 옵션은 적어도 시작일뿐입니다. 전체 CUDA API를 사용할 수 있는지 조사해야합니다. –

+0

@Robert Crovella가 자리를 잡았지만, Xen을 사용해 보려는 경우 몇 가지 전제 조건이 있습니다. CPU에 Intel VT/d 또는 AMD IOMMU (요즘에는 문제가되지 않음), GPU가 "사용 가능"으로 설정되어 있어야합니다. VT-d/IOMMU pass-through 지원 (NVIDIA는이 Multi-OS라고합니다) - 이것은 M 시리즈 Teslas와 Quadros, Xen 4.1을 의미합니다.) – Blairo

답변

4

"AWS가 클러스터 GPU 인스턴스에 GPU를 할당하는 방식과 유사한 동적 클라우드 기반 NVIDIA GPU 가상화"

AWS는 GPU를 실제로 동적으로 할당하지 않습니다. 각 GPU 클러스터 컴퓨팅에는 2 개의 고정 GPU가 있습니다. 다른 모든 서버 (일반 Cluster Compute 포함)에는 GPU가 없습니다. 나는. 그들은 "GPU 또는"라고 말할 수있는 API를 가지고 있지 않습니다. 고정 된 하드웨어를 사용하는 박스 유형으로 수정되었습니다.

Xen의 통과 모드는 특히 호스트에서 게스트로 하드웨어 전달시 사용됩니다. 기본적으로 '동적 인'것은 아니지만 게스트 중 하나를 선택하여 호스트에서 각 카드를 가져올 수있는 코드를 작성할 수 있습니다.

+0

클러스터 GPU 인스턴스는 여전히 Xen 하이퍼 바이저 위에서 실행되는 VM입니다. 맞습니까? 따라서 하나의 인스턴스가 멈 추면 사용중인 GPU를 새 인스턴스에 재 할당 할 수 있습니다. VM이 켜져있을 때 할당을 수행 할 수는 없지만 여전히 VM 인스턴스에 VMU 리소스를 동적으로 할당하고 있습니다. 나 맞아? –

+0

예, Xen에서 실행 중입니다. AWS는 AWS를 할당하지 않습니다. cg1.4xlarge를 요청하면 GPU와 다른 상자가 없으므로 다른 랙에 상자가 생깁니다. 대부분의 경우 GPU는 각 인스턴스마다 2 GPU가 있어야하기 때문에 GPU를 인스턴스에 정적으로 매핑합니다. – BraveNewCurrency

0

CUDA 내에서 장치를 가상화하는 GPUBox라는 솔루션이 있습니다. Amazon 또는 사용자의 인프라에서 사용할 수 있습니다. 웹 사이트에서

견적 (http://renegatt.com/solutions.php는) :

GPUBox 소프트웨어는 기본 GPU 장치에서 응용 프로그램과 운영 시스템을 분리하여 GPU의 관리를 단순화합니다. 이 은 많은 사용자가 동일한 풀에서 GPU 장치의 동적 공유를 허용하는 솔루션입니다. (...) GPUBox는 Linux 또는 Windows 운영 체제가 설치된 실제 또는 가상 머신에 대한 GPU 장치의 주문형 프로비저닝을 지원합니다. GPU 장치 풀은 사용자가 공유하므로 총 전력 소비가 감소하고 유휴 실행 하드웨어가 감소합니다.