前回まで、仮想デスクトップ構築の計画段階で陥りやすいポイントのうち、代表的なものを解説してきた。今回から、設計フェーズで陥りやすいポイントを解説していく。

近年の製品技術の進歩により、これまでは仮想化対象から外していたような、3D CADなどGPUを利用するアプリケーションを仮想デスクトップ/アプリケーション上で利用したい、という引き合いが増えてきている。

ハイパーバイザーの機能により、GPUを仮想マシンにパススルーして丸ごと割り当てる仕組みだけでなく、GPUを共有して割り当てるような仕組みが利用可能となったことから、比較的安価に導入できるようになったためである。

だが、全社導入など、OfficeやIEのみを使うような一般ユーザーへの仮想デスクトップの導入の案件でGPUの利用が話題に上ることはほとんどない。

しかし、通常私たちが使用しているパソコンはもう何年も前からGPUが標準で搭載されるようになっている。2010~2011年以降はIntelのCPUにはGPUが統合されており、ユーザーが意識せずともGPUを搭載している状態になっている。

それに合わせて、IEなどのブラウザやOffice、さらにはOSもGPUの存在を前提として最適化が行われている。その状況を意識せずに設計を行うと、実際にアプリケーションをテストする段階で性能問題が発生するケースがある。そこで、今回は、そのための対処について検討すべきポイントを解説する。

CPUを多く割り当てる

仮想PCに実際にはGPUが割り当てられていない場合も、ハイパーバイザーの機能や専用のドライバを導入することで、CPUでGPUの処理をさせ、DirectXやOpenGLの命令を処理することができる。

これにより、GPUの処理が必須である場合にもGPUを搭載しない状態で稼働させることができる。しかし、あくまでエミュレーションとなるため、GPUを利用した場合のパフォーマンスは望めない。

中には、設定でGPUではなく、CPUを使って処理を行うための設定を持つブラウザやアプリケーションがある。それらについては、設定をオフにしたほうが効率的に処理できる場合がある。

IEのソフトウェアレンダリングを使用するための設定

このパターンではCPUのリソースが余分に必要となるため、複数のvCPUを割り当てるなどの対処を行う。過去の設計では1vCPUの構成とすることが多かったが、GPUの搭載と同様に、近年のPCは通常2コア以上のCPUであるため、2vCPU以上の構成とすることは標準と言ってよいだろう。

2vCPUを割り当てることにより、各仮想マシンで使用するCPUリソースが増加する分、アプリケーションが利用可能なリソースが増え、結果としてCPUの使用率が増加する。2vCPUを割り当てただけでマシンのワークロードで使用する計算量が2倍になるわけではないので、集約率が直ちに半分になるわけではないが、集約率への影響は避けられない。

第4回で述べたように、負荷テスト試験を実施するなど、集約率の検討には注意を払う必要がある。負荷テストに利用するLoginVSIのバージョン4.1からは、2vCPUの割り当てを意識したワークロード(Knowledge WorkerないしPower Worker)が用意されているので、その利用も検討する。

仮想PCにGPUを割り当てる

仮想PCにGPUを割り当てる手段としては、大まかには、GPUを専有するGPUパススルーの構成と、GPUを共有するGPU仮想化の構成の2種類がある。下図にGPUパススルーとGPU仮想化のイメージを示す。

GPUパススルーとGPU仮想化

GPUパススルーの構成では、割り当てるGPUをそのまま専有できるため、従来ワークステーションを専有して使っていたようなヘビーなユースケースにも適用できる。ただし、PCIスロットを多く持つラックマウントサーバであっても、ユーザーの集約率は大分低くなる。

GPU仮想化の構成では、対応したGPUをハイパーバイザーの層で共有して割り当てることができるため、パススルーの構成と比較すると集約率を高めることが可能だ。

また、この方式の派生として、AWSやAzureなどのクラウド環境ではGPU搭載インスタンスが用意されているので、該当のユースケースについてはクラウド環境の利用を行うことも検討できる。

物理マシンの利用

GPUが必要なユースケースに対して、仮想マシンではなく、物理マシンに対してリモートでアクセスする構成とすることもできる。

例えば、HP MoonshotなどのようにCPU統合GPUを搭載した高集約型のマシンを利用することで、少ないスペースと電力消費を実現しつつ展開が可能だ。また、該当のユーザーが非常に少ないような場合は、既存の物理端末にエージェントを導入してアクセスするような構成を取ることもできる。

まとめ

ここまで、仮想デスクトップでのGPUの利用方式を確認したが、検討の結果で一部ユーザーのみGPUを割り当てたほうがよい、という結論になることも考えられる。例えば、Adobe PhotoshopなどのGPUの利用が多い部署に対してはGPU仮想化や物理マシンでの提供を行う、などだ。必ずしもすべて同一の方式で統一することはない。

GPUの要求度とユーザーグループごとの方式マッピング

重要なのは、ユーザーのユースケースを検討した上でこれらの検討を行うことだ。どのユーザーグループに対してGPUを割り当てるのか、また、割り当てないことにした場合も、先に述べたように、CPUの割り当てなどで現在の仮想デスクトップに必要なスペックを検討する必要がある。

次回は、仮想デスクトップの設計構築におけるネットワーク帯域幅の検討ポイントについて解説する。

峰田 健一(みねた けんいち)

シトリックス・システムズ・ジャパン(株)
コンサルティングサービス部 プリンシパルコンサルタント

サーバ仮想化分野のエンジニアを経て、シトリックス・システムズ・ジャパンに入社。
主に大規模顧客のデスクトップ・アプリケーション仮想化のコンサルティングに従事している。