

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# マルチノード並列ジョブ
<a name="multi-node-parallel-jobs"></a>

マルチノード並列ジョブでは、複数の Amazon EC2 インスタンスにまたがる単一のジョブを実行できます。 AWS Batch のマルチノード並列ジョブ (*ギャングスケジューリング*とも呼ばれる) では、Amazon EC2 リソースを直接起動、設定、管理する必要なく、ラージスケールで密結合された高パフォーマンスのコンピューティングアプリケーションと分散された GPU モデルトレーニングを実行できます。 AWS Batch マルチノードの並列ジョブは、IP ベースのノード間通信をサポートするフレームワークと互換性があります。例としては、アパッチ MX ネット(Apache MXNet)、TensorFlow、Caffe2、メッセージパッシングインターフェイス (MPI) などがあります。

マルチノード並列ジョブは、単一のジョブとして送信されます。ただし、ジョブ定義 (あるいは、ジョブ送信ノードの上書き) は、ジョブに作成するノードの数および作成するノードグループを指定します。各マルチノード並列ジョブには**主要なノード**が含まれ、まずこれが起動されます。主要なノードが確立したら、子ノードが起動されて開始します。ジョブは、メインノードが終了した場合にのみ終了します。その後、すべての子ノードが停止します。詳細については、[ノードグループ](mnp-node-groups.md)を参照してください。

マルチノード並列ジョブは、シングルテナントです。つまり、各 Amazon EC2 インスタンスごとに、単一のジョブコンテナのみが実行されます。

最終的なジョブステータス (`SUCCEEDED` あるいは `FAILED`) は、主要なノードの最終的なジョブステータスによって決定されます。マルチノード並列ジョブのステータスを取得するには、ジョブの送信時に返されるジョブ ID を使用して、ジョブを記述できます。子ノードの詳細が必要な場合には、各子ノードごとに個別に記述する必要があります。ノードは `#N` 表記を使用して対処されます (0 から開始)。たとえば、ジョブの 2 番目のノードの詳細にアクセスするには、 AWS Batch [DescribeJobs](https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeJobs.html) API オペレーションを使用して *aws\$1batch\$1job\$1id*\$11 を記述します。マルチノード並列ジョブの `started`、`stoppedAt`、`statusReason`、`exit` 情報は、主要なノードから入力されます。

ジョブの再試行を指定した場合、メインノードに障害が発生すると、別の試行が行われます。子ノードに障害が発生しても、再試行回数は発生しません。マルチノード並列ジョブの新しい試行ごとに、関連付けられた子ノードに対応する試行が更新されます。

マルチノード並列ジョブを実行するには AWS Batch、アプリケーションコードに分散通信に必要なフレームワークとライブラリが含まれている必要があります。

**Topics**
+ [環境変数](mnp-env-vars.md)
+ [ノードグループ](mnp-node-groups.md)
+ [MNP ジョブのライフサイクル](job-lifecycle.md)
+ [を使用した MNP のコンピューティング環境に関する考慮事項 AWS Batch](mnp-ce.md)