GPUコンピューティングのNVIDIA、OpenStackでの利用拡大を狙う

2017年9月5日(火)
松下 康之 - Yasuyuki Matsushita
GPUのNVIDIAが、OpenStackからGPUを使うPoCを公開。

NVIDIAのGPUは、単なるPCゲーム用のグラフィックス専用プロセッサーから、より汎用のコンピュート資源として使われるようになっている。例えば、東工大が手がけているスーパーコンピューターTSUBAME 3.0は、トップクラスの性能と低消費電力の両立を実現している。その中で重要なパーツとして演算を行っているのがNVIDIAのGPUだ。しかし一般の企業が求めるサーバー側の演算処理に関して言えば、まだユースケースが限られており、例えば仮想デスクトップにおけるGPU利用などに留まっていた。しかしエンタープライズにおけるサーバーは、すでにプライベートクラウドを活用するステージに入っており、仮想マシン、マルチコアCPUの有効活用というニーズに対しては回答がなかったというのが現状だろう。

このような現状のもと、先日開催された「OpenStack Days Tokyo 2017」で発表された講演に、「GPGPUをOpenStackから利用する」というユースケースが出てきた。これはNVIDIAの協力でPoC(Proof of Concept、概念実証)として検証されたもので、GPUをOpenStackからパススルーして仮想マシンに割り当てるというものであった。今回はNVIDIAの担当者、エンタープライズ事業部ビジュアライゼーション部部長の田上英昭氏、エンタープライズマーケティング シニアマネージャーの佐々木邦暢氏両名にインタビューを行い、サーバーサイドでのGPUの可能性、OpenStackとの連携などについて話を訊いた。

自己紹介をお願いします、

田上:私はNVIDIAでビジュアライゼーション、主にデスクトップの仮想化の製品を統括しています。いわゆるGPUを積んでいないPCにサーバー上のGPUのリソースを割り当ててCADなどを実現するのが仮想デスクトップですが、VMwareのESXiやXen Serverと組み合わせて使うことで、GPUを効率良く使うことができます。

VDI、GRID(仮想GPU)担当の田上氏

VDI、GRID(仮想GPU)担当の田上氏

佐々木:田上がGRIDの担当で私のほうはHPC、つまりHigh Performance Computingのマーケティング担当ということになります。簡単に言うと、映像出力端子を持たないGPUを使ったサーバー側でのコンピューティングを支援するということになります。なので、GPUのインスタンスを提供しているパブリッククラウド事業者さんと仕事をすることも多いですね。

HPC及びディープラーニング担当の佐々木氏

HPC及びディープラーニング担当の佐々木氏

GPUと言うと東工大の松岡教授が開発しているTSUBAMEがGPUを効率良く使っていることで有名ですが。

田上:そうですね。消費電力あたりの処理能力を競うGreen500というスパコンのランキングがありますが、最新のデータでは上位10位のうち8つの団体がNVIDIAのGPUを使っていますので、すでにスパコンの世界ではGPUをグラフィックスではなく効率の良い計算機として使うのが一般的になってきていると思います。並列コンピューティングの領域では、NVIDIAはトップを走っていると言えますね。

佐々木:NVIDIAのGPUは消費電力が高いと言われることも多いです。確かに1台で300Wくらい消費しますけど、処理能力を考慮すれば充分に省電力と言えます。

OpenStackからGPUを使うという話が先日のOpenStack Days Tokyo 2017でもセッションがありましたが、もう少し詳しく説明してください。

田上:あのソリューションはNVIDIAと仮想技術株式会社、それにDell EMCの協力を得て検証を行ったもので、要はOpenStackのクラスターにGPUを入れて、そのハードウェアをOpenStack上の仮想マシンから使うということを実証したものなのです。ただ、これは複数の仮想マシンでGPUをシェアして使うというものではなく、一つの仮想マシンがハイパーバイザーの制御をパスして、特定のサーバーのハードウェアであるGPUを専有することを可能にしたというソリューションです。

佐々木:ディープラーニングのアプリケーションを高速に実行したいというニーズに対して、GPUというのは非常に効果的です。ディープラーニングのような繰り返しの多い処理は、GPUで処理するには最適なのです。そこで、それを実行する際に特定の仮想マシンからGPUを専有することで高速な処理が可能になる。しかもクラウドの基盤としてOpenStackが使える。そういうことを実証したわけです。

サーバー上のCPUのコアを複数の仮想マシンが分け合って効率良く使うという発想ではなくて、一つの仮想マシンにGPUを専有させるということですか?

田上:そうです。実際に想定される使い方は、GPUであっても複数のアプリケーションから効率良く使えるのがベストですよね? ただ現状では、OpenStackで多く使われているハイパーバイザーのKVMではそれができません。VMwareのESXiとXen ServerではvGPUは可能なのですが。もうすぐリリース予定のGRID 5.0という最新バージョンが出れば、その次に予定されているマイナーバージョンアップで、ドライバーがKVMにも対応する予定です。

つまり今のパススルーの技術を使うとOpenStackの仮想マシンからGPUを使うことはできても、複数のプロセスでコアを分け合うことはできません。これでは高価なGPUをサーバーに入れて機械学習をさせようと思ってもクラウド的にうまく活用できない。

佐々木:実際にGPUを使えばディープラーニングは相当高速になりますから、これまで時間を要していた学習の部分が短時間で終わって、色々なモデルで試行錯誤ができるようになります。なのでGPUをうまく使い回すというためには、この最新のドライバーで対応するということが必須ですね。

開発者目線で言うと、例えばディープラーニングをやりたいと思った時にNVIDIAのGPUを使おうとすると、やはりCUDAを利用することになるのですか?

佐々木:ディープラーニングをやる場合には、既存のディープラーニングのフレームワークを使うことになると思いますが、その場合には直接CUDAを使う必要はないですね。CaffeであれChainerであれ、ディープラーニングのフレームワーク自体がCUDAを使って開発されているので、開発者はCUDAを意識してなにかをする必要はないです。ですから、コンテナの上でフレームワークを使って開発されたアプリケーションはそのまま動きますし、OpenStackの上でも動きます。ただ問題はCPUの仮想化と同じようにGPUを仮想化できない、つまり一つのアプリケーションがGPUを専有してしまうことです。そのアプリケーションにとってみれば、GPUを専有できるので高速処理という恩恵を享受できますが、その他のアプリケーションは待たされてしまいます。そこで、「KVMをハイパーバイザーとして使う場合にも仮想化を可能にしよう」というのが、先ほどの最新のドライバーの対応と言う話です。

田上:エンタープライズにとってみると高価なGPUを一つのアプリケーションで専有するのではなく、昼間は仮想GPUを使って複数の研究者がディープラーニングを検証する、夜間になったら本番の大きなデータで学習をさせて推論させるというような柔軟な使い方ができるようになります。その先には、NVIDIAのビジョンとしてユニバーサルGPUというものがありまして、グラフィックス用のGPUもAIのためのGPUも一つのアーキテクチャーで実現できるようになる予定です。そうなれば、これはグラフィックス用のGPU、これはディープラーニング用のGPUというのではなく、一つのGPUで全てのワークロードが実行できるようになります。

そうすると製造するGPUの種類も少なくなり、歩留まりも良くなって価格も下がるし良いことですね。ところでNVIDIAの競合はどこになりますか?

田上:インテルもAMDも競合といえば競合ですが、並列コンピューティングという部分ではいないですね。

佐々木:実際にもしもNVIDIAのGPUと同じような性能を出せるハードウェアが登場しても、NVIDIAはすでに10年以上GPUを最適に使うためのライブラリーであるCUDAを開発者に提供してサポートしています。コミュニティができ上がっていると思うんですね。ですから、その部分をすぐに埋めることは難しいと思います。

最後にNVIDIAにとってのチャレンジとはなんですか?

田上:すでにホンダさんといった大手企業さんに使っていただいていますが、まだGPUを使っていない企業の皆様にもGPUを使っていただきたいと考えていまして、そのためにはキャリア系のクラウド事業者さんにも、もっとGPUのインスタンスを用意していただければと考えています。そうなれば、試しに使ってみようというユーザーさんも出てくると思います。そうすると、クラウド基盤であるOpenStack上で使えることの意味も出てくると思います。その際の使い方はVDIかもしれないし、ディープラーニングかもしれない。柔軟に使い分けができるようになると、さらに利用が拡がると思います。

佐々木:OpenStackの上でGPUがもっと柔軟に使えるようになると、利用が拡がるだけではなくそれを開発する技術者が足らなくなると思うんですよね。従来の開発からディープラーニングの開発に移行する人も出てくると思います。そのためにCUDAだけではなくディープラーニングインスティテュートというハンズオンのトレーニングをやっていますので、それをもっと拡げていきたいと思っています。

チップメーカーであるNVIDIAが、ソフトウェアを中心とした開発者のためのコミュニティ作りが次のステップだと言う。社員の80%がエンジニアでその半分以上がソフトウェアに携わっているというNVIDIAは、ハードウェアメーカーからソフトウェアでドライブする会社になれるのか? 引き続き注目したいと思う。

著者
松下 康之 - Yasuyuki Matsushita
フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

クラウドインタビュー

OpenStack Days Tokyo 2017 関係者が語る本音ベースの座談会

2017/9/1
成功裡に終わったOpenStack Days Tokyo 2017、成功を支えたスタッフと座談会を実施。他のOSSとのコラボレーション、コンテナーの話、さらにアジアでの展開などについて本音で語った。
クラウドイベント

OpenStackDays Tokyo 2017、コンテナへの応用が目立つOpenStackの現状

2017/8/30
日本で唯一のOpenStack Foundation公式のイベント、OpenStack Days Tokyo 2017が2日間にわたって開催された。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています