最初のTop500の1位はCM-5

ドイツのマンハイム大学のHans Meuer教授とErick Strohmaier氏は、1980年代中頃からスーパーコンピュータ(スパコン)の設置状況を調査して一覧表を作っていた。一方、Jack Dongarra氏らは、スーパーコンピュータの性能を測るというプロジェクトを始めていた。

この2つの努力を合流させ、スーパーコンピュータの性能を測定して、スーパーコンピュータのリストを作ろうということになり、Top500が誕生した。Top500では、スーパーコンピュータを設置したコンピュータセンターが測定を行い、スーパーコンピュータの諸元と測定された性能などをTop500の委員会に提出する。

Top500の委員会は、測定結果に異状がなく測定値が信用できる場合は、正しい測定が行われているとみなし、提出された測定結果の上位500システムをリストとして公表する。

なお、このTop500リストは6月にドイツで行われるISCと11月に米国で行われるSCというスーパーコンピュータの学会に合わせてアップデートが公表されている。

Dongarra氏らの性能測定はLinpackというプログラムの実行性能を測定するものである。Linpackは64bitの浮動小数点演算を使って1次元の連立1次方程式を解くプログラムで、当初は100元の連立1次方程式を解く時間を測定していたが、スーパーコンピュータの性能が上がるにつれて実行時間が短くなり過ぎ、1000元の連立方程式を解く時間の測定に変更された。しかし、これも数年のうちに実行時間が短くなってしまった。そこで連立1次方程式の未知数の数は任意で、連立1次方程式を解くために必要な演算数(これは未知数の数の3乗で増える)を解くのに必要な時間で割った、1秒当たりの演算数(Flops/s)を性能ランキングに使うという方式になった。

この方式の採用で、12桁に及ぶスーパーコンピュータの性能レンジに対して、同じプログラムで性能の測定ができるようになった。

現在では、最大級のスパコンでは1000万元を超える巨大な連立1次方程式を解いており、現実の問題とマッチしておらず、Top500のランキングと実アプリの性能は必ずしも対応しないという批判もでているが、20年以上も同じ方法で測定されてきたデータは貴重である。

なお、有限要素法などでは、もっと未知数の数が多い連立1次方程式を解いている。しかし、Linpackでは未知数につく係数はランダムに生成しており、ほとんどがゼロでない値であるが、巨大な有限要素法の問題では、大部分の係数はゼロで、非ゼロの係数は僅かという疎な係数行列であるのが一般的である。このため、Top500ではLinpack(プログラムとしてはHigh Performance Linpack:HPL)に加えて疎な係数行列の超巨大な連立1次方程式を解くHPCGというベンチマークも測定に加える方向に動いている。

このTop500の第1回のリストは、1993年6月のISCで発表され、59.7GFlopsの性能を達成したLos Alamos国立研究所に設置された1024ノードのCM-5システムが第1位となった。この時に解いた連立1次方程式は52,224元であった。

これに対して、2018年11月にOak Ridge国立研究所(ORNL)のSummitが解いた問題は16,693,248元で、性能は143,500,000GFlopsである。これは1993年のCM-5の記録の約240万倍の性能である。

  • Summit

    2019年11月版のTop500で4期連続トップを獲得したORNLに設置されている「Summit」 (出所:TOP500 Webサイト)

(次回は1月10日掲載予定です)