従来の大規模並列コンピュータは、古典的な科学シミュレーションが要求する高精度な計算をサポートしてきた。しかし、近年、データ量が多い一方、計算精度を従来ほど高く要求しない類のビッグデータ処理や並列処理計算が劇的に増加している。 本研究では、これらの計算処理系がビット化けによる誤りを訂正せずに放置するApproximate Computing向けに設計されたネットワークにおいて正しく動作し、実行結果の大勢に影響しないようにするための要素技術を開発した。具体的には、研究代表者がApproximateネットワーク設計を担当し、海外共同研究者のHenri Casanovaが計算機上で実行する並列アルゴリズムの開発を担当するコデザインを行った。その結果、本ネットワーク内では、エラー検出訂正を行わない(原則再送を行わない)ネットワークのケーブルを単方向リンクで構成する通信方式が有利であることが分かった。具体的には、単方向リンクネットワークは、従来手法である双方向リンクでネットワークを構成した場合と比べて、経由するスイッチ数を削減、すなわち、ホップ数を削減できるため、エラーの発生確率が小さくなり、有益なことがわかった。 一方、一部の科学技術計算のカーネルプログラムではプログラム実行中に1ビットのエラー発生のみが許容できるなど、エラー耐性が小さいことが分かった。そのため、アプリケーションが要求するQuality of Results (QoR) を満たすようにプログラムの改良を行った。具体的にはQoRの要求が厳しいアプリケーションに対しては、ランタイムで計算ノードが検算を行うことでエラーから回復するAlgorithm-Based Fault Tolerance (ABFT) 技術を適用し、Approximateネットワークで十分に完動できるように拡張を進めた。
|