本年度は、アプリケーションのメモリアクセスパターンをもとに通信最適化を行う技術について、研究開発を行った。アプリケーションのメモリアクセスパターとしては、個々のプロセスがほぼ規則的な一連の一対一通信を何度も繰り返すものと、集団通信と呼ばれる全プロセスによる通信を行うものが多かったため、これらの通信について最適化手段を検討した。 一対一通信では、通信路における衝突が原因となって、アプリケーションの性能を低下させる事例が多かったため、この衝突を回避する手段として、ランク配置の最適化技術について研究開発を行った。従来、通信衝突を回避する手段としては、すべての通信について通信量と通信距離の積を計算し、その総和が最少になるようにランク配置を行う手法が提案されてきた。しかしこの手法では、実際にどのタイミングでどの通信が発生したか、という時間軸での情報が欠けており、正確な衝突回避が行えない。そこで、同時に発生する可能性のある通信の間で、同じ通信路を用いる通信を割り出して、ランク配置を行う手法を開発した。このランク配置最適化による効果を、従来の時間軸を考慮しない最適化と比較し、Tree構造のトポロジにおいて、より高い効果が得られることを示した。一方、メッシュ構造のトポロジでは、パケット優先度に関する想定が実機と計算式で異なったため、十分な効果が得られなかった。今後、計算式の改良により、メッシュやトーラス構造でも効果を確認する予定である。一方、集団通信では、内部の実装アルゴリズムの選択が性能に大きく影響することが分かった、また、アルゴリズムの優劣が、プロセス数やメッセージサイズだけでなく、プロセスの配置やネットワークの混雑状況で変化することも分かった。今後、これらを加味して最適なアルゴリズムを選択する技術の研究開発をする予定である。
|