仮想化道場

GPUの仮想化で変わるCADワークステーション (複数の方式がある仮想ワークステーション)

複数の方式がある仮想ワークステーション

 ワークステーション環境をデータセンターに集約するにあたっては、いくつかの方式がある。まず、1つのサーバー上にいくつかのワークステーション環境を仮想化して集約する方式だ。この場合、サーバー側に必ずGPUが必要になるし、ハイパーバイザーなど、いくつかの追加ソフトウェアが必要になる。

 一方、サーバーにハイパーバイザーをインストールせずに、データセンターにブレード型のワークステーションを集積して、シンクライアントやPCなどから1対1でリモートアクセスするやり方もある。この方式では、エンジニアのデスクサイドに置かれていたワークステーションがデータセンターに置かれ、画面とキーボード、マウスがデスクに残るというイメージだ。

 したがって、エンジニアの人数分のワークステーションがデータセンターに設置される必要がある。ただ、すべてのワークステーションが同時に高い負荷をかけて作業が行われることは非常に少ない。

 このことを考えると、サーバーを仮想化して利用する仮想ワークステーションの方が、1台のサーバーに立ち上げられる仮想ワークステーションの集積率が高くできる。

 この仮想ワークステーションを構築する上でも、大きく2つの方式がある。1つ目は、ハイパーバイザーの仮想マシンがGPUを占有するGPUパススルー、もう1つは、ハイパーバイザーが仮想GPU機能を持つGPUカードをサポートするGRID 仮想GPUだ。

仮想デスクトップには4つの方式があるが、仮想ワークステーションとして利用できるのは、このうち、GPUパススルーと仮想GPUしかない。GPUソフトウェア仮想化、仮想ユーザーセッションの両方式ではGPUを直接利用できないため、CADソフトウェアで使用するには満足な性能を得ることはできない。これらの方式は、ワープロや表計算ソフトウェアなどを利用して定型的な作業を行うオフィスワーカー向けだ
GPUソフトウェア仮想化では、OSが提供する専用のグラフィックドライバを利用するため、Direct XやOpen GLの機能に制限があったり、GPUのフル性能を出すことができないGRID
仮想ユーザーセッションでは、複数のユーザーセッションでGPUを共有する。仮想ワークステーションが必要とする性能は出ない

 GPUパススルー方式は、特定の仮想マシンとGPUをソフトウェア的に結びつける。このため、一度このような設定を行うと、排他的な利用となり、ほかの仮想マシンから利用することはできない。また1ユーザーごとに1枚のGPUカードが必要になるので、現在のサーバーでは、せいぜい2ユーザーしかサポートできず、集積率はそれほど上がらない。

 GRID 仮想GPUは、仮想GPU向けに開発されたNVIDIA GRID K1/K2というGPUカードを利用する方式だ。GRID K1/K2は、複数のGPUチップを搭載して仮想GPU機能をサポートしている。このため、GPUに対する負荷が少なければ、GPUチップの個数以上のユーザー数をサポートすることが可能になるが、CADソフトウェアを動かす場合はGPUに対する負荷が高いため、GPUチップの個数以上のユーザー数を同時にサポートするのは難しいだろう。

 それでも、すべての仮想ワークステーションが同じタイミングで高い負荷の作業をすることは考えがたく、現実的には、GPUチップの個数以上のユーザーをサポートできるのではないかといわれている。物理的にワークステーションをユーザー分設置するよりも、集積率を高くすることができるため、コスト的なメリットがあるわけだ。

GPUパススルーは、ハイパーバイザー上の仮想マシンにGPUをひも付きける。このため、GPUカードは、1つの仮想マシンが占有する
仮想ワークステーションの本命といえるGRID仮想 GPU。NVIDIA GRID K1/K2を利用すれば、ハイパーバイザー上の仮想マシンからGPUを利用することができる
NVIDIA GRIDこそが、GPUをハードウェアレベルで仮想化し、負荷の高い仮想ワークステーションを満足なパフォーマンスで動かす鍵となる
デスクサイドのワークステーションと同じ性能をサーバー上で提供することができる
仮想ワークステーションでも、なめらかなアンチエリアシングをかけた3Dグラフィックが表示される
複雑な質感を3Dグラフィックで表示可能だ
仮想ワークステーションを構築すれば、仮想マシンの必要リソースの増減を自由に行うことができる
自由度の高い仮想ワークステーションを構築することで、CADの遊休ライセンスを削減してコストを落とせる

 現在、仮想デスクトップに向けた複数GPUチップを搭載したGPUカードは、NVIDIA GRIDシリーズしかない。NVIDIA GRIDは、ワークステーションなどのGPUカードとしてスタンダードとなっているNVIDIAのQuadroと同じ機能を持っているため、ユーザーにとっては仮想ワークステーションを構築する上では絶対に欠かせないGPUカードとなっている。

 GRID 仮想GPUで利用するNVIDIA GRID K1には、エントリー向けのQuadro K600相当のGPUが4つ搭載され、NVIDIA GRID K2はハイエンドのQuadro K5000相当のGPUが2つ搭載されている。これが1枚のGPUカードとして提供されているため、1台のサーバーにNVIDIA GRIDを2枚搭載することで、K1の場合、最大8つのGPUチップが搭載されているプラットフォームを構築することができる。

NVIDIA GRIDカードは、1枚のGPUカードに複数のGPUチップが搭載されている。これにより、GPUを複数のユーザーが仮想ワークステーションで利用することが可能になっている

 なお、いくつかのCADソフトウェアでは、仮想ワークステーションでの動作を考えたライセンスを用意している場合もある。このようなライセンスの中には、ワークステーション1台ごとライセンスを割り当てるのではなく、同時に起動しているCADソフトの数でライセンスするものも存在するので、CADソフトを有効に活用することができる。利用されずに余るライセンスがなくなり、コストを抑えることができるだろう。

アプライド・マテリアル社では、世界各地に点在していたデータセンターでCADソリューションを提供していたが、NIVIDA GRIDによりデータセンターを3つに集約した。3000人のエンジニアに対し、性能に不満がないCAD環境が提供されている
単純なコスト比較では、以前のシステムが安かった。しかし、管理面やROIなどを考えれば、NVIDIA GRIDを利用したシステムは運用コストが低減できるため、18カ月の運用で費用を回収することができることが分かった

山本 雅史