本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Elastic Fabric Adapter
Elastic Fabric Adapter (EFA) 是一种用于加速高性能计算 (HPC) 应用程序的网络设备。如果满足以下条件,则 Amazon Batch 支持使用 EFA 的应用程序。
-
计算环境仅包含受支持的实例类型(
c5n.18xlarge
、c5n.metal
、i3en.24xlarge
、m5dn.24xlarge
、m5n.24xlarge
、r5dn.24xlarge
、r5n.24xlarge
和p3dn.24xlarge
)。 -
AMI 中的操作系统支持全民教育:Amazon Linux、Amazon Linux 2、Red Hat Enterprise Linux 7.6、CentOS 7.6、Ubuntu 16.04 和 Ubuntu 18.04。
-
AMI 中加载了 EFA 驱动程序。
-
EFA 的安全组必须允许进出安全组本身的所有入站和出站流量。
-
使用 EFA 的所有实例都应位于同一集群置放群组中。
-
作业定义必须包含
devices
成员,其hostPath
设置为/dev/infiniband/uverbs0
,以允许将 EFA 设备传递到容器。如果指定了containerPath
,则它还必须设置为/dev/infiniband/uverbs0
。如果设置了permissions
,则它必须设置为READ
|WRITE
|MKNOD
。对于多节点并行作业和单节点容器作业,LinuxParameters 成员的位置将不同。以下示例演示了具体的区别,但没有提供必需值。
例 多节点并行作业的示例
{ "jobDefinitionName": "EFA-MNP-JobDef", "type": "multinode", "nodeProperties": { ... "nodeRangeProperties": [ { ... "container": { ... "linuxParameters": { "devices": [ { "hostPath": "/dev/infiniband/uverbs0", "containerPath": "/dev/infiniband/uverbs0", "permissions": [ "READ", "WRITE", "MKNOD" ] }, ], }, }, }, ], }, }
例 单节点容器作业的示例
{ "jobDefinitionName": "EFA-Container-JobDef", "type": "container", ... "containerProperties": { ... "linuxParameters": { "devices": [ { "hostPath": "/dev/infiniband/uverbs0", }, ], }, }, }
有关的 EFA 的更多信息,请参阅Elastic Fabric Adapter在用户指南(适用于 Linux 实例)。