世界のスーパーコンピュータとそれを動かす人々


6月 20, 2014

GPUでクラウドを高速化

HPCwire Japan

Tiffany Trader

過去10年間のHPCをヒットする変革技術のリストを思いつくとしたら、クラウドサービスと汎用GPUはかなり高いランクになるだろう。技術計算の実行を仮想マシンで行う考えは少なくとも最初は嫌われ者だったが、メリットについて議論することは難しかった。使い易さ、スケーラビリティ、弾力性、そして従量制の課金はすべてが主要な魅力であるが、まだそこには例えば仮想化のペナルティなどのオーバーヘッドの問題がある。本当の性能の面では、ベアメタルが有利であった。

クラウドの人気が上昇するにつれて、演算ジョブを高速化する汎用グラフィック処理ユニットを使ったGPGPUコンピューティングと呼ばれるものを行った。おそらく、GPUと仮想化の2つの技術は、HPCの負荷の要求を満足させるクラウド環境を作るために組み合わせることができるだろう。ある計算科学者のグループは、まさにこの疑問を調査している。

「我々はGPU化された仮想マシンを提供することで、スーパーコンピューティングとクラウド間のギャップを埋めようとしています。」と、最近公開された論文にチームは書いている。「特に、高度なHPC中心のNVIDIA GPUを直接ゲストVMに提供するために、Xenハイパーバイザーは、特殊ハードウェアに支援されたI/O仮想化を活用するために利用されています。」

GPU化された仮想マシンを試すのはこれが最初ではない。Amazon EC2やいくつかのクラウド・ベンダーはGPUを提供している。しかし、そのアプローチは課題がない訳ではないし、GPUベースのクラウド環境を如何に最適に実装するかについて様々なアイデアがある。

インディアナ大学と南カリフォルニア大学Viterbi School of Engineeringの一部である情報科学研究所(ISI)の科学者チームは、2台のTesla GPUで様々なアプリケーションをネーティブと仮想化モードでの性能比較を行った。実験を実施するために、研究者達は2つの異なるマシンを使った。ひとつはFermi GPDで、もうひとつは新しいKeplerチップを搭載したものだ。いくつかのベンチマークを実行して結果を評価した後に、著者は、GPU対応の仮想マシンは科学的計算のワークフローのレンジで実行可能であると結論付けている。平均すると、性能への影響はFermi GPUで2.8%、Kepler GPUで4.9%であった。

ベアメタル環境と仮想化環境を比較した中で、チームは3つのデータについて検討した。FLOPS、デバイス帯域、そしてPCIバス性能だ。FLOPS試験の部分でさらに顕著な結果のうち、チームは倍精度FLOPSにおいてでも、Kepler GPUはほとんど倍の性能を達成したことを発見した。しかし、さらに多く研究に近づいて適用可能なのは、ネーティブ、仮想化の両モードにおいて、各GPUに生のFLOPSが来る際には、仮想化のオーバーヘッドは0から2.9%の間であったことだ。

他のアプリケーションをテストした際には、性能のペナルティは0パーセントから、場合によっては30 %以上の範囲であった。FFTベンチマークは最もオーバーヘッドが多い結果となった、行列積ベースのベンチマークは仮想化のセットアップに平均2.9%のオーバーヘッドがあった。

デバイスのスピードの面では、生の帯域とサードパーティーのベンチマークで計測したところ、仮想化は「最小もしくは大きな性能への影響はなかった。」

最後の次元が試験されている、PCIエクスプレスバスは研究によるとオーバーヘッドの最大の可能性があった。「これは、VT-dとIOMMUチップのインストラクションセットが、各PCデバイスに対して操作とセキュリティ関連のメカニズムを提供するために、PCIバスと直接インタフェースするためです。」と著者は述べている。「そのため、PCIエクスプレスバスにおけるいかなる全てのオーバーヘッドを調査することが必須なのです。」

これらの結果を分析するにあたり著者は、「すべての抽象化レイヤーと同様に、機能のセットの追加と使い勝手の改善のための必要なトレードオフとして、いくつかのオーバーヘッドは通常、避けられないのです。」と述べている。

GPUを装備した仮想マシンと同じことが真である一方、研究チームはオーバーヘッドは最小であると主張している。Xeonハイパーバイザを使った彼らのNVIDIA GPUのダイレクト・PCI・パススルーは、多くのIaaS環境に明確に導入することができると、彼らは付け加えている。このチームの次のステップは、研究者が独自のプライベート・クラウドを作ることができる狙いをもって、このモデルをOpenStack 新星 IaaSフレームワークに導入することだ。