(邦訳:マルチテナントなクラウド環境下でのGPUの第一級計算資源としての抽象化)
鈴木 勇介 |
キーワード
GPU | 仮想化 | クラウド |
[背景]GPUの適用範囲の広がりとクラウド環境での利用
[問題]マルチテナントなクラウド環境における GPU の仮想化
[貢献]GPUの仮想化手法の確立とその利害得失の解明
ディープラーニングなどの機械学習による人工知能(AI)を用いた技術がつぎつぎと実用化されていることはご存知だと思います.世の中の役に立つような機械学習を行うには大量のデータを使って膨大な量の計算をこなさなければなりません.そのような大規模計算を支えているのは,GPU(Graphical Processing Unit)という超並列計算に特化したハードウェアです.この GPUはもともとグラフィックス処理のために開発されたものですが,その高い性能から汎用的な計算にも用いられるようになり,今では機械学習に欠かせないものとなっています.GPUを使って機械学習を行おうと思うと,高価なGPUを何十台も利用する必要があります.企業や大学の研究室で高価なGPUを何十台もとり揃えることは大変です.仮にたくさんのGPUを揃えることができたとしても,保守・管理・運用のコストが馬鹿になりません.こういった計算資源の多重化,共有はまさにクラウド環境の得意分野です.
クラウド環境では,仮想化という仕組みを使って計算リソースの共有を行っています.残念なことに,GPUはその仮想化ととても相性が悪いのです.高い計算性能を出すための仕組みが,クラウドでの仮想化とうまく適合しないのです.博士論文の研究では,この「相性の悪さ」をなんとか手なづけるためのGPUの仮想化について研究を行いました.GPUの仮想化とは,物理的に1つしかない GPUを複数の仮想化されたGPUとして見せることをいいます.クラウドで動作する仮想マシンやコンテナから見ると,あたかも独立したGPUが存在するかのように見えます.このような仮想化を可能にすることで,GPUの持つ高い計算性能をもっと広い分野で利用することができるようになります.たとえば,GPUを使った高性能ネットワークサーバなども実現可能となります.
GPUを仮想化するといっても,それを実現するレイヤや仮想化の手法によって,利害・得失が大きく変わってきます.博士論文の研究では,ハイパーバイザのレベルで仮想化を実現するGPUvm, より上位の実行時システムの階層で仮想化を実現する GLoopという2つの手法を提案しています.さらに,GPUvm完全仮想化による方式と(2種類の)準仮想化による方式を備えています.博士論文の研究では,これらの方式について定性的な側面はもちろん,実際に実装したシステムを用いて定量的にも徹底的に調査・比較を行い,これらの手法の利害・得失を明らかにしています.これらの成果は,クラウド上の基盤ソフトウェア開発者に対して,目的に応じた適切なGPU仮想化手法を選択できるようにするだけではなく,GPUのハードウェア設計者に対しても,将来のGPU設計のための指針を与えるものとなっています.特に,GPUvmは新たな研究基盤として世界中の研究者に利用されています.
[貢献]GPUの仮想化手法の確立とその利害得失の解明
ディープラーニングなどの機械学習による人工知能(AI)を用いた技術がつぎつぎと実用化されていることはご存知だと思います.世の中の役に立つような機械学習を行うには大量のデータを使って膨大な量の計算をこなさなければなりません.そのような大規模計算を支えているのは,GPU(Graphical Processing Unit)という超並列計算に特化したハードウェアです.この GPUはもともとグラフィックス処理のために開発されたものですが,その高い性能から汎用的な計算にも用いられるようになり,今では機械学習に欠かせないものとなっています.GPUを使って機械学習を行おうと思うと,高価なGPUを何十台も利用する必要があります.企業や大学の研究室で高価なGPUを何十台もとり揃えることは大変です.仮にたくさんのGPUを揃えることができたとしても,保守・管理・運用のコストが馬鹿になりません.こういった計算資源の多重化,共有はまさにクラウド環境の得意分野です.
クラウド環境では,仮想化という仕組みを使って計算リソースの共有を行っています.残念なことに,GPUはその仮想化ととても相性が悪いのです.高い計算性能を出すための仕組みが,クラウドでの仮想化とうまく適合しないのです.博士論文の研究では,この「相性の悪さ」をなんとか手なづけるためのGPUの仮想化について研究を行いました.GPUの仮想化とは,物理的に1つしかない GPUを複数の仮想化されたGPUとして見せることをいいます.クラウドで動作する仮想マシンやコンテナから見ると,あたかも独立したGPUが存在するかのように見えます.このような仮想化を可能にすることで,GPUの持つ高い計算性能をもっと広い分野で利用することができるようになります.たとえば,GPUを使った高性能ネットワークサーバなども実現可能となります.
GPUを仮想化するといっても,それを実現するレイヤや仮想化の手法によって,利害・得失が大きく変わってきます.博士論文の研究では,ハイパーバイザのレベルで仮想化を実現するGPUvm, より上位の実行時システムの階層で仮想化を実現する GLoopという2つの手法を提案しています.さらに,GPUvm完全仮想化による方式と(2種類の)準仮想化による方式を備えています.博士論文の研究では,これらの方式について定性的な側面はもちろん,実際に実装したシステムを用いて定量的にも徹底的に調査・比較を行い,これらの手法の利害・得失を明らかにしています.これらの成果は,クラウド上の基盤ソフトウェア開発者に対して,目的に応じた適切なGPU仮想化手法を選択できるようにするだけではなく,GPUのハードウェア設計者に対しても,将来のGPU設計のための指針を与えるものとなっています.特に,GPUvmは新たな研究基盤として世界中の研究者に利用されています.

(2019年6月7日受付)