ハイ パフォーマンス コンピューティング(HPC)とは、コンピューティング リソースを集約することで、単一のワークステーション、サーバー、コンピュータで行うよりも高いパフォーマンスを実現する手法です。HPC は、カスタム構築のスーパーコンピュータ、またはクラスタと呼ばれる個別のコンピュータのグループという形をとります。HPC はオンプレミスでもクラウドでも、あるいは両方のハイブリッドとして実行することもできます。クラスタ内の各コンピュータは多くの場合ノードと呼ばれ、各ノードはそれぞれ異なるタスクを担当します。コントローラ ノードは、重要なサービスを実行し、ノード間の作業を調整します。インタラクティブ ノードまたはログインノードは、ユーザーがグラフィカル ユーザー インターフェースまたはコマンドラインのいずれかでログインするホストの役割を果たし、コンピューティング ノードまたはワーカーノードが計算を実行します。クラスタの各ノードではアルゴリズムとソフトウェアが並列に実行され、所定のタスクを実行できるようになっています。HPC には通常、コンピューティング、ストレージ、ネットワーキングという 3 つの主要コンポーネントがあります。
企業や研究者は HPC によってコンピューティング リソースを集約し、標準的なコンピュータでは個別に処理できないほど大きい問題や、処理に時間がかかりすぎる問題を解決できます。このため、スーパーコンピューティングとも呼ばれます。
HPC は、学術研究、科学、設計、シミュレーション、ビジネス インテリジェンスの問題を解決するために使用されます。大量のデータを迅速に処理する HPC の能力は、今日の社会の最も基本的な側面のいくつかを支えています。たとえば、銀行が数百万件のクレジット カード取引の不正行為を一度に検証したり、自動車メーカーが自動車の衝突安全性に関する設計をテストしたり、明日の天気がどうなるかを知る能力です。
Google での HPC の詳細。
ハイ パフォーマンス コンピューティングには、次の 3 つの主要コンポーネントがあります。
基本的には、HPC システムのノード(コンピューティング)を他のノードに接続してアルゴリズムとソフトウェアを同時に実行してから、出力をキャプチャするためにデータサーバー(ストレージ)に接続(ネットワーク)します。HPC プロジェクトは大規模かつ複雑になる傾向があり、システムのノードは通常、計算結果を相互に交換する必要があります。つまり、高速ディスク、高速メモリ、およびノードとストレージシステム間の低レイテンシで高帯域幅のネットワークが必要です。
HPC は通常、クラスタ コンピューティングと分散コンピューティングの 2 つの一般的な設計タイプに分けることができます。
並列コンピューティングは、ノード間のレイテンシを最小限に抑えるために、物理的にもネットワーク トポロジにも、互いに近接して配置された接続されたサーバーのグループなど、連携して動作する複数のコンピュータ(クラスタ)の集合を使用して行われます。
分散コンピューティング モデルは、単一ロケーション(多くの場合オンプレミス)にあるネットワーク、または複数のロケーション(オンプレミスのハードウェアやクラウド リソースなど)に分散しているネットワーク内の複数のコンピュータのコンピューティング能力を接続します。
さらに、HPC クラスタは同種ハードウェア モデルと異種ハードウェア モデルを区別できます。同種クラスタでは、すべてのマシンのパフォーマンスと構成は類似しており、多くの場合、同じものとして扱われ、交換が可能です。異種クラスタには、さまざまな特性(高い CPU コア数、GPU アクセラレーションなど)を持つハードウェアの集合があり、ノードにタスクが割り当てられたときに、それぞれの利点を最大限に活用するためにシステムが最適に利用されます。
HPC 環境のワークロードには通常、疎結合と密結合の 2 種類があります。
疎結合ワークロード(並列ジョブや高スループット ジョブとも呼ばれる)は、システム全体で同時に実行できる独立したタスクで構成されます。タスクは共通のストレージを共有できますが、コンテキスト依存ではないため、完了時に相互に結果を伝える必要はありません。疎結合ワークロードの例としては、長編映画でコンピュータ生成画像(CGI)をレンダリングする場合が挙げられます。この場合、動画の各フレームは、背景や 3D モデルなどの同じ入力データを共有しているにもかかわらず、他のフレームとは独立してレンダリングされます。
密結合ワークロードは多数の小さなプロセスで構成され、それぞれがクラスタ内の異なるノードによって処理され、タスク全体を完了するために互いに依存しています。密結合ワークロードには通常、ノード間の低レイテンシ ネットワーキングと、共有メモリとストレージへの高速アクセスが必要です。このようなワークロードのプロセス間通信は、OpenMPI や Intel MPI などのソフトウェアを使用する Message Passing Interface(MPI)によって処理されます。密結合ワークロードの例としては、気象予測があります。これには、気温、風、気圧、降水量などを含む動的で相互に依存するシステムの物理ベースのシミュレーションが含まれます。ここでは、各クラスタノードが異なる気象要因に対して解決策を部分的に計算し、全体的な予報に貢献しています。
HPC は、専用機器を備えたオンプレミス、クラウド、またはそれぞれのハイブリッドで実行できます。
クラウドで HPC を利用すると、高価な専用スーパーコンピュータを購入して維持する必要がなく、柔軟性とスケーラビリティのメリットが得られます。クラウドの HPC は、データ ストレージ、ネットワーキング ソリューション、専用のコンピューティング リソース、セキュリティ、AI アプリケーションなど、大規模で複雑なタスクの実行に必要なすべてのインフラストラクチャを提供します。ワークロードはオンデマンドで実行できるため、組織は必要なときに必要なリソースのみを使用して、機器の費用とコンピューティング サイクルの時間を節約できます。
クラウドで HPC を実行することを選択する際の一般的な考慮事項は次のとおりです。
レイテンシと帯域幅: HPC ワークロードで実行されるデータの量に伴い、クラウド プロバイダは低レイテンシで堅牢なネットワーク機能(100 GB/秒超)を提供する必要があります。
パフォーマンス: クラウドにおける HPC は、特にコンピュータ プロセッサ、ストレージ ソリューション、ネットワーキング機能において、パフォーマンスを最適化するためにシステムを常に更新しているプロバイダとの連携が最適です。
サステナビリティ: HPC はリソースを大量に消費するコンピューティング形態であり、通常のワークロードよりもはるかに多くの電力を必要とします。オンプレミスのハイ パフォーマンス コンピュータは、年間で数百万ドルのエネルギーを消費します。再生可能エネルギーを優先するパブリック クラウド(Google Cloud など)は、HPC によるエネルギーへの影響を軽減できます。
ストレージ: ほとんどの HPC タスクのサイズを考慮すると、スケーラブルなデータ ストレージは HPC ワークロードを実行する際に重要な考慮事項となります。(Cloud Storage Filestore High Scale、DDN EXAScaler などを介して)大量のデータを簡単に保存、管理できるクラウド プロバイダは、HPC において有利です。
セキュリティ: プライベートで管理されるグローバル インフラストラクチャを持つクラウド プロバイダが、データとアプリケーションの公共インターネットへの露出を最小限に抑えます。Virtual Private Cloud(VPC)ネットワークにより、ノード間の接続が可能になり、HPC アプリケーション用にファイアウォールを構成できます。Confidential Computing の機能により、使用中の暗号化だけでなく、保存時および転送中の暗号化も可能になります。
速度とパフォーマンス
ハイ パフォーマンス コンピューティングでは、単一のサーバーやコンピュータよりもはるかに速くデータやタスクを処理できます。通常のコンピューティング システムでは数週間から数か月かかるタスクが、HPC では数時間あれば済みます。
柔軟性と効率性
クラウドで HPC を使用すると、必要に応じてワークロードをスケールアップまたはスケールダウンできます。安定したインターネット接続があれば、世界中のどこからでも HPC にアクセスできます。
コストの節約
クラウドにおける HPC のスピード、柔軟性、効率性により、組織はコンピューティング リソースと労働時間にかかる時間と費用を節約できます。
フォールト トレラント
HPC クラスタの 1 つのノードで障害が発生しても、システムの残りの部分がクラッシュすることはなく、システムの復元性は十分です。HPC が実行する大規模で複雑なタスクを考えると、フォールト トレランスは大きなメリットとなります。
研究開発の促進
HPC は、医薬品のモデリング、新しい機械や部品の設計、実験のシミュレーションによる物理テストの削減など、データ量の多いプロジェクトにおける成果を迅速化することで、研究開発を行う企業にメリットをもたらします。
初期費用
オンプレミスの HPC クラスタとスーパーコンピュータは、初期費用が高いです。オンプレミスの HPC は、機器、労力、ソフトウェア、構成の費用を考慮すると、ほとんどの組織にとって手の届かないものになります。
エネルギー消費量
オンプレミスのスーパーコンピュータを導入すると、エネルギー費用が高額になる場合があります。環境とコストを重視する企業にとっては、世界で最も環境に優しいクラウドで HPC を実行することで、HPC のエネルギー消費をサステナブルなものにすることができます。
メンテナンス
HPC は、最新世代のハードウェアと最適化されたソフトウェアがあると最適に動作します。オンプレミスの HPC クラスタやスーパーコンピュータを最新の状態に保ち、最適なパフォーマンスを確保すると、すぐに多額の費用が継続的に発生します。
最新のエコシステムは、データと、データを分析するためのコンピューティング負荷の高いツールであふれています。企業や組織は HPC によって、そのすべてのデータをタイムリーに処理することができ、新しい分析情報、イノベーション、科学的発見が促進されます。これにより、企業はビジネス シナリオを予測し、市場の変動を予測して、提案を行うことができます。その一方で、医療分野ではクラウドで HPC を簡単に利用して変革を進めており、発生しうる大流行のモデル化、がん細胞のゲノム解読、疾患の進行の理解に役立っています。
要するに、HPC は科学、技術、ビジネスの進歩を加速させ、人類がより豊かな未来を切り開くのに役立っています。
ハイ パフォーマンス コンピューティングのユースケースをいくつかご紹介します。
リサーチ
HPC は人工衛星や望遠鏡からの天文データ、新素材の創出、新薬の発見、タンパク質のモデリングなど、大規模なデータセットの分析と計算に学術研究や科学研究で利用されています。
シミュレーション
HPC は、自動車の衝突、飛行機の翼の上やエンジン内の空気の流れ、潜在的な新薬が人間の細胞とどのように相互作用するかなどの物理的なシナリオをシミュレートするために使用されます。
デザイン
メーカーは HPC と AI を利用して、物理的なプロトタイプを作成する前にソフトウェアで飛行機や自動車などの新しいマシンを設計しています。HPC のコンピューティング能力がなければ、候補となるモデルの設計とレンダリングにかなりの時間がかかり、製造プロセスも遅くなります。コンピュータ チップ メーカーは、HPC を使用して新しいチップ設計をモデル化してから、鋳造工場でプロトタイピングを行います。
最適化
HPC は、金融ポートフォリオや輸送と物流の最も効率的なルートなど、大規模で難しいデータセットの最適化に役立ちます。
予測
HPC は大規模で複雑なデータセットを取り込み、タイムリーに予測を行うことができます。多くの航空宇宙企業は HPC を使用して、マシンのメンテナンスが必要になる時期を予測しています。ほとんどの気象予測はハイ パフォーマンス コンピューティングで実施されるため、気象学者は嵐の進路を予測したり、気候変動をモデル化したりできます。
データ分析
HPC は最大規模のデータセットを分析できます。HPC を ML や AI のアプリケーションに適用すると、クレジット カードのレコメンデーションや不正行為の検出に役立ちます。HPC によって、ゲノムの配列を決定する速度が大幅に向上しました。