Elastic Fabric Adapter
An Elastic Fabric Adapter (EFA) is a network device to accelerate High Performance Computing (HPC) applications. Amazon Batch supports applications that use EFA if the following conditions are met.
-
For a list of instance types that support EFAs, see Supported instance types in the Amazon EC2 User Guide.
Tip
To see a list of instance types that support EFAs in an Amazon Web Services Region, run the following command. Then, cross reference the list that's returned with the list of available instance types in the Amazon Batch console.
$
aws ec2 describe-instance-types --region
us-east-1
--filters Name=network-info.efa-supported,Values=true --query "InstanceTypes[*].[InstanceType]" --output text | sort -
For a list of operating systems that support EFA, see Supported operating systems.
-
The AMI has the EFA driver loaded.
-
The security group for the EFA must allows all inbound and outbound traffic to and from the security group itself.
-
All instances that use an EFA must be in the same cluster placement group.
-
The job definition must include a
devices
member withhostPath
set to/dev/infiniband/uverbs0
to allow the EFA device to be passed through to the container. IfcontainerPath
is specified, it must also be set to/dev/infiniband/uverbs0
. Ifpermissions
is set it must be set toREAD
|WRITE
|MKNOD
.The location of the LinuxParameters members are different for multi-node parallel jobs and single-node container jobs. The following examples show the differences, but are missing required values.
Example for multi-node parallel job
{ "jobDefinitionName": "EFA-MNP-JobDef", "type": "multinode", "nodeProperties": { ... "nodeRangeProperties": [ { ... "container": { ... "linuxParameters": { "devices": [ { "hostPath": "/dev/infiniband/uverbs0", "containerPath": "/dev/infiniband/uverbs0", "permissions": [ "READ", "WRITE", "MKNOD" ] }, ], }, }, }, ], }, }
Example for single-node container job
{ "jobDefinitionName": "EFA-Container-JobDef", "type": "container", ... "containerProperties": { ... "linuxParameters": { "devices": [ { "hostPath": "/dev/infiniband/uverbs0", }, ], }, }, }
For more information about EFA, see Elastic Fabric Adapter in Amazon EC2 User Guide.