SC19のExhibitor Forumにおいて、富士通は新スパコン「PRIMEHPC FX1000」と「PRIMEHPC FX700」を発表した。発表を行ったのは、次世代テクニカルコンピューティング開発本部システム統括部の清水部長である。

  • A64FX

    SC19のExhibitor ForumでFX1000とFX700スパコンを発表する富士通の清水氏

3種類のA64FXスパコンを有する富士通

これで富士通は、FX700とFX1000という商用のスパコンと日の丸スパコンとして開発した「富岳」というA64FXをCPUとする3種のスパコンを有することになる。これら3種のマシンを比較したのが次の図である。

富岳とFX1000はラック1本に384CPUを収容し、水冷になっている。ラックの寸法なども同じであり、塗装などを別にすれば同じマシンである。

一方、FX700は2Uの薄型のラックマウントサーバとなっている。そして、FX1000/富岳が水冷であるのに対してFX700は空冷で、設置が容易になっている。また、システムのインタコネクトはFX1000/富岳は独自開発のToFu Dであるのに対して、FX700は業界で標準的に使われているInfiniBandを使っている。そして、FX1000/富岳のソフトウェアスタックがFujitsu Technical Computing Suiteであるのに対して、FX700はOpenHPC、BCMと書かれている。

どちらもA64FX CPUを使っているが、ソフトウェアスタックは異なるものを使っており、インタコネクトも異なる。FX1000とFX700は一見、同一シリーズのような印象の命名であるが、別シリーズのマシンと考えた方が良いのではないかと思われる。

CrayがCS500にA64FX CPUを搭載するモデルを発表したが、こちらのマシンの構成やソフトウェアスタックはFX700に近く、富士通のビジネスとしてはFX700の方が中心になると見ているのではないであろうか。

  • A64FX

    富士通はFX700、FX1000と富岳という3つのスパコンを持つ。FX1000と富岳は同じハードウェアの水冷マシンであるが、FX700は2Uのラックマウントサーバで、空冷である (出典:このレポートのすべての図は、SC19における富士通の清水氏の発表スライドを撮影したものである)

パッケージ1個で1つの計算ノードを構成するA64FX

一応、おさらいであるが、A64FX CPUはTSMCの7nmプロセスで作られ、48個の計算コアと4個のアシスタントコアを搭載するメニ―コアチップである。アシスタントコアと計算コアは物理的には同じコアで、使い方の違いで分けられている。ArmのSVEベクトル演算命令をサポートするプロセサコアで、64bitの倍精度演算で2.7+TFlopsの演算能力を持っている。

メモリは3D積層のHBM2を4個使っており、容量は32GiB、メモリバンド幅は1024GB/sである。ノード間接続を行うToFu DインタコネクトのインタフェースもCPUチップに内蔵しており、A64FXのパッケージ1個だけで1つの計算ノードを構成する。なお、FX700では、ToFu Dインタコネクトの回路は使っておらず、別途、InfiniBandのNICを取り付けていると思われる。

  • A64FX

    A64FX CPUは48個の計算コアと4個のアシスタントコアを持つ。DP演算性能は2.7+TFlops、メモリはHBM2を使っており、1024GB/sのメモリバンド幅を持つ

ソフトウェアにおける理研と富士通の役割分担

富岳のソフトウェアは、次の図に示すように、理研と富士通で分担して開発している。大規模スパコンでは、割り込みなどによって処理時間が長くなるノードが出てくると、並列に計算を行っているすべてのノードの処理の完了は一番遅いノードに引っ張られてしまう。このような待ち時間による処理時間のばらつきをOS Jitter(ジッタ)という。

このため、理研はOS Jitterの小さいMcKernelという軽量OSを開発し、計算コアではMcKernelを使っている。一方、IO処理などの割り込みが必須な処理もあるので、こちらはアシスタントコアでLinuxを動かして実行する。

マネジメントソフトウェアやファイルシステムの開発は富士通が分担している。プログラム開発環境は並列プログラミング言語のXcalableMPとMPI通信用のMPICHは理研が開発しており、残りの部分は富士通が開発している。

  • A64FX

    富岳のシステムソフトウェアは理研と富士通で分担して開発を行っている。OS Jitterの小さいMcKernelや並列言語のXcalableMPなどは理研が開発し、マネジメントソフトウェアやファイルシステム、XcalableMP以外の言語は富士通の担当である

FX1000のシステムソフトウェアと富岳のシステムソフトウェアの違いは、この図のレベルの表現ではLLIOと書かれたNVM(不揮発メモリ)ベースのファイルIOのアクセラレータの有無で、富岳にはあるが、FX1000には書かれていないという違いがある。

これは、高速のNVMメモリをファイルIOのキャッシュのように使って速度を上げるアクセラレータであり、大規模なスパコンでは必要性が高い。

  • A64FX

    FX1000のソフトウェアスタック。富岳の図と比較するとNVMを使うファイルシステムのアクセラレータであるLLIOが無い

FX700は、次の図のように、2個のA64FXチップを搭載したモジュールを2個並べて、さらに2段積みにしており、2Uの筐体に8個のA64FX CPUを収容している。空冷であるので、FX1000のように冷却水の給排水の工事が不要で、設置が簡単である。しかし、ラックに20台のFX700を搭載しても160 CPUであり、1本のラックに384CPUを収容するFX1000の方が設置密度は2倍以上高くなり、大規模なシステムを構成する場合はFX1000の方が適している。

そして、FX700は、前にも述べたように業界標準のInfiniBandネットワークを使い、OpenHPCやBright Cluster Managerなど、オープンなソフトウェアを使っている。

  • A64FX

    FX700の概要。2Uのラックマウントシャシーに、A64FXチップを2個搭載するモジュールを4個収容し、最大8CPUを搭載できる。空冷であるので、設置が容易である。インタコネクトはInfiniBandで、ソフトウェアもREHL8、OpenHPC、BCMなどを用いている