2014 Fiscal Year Annual Research Report
高性能計算リソースの抽象化を実現するランタイムシステム
Project/Area Number |
25280043
|
Research Institution | Nagoya University |
Principal Investigator |
加藤 真平 名古屋大学, 情報科学研究科, 准教授 (70631894)
|
Co-Investigator(Kenkyū-buntansha) |
鯉渕 道紘 国立情報学研究所, 大学共同利用機関等の部局等, 准教授 (40413926)
川島 英之 筑波大学, システム情報工学研究科(系), 講師 (90407148)
|
Project Period (FY) |
2013-04-01 – 2016-03-31
|
Keywords | 高性能計算 / データベース / 抽象化 |
Outline of Annual Research Achievements |
平成26年度は、平成25年度の実績である本研究を構成する個々の要素技術の改善、および統合に向けた研究開発を実施した。特にGPUを用いた仮想メニーコアシステム上でデータベースのクエリを実行するためのシステム設計および実装を行った。今後はソフトウェア定義ネットワークの導入により、トポロジに依存しない仮想メニーコアシステムの実現を目指す。 平成26年度の実績として、GPUの完全仮想化および準仮想化が挙げられる。研究代表者の加藤らが開発したオープンソースのGPUランタイムドライバをベースとして、オープンソースの仮想マシンモニタであるXenハイパバイザを改良し、GPUを仮想化する技術を研究開発した。仮想化の仕組みや仮想マシンのスケジューリング、詳細な性能評価を論文にまとめ、USENIX ATC 2014で発表した。USENIX ATCは、オペレーティングシステムに関する世界トップの国際会議であり、これまで本会議で論文発表している日本人は研究代表者の加藤らのほかにいない。 GPUの仮想化によって仮想メニーコアシステムの研究を進めると同時に、GPUを用いてデータベースのクエリを実行する研究も実施した。具体的には、関係データベースのクエリであるJoinを高速化すべく、GPUを用いた実装を行った。その結果、Hash Joinのような処理は2~3倍程度の高速化に留まるが、Non-Index Joinのような処理は100~200倍の高速化を実現できることを実証した。本研究成果を論文にまとめ、現在、IEEEトランザクションに投稿中である。 そのほかに、ローカルマシンのGPUだけでなく、ネットワーク接続されたGPUを透過的に利用できるようにする研究も実施し、その研究成果をIEEE CPSNA 2014にて発表した。
|
Current Status of Research Progress |
Current Status of Research Progress
1: Research has progressed more than it was originally planned.
Reason
本研究課題を構成する個々の要素技術の研究開発は極めて順調である。更に、個々の要素技術の研究開発に留まることなく、要素技術の統合にも取り組めた。 特に仮想メニーコアシステムの研究開発は順調であり、その成果は世界トップの国際会議であるUSENIX ATC 2014にも採択されたほどである。更にその改良版をIEEEトランザクションに投稿中であり、研究成果の完成度は確実に上がってきている。 また、仮想メニーコアシステム上でのデータベース処理を実現すべく、まずはGPU上でデータベース処理を行う設計と実装を行っているが、こちらも既存研究に比べて一定以上の優位性を示せており、論文としてもまとめられた状況にある。現在、IEEEトランザクションに投稿中であり、今後の展開には大いに期待できる。 ネットワークの抽象化には、ソフトウェア定義ネットワーク技術を活用する方針であり、現状は要素技術としての研究を進めている状況であるが、こちらも著名な国際会議での発表に至っており、順調である。
|
Strategy for Future Research Activity |
今後はデータベース処理を仮想メニーコア上で実行させ、ソフトウェア定義ネットワークを導入した性能チューニングを予定している。概ね、当初の研究計画通りに進んでいるが、複数GPUを包括した仮想化には技術的課題が残されている。 複数GPUを包括的に仮想化する場合、あるGPU上で実行中のカーネルが必要とするデータが別のGPUにある可能性がある。これは実行前に検出できるものではなく、カーネル実行後に発生するイベントとなる。通常のCPU仮想化であれば、この時点でページ違反が起こり、OSに割込みがかかるので、それをトリガーに一旦実行を中断し、別のマシンにあるメモリからデータをロードすることになる。GPUでも同じような手続きが必要になるが、これまでの研究開発により、ページ違反をハンドリングところまでは達成できているが、GPU処理を中断したのち、再開することが困難になっている。これはGPUに存在するレジスタ数や状態管理が複雑であることが原因である。ページ違反後の実行再開ができないと、複数のGPUに跨った包括的な仮想メニーコアの実現はできない。 仮に、この問題が解決できなかった場合の代替案としては、複数のGPUに透過的にアクセスできる仕組みを利活用し、ユーザAPIなどを利用して、うまくデータ管理する仕組みに切り替える予定である。
|
Research Products
(7 results)