2020年6月に理化学研究所(理研)と富士通が共同で開発を進める「富岳」が、スーパーコンピュータに関する世界ランキング「TOP500」、「HPCG」、「HPL-AI」、「Graph500」で4冠を達成したことが発表された。4部門で同時に1位を達成するのは世界初の快挙であり、「富岳」が総合的に高い性能を発揮できることを示している。
「富岳」のプラットフォームとなるノードには、スーパーコンピュータ向け命令セットアーキテクチャ「Armv8.2-A SVE」を世界で初めて実装した富士通のCPU「A64FX」が搭載されている。「A64FX」には大量・高速に演算器へデータを供給できる積層メモリ「HBM2」、大規模な同時並列処理を可能とするインターコネクト「Tofuインターコネクト D」を採用。総ノード数158,976(432ラック)で537 PFLOPS(*1)のピーク性能を実現している。
*1: 倍精度理論最高値(ブーストモード;CPU動作クロック周波数2.2GHz)
「富岳」の優位性は、世界最速の性能だけではない。OSにレッドハットのLinuxディストリビューション「Red Hat Enterprise Linux 8 for ARM」(以下、RHEL for ARM)を正式採用することによって、だれでも利用できる高い汎用性と安定性を実現するとともに、アップストリーム(*2)のコミュニティ活動を通して、継続的な性能改善や障害対応が実現されることも、利用者にとって大きなメリットとなる。
*2: オープンソースのコミュニティで開発、メンテナンスしているソースコード
富士通では、「富岳」の開発を通じて培った技術を適用したスーパーコンピュータ製品であるPRIMEHPCシリーズ(*3)を提供している。
*3: 最大で1.3エクサフロップス以上の理論演算性能を実現し、高性能・高拡張性・高信頼性を併せ持つ384ノード/ラックの超大規模システム向け水冷モデル「FUJITSU Supercomputer PRIMEHPC FX1000」と、一般的な19インチラックに搭載可能で導入しやすい8ノード/2Uシャーシの空冷モデル「FUJITSU Supercomputer PRIMEHPC FX700」。
RHEL for ARM対応のスーパーコンピュータの提供によってHPCの世界をどのように発展させようとしているのか?レッドハットのシニアソリューションアーキテクトとして富士通とのアライアンス全体を担当する橋本 賢弥氏と、富士通のLinuxソフトウェア事業部 開発部のマネージャーとして「富岳」のOS開発にかかわった岡本 高幸氏に語っていただいた。
「富岳」で「RHEL for ARM」が採用された理由とは
橋本氏:「富岳」では、汎用的なArmベースのCPUが搭載され、同時にレッドハットのRHEL for ARMを採用し、スーパーコンピュータ性能ランキングで初めて世界4冠を達成しました。「富岳」でのRHEL for ARMの採用に向けてどのような決断があったのでしょうか?
岡本氏:「富岳」の前身である「京」では、世界一の高性能なスーパーコンピュータを開発するという目標に向かって、あらゆることがチャレンジでした。基盤となるハードウェアはもちろん、その上で動作するOSやミドルウェアを含めてすべてを最適化するために専用システムとして開発しました。OSにはLinuxを使いつつ、スーパーコンピュータ用途に最適化させるために、カーネル部分も含めて独自の改良を行い、弊社でメンテナンスを行ってきました。
一方、「富岳」のプロジェクトでは、「京」での経験を生かした一歩進んだ対応として「より多くの人々に使ってもらえること」を目標に掲げ、性能の追求と同時に汎用性を重視してきました。CPUにはスマートフォンやIoT分野で広く使われているArmアーキテクチャをベースとしたA64FX、OSには豊富なオープンソースソフトウェアやISV製品を活用できるLinuxディストリビューションのRHEL for ARMを採用することになりました。 レッドハットは、Armサーバのアーキテクチャが提案され始めた当初から、Arm向けオープンソース開発の標準化活動や、対応するディストリビューションの開発に取り組んでいることから、「富岳」のプロジェクトにおいても適切なパートナーだと判断しました。
橋本氏:レッドハットでは数年前から、社内にマルチアーキテクチャチームという開発部門を立ち上げ、多くのハードウェアアーキテクチャをサポートすることで、お客さまがどのアーキテクチャを選択しても共通のLinux体験を得られるようにする取り組みを進めてきました。RHEL for ARM のリリースもその取り組みの結果で、富士通様をはじめ多くのハードウェアメーカー様と協業して進めています。
岡本氏:マルチアーキテクチャという点では、富士通はすでにx86サーバのFUJITSU Server PRIMERGYでRHELディストリビューションを展開し、HPCシステムとしてPCクラスタを提供しています。x86サーバ上で開発されたLinuxソフトウェアの多くの資産を有効に活用できるという点も、「富岳」でRHEL for ARMを採用した理由として挙げることができるでしょう。
橋本氏:富士通とレッドハットは、エンタープライズLinuxの領域で約20年にわたって強固な協業関係を築いてきました。両社の関係は、単なるパートナーの枠を越えて、エンタープライズLinuxのインテグレーションから、サポートの体制の確立、そしてアップストリームでのLinuxカーネルの開発にまで及んでいます。この関係は、RHEL for ARMの世界においても変わることはないでしょう。
RHEL for ARMのHPC適用に向けたチャレンジ
橋本氏:「富岳」にRHEL for ARMを適用するにあたっては、具体的にどのような問題の解決に取り組んだのでしょうか?
岡本氏:まず、リアルタイム性が要求されるスーパーコンピュータの処理においては、OSノイズ( *4)と呼ばれる現象の抑止が大きな課題となりました。一般的にスーパーコンピュータは、大きな1つの仕事を小さな処理に分割し、多くのノードで並列実行させて高速化を実現しますが、並列実行の際に1つでも処理に遅れが生じると、それにつられて全体の処理に遅れが生じてしまいます。「富岳」の場合は16万近くのノードで処理を行いますので、1つのノードの処理にわずか1ミリ秒の遅れが出ただけでも、全体に大きな影響を及ぼしてしまいます。
*4: OSの内部動作の影響により突発的にアプリケーションの動作遅延が発生すること
OSノイズ問題を解決するためLinuxカーネルのコアな部分の変更が必要になり、オープンソースコミュニティにもそれを受け入れてもらう必要がありました。今回はレッドハットの全面的な協力のもと、Armプロセッサ全体の改善を進めるという大きな取り組みに発展させることで、コミュニティの理解を得てOSノイズを抑止するカーネル修正をアップストリームに反映させることができました。
橋本氏:レッドハットでは「アップストリームファースト」という、必要な変更をアップストリームプロジェクトと製品の両方に反映させていくやり方を強力に推進しています。オープンソースソフトウェアだから自由に改変できるからといって、自社製品のみの改良をするのではなく、必ずその変更が将来にわたってアップストリームの資産として残されるように常に心掛けています。これは、レッドハットに投資すれば同時にオープンソース技術に投資することになり、結果として、レッドハットの存在と関係なく、お客様のオープンソースへの投資が守られ、同時にオープンソースのエコシステムが広がり、発展することを意味します。
岡本氏:「富岳」に向けては、これまで性能重視のスパコンでは考えられなかった仮想化技術を先駆けて採用するために、Virtio-fsと呼ばれるゲスト-ホスト間共有ファイルシステムもレッドハットと共同開発し、スーパーコンピュータ上で仮想マシンを安定的かつ効率的に利用できるようにしました。また、Armのスーパーコンピュータ向け命令セット拡張「SVE(Scalable Vector Extension)」を富士通はArm社のリードパートナーとして開発に協力し、レッドハットの協力によってRHEL ディストリビューションで利用できるようになりました。
橋本氏:富士通もレッドハットも、Armプロセッサに対応するLinux基盤の開発を推進する非営利団体「Linaro」に参加し、Armサーバに最適化されたLinux環境の整備や改善、標準化に積極的に取り組んでいます。そのような様々な協業活動を通じて、Linux そしてRHEL for ARM の機能が拡張されていくことは、非常に喜ばしく思います。
岡本氏:RHEL for ARMにかかわる標準化やアップストリームでのコミュニティの活動は、「富岳」にとっても、富士通のHPCソリューションにとっても大きなサポートになります。実際に、こうした活動によって、富士通が検出した問題だけにとどまらず、富士通にとって未知の問題も含めて継続的に機能が強化され、品質が改善されていくことになれば、スーパーコンピューティングの新しい可能性が切り開かれることにもつながるでしょう。
既に理化学研究所様と弊社の共同プレスリリースでも掲載しておりますが、国立研究開発法人 理化学研究所 計算科学研究センター 松岡聡センター長より以下の言葉をいただいておりますのでご紹介させていただきます。
“「富岳」は最初のコンセプトから10年、プロジェクトの公式な開始から6年の歳月を経て、ようやくほぼ完成に至りました。「富岳」はSociety5.0に代表される、国民の関心事の高い種々のアプリケーションで高い性能が出るように開発しましたが、その結果として、全ての主要なスパコンの諸元で突出して世界最高性能である事を示す事ができました。
今後「富岳」は、スパコンとしてのそれ自身の利用と共に、開発された「富岳」のITテクノロジが世界をリードする形で広く普及し、新型コロナに代表される多くの困難な社会問題を解決していくでしょう。”
◎プレスリリース:
『スーパーコンピュータ「富岳」TOP500、HPCG、HPL-AIにおいて世界第1位を獲得』
HPCの新たな可能性を切り開く
橋本氏:今後、RHEL for ARMにどのような進化を期待しますか?
岡本氏:RHEL for ARMは、標準化活動やコミュニティ活動を通じて、x86サーバと同等の品質や使いやすさを実現できたと考えています。今後は、こうした活動を踏まえながら、RHEL for ARMのさらなる性能強化や機能改善に力を注いでいきます。x86サーバの環境は、すでに何十年にもわたって互換性を保ちながら機能改善が繰り返された結果、ドラスティックなアーキテクチャの変更を望むのは難しいのが現状です。これに対して、64ビットArmアーキテクチャが登場したのはつい数年前のことであり、新たな機能改善を期待できます。
橋本氏:具体的にはどのような機能の改善が考えられますか?
岡本氏: 今後のRHEL for ARMの強化に関しては、たとえば、Hugepage機能のサポート拡充などが考えられます。Hugepageは、CPUがサポートする通常よりも大きなページサイズをアプリケーションで使用できるようにする機能です。RHEL for ARMでも既に2MBページの利用など、x86サーバと同等の機能を提供していますが、今後は、更に大容量の32MBページのサポートなど64ビットArm独自の機能の対応やHPC利用を想定した安定性の更なる向上にも取り組んでいきたいと考えています。
橋本氏:富士通は、「富岳」の技術を採用したスーパーコンピュータ製品を提供していますが、導入を検討されているユーザーの皆さまに対してメッセージをお願いします。
岡本氏:PRIMEHPCシリーズは、「富岳」に採用されたArmベースのプロセッサA64FXを搭載したスーパーコンピュータ製品で、「富岳」と同様にRHEL for ARMを採用しています。「富岳」で実証された高性能なHPCプラットフォームをPRIMEHPCシリーズでもご提供していきます。例えば電磁波解析ソリューションPoyntingを使用した性能測定では、PRIMEHPCシリーズを利用することで解析時間をx86サーバの1/3に短縮できることを確認しています。
今後、PRIMEHPCシリーズが、新薬の開発、防災・減災などの安心・安全な社会の実現、新素材開発やものづくりにおける試作レスの確立など、社会的課題の解決や最先端研究の推進、企業競争力の強化などにご活用いただき、お客様と共に持続可能な社会の実現に向けて、ご提案をしてまいります。
橋本氏:レッドハットとしても、引き続き標準化やコミュニティの活動を通じてRHEL for ARMの強化に取り組むとともに、オープンソースコミュニティの橋渡し役を担うカタリスト(触媒)としてArmサーバのエコシステムを皆さまといっしょに構築できればと考えています。
本日は貴重なお時間をいただきありがとうございました。
[PR]提供:富士通/レッドハット