このドキュメントでは、ハイ パフォーマンス コンピューティング(HPC)ワークロード向けの Google Cloud のストレージ オプションと、並列ファイル システムを HPC ワークロードに使用するケースについて説明します。並列ファイル システムでは、複数のクライアントが並列 I/O パスを使用して、複数のネットワーク ストレージ ノードに保存された共有データにアクセスします。
このドキュメントの内容は、データ集約型 HPC ワークロードのストレージを設計、プロビジョニング、管理するアーキテクトと管理者を対象としています。このドキュメントでは、ネットワーク ファイル システム(NFS)、並列ファイル システム、POSIX、HPC アプリケーションのストレージ要件に関する概念的な理解があることを前提としています。
HPC とは
HPC システムは、複数のコンピューティング リソースを集約することで、大きな計算問題を迅速に解きます。HPC によって、ヘルスケア、ライフ サイエンス、メディア、エンターテイメント、金融サービス、エネルギーなどの業界で研究とイノベーションが促進されます。研究者、科学者、アナリストは、HPC システムを実験、シミュレーションの実行、プロトタイプの評価に使用します。HPC ワークロード(地震処理、ゲノミクス シーケンシング、メディア レンダリング、気象モデリングなど)では、より増加したデータレート、より低下したレイテンシで大量のデータを生成してアクセスします。高パフォーマンス ストレージとデータ管理は、HPC インフラストラクチャの重要な構成要素です。
Google Cloud の HPC ワークロード向けストレージ オプション
オンプレミスで HPC インフラストラクチャをセットアップして運用することは、費用がかかり、継続的なメンテナンスが必要になります。また通常、オンプレミスのインフラストラクチャは、需要の変化に合わせて迅速にスケーリングできません。オンプレミスのハードウェアの計画、調達、デプロイ、デコミッションには、かなり時間がかかるため、HPC リソースの追加に遅れが生じることや、処理能力の不足につながります。クラウドでは、最新のテクノロジーを使用する HPC インフラストラクチャを効率的にプロビジョニングし、容量をオンデマンドでスケーリングできます。
Google Cloud と Google の技術パートナーでは、クラウドに HPC インフラストラクチャをデプロイし、オンプレミスの HPC インフラストラクチャを強化するための、コスト効率、柔軟性、スケーラビリティに優れたストレージ オプションを提供しています。科学者、研究者、アナリストは、必要に応じて、プロジェクト向けの追加の HPC 容量をすぐに利用できます。
Google Cloud に HPC ワークロードをデプロイするには、ワークロードの要件に応じて、次のストレージ サービスとプロダクトから選択します。
ワークロード タイプ | 推奨されるストレージ サービスとプロダクト |
---|---|
低レイテンシでデータにアクセスする必要があるが、共有データセットに対して厳しい要件の I/O を必要とせず、クライアント間のデータ共有が制限されているワークロード。 | NFS ストレージを使用します。次のいずれかを選択します。 |
複雑で相互依存する大規模な I/O を生成するワークロード(信頼性の高いプロセス間通信に Message-Passing Interface(MPI)を使用する密結合な HPC アプリケーションなど)。 | 並列ファイル システムを使用します。次のいずれかを選択します。
|
並列ファイル システムを使用するケース
並列ファイル システムでは、複数のクライアントが、並列 I/O パスを使用して、複数のネットワーク ストレージ ノード全体に共有データを格納しアクセスします。並列ファイル システムは、密結合な HPC ワークロード(データ集約型の人工知能(AI)ワークロードや SAS アプリケーションを使用する分析ワークロードなど)に最適です。次のいずれかの要件を満たす、レイテンシの影響を受けやすい HPC ワークロードには、並列ファイル システム(Lustre など)の使用を検討してください。
- 密結合のデータ処理: 気象モデリングや地震探査などの HPC ワークロードでは、複数のサーバーで同時実行される多くの相互依存ジョブを使用してデータを繰り返し処理する必要があります。通常、こうしたプロセスでは、MPI を使用して定期的にデータを交換し、チェックポインティングを使用して障害から迅速に復旧します。並列ファイル システムを使用すると、相互に依存するクライアントが低レイテンシ ネットワークを介して大量の共有データを同時に保存し、アクセスできます。
- POSIX I/O API とセマンティクスのサポート: Lustre などの並列ファイル システムは、POSIX API とセマンティクスの両方を必要とするワークロードに最適です。ファイル システムの API とそのセマンティクスは、独立した機能です。たとえば、NFS は POSIX API をサポートしています。POSIX API は、アプリケーションで
open()
、read()
、write()
などの関数を使用してデータの読み取りと書き込みを行う方法です。ただし、NFS が別のクライアント間のデータアクセスを取りまとめる方法は、マシン上の異なるスレッド間のデータアクセスを取りまとめる POSIX セマンティクスとは異なります。たとえば、NFS では、クライアント間での POSIX read-after-write キャッシュの整合性はサポートされていません。NFSv3 は弱い整合性、NFSv4 は close-to-open 整合性に基づいています。 - ペタバイトの容量: 並列ファイル システムは、単一のファイル システムの名前空間で数ペタバイトの容量までスケールできます。NetApp Volumes と Filestore Zonal は、データセットごとに最大 100 TiB をサポートします。Cloud Storage は、低コストで信頼性の高い容量を提供し、自動的にスケールしますが、HPC ワークロードのデータ共有セマンティクスと低レイテンシの要件は満たせないことがあります。
- 低レイテンシかつ高帯域幅: 非常に大規模なファイルや数百万個の小規模ファイルへの高速アクセスが必要な HPC ワークロードでは、並列ファイル システムが NFS やオブジェクト ストレージのパフォーマンスを超える可能性があります。並列ファイル システムで提供されるレイテンシ(0.5~10 ミリ秒)は、オブジェクト ストレージよりも大幅に低いため、最大 IOPS に影響する可能性があります。さらに、並列ファイル システムでサポートされている最大帯域幅は、NFS ベースのシステムよりも桁違いに高い場合があります。たとえば、Google Cloud 上の DDN EXAScaler では、IO500 ベンチマークを使用して、10 Tbps 以上の読み取り帯域幅、700 GBps を超える書き込み帯域幅、1 秒あたり 190 万ファイルの
stat()
呼び出しが発生しています。 - エクストリーム クライアント スケーリング: NFS ストレージでは数千ものクライアントをサポートできますが、並列ファイル システムでは 10,000 を超えるクライアントからの共有データへの同時アクセスをサポートするようにスケーリングできます。
密結合 HPC アプリケーションの例
このセクションでは、並列ファイル システムによる低レイテンシで高スループットのストレージを必要とする、密結合の HPC アプリケーション例について説明します。
AI 対応の分子モデリング
医薬品研究は、大きな費用がかかり、大量のデータを使用するプロセスです。最新の医薬品研究機関は、研究開発のコストを削減し、運用を効率的にスケーリングして、科学研究を加速するために AI を利用しています。たとえば、研究者は AI 対応のアプリケーションを使用して、薬剤の分子間の相互作用をシミュレートし、薬剤中の化合物に対する組み替えの影響を予測します。これらのアプリケーションは、並列化された処理能力の高い GPU プロセッサで動作し、大量のデータを読み込み、整理、分析してシミュレーションを高速に実行します。並列ファイル システムは、AI アプリケーションのパフォーマンスを最大化するために必要なストレージ IOPS とスループットを提供します。
SAS アプリケーションを使用した信用リスク分析
住宅ローン融資企業や投資銀行などの金融機関は、クライアントや投資ポートフォリオの信用価値を継続的に分析してモニタリングする必要があります。たとえば、大手住宅ローン融資企業は数千人の見込み顧客に関するリスク関連のデータを日々収集しています。クレジット アナリストのチームは、分析アプリケーションを使用して、所得、クレジット履歴、支出パターンなど、クライアントごとのさまざまなデータを共同で確認します。この分析から得られる分析情報により、クレジット アナリストは正確かつタイムリーな融資提案ができるようになります。
大規模なデータセットの分析を高速化しスケールするため、金融サービス機関では、SAS Grid Manager などのグリッド コンピューティング プラットフォームを使用します。並列ファイル システム(Google Cloud 上の DDN EXAScaler など)は、マルチスレッド SAS アプリケーションの高スループットと、低レイテンシのストレージ要件をサポートしています。
天気予報
気象学者は、特定の地理的地域の気象パターンを予測するために、その地域を複数のセルに分割し、各セルにモニタリング デバイス(地上レーダーや気象バルーンなど)をデプロイします。大気の条件は、これらのデバイスが常に観察、測定します。また、HPC クラスタで実行されている気象予測アプリケーションへデータを継続的にストリーミングすることもそのデバイスが行います。
気象予測アプリケーションは、測定された気象パラメータ間の既知の物理的関係に基づいた数学モデルを使用して、ストリーミングされたデータを処理します。個別のジョブが地理的な場所の各セルからデータを処理します。アプリケーションが新しい測定値を受信すると、すべてのジョブは割り当てられたセルの最新データを繰り返し処理し、出力を他の地理的な場所のセルのジョブと交換します。気象パターンを確実に予測するには、並列で実行している何千ものジョブが生成し、アクセスするテラバイト単位のデータをアプリケーションで保存して共有する必要があります。
航空機設計向け CFD
計算流体力学(CFD)では、数学モデル、物理法則、計算ロジックを使用して、移動物体を囲む気体や流体の動きをシミュレートします。航空機エンジニアが飛行機の本体を設計する場合、考慮する因子の 1 つが空気力学です。CFD を使用すると、高価なプロトタイプを構築する時間とコストを投資する前に、設計者が、空気力学に関する設計変更の影響を速やかにシミュレートできます。各シミュレーションの実行結果を分析した後、設計者は、航空機本体の個々のコンポーネントのボリュームや形状などの属性を最適化し、空気力学を再度シミュレートします。CFD を使用すると、航空機設計者は、何百ものこのような設計変更の影響を簡単に協力し合いシミュレートできます。
設計のシミュレーションを効率的に行うには、CFD アプリケーションに共有データへのサブミリ秒でのアクセスと、最大 100 GBps の速度で大量のデータを保存する機能が必要です。
Lustre と EXAScaler Cloud の概要
Lustre は、密結合の HPC ワークロードに高スループットで低レイテンシのストレージを提供する、オープンソースの並列ファイル システムです。Linux 標準の POSIX マウント ポイントに加え、Lustre はデータと入出力のライブラリ(NetCDF、HDF5、MPI-IO など)をサポートし、幅広いアプリケーション ドメインで並列 I/O を可能にします。Lustre は、世界中で最大級の HPC デプロイを多く実現しています。Lustre ファイル システムには、次のコンポーネントを含むスケーラブルなアーキテクチャがあります。
- 管理サーバー(MGS)は、1 つ以上の Lustre ファイル システムに関する構成情報を保存し管理して、この情報を他のコンポーネントに提供します。
- メタデータ サーバー(MDS)は、メタデータ(ディレクトリ階層、ファイル名、アクセス権限など)を使用して、Lustre ファイル システムの名前空間へのクライアント アクセスを管理します。
- オブジェクト ストレージ サーバー(OSS)は、Lustre ファイル システムに保存されているファイルへのクライアント アクセスを管理します。
- Lustre クライアント ソフトウェアを使用すると、クライアントが Lustre ファイル システムをマウントできます。
ファイル システムには、MDS と OSS の複数のインスタンスが存在します。新しい MDS インスタンスや OSS インスタンスは、必要に応じて追加できます。Lustre ファイル システムとその仕組みの詳細については、Lustre のドキュメントをご覧ください。
EXAScaler Cloud は、Lustre のエンタープライズ バージョンで、Google パートナーの DDN が提供しています。EXAScaler Cloud は、高性能データ処理と、AI、HPC、分析ワークロードのサポートに必要な大量のデータを管理するための共有ファイル ソリューションであり、Google Cloud でのディープ ラーニングと推論 AI ワークロードに適しています。ハイブリッド クラウド アーキテクチャにデプロイして、オンプレミスの HPC 処理能力を増強できます。また、オンプレミス EXAScaler デプロイから長期的なアセットを保存するためのリポジトリとしても機能します。
Sycomp Storage Fueled by IBM Storage Scale の概要
Google Cloud Marketplace の Sycomp Storage Fueled by IBM Storage Scale を使用すると、ハイ パフォーマンス コンピューティング(HPC)、AI、ML、ビッグデータのワークロードを Google Cloud で実行できます。Sycomp Storage を使用すると、何千もの VM から同時にデータにアクセスし、ストレージ階層を自動的に管理して費用を削減しながら、アプリケーションをオンプレミスまたは Google Cloud で実行できます。Sycomp Storage Fueled by IBM Storage Scale は Cloud Marketplace で入手可能で、迅速にデプロイでき、NFS と IBM Storage Scale クライアントを介したデータへのアクセスをサポートします。
IBM Storage Scale は、大量(PB 規模)のデータを安全に管理できる並列ファイル システムです。Sycomp Storage Scale は、POSIX 準拠の共有ファイル システムを必要とする HPC、AI、ML、ビッグデータなどのアプリケーションに適した並列ファイル システムです。調整可能なストレージ容量とパフォーマンスのスケーリングにより、Sycomp Storage は小規模から大規模の HPC、AI、ML のワークロードをサポートできます。
Google Cloud にクラスタをデプロイしたら、その使用方法を決定します。既存のオンプレミス IBM Storage Scale クラスタ、サードパーティの NFS NAS ソリューション、または他のオブジェクトベースのストレージ ソリューションに接続して、クラスタをクラウドのみで使用するか、ハイブリッド モードで使用するかを選択します。
次のステップ
- DDN EXAScaler Cloud と DDN と Google のパートナーシップの詳細を確認する。
- HPC ストレージ システムの IO500 ランキングで 10 Tbps 以上の Lustre ベースのスクラッチ ファイル システムについて説明する Google Cloud に送信されたサンプルを確認する。
- Lustre の詳細を確認する。
- Sycomp Storage Fueled by IBM Spectrum Scale の詳細を確認する。
協力者
著者: Kumar Dhanagopal | クロスプロダクト ソリューション デベロッパー
その他の寄稿者:
- Barak Epstein | プロダクト マネージャー
- Carlos Boneti | シニア スタッフ ソフトウェア エンジニア
- Dean Hildebrand | CTO オフィス テクニカル ディレクター
- Sean Derrington | グループ アウトバウンド プロダクト マネージャー、ストレージ
- Wyatt Gorman | HPC ソリューション マネージャー