研究実績の概要 |
GPUの仮想化における研究の進展は,GPUを共有し,計算資源として利用することを可能とする.しかしながら,現在のGPUにおけるノンプリエンプティブな性質がGPUの計算資源としての利用を大きく妨げ,バグのある,もしくは悪意のあるGPUアプリケーションのみならず,近年研究において用いられているデザインに則った正当なアプリケーションですらGPUを占有してしまいうる.このような状況下では,マルチテナント環境においてアプリケーションにおいて信頼できる計算資源とは言えず,また,容易に占有がなされてしまう状態では信頼性を求めるアプリケーションを動作させることは出来ない.そこで GPU の状態を保存し回復する手法を用いたGPUアプリケーションのスケジューリングのデザインを検討しフレームワーク, GLoop を実装した.このフレームワークはGPUアプリケーションに新しいプログラミング・モデルを導入し,細粒度でのスケジューリングを可能にする.さまざまな実際のアプリケーションを調査し,GPUを占有するアプリケーションについてGPU eaterと名付けその性質や種類を調査した.そしてGPUの占有の仕方にも複数存在することを発見し,それら幅広いGPU eaterに対してGLoopが適用できるようにGLoopをデザインし,8つのGPU eaterをGLoop上に移植することによってGLoopのプログラミング・モデルが実際に適用でき,アプリケーションのコンソリデーションに用いることができることを実験によって示した.デザイン,実装及び実験を論文にまとめ,採択率23.6%のトップカンファレンスである国際会議ACM SoCC'17にて発表した.また,より新しいP100 GPUにおいて新しいCUDA9.0上で評価し,GLoopが異なる世代のGPUにおいても有効であることを示し,ジャーナル論文として投稿中である.
|