シナリオ - ハイパフォーマンスコンピューティングレンズ

シナリオ

HPC のケースでの問題は通常、並列処理技術を必要とする複雑なコンピューティングにあります。Well-Architected HPC インフラストラクチャは、計算を行う間、パフォーマンスを維持し、計算を支援できます。HPC ワークロードは、ゲノミクス、計算化学、金融リスクモデリング、コンピューター支援エンジニアリング、天気予報、地震イメージングなどの従来のアプリケーションに加え、機械学習、ディープラーニング、自動運転などの新しいアプリケーションにも及びます。さらに、これらの計算をサポートする従来のグリッドまたは HPC クラスターは、特定のワークロード用に最適化した一部のクラスター属性を持つアーキテクチャに著しく類似しています。AWS では、ネットワーク、ストレージタイプ、コンピューティング (インスタンス) タイプ、さらにデプロイ方法も戦略的に選択し、特定のワークロードのパフォーマンス、コスト、使いやすさを最適化できます。

HPC は、同時に実行している並列処理間における相互作用の程度に基づいて、疎結合ワークロードと密結合ワークロードの 2 つのカテゴリに分類できます。疎結合の HPC はシミュレーション全体の過程で、複数処理または並列処理が互いに強く作用しません。密結合 HPC では並列処理を同時に実行し、シミュレーションの各反復またはステップで相互に定期的に情報を交換します。

疎結合のワークロードでは、計算またはシミュレーション全体を完了するには、数百から数百万の並列処理を必要とすることがよくあります。これらのプロセスは、シミュレーション中に任意の順序と速度で発生します。このため、疎結合シミュレーションに必要なコンピューティングインフラストラクチャの柔軟性を提供できます。

密結合ワークロードには、シミュレーションの各反復で定期的に情報を交換するプロセスがあります。通常、これらの密結合シミュレーションは同種のクラスターで実行されます。コアまたはプロセッサの合計数は、インフラストラクチャで許可される場合、数十から数千、場合によっては数十万の範囲になります。シミュレーション中での処理の相互作用により、コンピューティングノードやネットワークインフラストラクチャなどのインフラストラクチャに余分な負荷がかかります。

さまざまな疎結合および密結合アプリケーションを実行するために使用するインフラストラクチャは、ノード間処理の相互作用の能力によって区別されます。両方のシナリオに当てはまる基本的な側面がある一方、それぞれのシナリオに特有な設計上の考慮事項があります。AWS で HPC インフラストラクチャを選択する際は、両方のシナリオについて次の基本事項を考慮してください。

  • ネットワーク: ネットワーク要件は、通信トラフィックが最も少ない疎結合アプリケーションのような要件の低いケースから、帯域幅が広くレイテンシーの低い高性能ネットワークを必要とする密結合および超並列アプリケーションにいたるまでさまざまです。

  • ストレージ: HPC 計算では、データを独自の方法で使用、作成、移動します。ストレージインフラストラクチャは、計算の各ステップでこれらの要件をサポートする必要があります。入力データは起動時に保存されることがほとんどで、実行中により多くのデータが作成および保存され、実行が完了すると出力データはリザーバがある場所に移動します。考慮すべき要素には、データサイズ、メディアタイプ、転送速度、共有アクセス、ストレージプロパティ (耐久性や可用性など) が含まれます。ノード間で共有ファイルシステムを使用すると便利です。例えば、Amazon Elastic File System (EFS) などのネットワークファイルシステム (NFS) 共有、または Amazon FSx for Lustre などの Lustre ファイルシステムです。

  • コンピューティング: Amazon EC2 インスタンスタイプは HPC ワークロードで利用可能なハードウェア機能を定義します。ハードウェア機能には、プロセッサタイプ、コア周波数、プロセッサ機能 (ベクトル拡張など)、メモリとコアの比率、ネットワークパフォーマンスが含まれます。AWS では、インスタンスを HPC ノードと同じものと見なします。これらの用語は、本ホワイトペーパーでも同じ意味として使用します。

    • AWS は、基盤となる EC2 インスタンスタイプを選択することなくコンピューティングにアクセスする機能を備えたマネージドサービスを提供します。AWS Lambda および AWS Fargate は、基盤となるサーバーをプロビジョニングおよび管理することなくワークロードを実行できるようにするコンピューティングサービスです。

  • デプロイ: AWS には、HPC ワークロードをデプロイするための多くのオプションがあります。インスタンスは、AWS Management Console から手動で起動できます。自動デプロイでは、いろんなプログラミング言語でエンドツーエンドのソリューションをコーディングできるさまざまなソフトウェア開発キット (SDK) を利用できます。bash シェルスクリプトと AWS コマンドラインインターフェイス (AWS CLI) を組み合わせたものは、人気のある HPC デプロイのオプションです。

    • AWS CloudFormation テンプレートを使用すると、コードとして記述されたアプリケーションに合わせた HPC クラスターを指定できるため、数分で起動できます。AWS ParallelCluster は、CloudFormation を介したクラスターの起動を、従来のクラスターエクスペリエンス用に既にインストールされているソフトウェア (コンパイラやスケジューラなど) と調整するオープンソースソフトウェアです。

    • AWS は、Amazon Elastic Container Service (Amazon ECS)、Amazon Elastic Kubernetes Service (Amazon EKS)、AWS Fargate、AWS Batch などのコンテナベースのワークロードにマネージドデプロイメントサービスを提供します。

    • AWS Marketplace や AWS パートナーネットワーク (APN) より、追加のサードパーティー製ソフトウェアオプションも利用できます。

クラウドコンピューティングにより、インフラストラクチャコンポーネントとアーキテクチャ設計を簡単に実験できます。AWS では、インスタンスタイプ、EBS ボリュームタイプ、デプロイ方法などをテストして、最小のコストで最高のパフォーマンスを見つけることを強くお勧めします。