本研究課題では、計算科学アプリケーションにおけるプログラミングおよびデータ管理の簡易化を目的とし、(1)メニーコアアクセラレータの仮想化(プロセッサ抽象化)、(2)ソフトウェア定義ネットワークの仮想化(ネットワーク抽象化)、(3)科学データのデータベース化(データ抽象化)の機能を有する高性能計算クラスタ向けランタイムシステムの研究開発を行った。交通流シミュレーションとDNA解析を応用事例として、提案技術の汎用性ならびに仮想化やデータベース化による性能への影響を評価した。 メニーコアアクセラレータには画像処理プロセッサ(GPU)を採用した。提案当初は、複数のノードに跨ったGPUの仮想化を目標としていたが、GPUの構造とデバイスドライバの性質上、ページフォールトのハンドリングが困難ということがわかったため、ノード内にあるGPUの仮想化に焦点を充てた。 ソフトウェア定義ネットワークの仮想化と科学データのデータベース化についても要素研究を進めた。データベースについては表結合のような計算量の多い処理をGPUプログラミングで実装し、制約の強い複雑な結合に対しても10~20倍の高速化を実現したうえで、仮想GPU上で動作させることができた。また、配列データベースに対する窓集約処理を高速化するために再帰的インクリメンタル法を提案し、既存のSciDBに対して64倍程度の性能向上を示した。 ソフトウェア定義ネットワークに関する研究では、ネットワークスイッチで相互接続した典型的なネットワーク構成に対して、スイッチのルーティングテーブルのエントリをリネーミングにより二重化する手法を提案し、マイクロ秒単位での経路の切り替えにより、ユーザジョブの想定したネットワーク構成を超高速に実現することを可能とした。
|