今年度は、動的通信最適化技術として、ランク配置に応じて集団通信アルゴリズムを選択する動的最適化技術を研究開発した。集団通信は、CAFやMPIのような分散メモリ型の並列処理環境で行われる通信のうち、多数のプロセス群が参加して行う定型パターンの通信で、特に科学技術計算で多用される。そのため、集団通信の高速化は、並列計算機の効率的な利用に不可欠である。昨年度は、この集団通信の実装アルゴリズムの優劣が、ランクの配置によって変化することを確認した。そこで今年度は、ランク配置とトポロジの情報に基づいたアルゴリズムの性能予測技術と、実行時の計測によるアルゴリズムの選択技術を組み合わせた動的最適化技術を実装し、効果を検証した。アルゴリズムの性能予測では、実行開始時に取得したランク配置の情報と、予め取得していたトポロジの情報から、実行時に律速となるリンクの平均バンド幅を算出し、それに基づいて各アルゴリズムの所要時間を見積もる。その結果、他のアルゴリズムよりも大幅に遅いと予測されるアルゴリズムを選択肢から除外した上で、Farajらが提案したStar-MPIと呼ばれるシステムと同じ技術を用い、選択肢に残ったアルゴリズムのうち最速のものを選択する。提案手法による集団通信の例として、理化学研究所のRICC (Riken Integrated Cluster of Clusters)を対象として動的アルゴリズム選択を行うAlltoall通信関数を実装した。RICCでは、1つのジョブ中のランクを予め定めた連続的なノード群に割り当てるのでは無く、空いている計算ノードに配置してジョブの充填率向上を図っているため、ジョブ毎に相対的なランク配置が異なり、最適なアルゴリズムが変化する。これに対して提案手法は、高い精度で最適なアルゴリズムを選択できることを実験で示した。また、事前にランク配置に応じた性能予測によって選択肢を絞り込むことにより、遅いアルゴリズムを計測対象から排除でき、低オーバヘッドでの動的最適化を実現することが出来た。
|