

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 多节点并行作业
<a name="multi-node-parallel-jobs"></a>

利用多节点并行作业，您能够跨多个 Amazon EC2 实例运行单个作业。借助 Amazon Batch 多节点并行作业（也称为*分组调度*），您可以运行大规模、高性能计算应用程序和分布式 GPU 模型训练，而无需直接启动、配置和管理 Amazon EC2 资源。 Amazon Batch 多节点 parallel 作业与任何支持基于 IP 的节点间通信的框架兼容。示例包括 Apache MXNet、 TensorFlow、Caffe2 或消息传递接口 (MPI)。

多节点并行作业可作为单个作业提交。不过，作业定义（或作业提交节点覆盖）指定了要为作业创建的节点数量，以及要创建的节点组。每个多节点并行作业都包含一个**主节点**，这是最先启动的节点。主节点启动之后，子节点会启动并开始运行。只有当主节点退出时，作业才会完成。然后停止所有子节点。有关更多信息，请参阅 [节点组](mnp-node-groups.md)。

多节点并行作业节点为单租户。这意味着，在每个 Amazon ECS 实例上只运行一个作业容器。

最终的作业状态（`SUCCEEDED` 或 `FAILED`）由主节点的最终作业状态决定。要获取多节点并行作业的状态，可以使用提交作业时返回的作业 ID 来描述作业。如果需要子节点的详细信息，则必须分别描述每个子节点。您可以使用 `#N` 表示法（从 0 开头）对节点进行寻址。例如，要访问任务的第二个节点的详细信息，请使用 Amazon Batch [DescribeJobs](https://docs.amazonaws.cn/batch/latest/APIReference/API_DescribeJobs.html)API 操作描述 *aws\$1batch\$1job\$1id* \$11。多节点并行作业的 `started`、`stoppedAt`、`statusReason` 和 `exit` 信息从主节点进行填充。

如果指定作业重试次数，则主节点故障会导致再次尝试重试。子节点故障不会导致更多的尝试发生。多节点并行作业每次新的尝试都将更新其关联子节点的相应尝试。

要在上运行多节点 parallel 作业 Amazon Batch，您的应用程序代码必须包含分布式通信所需的框架和库。

**Topics**
+ [环境变量](mnp-env-vars.md)
+ [节点组](mnp-node-groups.md)
+ [MNP 作业的作业生命周期](job-lifecycle.md)
+ [MNP 的计算环境注意事项 Amazon Batch](mnp-ce.md)