Making GPUs First-Class Citizen Computing Resources in Multi-tenant Cloud Environments

(邦訳:マルチテナントなクラウド環境下での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は新たな研究基盤として世界中の研究者に利用されています.


 


  
(2019年6月7日受付)
 
取得年月日:2018年9月
学位種別:博士(工学)
大学:慶應義塾大学



推薦文
:(システムソフトウェアとオペレーティング・システム研究会)


Graphic processing unit(GPU)はその高い並列性から,クラウド環境におけるサーバワークロードにも用途が広がりつつある.本研究では,マルチテナントなクラウド環境に向け,GPUを第一級の計算資源として仮想化・抽象化する手法を提案している.この成果はIEEE Trans. on Computersなどに掲載されており,関連する論文の被引用数は計100件を超えている. 


研究生活


システムソフトウェアといったリソースの管理,抽象化などをアプリケーションの下で行うソフトウェアに興味がありました.中でも当時研究室でテーマとして立ち上げようとしていた話,「CPUやメモリに比べいまだOSなどによって計算資源として十分に抽象化されていないGPUをどのように管理しアプリケーションに見せるのか」というのが非常に面白く感じられて研究を始めました.新規性のあることはとにかく誰もやっていないことなので1つ何かを進めるにしても時間がかかり,実際にやっている間はとにかく大変でしたが,開発とは種類の異なる研究でしかできないようなことができ,今振り返るととても満足しています.テーマの考え方, 論文を読んだときにどういうところに着目し,どのような考え方をするのか,自分の研究をどう位置づけるのか,といったことを自分なりに身に付けることができたことは,博士課程まで研究を続けたかいがあったというものでした.また,純粋に研究の面白さにこれだけの時間をかけて向き合うことができたのは博士課程に進む大きな利点であったと思います.