過去46年間、並列コンピューティングと直列コンピューティングの相対的なパフォーマンスに焦点を当てた理論であるアムダールの法則を書き換えようとする多くの試みがなされてきました。ある科学者は、アムダールの法則は超えられる可能性があり、特定の並列コンピューティングモデルには適用されないことを証明したいと考えています。
今週ドイツのライプツィヒで開催される国際スーパーコンピューティング会議で行われる「法則を破る」と題されたプレゼンテーションでは、「特定の状況でアムダールの法則の落とし穴を回避する方法」が示される、とプレゼンテーションの予告となるブログ記事で述べられている。
ドイツのユーリッヒにあるユーリッヒ・スーパーコンピューティング・センターの所長、トーマス・リッペルト氏はブログ記事の中で、今回のプレゼンテーションは「並列コンピューティングにおける新たな種類の実験を通して、アムダールの一般化法則に挑戦する」と述べている。リッペルト氏がプレゼンテーションを主導する。
アムダールの法則とは何ですか?
アムダールの法則は、著名なコンピュータ科学者ジーン・アムダールがIBM在籍時に1967年に確立したもので、特定のモデルに基づいて並列コンピューティングのスケーリング、限界、そして経済性について理解を深めるものです。この理論によれば、計算タスクは並列化された部分に分解することができ、これによりタスクの実行と問題解決が迅速化されます。しかし、タスク実行速度は、並列化できないタスク(コンピュータの場合は逐次タスク)によって制限されます。
「十分な数のハードウェアを並列処理すれば、問題は解決できる。ただし、一部は直列で処理する必要があり、これがタスクの高速化を制限する要因となっている」とインサイト64の主席アナリスト、ネイサン・ブルックウッド氏は述べた。
アムダールの法則の数学では、問題のサイズや計算を実行するプロセッサの性質など、いくつかの条件が一定であると仮定して、並列処理の高速化には限界があると想定しています。
これまでの課題
アムダールの法則は過去にも疑問視されてきました。ジョン・グスタフソンは、プロセッサ間の並列処理において問題のサイズを有意に拡大できるという理解を提示し、アムダールの法則を再評価しました。この系はグスタフソンの法則と呼ばれ、問題のサイズは一定ではなく、並列コンピュータの速度もそれに応じてスケールアップできると仮定しています。グスタフソンは現在、アドバンスト・マイクロ・デバイセズ(AMD)でシニアフェロー兼チーフグラフィックス製品アーキテクトとして勤務しています。
アムダールの法則とその系から導かれる数式は、チップメーカーやソフトウェアメーカーがスーパーコンピュータの性能向上に取り組む際の基準となっています。このような計算能力は、バイオテクノロジーや気象学といった分野における科学的解決策の発見に不可欠です。各国は経済予測や国家安全保障上の理由から、より高速なスーパーコンピュータの開発にも取り組んでいます。
ISCでのプレゼンテーションは、2004年に世界最速コンピュータの座を奪ったBlue Gene/Lのような高性能コンピューティングにおけるシミュレーション向けに、シンプルで効率的なシステムを最適化してきた過去の歴史に端を発していると、リッパート氏は電子メールで述べた。これらのシステムは拡張性とエネルギー効率に優れているものの、並列処理に適さない問題に限定されてきた。

しかし、今回のプレゼンテーションは、スーパーコンピュータの高速化に役立つ高度並列コンピューティングモデルを研究するDEEPプロジェクトの一環として行われた実験に基づいています。このプロジェクトでは、ソフトウェア開発とプログラミングツールの研究に加えて、JUROPA(Jülich Research on Petaflop Architectures)と呼ばれる高性能システムの構築も行われています。
「私のチームは、Bull、Partec、そしてIntelと共同で、非常に効果的なJUROPAシステムを構築していました。このマシンは、一般的に並列性が低い、非常に複雑な問題に最適です。ほとんどのコードは、その中間のどこかに位置しています。私は、これらの概念を統合できるかどうかを調べたいと思っています。異なるアーキテクチャは、並列性に応じて異なるコード部分を割り当てることができます」とリッパート氏は述べた。
スーパーコンピュータの性能は、新しいプログラミングモデルやアクセラレータ、グラフィックカードなどのハードウェアのおかげで向上しました。バルセロナ・スーパーコンピューティング・センターのOmpSSのようなプログラミング言語では、コードは並行処理レベルに応じて構造化する必要があるとリッパート氏は述べています。
リッパート氏は、プレゼンテーションのタイトルにもかかわらず、目的はアムダールの法則に挑戦することではないと述べた。
「むしろ、私たちは(アムダールの法則)を真剣に受け止めていないと思います。適切なハードウェアを対応する同時実行性に合わせて調整する必要があるのは明白です」とリッパート氏は述べた。「このアプローチだけが、最もエネルギー効率が高く、同時にパフォーマンス重視になる可能性を秘めています。」
アムダールの法則を再考する
リッパート氏のブログ記事ではアムダールの法則がどのように異議を唱えられているのかについてはあまり詳しく述べられていないが、学者たちはこの法則が再検討されるのを見るのは常に興味深いことだと述べている。
アルバータ大学コンピューター科学部の准教授ポール・ルー氏は、観察によるムーアの法則とは異なり、アムダールの法則は数学的な意味で「破られる」ことはなく、今でも有効であると語った。
他の数学の定理と同様に、仮定がもはや正しくない場合、その法則は適用されなくなります。「法則が『破られた』ということではなく、その法則がその状況に適用されないということを意味するだけです」とルー氏は述べました。
問題の規模は有意に拡大される可能性がありますが、問題のサイズが固定されている場合もあり、その場合はアムダールの法則が当てはまります。
「固定サイズの問題については、アムダールの法則は現実を厳しく思い出させるものだ」とルー氏は言う。
より高速なコンピュータは、固定サイズの問題の実行時間を短縮するように設計されているが、他に考慮すべき指標もあるとイリノイ工科大学コンピュータサイエンス学部長兼教授のシアン・ヘ・サン氏は述べた。
「アムダールの法則とは、通信やその他のオーバーヘッド(メモリアクセスの遅延、ソフトウェアとハードウェアの遅延など)をプログラムの順次部分でゼロにまで削減したとしても、並列処理によるメリットは依然として非常に限られていることを示す法則です」とシアン・ホー氏は述べた。
「これは並列処理の限界を示しており、ハードウェアをどれだけ改良しても意味がありません」とシアン・ヘ氏は述べた。「グスタフソンの法則によれば、問題規模の拡大を許容すれば並列処理の限界はなくなります。」
Xian-He は Amdahl の法則を再検討し、問題実行の制限としてメモリ制約を導入する Sun-Ni の法則を確立しました。
「しかしながら、長年のメモリウォール問題と新たに出現したビッグデータ問題により、問題規模の拡大はメモリアクセスの遅延によって制限される」とシアン・ヘ氏は述べ、メモリ依存の高速化に対応する必要があると付け加えた。
「つまり、スケーラビリティを向上させるには、データアクセス時間を短縮するようにソフトウェアモデルとハードウェアを再設計する必要がある」とシアン・ヘ氏は述べた。
新しい理論は新しい洞察をもたらしますが、アムダールの法則は基礎を提供します。
「現実の法則や定理はすべて、グスタフソンがそうしたように、常に主要な前提などを再検討しなければなりません。元の法則は依然として有効ですが、系が非常に興味深いものになるかもしれません」と、アルバータ大学のルー氏は述べた。