ニュース
Windows 10を仮想環境で快適に動かすには仮想GPUが必要になる? NVIDIAが仮想GPUソリューション「GRID 5.0」の最新事情を説明
仮想化技術に関する話題の常として,ゲーマーに直接関係する話ではないのだが,NVIDIAのGPU技術に関する話題のひとつとして,簡単にレポートしたい。
Pascal世代で数値演算用製品と仮想化用製品を統合
まずは,仮想GPUソリューションに対応するNVIDIA製GPUのラインナップに関する話題から取り上げよう。
NVIDIAのGPUアーキテクチャが,「Kepler」「Maxwell」「Pascal」「Volta」と世代を重ねていき,それにともない演算能力や消費電力当たりの処理性能を高めていったことは,把握しているゲーマーも多いと思う。
Maxwell世代のGPU(とそれを搭載するサーバー向けカード製品)までは,仮想化用と数値演算用で製品を分けていたという。そう言われて振り返ってみると,Maxwell世代の「Tesla M10」は,仮想GPUソリューション向けの製品であるのに対して,同世代の「Tesla M40」は数値演算用として売り出されていた。
それがPascal世代になると,分割していた製品ラインを統合し,1つの製品を仮想GPU用途にも数値演算用途にも利用できるようにしたという。そしてPascal世代のTeslaシリーズは,一般的なグラフィックスカード形状の製品に留まらず,小型サーバーやブレードサーバー用途に向けた製品もラインナップするといった具合に,さまざまなサーバーシステムに導入できるよう,製品バリエーションを広げている。
現在は,深層学習用途向けに展開している「Tesla P100」や「Tesla P40」も,今後は仮想GPU用途にもアピールしていくそうだ。
GPUを幅広く活用するWindows 10やアプリケーションには,仮想GPUが必要となる
冒頭でも名前を挙げたNVIDIAの仮想GPUソリューションであるGRIDは単独で仮想マシンとサービスを提供するものではない。VMWareやCitrixといった仮想環境の専門企業が展開する仮想マシン環境――たとえば,Citrixなら「Xen
つまり,NVIDIAのGRIDは,VMWareやCitrixの仮想化ソリューションと組み合わせて機能を発揮するもので,その最新バージョンが,今回の主題であるGRID 5.0というわけだ。
仮想化技術を使い,サーバー上で複数の仮想マシンを展開し,その上でWindowsなどのゲストOSを動作させたうえで,その画面をネットワーク経由でクライアントマシン側に送って利用する仮想環境「Virtual Desktop Infrastructure」(以下,VDI)は,すでに多くの企業や学術機関などで,広く使われ始めている。
しかし,ここでひとつ問題となるのが,Windows 10だ。
田上氏によると,Windows 10をゲストOSとして利用すると,Windows 7やそれ以前のWindowsと比較して,仮想マシンのCPU負荷が高くなる傾向があるという。それは,Windows 10がローカルPC上のGPU利用を前提として作られており,同様に一般的なアプリケーション――たとえばOffice 2016やWebブラウザ,Skypeなど――も,GPUを利用するようになっているからだという。
分かりやすい例は,GPUのビデオデコード機能を使う動画再生だ。また,Windows 10におけるウインドウのアニメーションや,スタートメニューの背景が透過する表示なども,今ではGPUを使って描画するのが当たり前のものとなった。
Windows 7までは,こうした画面効果をオフにすることも可能だったが,Windows 10では多くの機能がオフにできなくなっており,ゲストOSの設定で,GPUを使わないようにする手が使えないそうだ。
仮想マシン環境で,かつ仮想GPUによる支援がない場合,こうしたGPUを使う処理はすべてサーバー側のCPUがエミュレーションで処理することになる。また,アニメーションを多用することもあって,Windows 10では,グラフィックスメモリをバッファ用として確保したままにするという。
通常のPCであれば,ほとんど意識することのない負荷にすぎないが,仮想マシン環境では,すべてソフトウェア的にエミュレーションされるため,CPUやメモリ対する大きな負荷がかかってしまうと,田上氏は説明する。
それに対して,NVIDIAのGRIDでは,GPUを仮想化して各仮想マシンに割り当て,こうした処理をサーバー側のNVIDIA GPUで行うため,サーバー側のCPU負荷を大きく下げることが可能になるという。
また,仮に仮想マシンの1台が,GPUをヘビーに使うようなアプリケーションを使った場合も,サーバー側のGPUは時分割(※仮想マシンごとに一定時間GPUを割り当てる方式)で割り当てるため,サーバー側のGPUを占有されてしまうことはないそうだ。
仮想GPUが有するこうした利点を挙げて,田上氏は「Windows 10のVDIには,ぜひNVIDIAのGPUを」とアピールしていた。
たとえば,16GBのグラフィックスメモリを搭載するサーバーであれば,1GB(Pascal系の分割最小単位)に設定すると仮想マシン16台分,512MB(Maxwell系の分割最小単位)では,仮想マシン32台分となる。
なお,NVIDIAでは,今後予定しているGRIDのバージョンアップによって,仮想GPUのモニタリング機能や,仮想マシン環境のマイグレーション※への対応を予定しているとのことだった。
※実行中の仮想マシンイメージを他の物理サーバーに移動して実行させること。ハードウェア障害などの場合に利用する。
GRID 5.0では,仮想マシン上でCUDAアプリケーションを利用できるように
田上氏は,GRID 5.0で導入されたアップデートのポイントについても説明した。
ただ,CUDAアプリケーションを実行できるのは,Pascal世代のサーバー向けGPUとGRID 5.0を組み合わせた場合に限られるそうで,Maxwell世代のGPUにGRID 5.0を組み合わせても,CUDAアプリケーションを実行できるようにはならないという。
CUDAに限らず,GRID 5.0では,サーバー上のGPUリソースをグラフィックスアプリケーション以外にも利用できるようになったのが大きな特徴で,VDIやCADアプリケーションといった既存の用途だけでなく,深層学習のようなAI用途も,仮想GPUを使った仮想化環境で実行できるようになるということだった。
仮想化ソリューションは,企業や学校に高性能なPCを大量導入することなく,多くのユーザーにハイスペックなPC環境を提供できるものだ。これに仮想GPUが加わることで,OSやアプリケーションによっては快適に動かないという問題が――ゼロになることはないにしても――なくなれば,PCを使った仕事や学習は,より便利になるようになるだろう。
こうした技術は,将来的にNVIDIAが展開するクラウドゲームサービス「GeForce NOW」にも反映されるであろうから,ゲーマーにとっても間接的に恩恵をもたらすはずだ。
NVIDIAの仮想GPU技術に関する情報ページ
- 関連タイトル:
NVIDIA RTX,Quadro,Tesla
- 関連タイトル:
GeForce NOW
- この記事のURL:
Copyright(C)2010 NVIDIA Corporation