banner
ニュース センター
このレベルの品質をこれ以上の価格で提供することはできません。

エクサスケール コンピューティング プロジェクト: パゴダがスケーラブルなデータ構造と積極的な非同期通信で PGAS プログラミングを更新

Dec 23, 2023

2023年8月31日

2023 年 8 月 31 日 — パゴダ プロジェクトは、プログラマーがパーティション グローバル アドレス スペース (PGAS) モデルを使用して高性能アプリケーションを実装するために使用するソフトウェアを研究および開発しています。 このプロジェクトは主にエクサスケール コンピューティング プロジェクト (ECP) によって資金提供されており、産業界、政府機関、学術界のパートナー プロジェクトと連携しています。 [1]

PGAS は、グローバルに共有されるアドレス空間をサポートして生産性を向上させると同時に、ローカル データ アクセスとリモート データ アクセスを区別して最適化の機会を提供するプログラミング モデルです。 この特徴により、不均一な通信コストを意識しながら、分散型異種コンピューティング環境でのデータへのアクセスが容易になります。 プログラマーにとって、PGAS は両方の長所を提供し、単にデータ構造をメモリに割り当てて CPU と GPU デバイスの両方で透過的に使用することも、データを計算ハードウェアの近くに明示的に配置してコストのかかるデータ転送を回避することもできます (実行時間と消費電力の増加という点で)、パフォーマンスとスケーラビリティが制限される可能性があります。 このため、PGAS は、DOE エクサスケール スーパーコンピューターなどの大規模な並列アーキテクチャでパフォーマンスを最大化し、スケーラビリティをサポートする必要がある多くのアプリケーションにとって優れたフレームワークになります。

アプリケーションドライバー

多くの科学アプリケーションには、適応メッシュ、疎行列、ハッシュ テーブル、ヒストグラム、グラフ、動的ワーク キューなどの不規則なデータ構造への非同期更新が含まれます。

プログラマは、メモリの局所性を利用する最も効率的な方法を決定するためにデータ構造について十分に知っている場合があります。 PGAS モデルを使用すると、プログラマはこれらのデータ構造の配置を明示的に管理して、たとえば個別の GPU のメモリ内でパフォーマンスを最適化できます。 あるいは、プログラマはあまり気にしないかもしれません。 この場合、彼らが本当に望んでいるのは、データにアクセスして計算を続行することです。 このアクセスして続行するシナリオでは、PGAS メモリ モデルはデータへの便利なアクセスを自然にサポートします。

残念ながら、すべてのメモリ アクセスを分類するのはそれほど簡単ではありません。 PGAS モデルは、データへのアクセスのパフォーマンスが非常に重要であるにもかかわらず、データの移動が複雑すぎて不規則すぎて予測できない場合に、複雑なデータ アクセスの問題に対処するために必要なツールをプログラマーに提供します。

技術紹介

異種コンピューティングの急増と、それに伴う複数ベンダーのハードウェア製品の複雑さにより、プラットフォームの多様性が組み合わせ的に爆発的に増加しています。 プログラマーの観点から見ると、各データセンターとスーパーコンピューターは、高いパフォーマンスを達成するためにデータ配置において非常に特殊な最適化を必要とする場合があります。 プログラマがこの組み合わせの移植性の課題に対処できるよう支援するために、Pagoda ソフトウェア スタックは、ポータブル通信層、GASNet、UPC++ および Berkeley UPC 生産性層を提供します (図 1)。

ガスネット-EX

GASNet-EX は、20 年前の GASNet-1 PGAS コードベースおよび通信システムのアップデートです。 このアップデートの一環として、GASNet インターフェイスは、エクサスケール スーパーコンピューティングの新たなニーズに対応し、現在および将来の HPC アーキテクチャ上のさまざまな PGAS プログラミング モデルの通信サービスをサポートするように再設計されました。 この取り組みには、ソフトウェア インターフェイスの大幅な再設計に伴う実装の見直しが含まれます。

この再設計の動機となる目標と、GASNet-1 クライアントの下位互換性には以下が含まれます。

GASNet は多くのプロジェクトで採用されているため、互換性は重要です (図 2)。 GASNet-EX API は、クライアントの要件およびハードウェア機能とセマンティックが厳密に一致しており、HPC で対象となるネットワークのネイティブ API 上に直接実装されているため、競合ライブラリよりも優れたパフォーマンスが得られることがよくあります。

ローレンス バークレー国立研究所 (バークレー研究所) の応用数学および計算研究 (AMCR) 部門のコンピューター システム エンジニア 5 であり、ECP パゴダ プロジェクトの PI である Paul Hargrove 氏は、「-EX」で示される変更は、アプリケーションと HPC がどのように変化したかに対処していることを観察しました。過去20年間で変わりました。 たとえば、メモリの種類は、リモート メモリ アクセス (RMA) に GPU メモリへの取得と GPU メモリからの書き込みがどのように含まれるかを表現するのに重要です。