
- ライター:小林 浩和
- 2011年 ネットワンシステムズ入社
入社後は仮想デスクトップ製品を担当として日々仮想デスクトップに関連する製品の技術調査や検証を実施。
最近では、クラウド連携に向けたオンプレ基盤の自動化やDaaSに関しての技術取得を行い
得られたナレッジをもとにお客様への提案の技術支援等を行っている。
目次
多くのユーザーが、AIや機械学習のワークロードの処理に、GPUなどのハードウェアアクセラレータを使用しています。しかしベアメタル環境の場合、サーバに搭載されたGPUのリソースはそのサーバ上でのみで使用されており、利用率の低下などが課題の一つになります。
VMware vSphere®Bitfusion®は、そういった課題を解決するためにGPUを仮想化し、ネットワークを介して共有することができるので、GPUを積んでいないサーバ上の仮想マシンやベアメタル構成のOSにも、GPUリソースを提供することが可能になるソリューションです。vSphere Bitfusionを利用するためには、Bitfusion Serverを構築する必要があります。構築後は、VMware vCenter Server®にプラグインが追加され、vCenter ServerのGUIでどの仮想マシンにGPUリソースを提供するか選択することで、GPUリソースの有効活用が可能となります。
今回は、vSphere Bitfusion環境を構築してみましたのでご紹介します。
Bitfusion Serverの構築
初めにすることは、Bitfusion Serverの構築です。Bitfusion Serverはバーチャルアプライアンスとして提供されています。
手順としては、他の製品のOVFと同様に展開先のホスト・ストレージ・ネットワークを選択した後に、vSphere Bitfusionのカスタマイズ設定を入力します。入力項目としては、以下の情報のみとなります。
・仮想マシンのホスト名
・展開するvCenter ServerのGUID、URL、ユーザー、パスワード
・各種ネットワーク設定
・NVIDIAドライバのダウンロードの有無

Bitfusion ServerへのGPU割り当て
Bitfusion Serverの展開が終わった後に必要となるのが、GPUの紐づけになります。
展開したBitfusion Serverに共有したいGPUをパススルーで追加することで、vSphere BitfusionからGPUのリソースを管理できるようになります。
必要に応じてBitfusion Serverに複数のGPUを追加することや複数台展開することで、より大規模環境にGPUリソースを共有することが可能です。
追加したGPUのメモリに応じて、バーチャルアプライアンスのCPU、物理メモリ、I/O(MMIO)の設定を公式ドキュメントに従って変更する必要があります。下図はI/O(MMIO)の設定箇所です。
設定が終わったらバーチャルアプライアンスを起動して、NVIDIAのドライバのダウンロードなどを待ちます(展開時に手動ダウンロードを選んだ場合は手動でダウンロードしてください)。
vSphere Bitfusionの利用開始
パワーオンが終わったらvCenter Serverにアクセスし、vSphere Bitfusion のプラグインが追加されていることを確認します。アイコンをクリックするとGPUのリソースの使用状況を見ることができます。

UbuntuへのvSphere Bitfusion Clientのインストール
今回はテストマシンとして、Ubuntuを使用しました。
vSphere Bitfusion Clientにアクセスし、公式ページからダウンロードしたクライアントをコマンドでインストールします。
sudo apt-get install -y ./Bitfusion_client_version(使用するOSに合わせて変更)
インストールが終わったらコマンドでバージョンを確認することができます。

クライアント有効化
クライアントがGPUリソースを使えるように、vSphere Bitfusionクライアントを有効化します。vSphere Bitfusionでは、別のvCenter Server上にある仮想マシンやベアメタルのクライアントもトークンを発行することで有効化可能ですが、今回は同一vCenter Serverでの動作を確認しました。
まずはvCenter Server上でGPUを割り当てたい仮想を選択して右クリック、メニューの下にあるvSphere BitfusionアイコンでEnable Bitfusionを選択します。
クライアントかサーバかの選択肢がでますが、今回はクライアントなのでクライアントを選択します。
対象のマシンに接続してコマンドで使用できるGPUの一覧を表示することで、仮想マシン側がネットワーク経由でGPUリソースを利用することができます。この後は、実際の処理させたい内容に応じてNVIDIAの各種ドライバをインストールすることで、AIや機械学習用マシンとして利用が可能となります。

さいごに
このブログでは、vSphere Bitfusion環境を構築して仮想マシンにGPUリソースをネットワーク経由で割り当てることができることを紹介しました。
今回は、仮想マシンの割り当てのみとなり実際にAIや機械学習のワークロードを流すことはできていませんが、GPUリソースの効率的な利活用する手法の一つとして期待できます。
※本記事の内容は執筆者個人の見解であり、所属する組織の見解を代表するものではありません。