Re:シルの日々の戯言。

散財が生き甲斐になりかけている、デジタルガジェット大好き自称黄色いネズミの戯言。

再びvGPUに興味を持ってるが、個人環境で試すのは厳しそう

変な挙動からHyper-Vの利用をやめてVMware ESXi(vSphere Hypervisor)に戻ってきましたが、以前からGPUパススルーと勘違いしていたvGPU(仮想GPU)について、(ESXiに戻ってきたついでに)再び気になりつつある状況です。

と言うのも、仮想マシン上でWindows10を利用するとWeb閲覧時の映像コンテンツ周りのレスポンスが悪く、(元々は仮想マシンの管理名目で作成しているので、そんな用途で使うなの一言ですが)もう少しレスポンスを向上させられればと思っています。

それ以前からもなんとなく考えていた部分ですが、まずは改めてvGPU(と勘違いしていたGPUパススルー)について調べて戯言にまとめておきます。

そもそもvGPUとは

細かい話はnVIDIAの公式ブログで解説があります。
blogs.nvidia.co.jp

通常の仮想化環境ではグラフィックス周りもすべて完全にソフトウェア処理(=CPU処理)で行われますが、グラフィックス以外の処理も全てCPUで行われるため少し凝ったことをやろうとするとパフォーマンスが著しく低下します。
特に近年のOS(Windows)ではリッチな画面インターフェースのため、何かと積極的にGPUを活用する傾向にあり、ある程度はCPUパワーでごり押し出来ますが限度と言うものがあります。・・・例えば私は頭を抱えているWeb閲覧時のパフォーマンス低下とかですね。*1

それを解消すべくGPUも仮想化して、必要に応じてリソースを割り振るのがvGPU(仮想GPU)となります。
以前までは一部のエンタープライズ方面、具体的には様々な記事で異口同音として3D CADが槍玉(!?)として挙げられていますがVDI*2経由でグラフィック性能を求められる用途での活用がメインでした。

しかし近年ではコロナ禍によるテレワーク浸透により一般的に利用するアプリケーションでもグラフィックス性能を求められることも多くなり、またビデオ会議ツールであるZoomやTeamsなどのカメラON時の負荷から「うちでもvGPU必要だよねー」となることが多い・・・らしいとImpress Watchの記事に書いてあった。
cloud.watch.impress.co.jp

個人的に混同することの多いGPUパススルーとは

一方で個人的に混同して考えてしまうことの多い・・・と言うか、当初目標としていたGPUパススルーとはどういうものかと言うと、これはイメージとしては単純で仮想マシン上にPCI expressなどに挿入されたGPUを(Hypervisorを経由させず)直接仮想マシンに割り当てることです。
docs.vmware.com

先ほどのvGPUと異なり、物理的に挿入したGPUを直接認識させるので、場合によっては仮想マシン上でゲームを快適に動作させることができます。
ただし、仮想マシン作成時のパラメータでチェックボックスを1つ2つ付ければいい話と言う訳ではなく、はてな村(はてなブログ村)の住人によるとなかなか複雑怪奇で大変な設定を強いられるようです。
soji256.hatenablog.jp

実際問題、私も無謀にもnVIDIA Optimus搭載のモバイルワークステーション(ThinkPad W541)で無理矢理試そうと四苦八苦したりしましたが、流石にOptimusが絡むと上手い具合に制御出来ず面白おかしい(悲しい)状況になるようです。*3

vGPUは夢いっぱいだがソフトとハードが・・・

vGPUを使えれば夢いっぱいな気がします・・・が、そんなに単純な話でも無いという現実があります。

まずハードウェアですが、最近旧モデル含めて価格高騰が著しいGeForceは対応していません。最低でもQuadroが必要と思っていましたが、どうやら(Quadroの)更にその上のnVIDIA Teslaが必要とのことなので、まずこの時点で個人で試すにゃ詰みです。*4
www.nvidia.com

そしてソフトウェアも問題で、やや古めのメディア記事を見るとvGPU(仮想GPU)をサポートするVDIは以下のように綴られています。

仮想GPUをサポートするVDIとしては、Citrixの「XenApp」と「XenDesktop」、VMwareの「Horizon」と「Horizon Apps」になります。

news.mynavi.jp

私が利用しているのは無償で使えてWindows OSならプリインストールされているリモートデスクトップ接続です。*5
少々古い記事なので現在は状況が変わってるのかもしれませんが、少なくともリモートデスクトップ接続ではあまり恩恵を受けれなさそうな気がします。・・・いえ、NUC8i7HVK(1世代前のゲーミングNUC/Intel x AMDのゲテモノdGPU搭載)にRDP接続*6するとすごく快適に動作するのでリモートデスクトップ接続でGPU周りが動かない訳じゃないとは思いますけど・・・。*7

・・・つまり、vGPUに大変興味を抱いても

  • ハードウェアは金額的に一個人が手を出すには厳しい製品しか無さそう。
  • ソフトウェアは金額的に一個人が手を出すには厳しい製品しか無さそう。

\(^o^)/

素直に踏み台PCとして物理PC用意すべきか

ESXi管理用を称しつつも実質的に踏み台として様々な用途で使ってしまっている状況を鑑みると、案外小型の物理PCを1台準備したほうが良いのかもしれません。

調べると手のひらサイズの超小型デスクトップPCなんてものも存在するようですし、割り切って使う分ならばこのような製品を踏み台として利用するのも一つなのかもしれません。
pc.watch.impress.co.jp

ただ、そんなことよりも使い方を見直して仮想マシンの管理用として作った環境では(Webコンソール接続用のブラウザ・TeraTermなどのコンソール・メール通知など確認用のメーラーなど)本来必要な処理のみを動かすようにして、余計な用途で使わないようにすることを心がければ良いだけの一言で終了のような気がしてきました。

閑話休題、興味を持ったまではいいものの個人でvGPUってやつに手を出して知的好奇心を満たすにはなかなか厳しいっぽい雰囲気です。
ただ、今はVMware ESXi(vSphere Hypervisor)を主軸に考えた結果なので、もしかするとHyper-V環境ならほかの選択肢があるのかも知れません・・・が、既に一種の自宅ラボ周りの環境で大金を注ぎ込んでセルフ縛りな浪費日記的には負債が膨らむ一方の状況なので、懐事情としてはあまり変に興味を持つのは危険なので、一旦これ以上興味を持つことは辞めておくこととします。

・・・しかし、vGPUが個人のお遊び環境でも使えるようになると夢が広がるなぁ。用途的には踏み台相当のクライアントOSでの娯楽要素が快適になるだけですが、それでもGUI周りが欠かせないWindows系のOSを利用する場合のグラフィック描写周りが快適になりそうで、正直ワクワクします。

*1:ビジネスノートとかGPU無いじゃん!・・・と言われる方も居るかもしれませんが、Intel HD Graphicsだって立派なGPUです。

*2:雑に一般ユーザーでも身近に感じられる言葉とすると、リモートデスクトップ接続です。本来の言葉の意味合いはもう少し複雑怪奇ですが、私の戯言日記は適当に剝がれやすいメッキコーティングされていることに定評があるので(!?)リモート経由で操作することの総称としておきます。

*3:オンボード側が最初に認識され、その後GPUに切り替わる挙動・・・を仮想マシン上なのでOptimusのようなものを認識せず動く都合上、起動時のGPUと違うよ?とエラー吐きました・・・。

*4:Quadroならまだギリギリ旧型なら秋葉原の中古屋を血眼で探せば出てきますが・・・。

*5:WindowsNT系列ならプリインストールだった・・・気がする。なのでWin9xが既に消え去った今の世の中、量販店で叩き売られているWindows10 Home搭載PCでもリモートデスクトップ接続はデフォルトアプリとして入ってるのです。

*6:少し言い方の問題ですが、RDPは「R」emote 「D」esktop 「P」rotocolだからリモートデスクトップ接続のことをRDP接続と綴るのは間違ってる!・・・みたいなことがあったりなかったりします・・・。

*7:実際問題NUC8i7HVKにRDP経由で接続して、Chromeでニコ動を再生させるとGPUの使用率が上がるので、再生支援でちゃんと使われているようです。