仮想化道場
GPUの仮想化で変わるCADワークステーション (複数の方式がある仮想ワークステーション)
(2013/9/24 06:00)
複数の方式がある仮想ワークステーション
ワークステーション環境をデータセンターに集約するにあたっては、いくつかの方式がある。まず、1つのサーバー上にいくつかのワークステーション環境を仮想化して集約する方式だ。この場合、サーバー側に必ずGPUが必要になるし、ハイパーバイザーなど、いくつかの追加ソフトウェアが必要になる。
一方、サーバーにハイパーバイザーをインストールせずに、データセンターにブレード型のワークステーションを集積して、シンクライアントやPCなどから1対1でリモートアクセスするやり方もある。この方式では、エンジニアのデスクサイドに置かれていたワークステーションがデータセンターに置かれ、画面とキーボード、マウスがデスクに残るというイメージだ。
したがって、エンジニアの人数分のワークステーションがデータセンターに設置される必要がある。ただ、すべてのワークステーションが同時に高い負荷をかけて作業が行われることは非常に少ない。
このことを考えると、サーバーを仮想化して利用する仮想ワークステーションの方が、1台のサーバーに立ち上げられる仮想ワークステーションの集積率が高くできる。
この仮想ワークステーションを構築する上でも、大きく2つの方式がある。1つ目は、ハイパーバイザーの仮想マシンがGPUを占有するGPUパススルー、もう1つは、ハイパーバイザーが仮想GPU機能を持つ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カードは、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チップが搭載されているプラットフォームを構築することができる。
なお、いくつかのCADソフトウェアでは、仮想ワークステーションでの動作を考えたライセンスを用意している場合もある。このようなライセンスの中には、ワークステーション1台ごとライセンスを割り当てるのではなく、同時に起動しているCADソフトの数でライセンスするものも存在するので、CADソフトを有効に活用することができる。利用されずに余るライセンスがなくなり、コストを抑えることができるだろう。