2013-01-24 5 views
14

AWSがCluster GPU InstancesにGPUを割り当てる方法と同様に、動的クラウドベースのNVIDIA GPU仮想化を有効にするオプションを探しています。Amazon Web Services Cluster GPUインスタンスに似たプライベートクラウドGPU仮想化

私のプロジェクトでは内部クラウドを立てています。 1つの要件は、サーバ側のCUDA処理のために仮想マシン/インスタンスにGPUを割り当てる機能です。

USCはこれをサポートするためにOpenStack enhancementsに取り組んでいるようですが、まだ準備はできていません。 OpenStackで完全に機能していれば、これは私が探しているものです。

NVIDIA VGXは、厳密にリモートデスクトップのGPU仮想化であるUSMsへのGPUの割り当てのみをサポートしているようです。私が間違っていて、VGXが仮想マシン/インスタンスからサーバ側のCUDAコンピューティングを有効にしている場合は、私に知らせてください。

+2

[Xen HVMハイパーバイザー](http://wiki.xen.org/wiki/XenVGAPassthrough)を使用してGPUをVMに割り当てることは可能です。しかし、それは自明ではないセットアップであり、すべての確率で、その動作に多くの粗いエッジがあります。 VMが起動する前に割り当てを行う必要があります。実際にはGPUとVMの1:1マッピングでは、(PCIパススルーを使用して)このように複数のVM間で1つのGPUを同時に共有することはできません。 –

+1

@Robert Crovella - ありがとう。私は本当にクラウド管理ツールとよりシームレスに統合するものを見つけたいと思っていますが、可能な選択肢は少なくともスタートです。完全なCUDA APIが利用可能かどうかを調査する必要があります。 –

+0

@Robert Crovellaがありますが、Xenで試してみると、いくつかの前提条件があります.CPUにはIntel VT/dまたはAMD IOMMU(現時点では問題はない)、GPUが「有効」になっている必要がありますVT-d/IOMMUパススルーサポート(NVIDIAはこのマルチOSと呼ぶようです) - これはMシリーズのTeslasとQuadros、Xen 4.1) – Blairo

答えて

4

「AWSがクラスタGPUインスタンスにGPUを割り当てる方法と同様の、動的クラウドベースのNVIDIA GPU仮想化」

AWSは実際にGPUを動的に割り当てません。各GPUクラスタComputeには2つの固定GPUがあります。他のすべてのサーバー(通常のCluster Computeを含む)にはGPUがありません。私。彼らはあなたが "GPUかどうか"と言うことができるAPIを持っていません、それは固定されたハードウェアを使用するボックスタイプに固定されています。

Xenのパススルーモードは、ホストからゲストへのハードウェアの受け渡しを具体的に行いました。デフォルトでは「動的」ではありませんが、ゲストの1人を選択してホスト上の各カードを取得するコードを書くことができます。

+0

クラスタGPUインスタンスはまだXenハイパーバイザ上で実行されているVMですが、そうですか?したがって、あるインスタンスが停止すると、使用していたGPUを新しいインスタンスに再割り当てできますか?いずれかのVMがオンのときに割り当てを行うことはできませんが、それでもVMインスタンスをVMインスタンスに動的に割り当てることはできます。私は正しいですか? –

+0

はい、Xenで動作しています。しかし、いいえ、あなたはそれらを割り当てません: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デバイスのプールは、 ユーザーの間で共有されているため、合計消費電力が削減され、アイドル実行中のハードウェアは になります。