ニュース

富士通、CPUとGPUの計算処理をリアルタイムに切り替えることで計算リソースを適切に活用する技術を開発

 富士通株式会社は9日、生成AIや深層学習などの需要の高まりによる世界的なGPU不足に対応するため、GPUを活用したプログラム処理中においても、高い実行効率が見込める処理に対してリアルタイムかつ優先的にGPUを割り振ることで、CPUとGPUの計算リソースを適切に活用可能な世界初の技術(以下、アダプティブGPUアロケーター技術)を開発したと発表した。

 富士通では、高精度なシミュレーションやAI予測を活用する研究開発においては、スーパーコンピューターやGPUといった高性能な計算機が利用されているが、多くの場合、複数のユーザーが計算機を共有利用しているため、プログラム処理中に別のプログラムを処理すると、メモリ不足によるエラーや複数計算機間の同期タイミングのずれによる計算速度の大幅な低下を招いていたと説明。そのため、プログラムごとに計算リソースを割り当てプログラム終了後に次のプログラムを処理するため、リアルタイム性が求められるデジタルツインや生成AIへの活用が困難だという。

 特に、深層学習などでGPUの需要が高まる一方、GPUで処理した方が高速化するプログラムにも関わらず、GPUリソースや他のプログラム処理などの影響で、GPUの利用がプログラムの一部のみにとどまっているなど、低効率な利用が存在することも課題だったという。

 富士通ではこうした課題に対し、複数のプログラム処理を実行中の場合においても、GPUを必要とするプログラム、CPUで処理しても良いプログラムを、高速化率を予測するなどして区別し、優先度の高いプログラム処理に対してリアルタイムにGPUを割り振る、アダプティブGPUアロケーター技術を開発した。

 例えば、3つのプログラム処理をCPU1台、GPU2台で効率的に行いたい場合、当初はGPUの空き状況に応じてプログラム1と2にGPUを割り振るが、その後、プログラム3のリクエストがあった場合には、性能計測のためにGPUの割り当てをプログラム1から3に変更し、GPUでの処理高速化の度合いを計測。その結果、プログラム1より3にGPUを割り当てた方が全体としての処理時間の短縮化につながることが判明した場合は、プログラム3にGPUをそのまま割り振り、プログラム1にはその間CPUを割り振る。また、プログラム2の終了後はGPUに空きができるため、再度GPUをプログラム1に割り当てるといった、最短でプログラム処理が完了するように計算リソースを割り振ることを実現する。

 これにより、GPUを利用するAIや高度な画像認識などのアプリケーション開発において、グラフAIデータを処理するモデルの学習などを素早く実施できるようになる。

CPUとGPUの割り当て切り替えのイメージ

 さらに、HPCシステム上で複数プログラムのリアルタイムな実行切り替えを行う、世界初の技術となるインタラクティブHPC技術も開発。複数台のコンピューターを協調動作させるHPCシステムにおいて、現在実行中のプログラムの完了を待たずに利用可能とする、複数のプログラムのリアルタイムな実行切り替えが可能となり、リアルタイム性が求められるプログラムの実行にHPCシステムを利用できるようになる。

 従来の制御方式は、各サーバーにプログラム実行を切り替える通信を一つ一つ行うユニキャスト通信を利用しているため、切り替えタイミングのばらつきが発生し、リアルタイムでのプログラム実行の一括切り替えが困難だった。今回、プログラム実行を切り替える通信に一斉送信可能なブロードキャスト通信を採用することで、従来、性能面への影響から実用的にはプログラムの実行切り替え間隔は秒単位であったところを、256ノードのHPC環境において100ミリ秒へと短縮でき、リアルタイムでのプログラム実行の一括切り替えを実現した。適切な通信方式はアプリケーションの要件やネットワーク品質によって変わるため、ブロードキャスト通信による性能向上とパケットロスによる性能低下の度合いを鑑みて、最適な通信方式を選択できる。

 これにより、デジタルツインや生成AI、材料・創薬探索などの分野におけるリアルタイム性が求められるアプリケーションを、HPC並みの計算リソースを用いてより高速に実行できるとしている。

プログラムの実行切り替えに用いる通信方式の違い

 富士通は今後、アダプティブGPUアロケーター技術については、先端AI技術を素早く試せる「Fujitsu Kozuchi(code name)- Fujitsu AI Platform」において、GPUが必要な処理において活用していく予定。また、インタラクティブHPC技術については、富士通の40量子ビットの量子コンピューターシミュレーターにおいて、多数のノードを用いた協調計算を行う部分へ適用予定。

 さらに、シミュレーションやAI、組み合わせ最適化問題のアプリケーションを開発、実行可能な「Fujitsu Computing as a Service HPC」や、サーバー間でハードウェア構成を変更可能な技術であるComposable Disaggregated Infrastructure(CDI)アーキテクチャへの適用も検討し、誰もがリーズナブルで高性能な計算機環境を容易に利用可能な社会の実現を目指すとしている。