Lustre を使用してデータアクセスを 10Tbps(テラビット)までスケーリング
Google Cloud Japan Team
※この投稿は米国時間 2021 年 8 月 20 日に、Google Cloud blog に投稿されたものの抄訳です。
データの増加はどの組織にとっても大きな課題ですが、データへのアクセスがボトルネックにならないようにすることも重要です。ハイ パフォーマンス コンピューティング(HPC)と ML / AI アプリケーションでは、分析に要する時間を短縮することが鍵となるため、手ごろな価格で、遅延が少なく高帯域幅のデータアクセスをサポートする適切なストレージ ソリューションを見つけることが不可欠です。Google Cloud は、パートナーである NAGと DDN の協力のもと、最高速の HPC ストレージ システムを評価する IO500 ランキングで、Lustre ファイル システムのパフォーマンスが最高であるという評価を獲得しましたので、ここに発表いたします。
IO500 リストについて
IO500 は HPC ストレージのベンチマークです。幅広いストレージ特性に基づいてスコアを計算し、HPC ストレージ システムの全体像が把握できるようになっています。IO500 のウェブサイトには、提出物の技術的な詳細がすべて保存されているため、ユーザーは各ストレージ システムの長所と短所を理解できます。たとえば、特定のストレージ システムが、帯域幅、メタデータ操作、ファイルの小ささのいずれか、またはすべての点で優れているかどうかを簡単に確認できます。これにより、IT 組織は現実的なパフォーマンスの期待値を入手できるため、管理者が次に導入する HPC ストレージ システムを選定する際に役立ちます。
Google Cloud は IO500 のオープン性に感謝しています。評価されたすべての構成を、あらゆる組織がすぐに利用できるからです。ほとんどのユーザーには極端に大きい規模での導入は必要ありませんが、Google Cloud プロダクトの詳細に目を通すことで、ユーザーは将来的な可能性を想定し、長期にわたってニーズが満たされることを確信できるはずです。Google Cloud は 2019 年に初めて DDN とのコラボレーションで参加し、その時点で、Persistent Disk Standard(HDD)と Persistent Disk SSD を使用して Lustre システムの能力を実証することを目標にしていました。Persistent Disk 上の Lustre は、データを安全に保管する必要がある長期の永続ストレージ システムに最適です。
2019 年以来、Google Cloud は、100 Gbps ネットワーク、大容量で高速のローカル SSD ボリューム、事前調整済み HPC VM イメージなど、新しい HPC 機能を数多くリリースしてまいりました。Google は、Cloud HPC の統合機能とベンチマークの専門知識を提供してくれるパートナーである NAG と、DDN のストレージの専門家の協力のもと、今年の IO500 に再度サンプルを提出し、これらの新機能がきわめて規模の大きいスクラッチ ストレージ システムを導入する際に非常に役立つことを実証することを決定しました。スクラッチ ストレージを使用する場合、目標はアプリケーション全体の実行時間を短縮することですが、最初にデータをスクラッチ ストレージにコピーし、最終的な結果を他の場所に永続的に保存する必要があります。たとえば、すべてのデータを Cloud Storage で開始し、ジョブの実行のために Lustre ストレージ システムに転送し、その結果を Cloud Storage にコピーして戻すことができます。
最新の提出物のランクは 8 位で、リストの Lustre ストレージ システムの中では最も高いランクでした。Lustre が世界で最も広く導入されている HPC ファイル システムであることを考えても、素晴らしい成果だと言えます。Google が提出したサンプルでは、ストレージサーバー用の Local-SSD を使用する 200 個の N2 VM インスタンス(Lustre OSS)、メタデータ サーバー用の Local-SSD を使用する 50 個の N2 VM インスタンス(Lustre MDT)、コンピューティング ノード用の HPC イメージを使用する 1,000 個の C2 VM インスタンス(Lustre クライアント)に、1.8 PB の Lustre ファイル システムをデプロイしました。ストレージ サーバーは、75 Gbps ネットワークを利用しました(SSD の読み取り帯域幅に一致します)。
パフォーマンスの詳細は IO500 のウェブサイトで公開されていますが、重要な結果を次に示します。
これは、読み取り帯域幅としては、Google が 2019 年に Persistent Disk を使用して提出したものと比べて 12 倍の改善となっており、クラウドにスクラッチ ファイル システムを確実に導入できることを示しています。
さらに Google Cloud 上の Lustre は、3 つしかない 1 TB/s を超えるシステムの 1 つで、これは(IOPS だけでなく)高帯域幅も多くの HPC ストレージのデプロイにとって困難な課題であることを示しています。
IO500 に提出した 3 つのサンプルは、Google Cloud 上に非常に高速な単一モノシリック Lustre ファイル システムを構築することは可能ですが、コンピューティング / ネットワーク / ストレージの導入方法をアプリケーションのニーズに合わせて調整する方がコスト効率が良いことを示しています。たとえば、長期的に継続する永続的なデプロイに幅広い Persistent Disk オプションを活用し、非常に高速で実行する必要がある比較的短期間のデプロイには vCPU の数に対するローカル SSD の容量の比率を最適化することで、異なるレベルのコストとパフォーマンスを達成できます。
実世界のアプリケーション
Google Cloud 上の Lustre を完全に自動化することで、Compute Engine A2 インスタンスを使用したデータ集約型の ML トレー二ング、高可用性および高帯域幅の SAS Grid 分析、大容量ファイルへの高帯域アクセスまたは数百万から数十億のサイズの小さいファイルへの低遅延アクセスを必要とするその他の HPC アプリケーション、といった HPC ワークロードを実現します。
クラウドでの HPC は HPC 業界全体に比べて急速に成長していますが、これはクラウド内で非常に大規模なコンピューティング クラスタとストレージ クラスタをわずか数分で簡単にスピンアップできることからもうなずけます。通常、オンプレミスの HPC のデプロイは、ハードウェアとソフトウェアの調達、インフラストラクチャの設置と構成、アプリケーションの最適化など、計画に数か月かかります。Google では、最もパフォーマンスの高い Lustre を、数回キーを押すだけで数分でデプロイできることを実証しました。クラウドから生まれた HPC アプリケーション、クラウドの HPC アプリケーションの完全移行、ハイブリッド デプロイとバースト デプロイ、オンプレミスのスーパーコンピュータを改善するための概念実証評価などのいずれの場合でも、クラウドの弾力性、従量課金制、HPC 関連メンテナンス コストの削減には、多くのメリットがあります。
クラウドにデプロイする高性能アプリケーションが新しいものであれ、既存のものであれ、VM のサイズの最適化、デプロイツールやスケジューリング ツール、モニタリング フレームワークなど、さまざまな点を考慮する必要があります。最も重要な決定の 1 つはストレージ アーキテクチャです。Google Cloud には、素晴らしいオプションが数多くあるからです。高性能ストレージを適切に導入すれば、データが驚くべきスピードで途切れることなくコンピューティング ノードに流れるようになります。しかし HPC ストレージを正しく導入しなければ、分析情報取得までの時間の短縮が制限され(すべての進行が停止してしまうこともあります)、多くの管理者の頭痛の種となり、いたずらにコストがかかる可能性があります。
Google Cloud で Lustre のような並列ファイル システムを使用すれば、Cloud Storage と Filestore をはじめとするクラウドベースの NAS ソリューションそれぞれの長所のバランスを取るという、多くの HPC アプリケーションにとって重要なニーズが満たされます。Cloud Storage では、非常に高い帯域幅と非常に低いバイト単位コストで、ペタバイトを超えるデータを簡単に拡張できますが、Cloud Storage API やライブラリを使用する必要があるため、運用コストが余分に発生し、オンプレミスのストレージ システムと比べるとレイテンシが高くなります。Filestore のような NAS ファイラーには堅牢なエンタープライズ セキュリティとデータ管理機能が備わっており、レイテンシは極めて低く、オペレーションごとの課金はなく、さらにアプリケーションをノートパソコンやオンプレミスからクラウドにシームレスにデプロイできる NFS や SMB を使用できます。しかしユーザーは、並列 I/O がないこと(最大パフォーマンスが制限される可能性がある)、容量の制限が比較的低いこと(現在、ボリュームあたり最大 100 TB)、Cloud Storage と比べるとコストが高いことに留意する必要があります。
Google Cloud の DDN EXAScaler は、DDN のオープンソース Lustre メンテナンス担当者による Lustre のエンタープライズ バージョンであり、Cloud Storage と NAS ファイラー ストレージの両方のバランスを調整します。EXAScaler は、完全な POSIX ベースのファイル API と低レイテンシのアクセスを利用できますが、ペタバイトまでの拡張も可能です。IO500 のパフォーマンス結果で示したように、Google Cloud で DDN EXAScaler を使用すると、毎秒テラバイト レベルの帯域幅と、毎秒数百万回のメタデータ操作までの拡張が可能になります。機能のバランスが取れているため、最終的に価格のバランスも取れており、通常は Cloud Storage 使用時のコストと NAS 使用時のコストの中間あたりになります(ただしこれはストレージの種類によって大きく異なります)。
IO500 向けの Google Cloud と Lustre のチューニングとカスタマイズに関して、DDN と NAG の Lustre の専門家の皆さんから非常に貴重な知見をいただいたことを感謝いたします。Google Cloud で DDN の EXAScaler の使用を簡単に開始するには、Marketplace コンソールを使用します。また上級ユーザーの場合は、Terraform デプロイメント スクリプトを使用すると、さらに細かく制御できます。わかりやすいデモも用意されています。さらにアドバイスが必要な場合は、Google だけでなく NAG や DDN の HPC 専門家によるサポートも活用できます。
-Google Cloud Office of the CTO テクニカル ディレクター、Dean Hildebrand
-Google Cloud HPC ソリューション責任者、Ilias Katsardis