次世代計算システム開発室

ペタを超えエクサフロップスに向けた実証研究

室長 朴 泰祐 教授

並列型スーパーコンピュータシステムのピーク演算性能は、ノード(プロセッサ)性能×ノード数によって表されます。これまでノード数を増やすことで性能向上を追求してきましたが、電力消費や故障率などの問題があり、単純なノード数増強による性能向上は限界に近づきつつあります。現在の100ペタスケールを超えてエクサスケールを達成するには、数十万〜数百万ノードにおける耐故障技術を確立することと、ノード単体の演算性能を数十TFLOPSレベルにする必要があります。後者を達成するためには演算加速機構が有望で、これによりシミュレーションのステップあたりの時間短縮(strong-scaling)が可能になると考えられます。

次世代計算システム開発室では、密結合並列演算加速機構アーキテクチャ(TCA: Tightly Coupled Accelerators)の研究開発と、密結合並列演算加速機構実証システムHAPACS/TCAの運用を行うことで、エクサフロップスに向けた実証実験を行ってきました。現在、このコンセプトを発展させ、FPGA (Field Programmable Gate Array)を高性能並列処理と通信処理に用いる、Accelerator in Switchアーキテクチャによるシステム開発を進めています。これは、従来のCPUとGPUの組み合わせだけでは、柔軟性の不足、並列度の部分的な不足、並列通信ボトルネック等の理由により、十分な演算加速が行えなかったアプリケーションに対し、FPGAを補完的に用いることで理想的な演算加速を行うというコンセプトです。ここでは、FPGAを以下のような多様な目的で用います。このコンセプトに基づき、2017年度よりAiSの実証実験のためのミニクラスタである PPX(Pre-PACS-X)を開発・拡張し、コンセプトの有用性とそれに基づくシステムソフトウェア及び典型的なアプリケーションの開発を進めています。

高性能ノード間通信

近年のFPGAは100Gbpsクラスの通信チャネルを複数持つことが可能で、これを積極的に用いた高バンド幅・低レイテンシ通信に用います。

FPGAへの部分オフローディング

GPUは大規模な均一並列処理が得意ですが、アプリケーションによってはその実行中に例外処理が多い部分や並列性が不足する部分があり、GPUの性能を十分に活かせません。CPUでは遅すぎ、GPUにも不向きなこのような処理をFPGAでハードウェア処理することにより、最適な機能分散処理をノード内で実現します。

演算加速と通信の融合

  高性能通信と部分オフローディングを同一のFPGA内で実現することにより、通信と演算が密接に関係する処理をFPGA内で処理すれば、従来のGPUコンピューティングでボトルネックとなっていた処理を円滑に行い、strong-scalingを効率的に実現できます。

PPX (Pre-PACS-X)

AiSコンセプトをベースに、PACSシリーズの第10世代システムとしてPACS-X (PACSver.10)システムの実現が計画されています。同コンセプトの実証実験プラットフォームとして、PACS-XのプロトタイプシステムPPX (Pre-PACS-X)を構築しています。PPXは最先端GPUであるNVIDIA社のTESLA P100 GPUカード(一部ノードでは同V100カード)を2台、Intel社E5-2680v3 CPUを2台、Intel社のArria10FPGAを搭載したFPGAボード(一部ノードでは同Stratix10搭載FPGAボード)またはXilinx Kintex FPGAボード、1.6TByteのNVMeストレージからなる計算ノードを持つ、13ノードのミニクラスタです。Arria10またはKintex FPGAからは40Gbps Ethernetを2ポート引き出すことができ、マルチリンクを用いた高速ノード間通信が可能です。一部ノードに搭載されたStratix10ボードには4本の100Gbpsリンクが搭載され、合計400Gbpsもの超高速ネットワークが実現できます。PPXでのFPGAプログラム及びアプリケーションの総合的開発成果は、AiSコンセプトに基づくスーパーコンピュータCygnusに活用されています。

(最終更新日:2019.12.16)