オススメ機能
Twitter
お気に入り
記事履歴
ランキング
お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
Windows 10を仮想環境で快適に動かすには仮想GPUが必要になる? NVIDIAが仮想GPUソリューション「GRID 5.0」の最新事情を説明
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2017/11/08 00:00

ニュース

Windows 10を仮想環境で快適に動かすには仮想GPUが必要になる? NVIDIAが仮想GPUソリューション「GRID 5.0」の最新事情を説明

説明会場に展示されていた仮想化対応のグラフィックスカードである「Tesla P100」(左)と「Tesla M60」(右)
Quadro & Tesla
 2017年11月7日,NVIDIAは,仮想GPUソリューション「NVIDIA GRID 5.0」(以下,GRID 5.0)と,仮想化技術の最新事情に関する記者説明会を開催した。その中でも大きなトピックは,仮想マシン環境下でWindows 10をゲストOSとして利用するときの課題と,GRID 5.0で実装された重要な新機能についてである。
 仮想化技術に関する話題の常として,ゲーマーに直接関係する話ではないのだが,NVIDIAのGPU技術に関する話題のひとつとして,簡単にレポートしたい。


Pascal世代で数値演算用製品と仮想化用製品を統合


 まずは,仮想GPUソリューションに対応するNVIDIA製GPUのラインナップに関する話題から取り上げよう。

 NVIDIAのGPUアーキテクチャが,「Kepler」「Maxwell」「Pascal」「Volta」と世代を重ねていき,それにともない演算能力や消費電力当たりの処理性能を高めていったことは,把握しているゲーマーも多いと思う。

コードネームで見るNVIDIA GPUアーキテクチャの変遷。ここには書かれていないが,すでにVolta世代の「Tesla V100」も2017年内発売が予告済みだ
Quadro & Tesla

田上英昭氏(Senior Manager,Visualization Dept. Enterprise,NVIDIA)
 今回の説明を担当したNVIDIAの田上英昭氏によると,Pascal世代のGPUでは,仮想GPU対応についても大きな変更があったそうだ。

 Maxwell世代のGPU(とそれを搭載するサーバー向けカード製品)までは,仮想化用と数値演算用で製品を分けていたという。そう言われて振り返ってみると,Maxwell世代の「Tesla M10」は,仮想GPUソリューション向けの製品であるのに対して,同世代の「Tesla M40」は数値演算用として売り出されていた。
 それがPascal世代になると,分割していた製品ラインを統合し,1つの製品を仮想GPU用途にも数値演算用途にも利用できるようにしたという。そしてPascal世代のTeslaシリーズは,一般的なグラフィックスカード形状の製品に留まらず,小型サーバーやブレードサーバー用途に向けた製品もラインナップするといった具合に,さまざまなサーバーシステムに導入できるよう,製品バリエーションを広げている。
 現在は,深層学習用途向けに展開している「Tesla P100」や「Tesla P40」も,今後は仮想GPU用途にもアピールしていくそうだ。

Maxwell世代の仮想GPUサーバー向け製品。表には書かれていないが,どちらもTeslaシリーズである
Quadro & Tesla

Pascal世代のサーバー向け製品。高密度ブレードサーバー向けにMXMカードのフォームファクタを採用する「Tesla P6」という製品もある
Quadro & Tesla


GPUを幅広く活用するWindows 10やアプリケーションには,仮想GPUが必要となる


 冒頭でも名前を挙げたNVIDIAの仮想GPUソリューションであるGRIDは単独で仮想マシンとサービスを提供するものではない。VMWareやCitrixといった仮想環境の専門企業が展開する仮想マシン環境――たとえば,Citrixなら「XenDesktop」――に対して,サーバー上のGPUを仮想化し,仮想マシン環境内で動作している仮想マシンとゲストOSに対して,GPUの機能を提供する「仮想GPU」ソフトウェアである。
 つまり,NVIDIAのGRIDは,VMWareやCitrixの仮想化ソリューションと組み合わせて機能を発揮するもので,その最新バージョンが,今回の主題であるGRID 5.0というわけだ。

NVIDIAが展開する仮想GPU技術の仕組み。「ハイパーバイザー」の部分は,VMWareやCitrixといった専門企業が提供しており,そこにNVIDIA製の「GRID vGPUマネージャ」というソフトウェアを組み込んで,各仮想マシン(図では仮想PC,または仮想ワークステーション)上のゲストOSに対して仮想GPUを提供する
Quadro & Tesla

 仮想化技術を使い,サーバー上で複数の仮想マシンを展開し,その上で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を使わないようにする手が使えないそうだ。

常にDirectXベースで描画を行うWindows 10は,Windows 7に比べてグラフィックスリソースの使用が32%増加しているという
Quadro & Tesla

さまざまなアプリケーションも,この5年間でグラフィックス利用が進み,より多くのグラフィックスリソースを消費するようになったそうだ
Quadro & Tesla

 仮想マシン環境で,かつ仮想GPUによる支援がない場合,こうしたGPUを使う処理はすべてサーバー側のCPUがエミュレーションで処理することになる。また,アニメーションを多用することもあって,Windows 10では,グラフィックスメモリをバッファ用として確保したままにするという。
 通常のPCであれば,ほとんど意識することのない負荷にすぎないが,仮想マシン環境では,すべてソフトウェア的にエミュレーションされるため,CPUやメモリ対する大きな負荷がかかってしまうと,田上氏は説明する。

Windows 7の場合,アイドル時(Windows 7 idle)はグラフィックスメモリを168MBしか占有していなかったが,Windows 10は,少なくとも229MB以上のグラフィックスメモリを占有する
Quadro & Tesla

 それに対して,NVIDIAのGRIDでは,GPUを仮想化して各仮想マシンに割り当て,こうした処理をサーバー側のNVIDIA GPUで行うため,サーバー側のCPU負荷を大きく下げることが可能になるという。
 また,仮に仮想マシンの1台が,GPUをヘビーに使うようなアプリケーションを使った場合も,サーバー側のGPUは時分割(※仮想マシンごとに一定時間GPUを割り当てる方式)で割り当てるため,サーバー側のGPUを占有されてしまうことはないそうだ。
 仮想GPUが有するこうした利点を挙げて,田上氏は「Windows 10のVDIには,ぜひNVIDIAのGPUを」とアピールしていた。

仮想GPUありの仮想マシン(写真左)と,仮想GPUなしでCPUエミュレーションの仮想マシン(写真右)による動画再生を行い,CPU負荷を見るデモ。少し見にくいが,各仮想マシンのタスクマネージャーを見ると,GPUなし側は非常にCPU負荷が高いのに対して,GPUあり側は大幅に低いことが分かる
Quadro & Tesla

こちらは仮想マシン上でWebブラウザの「Chrome」を起動して,「Googleマップ」の航空写真を表示した状態。GPUありは,マウス操作でマップをスクロールすると,ワンテンポ遅れて追従するといった印象だが,GPUなしは目に見えて遅く,フレームレートも非常に低かった
Quadro & Tesla

今回のデモを動かしていたのは,HPの小型ワークステーション「HP Z2 Mini G3 Workstation」だった。据え置き型ゲーム機よりもやや小さいくらいのサイズで,写真に写っているペットボトル飲料と比べると,どれくらい小さいかが分かるだろう
Quadro & Tesla
 ちなみに,GRIDでは,仮想マシンを設定するときには,あらかじめサーバー上の物理GPUをどのように振り分けるかをプロファイルとして指定しておくようになっている。物理GPUが持つグラフィックスメモリをそれぞれの仮想マシンに割り当てるのだが,その割り当てサイズによって,物理GPUを何台分に分割して割り当てるかの分割数も決まるそうだ。
 たとえば,16GBのグラフィックスメモリを搭載するサーバーであれば,1GB(Pascal系の分割最小単位)に設定すると仮想マシン16台分,512MB(Maxwell系の分割最小単位)では,仮想マシン32台分となる。

 なお,NVIDIAでは,今後予定しているGRIDのバージョンアップによって,仮想GPUのモニタリング機能や,仮想マシン環境のマイグレーションへの対応を予定しているとのことだった。

※実行中の仮想マシンイメージを他の物理サーバーに移動して実行させること。ハードウェア障害などの場合に利用する。


GRID 5.0では,仮想マシン上でCUDAアプリケーションを利用できるように


 田上氏は,GRID 5.0で導入されたアップデートのポイントについても説明した。

GRID 5.0の主な特徴
Quadro & Tesla
 とくに大きなポイントは,仮想マシン上でNVIDIAのGPGPUプラットフォームである「CUDA」,汎用のGPGPU向けAPIである「OpenCL」を使ったアプリケーションを実行できるようになったことだ。「今までできなかったの?」と思う人もいそうだが,できなかったとのこと。
 ただ,CUDAアプリケーションを実行できるのは,Pascal世代のサーバー向けGPUとGRID 5.0を組み合わせた場合に限られるそうで,Maxwell世代のGPUにGRID 5.0を組み合わせても,CUDAアプリケーションを実行できるようにはならないという。

 CUDAに限らず,GRID 5.0では,サーバー上のGPUリソースをグラフィックスアプリケーション以外にも利用できるようになったのが大きな特徴で,VDIやCADアプリケーションといった既存の用途だけでなく,深層学習のようなAI用途も,仮想GPUを使った仮想化環境で実行できるようになるということだった。

GPUを活用する用途のうち,従来のGRIDが対応していたのは左から3つめのコラボレーションまでだった。しかしGRID 5.0以降では,今まで対応できなかった用途にも仮想GPUソリューションを広げていくという
Quadro & Tesla

 仮想化ソリューションは,企業や学校に高性能なPCを大量導入することなく,多くのユーザーにハイスペックなPC環境を提供できるものだ。これに仮想GPUが加わることで,OSやアプリケーションによっては快適に動かないという問題が――ゼロになることはないにしても――なくなれば,PCを使った仕事や学習は,より便利になるようになるだろう。
 こうした技術は,将来的にNVIDIAが展開するクラウドゲームサービス「GeForce NOW」にも反映されるであろうから,ゲーマーにとっても間接的に恩恵をもたらすはずだ。

NVIDIAの仮想GPU技術に関する情報ページ

  • 関連タイトル:

    Quadro & Tesla

  • 関連タイトル:

    GeForce NOW

  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
トピックス
スペシャルコンテンツ
注目記事ランキング
集計:04月25日〜04月26日