SC18のExhibitor Forumで、富士通の次䞖代テクニカルコンピュヌティング開発本郚システム開発統括郚長の枅氎俊幞氏がPost-K(ポスト「京」)スパコンに぀いお発衚を行った。

  • 富士通の枅氎統括郚長

    SC18のExhibitor Forumにおいおポスト京スパコンに぀いお発衚する富士通の枅氎統括郚長

ポスト京のゎヌルは、第1に、高いアプリケヌション性胜ず良い電力効率を䞡立させるこずである。第2は、良い利甚性ずよりよいアクセスをナヌザに提䟛するこずである。第3は、前䞖代からの進歩をさせながら、アプリケヌションの互換性を保぀こずであるずいう。

このため、高性胜ず高いスケヌラビリティを持぀カスタムのCPUを開発するこずにした。高性胜のカギは、幅の広いSIMDず高いメモリバンド幅、高いスケヌラビリティのカギはTofuむンタコネクトである。そしお、高い電力効率は7nmプロセスの採甚、電力制埡機胜、最適な資源配分で実珟する。

さらに、Arm ISAの採甚により、Arm甚に開発されたアプリケヌションずのバむナリ互換性を実珟しおいる。

  • ポスト京のゎヌル

    ポスト京のゎヌルは高いアプリケヌション性胜ず高い電力効率を実珟するこずである。そのため、高性胜で高いスケヌラビリティを持぀カスタムCPUを開発する。たた、Arm ISAを採甚し、アプリケヌションのバむナリ互換を実珟する (このレポヌトのすべおの図は、SC18での富士通の枅氎氏の発衚スラむドを撮圱したものである)

このカスタムプロセサは「A64FX」ず呌ばれる。A64FXはArm SVEをサポヌトする富士通が蚭蚈したオリゞナルのCPUコアを搭茉しおいる。そしお、実アプリケヌションで必芁ずなる高い浮動小数点挔算性胜ずメモリバンド幅を持ち、䜎消費電力で、性胜、構成ずもにスケヌラブルな蚭蚈になっおいる。さらに、今埌のアプリケヌションで必芁になるず考えられる半粟床浮動小数点挔算(FP16)やINT16/8の畳み蟌み挔算をサポヌトする機胜を持っおいる。

  • 高性胜なArm CPUずなるA64FX

    A64FXは高性胜なArm CPUで、SVEをサポヌトしお高い挔算性胜を持぀。たた、高いメモリバンド幅を持ち、実アプリケヌションで高い性胜を発揮する。さらに将来のアプリケヌションで必芁になるずみられるFP16、INT16/8の畳み蟌み蚈算のサポヌト機胜を持っおいる

次の衚は、京コンピュヌタ、FX10、FX100ずポスト京ずいう4䞖代の富士通スパコンのCPUの諞元を比范したものである。ポスト京のA64FX CPUは7nmプロセスを採甚し、コアの浮動小数点挔算性胜は57GFlops以䞊、チップ圓たりでは2.7TFlops以䞊ずなっおいる。これは京コンピュヌタのSPARC64 VIIIfx CPUの20倍以䞊の性胜である。たた、ピヌクメモリバンド幅は1024GB/sであり、京コンピュヌタの16倍のメモリバンド幅を持぀。結果ずしおB/F比は0.4ず倧倚数の倧型スパコンよりも高い倀ずなっおいる。

  • A64FX CPUチップの挔算性胜

    A64FX CPUチップの挔算性胜は2.7TFlops以䞊、メモリバンド幅は1024GB/sず、京コンピュヌタの、それぞれ20倍ず16倍ずなっおいる。結果ずしおB/Fは0.4ず京コンピュヌタの0.5ずほが同じ倀を維持する蚭蚈ずなっおいる

A64FXコアのSVEは512bit幅のベクタ挔算パむプラむンを2本持っおいる。そしお、FP64では16積和挔算、FP32では32積和挔算、FP16やINT16では64積和挔算、INT8では128積和挔算を䞊列に蚈算できる。そのため、ピヌク挔算性胜は次の図の棒グラフのようになる。なお、この倀から蚈算するず、クロックは1.8GHzか、それ以䞊ずいうこずになる。

  • A64FXコアは512bit長のベクタ挔算パむプラむンを2組持぀

    A64FXコアは512bit長のベクタ挔算パむプラむンを2組持ち、FP64では57GFlops以䞊、FP32では115GFlops以䞊、FP16では230GFlops以䞊の挔算性胜を持぀。たた、INT16では230Gops以䞊、INT8では460Gops以䞊の挔算性胜を持぀

A64FXのCore Memory Group(CMG)は12個の挔算コアず1個のアシスタントコアを持ち、それに8MBのL2キャッシュが付いおいる。そしおL2キャッシュから1個のHBM2メモリを接続しおいる。たた、L2キャッシュから他のCMGやTofuコントロヌラに぀ながるNetwork on Chipに぀ながっおいる。

なお、蚈算コアずアシスタントコアは物理的には同じものであり、 CMGには13個のA64FXコアが搭茉されおいる。蚈算コアずアシスタントコアの違いは、䜿い方の違いだけである。

チップには4個のCMGが集積されおおり、4個のCMGのキャッシュメモリはコヒヌレントになっおいる。ただし、この図から芋るず各CMGのL2キャッシュはそのCMGに接続されたHBM2のデヌタしかキャッシュしないメモリサむドキャッシュになっおおり、V100 GPUのキャッシュのような動きになるものず思われる。A64FXチップでは、他のCMGに぀ながるHBM2メモリのデヌタもアクセスできるが、性胜的には、自分のCMGに接続されたHBM2を䜿甚する方が性胜高く、そのため、スレッドをCMGに固定するバむンドができるようになっおいるず考えられる。

  • A64FXの構造

    A64FXは4個のCMGをオンチップネットワヌクで接続した構造になっおいる。CMGは12個の蚈算コアず1個のアシスタントコアず、8MBのL2キャッシュからなる。HBM2メモリはそれぞれCMGに぀ながり、各CMGが盎接アクセスできるのは自分に接続されたHBM2だけである。しかし、4個のCMGのキャッシュメモリはコヒヌレンシが保たれおおり、他のHBM2のデヌタをNetwork on Chip経由でアクセスできるようになっおいるず考えられる

A64FXの1次Dキャッシュは、次の図に瀺すように、128バむト境界になっおいないアドレスからのアクセスの堎合も、2぀のキャッシュラむンをうないで、垞に連続する128バむトをフェッチできるようになっおいる。

そしお、Combined Gatherは、次の図の䞋偎に図のように、ギャザヌで集めおくる2぀の芁玠が1぀のキャッシュラむンの䞭にある堎合は1回のメモリアクセスで凊理できるようになっおいる。Combined Gatherがうたく働く堎合は、2぀の芁玠を1サむクルでGatherできるので、Gatherのバンド幅が2倍になる。これらは现かい配慮であるが、地道に性胜を䞊げるこずができる。

  • A64FXの1次Dキャッシュの構造

    A64FXの1次Dキャッシュは、アラむンされおいない128バむトアクセスでも連続128バむトをアクセスできる。たた、Gatherの堎合、2぀の芁玠が128バむトのキャッシュラむンに入っおいれば1回で凊理でき、Gatherのスルヌプットを2倍にできる

富士通のTofuむンタコネクトはリンクバンド幅が6.8GB/sに匷化され、40.8GB/sの泚入バンド幅になった。そしお、TofuむンタコネクトDずいう名前になった。

たた、バリアのためのリ゜ヌスが匷化され、より広範な集団通信アルゎリズムが䜿えるようになった。

さらに通信に際しお、必ずしもメモリを経由せずにキャッシュから盎接Tofuにデヌタを送り出すメモリバむパス機胜がサポヌトされ、通信レヌテンシが短瞮された。結果ずしお、プット型の通信で6.35GB/sのバンド幅、ピンポン通信で0.49ÎŒs0.54ÎŒsずいうレヌテンシを実珟しおいる。

  • TofuむンタコネクトDの抂芁

    Tofuむンタコネクトは匷化され、名前にDが付いた。リンクバンド幅は6.8GB/sで泚入バンド幅は40.8GB/sずなった。メモリバむパス機胜のサポヌトでレヌテンシが短瞮され、ピンポンレヌテンシが0.490.54ÎŒsずなった

A64FXにはチップ単䜍で枬定ができる゚ネルギヌモニタずコア単䜍で枬定ができる゚ネルギヌアナラむザずいう2系統の消費゚ネルギヌ枬定メカニズムが甚意されおいる。゚ネルギヌモニタの方は、ノヌド党䜓の電力やCMGの電力をPower APIを䜿っお読み取るこずができる。読み取り時間はmsオヌダヌである。䞀方、゚ネルギヌアナラむザの方は、コア、メモリ、キャッシュなどの现粒床の゚ネルギヌ消費をPAPIむンタフェヌスで読み取る。こちらはnsオヌダヌの読み取り時間である。

  • ゚ネルギヌ枬定システム

    A64FXはノヌドレベルの電力を枬定する゚ネルギヌモニタず、nsオヌダヌの高速でより现粒床で消費゚ネルギヌを枬定する゚ネルギヌアナラむザを持っおいる

そしお、A64FXはナヌザAPI経由で、各郚のアクティビティを制限するパワヌノブを持っおいる。゚ネルギヌモニタず゚ネルギヌアナラむザの読み取り結果を䜿っおパワヌノブを制埡するこずで、性胜/Wを最適化するこずができる。

次の図の赀色で瀺したデコヌド&むシュヌ、挔算噚、HBM2コントロヌラがアクティビティを制埡できる郚分で、それ以倖にコア党䜓のクロックを䞋げるこずもできる。これにより回路のスむッチ回数を枛らし、消費電力を枛らすこずができる。

  • A64FXの性胜/W最適化技術

    A64FXでは、赀色で瀺すDecode&Issue、4぀の挔算噚矀、HBM2コントロヌラのアクティビティを制限しお消費電力を枛らすこずができる。たた、CMGごずにクロック呚波数を倉えられる。゚ネルギヌモニタず゚ネルギヌアナラむザの読み取りから、これらのパワヌノブを倉えお性胜/Wを最適化する

A64FXのたずめであるが、A64FXはArm SVEをサポヌトする高性胜、高電力効率のCPUであり、FP64の挔算性胜は2.7TFlopsを超える。そしお、行列積を蚈算するDGEMMを90%以䞊のピヌク比率で実行できる。ピヌクメモリバンド幅は1024GB/sで、Stream Triadを80%以䞊のバンド幅で実行できる。

  • A64FXはArmのSVEを実装するプロセサ

    A64FXはArmのSVEを実装するプロセサであり、倍粟床浮動小数点挔算のピヌク性胜は2.7TFlopsを超え、DGEMM蚈算でピヌクの90%を超える性胜を発揮する。ピヌクメモリバンド幅は1024GB/sで、Stream Triadでピヌクの80%を超える

゜フトりェアは理研ず富士通が分担しお開発しおいる。次の図で赀字で曞いたものが理研の担圓分である。富士通はシステムマネゞメント、ゞョブマネゞメントずファむル系を䞭心に分担しおおり、理研は䞊列蚀語などプログラム環境を䞭心に分担しおいる。たた、理研は蚈算コアで動かす軜量カヌネルを分担しおいる。

  • 富士通ず理化孊研究所の圹割分担

    ゜フトりェアは理研ず富士通が分担しお開発しおおり、富士通はマネゞメント系、ファむル系、Linux OSを分担し、理研は軜量カヌネル、プログラミング環境を䞭心に分担しおいる

スパコンのファむルシステムはLustreが䞻流で、それにバヌストバッファを付けお小芏暡アクセスをたずめお性胜を䞊げるずいうのが䞀般的であるが、ポスト京では、それを䞊回る性胜を実珟するため、FEFS(Fujitsu Exabyte File System)ずLLIO(Lightweight Layered IO Accelerator)を䜿甚する。通垞のLustreファむルシステムでは1ノヌドからの泚入バンド幅は12.5GB/sであるがTofuむンタコネクトDを䜿うFEFSでは40.8GB/sのバンド幅を実珟できる。

たた、Lustre+Burst Bufferの堎合はロヌカルのテンポラリファむルをアクセスできないが、FEFS+LLIOなら可胜である。さらにLustre+Burst Bufferの堎合は、ファむルアクセスを明瀺的に曞く必芁があるのに察しお、FEFS+LLIOではマりントするだけでプログラムの倉曎は必芁がない。

  • 富士通のFEFSずLLIO

    富士通のFEFS(Fujitsu Exabyte File System)ずLLIO(Lightweight Layered IO Accelerator)はより泚入バンド幅が高く、バヌストバッファのための゜フトりェアの倉曎も必芁がない

ポスト京システムではファむルアクセスはアシスタントコアが凊理しお、ロヌカルファむルシステムに䜜られたテンポラリファむルやキャッシュをアクセスする。そしお、キャッシュにデヌタがない堎合は、Lustreベヌスのグロヌバルファむルにアクセスしおデヌタを持っおくる。

  • ポスト京ではファむルアクセスはアシスタントコアが凊理する予定

    ポスト京ではファむルアクセスはアシスタントコアが凊理する。そしお、ロヌカルファむルの䞭にテンポラリファむルやキャッシュを䜜るので、これらのファむルのアクセスは高速で行えるようになる

ポスト京システムの構成は次の図のようになっおいる。2個のCPUチップを搭茉するCPU Memory Unit(CMU)が第2レベルで、8個のCMUを搭茉するBoBがあり、3個のBoBがシェルフを構成する。そしお、ラックには8個のシェルフが搭茉される。したがっお、1぀のラックに搭茉されるノヌド数は384である。システム党䜓で、このラックが䜕台になるかは、どれだけ予算が獲埗できるかによっお決たり、ただ、誰にも分からないずいう。

  • ラック圓たりのノヌズ数は384

    CPU1個が1ノヌドを構成し、CMUには2個のCPUを搭茉する。8枚のCMUが1台のBoBに収容され、シェルフには3台のBoBが収容される。そしお、ラックには8台のシェルフが搭茉され、ラック圓たりのノヌド数は384である

次の図がCMUの写真であり、右偎の2個の氎冷コヌルドプレヌトの䞋にそれぞれCPUずHBM2メモリがある。巊偎の銅板の郚分は電源などを冷华するコヌルドプレヌトである。CMUの巊偎から3本の光ケヌブルを接続するQSFP28コネクタが出おいる。

CMUのバックパネル偎には絊排氎のコネクタず電気系のコネクタが付いおおり、CMUを挿入するず氎ず電気が接続される構造になっおいる。

  • ポスト京のCMU

    2CPUを搭茉するポスト京のCMU

次の図は、FX100スパコンのCPUであるSPARC64 XIfxの性胜を1.0ずしたA64FXの性胜を瀺す棒グラフで、巊からDGEMM、Stream Triad、流䜓、倧気、地震のシミュレヌション、FP32で蚈算したマシンラヌニングの畳み蟌み、右端はINT8の䜎粟床蚈算を行った堎合の畳み蟌み挔算の性胜である。

巊偎の各アプリケヌションでは2.5倍から3.8倍の性胜になっおいる。たた、Stream Triadでは840GB/sのバンド幅が埗られおおり、これはピヌクの1024GB/sの82%のバンド幅である。そしお、䜎粟床の畳み蟌みでは9.4倍の性胜になっおいる。

たた、説明は省略するが、この図には性胜向䞊の䞻因が説明されおいる。

  • FX100スパコンのCPUであるSPARC64XIfxを1.0ずしたA64FX CPUの性胜を瀺す棒グラフ

    FX100スパコンのCPUであるSPARC64XIfxを1.0ずしたA64FX CPUの性胜を瀺す棒グラフ。倧郚分のケヌスで2.5倍から3.4倍の性胜ずなっおいる。INT8を䜿う畳み蟌みでは9.4倍で、マシンラヌニングには嚁力を発揮しそうである

ポスト京は富士通の実蚌されたマむクロアヌキテクチャを受け継ぎ、高いアプリケヌション性胜ず高い電力効率を持぀。それに加えお、Armのアプリケヌションがバむナリ互換で利甚できる。

  • ポスト京のたずめ

    ポスト京は富士通のマむクロアヌキテクチャを受け継ぎ、高い性胜ず電力効率をも぀。加えおArmアプリケヌションがバむナリ互換で利甚できる

発衚された工皋衚では、ただ、蚭蚈ず実装䞭ずなっおいるが、珟圚のポスト京の開発状況は、詊䜜チップができ、OSが動いおいる状況で、予定通りに蚭蚈怜蚌が進んでいるずいう。そしお、理研は2020幎の第2四半期ころからアヌリヌアクセスプログラムが開始できるず発衚しおいる。

  • 詊䜜チップの評䟡が進む

    工皋では、ただ蚭蚈ず実装ずなっおいるが、詊䜜チップができ、OSが動いおおり、蚭蚈怜蚌が進んでいる状況。2020幎のQ2にはアヌリヌアクセスが開始できるず理研はアナりンスしおいる

ポスト京に぀いおは、今幎6月にフランクフルトで開催されたISC18でも開発状況の発衚があったが、それに比べるず発衚内容の具䜓性が䞊がっおきたず感じられる。CMUはISC18でも展瀺されおいたが、BoB、シェルフずいう実装の階局が明らかにされ、ラック圓たり384CPU搭茉ずいうのは新たな情報である。

ポスト京のCPUはSVEで浮動小数点挔算性胜を匕き䞊げおいるが、同時に4個のHBM2メモリを搭茉するこずにより、BF比0.4を確保しおいる。これは京コンピュヌタの0.5よりは少し劣るものの、最近のスパコンずしおはメモリリッチな蚭蚈である。

京コンピュヌタが2011幎の登堎から7幎あたり経った珟圚でも、HPCGベンチマヌクで䞖界3䜍を維持しおいるのは、この高いBF比の賜物であり、ポスト京も同じように広範な実アプリケヌションに察しお高い性胜を発揮するこずが期埅される。

たた、A64FXず呌ばれるArmアヌキテクチャのCPUに぀いおも、FP16やINT16/8の䜎粟床の畳み蟌み挔算のサポヌト機胜を持぀こずが明らかにされ、䞀郚のアプリケヌションに぀いおSPARC64 XIfx CPUに比べお2.5倍から3.4倍の性胜を持぀ずいうデヌタが公衚された。

䞀方、電力効率が高いず発衚され、電力調敎のメカニズムも公衚されたが、CPUの消費電力に぀いおは明らかにされなかった。たた、HPL性胜は1ExaFlopsには届かないこずがISC18での発衚で明らかにされたが、䜕ノヌドのシステムになり、どれだけの性胜が出せるかは獲埗できる予算額できたるので、珟時点では、誰にも分からないずのこずであった。