AWS ParallelCluster のアイコン

AWS ParallelCluster

HPC (ハイパフォーマンスコンピューティング) クラスターを AWS 上に構築・管理するオープンソースツール

何ができるか

AWS ParallelCluster は、HPC クラスターを AWS 上に自動構築するオープンソースのクラスター管理ツールです。Slurm ジョブスケジューラー、共有ファイルシステム (EFS、FSx for Lustre)、コンピュートノードの自動スケーリングを設定ファイル 1 つで構築します。ジョブの投入量に応じてコンピュートノードが自動的に増減します。

どのような場面で使うか

科学技術計算 (流体力学、分子動力学)、ゲノム解析、気象シミュレーション、金融リスク計算、機械学習のトレーニングに利用されます。 この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。

身近な例え

レンタルスーパーコンピューターに例えられます。必要な時に必要な台数のコンピューター (ノード) を借りて計算を実行し、終わったら返却します。計算量に応じて自動的にコンピューターの台数が増減します。

ParallelCluster とは

AWS ParallelCluster は、HPC クラスターの構築を自動化するツールです。YAML 設定ファイルでヘッドノード、コンピュートノード、ストレージ、ネットワークを定義し、`pcluster create-cluster` コマンドで CloudFormation スタックとしてデプロイします。Slurm でジョブを投入すると、キューに応じてコンピュートノードが自動起動します。

スケーリングとストレージ

ParallelCluster はジョブキューのペンディングジョブ数に応じてコンピュートノードを自動スケーリングします。スポットインスタンスを活用すると、オンデマンドの最大 90% 割引でコンピュートコストを削減できます。共有ストレージは FSx for Lustre (高スループット)、EFS (汎用)、EBS (ヘッドノード) から選択できます。EFA (Elastic Fabric Adapter) で MPI 通信の高速化も可能です。

はじめかた

pip で pcluster CLI をインストールし、YAML 設定ファイルを作成します。`pcluster create-cluster` でクラスターを作成し、SSH でヘッドノードに接続します。Slurm の sbatch コマンドでジョブを投入すると、コンピュートノードが自動起動してジョブを実行します。

注意点

  • ParallelCluster 自体は無料のオープンソースツール。EC2、EBS、FSx などの AWS リソース料金が発生
  • スポットインスタンスの中断に耐えられるワークロード (チェックポイント対応) ではコストを大幅に削減可能

さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。