理化学研究所(理研)のスーパーコンピュータ(スパコン)「富岳」は、スパコンの性能ランキングの1つである「Graph500」において9期連続で1位を獲得している。
この偉業達成の裏では、NTTが開発したアルゴリズム「Forest Pruning」が活用されているという。富岳は、2021年3月から供用が開始され、すでに3年以上が経過しているが、性能は引き続き向上していることになる。
Graph500は、大規模かつ複雑なデータ処理が求められるビッグデータ解析に関する指標であり、2024年5月に発表された最新のランキングでは、富岳全体の95.7%に当たる15万2064ノードを使用し、16万6029GTEPSを達成。前回の2023年11月のランキング時点から性能を約20%向上させている。
理研では、「BFS(幅優先探索)の結果に影響を与えずに不要な頂点を削除する前処理を新たに導入したことで、性能が向上している」とのコメントを発表していたが、ここにNTTの技術が活用されている。
グラフとは、頂点と枝によって、事物のネットワーク構造を示したデータであり、たとえば、鉄道の路線では、駅を頂点とし、線路を枝と定義し、グラフとして表現できるほか、道路網も交差点を頂点に、道を枝にすることで、グラフとして表現できる。NTTコンピュータ&データサイエンス研究所 主任研究員の新井淳也氏は、「知識もグラフとして表現でき、購買履歴や通信履歴、金融取引などを組み合わせたグラフによる表現も可能である。目的地まで最適な行き方を割り出したり、知識グラフを使って、AIが質問への回答を生成したり、サイバーセキュリティの不正検知なども応用されている。グラフはAIやセキュリティなど、さまざまな分野で利用される大事なデータである」という。
また、BFSは、グラフ処理における最も基礎的な要素技術で、与えられた始点に近い頂点から、順にグラフの全頂点を訪問するといった処理を行い、訪問経路を最短経路で示す「BFS木」として表現。BFS木をもとにした巨大なグラフに対応するには、スパコンと効率的なプログラムが必要になる。
富岳に実装したNTTの「Forest Pruning」は、同社が10年以上に渡り研究してきた高速グラフ処理技術をもとに開発したBFSアルゴリズムで、2023年3月に発表。2023年11月からは、富岳におけるGraph500の研究開発グループに参加し、実装を行ってきた。
「BFS木の構築を高速化することを目的とした実装であり、グラフの一部がそのままBFS木に現れることに着目。同じ形で現われる部分を事前に発見することで、BFS木を構築する処理を削減した」という。
事前計算では、入力されるグラフを受け取り、グラフを木の部分と、それ以外の部分に分離。この処理はGraph500の性能計算範囲には含まれない。実際の処理においては、木ではない部分だけを対象にBFSを実行して、BFS木を構築。事前計算で構築した木の部分については、そのままコピーして、接ぎ木のようにして利用する。「従来は3ステップでBFSの処理を行っていたが、1ステップで終了できる。また、木を除いた小さいグラフのなかで処理できるようになるという特徴もある。繰り返し行われるBFSの時間を短縮し、高速化とともに、省電力化を実現できるほか、通常と同じBFS木をコピーするため、近似値などとは異なり、正確に構築できること、木の分離によりグラフを縮小できるため、省メモリで処理ができ、同じシステムでより大規模なグラフを処理できるメリットもある」と説明した。
測定においては、頂点数が約4兆4000億のSCALE42では、約20%の性能向上となり、約8兆8000億のSCALE43では19万8321GTEPSの性能を実現できたという。SCALE43では、グラフの規模が大きいため、富岳ではメモリ量が不足しており計算ができなかったが、Forest Pruningのグラフ縮小の効果と、新たなグラフデータ圧縮技術により、初めて実行に成功したという。
SCALE43の成果については、世界最大級のHPC会議であるSC24において論文として測定結果を投稿し、採択されたという。次回のGraph500からは、SCALE43の結果も投稿する予定だ。
今後は、富岳の共同研究グループにおいて、GPU搭載スパコン向けのプログラム開発を進めるという。また、Forest Pruningのソースコードを公開することになる。
NTTの新井主任研究員は、Forest Pruningの実装について、「木の分離を行う部分がポイントであり、ここでピーク時に消費メモリ量を増やさないことに気をつけた。富岳のような大規模なスパコンでは、特定のノードに通信が集中するとメモリがあふれるため、データを各ノードに分散して配置することにこだわった」という。
また、「2023年の計測では、アップルのM1 Maxでは10%の性能向上を実現し、NVIDIAのRTX A6000では約30%の性能向上の実績があったが、富岳での20%の性能向上は想定していなかった。富岳では頂点が減ったことで、ノード間の通信量が減り、それが性能に影響し、想定を上回る性能向上になった」とした。
「Graph500」は、スパコン「京」の時代から、日本が得意とする分野で、京から富岳への入れ替えの際に、日本にフラッグシップスパコンが存在しなかった時期を除き、世界トップを維持しつづけている。
だが、一時は首位陥落の危機もあったという。2022年11月のランキングでは10万2955GTEPSを達成し、2位を大きく引き離していたが、2023年5月のランキングでは、中国のWuhan Super Computerが12万1804GTEPSを記録。従来性能のままでは2位に陥落する可能性があったが、ソフトウェアによる継続的な性能改善によって、13万7096GTEPSを達成し、首位を維持している。
今回のForest Pruningの実装によって、16万6029GTEPSを達成し、2位との差を広げながら、9期連続で首位の座を維持した。
なお、現在、3位には2024年5月時点で世界最速のスパコンである米国の「Frontier」が、2万9655GTEPSと低い水準に留まっているがランクイン。「Graph500ではソフトウェアの影響が大きい。現時点では、Graph500のカテゴリーにおいて、Frontierの性能を引き出すソフトウェアがないのが理由だと考えている。洗練されたソフトウェアが開発されると、いきなり富岳の性能を超えることも考えられる」と指摘した。