Elastic Fabric Adapter - AWS ParallelCluster

Elastic Fabric Adapter

Elastic Fabric Adapter (EFA) is a network device that has OS-bypass capabilities for low-latency network communications with other instances on the same subnet. EFA is exposed by using Libfabric, and can be used by applications using the Messaging Passing Interface (MPI). To use EFA with AWS ParallelCluster, add the line enable_efa = compute to the [cluster] section EFA is supported by specific instance types (compute_instance_type are to one of c5n.18xlarge, c5n.metal, g4dn.metal, i3en.24xlarge, i3en.metal, m5dn.24xlarge, m5n.24xlarge, m5zn.24xlarge, m5zn.metal, r5dn.24xlarge, r5n.24xlarge, p3dn.24xlarge, and p4d.24xlarge for x86-64 instances and c6gn.16xlargefor Arm-based Graviton2 instances) on specific operating systems (base_os is alinux, alinux2, centos7, centos8, ubuntu1604, or ubuntu1804 for x86-64 instances and alinux2 or ubuntu1804 for Arm-based Graviton2 instances). For more information about the enable_efa setting, see enable_efa. A cluster placement group should be used to minimize latencies between instances. For more information, see placement and placement_group.

For more information, see Elastic Fabric Adapter in the Amazon EC2 User Guide for Linux Instances and Scale HPC workloads with elastic fabric adapter and AWS ParallelCluster in the AWS Open Source Blog.


By default, Ubuntu distributions enable ptrace (process trace) protection. Starting with AWS ParallelCluster 2,6.0, ptrace protection is disabled so that Libfabric works properly. For more information, see Disable ptrace protection in the Amazon EC2 User Guide for Linux Instances.


Support EFA on Arm-based Graviton2 instances was added in AWS ParallelCluster version 2.10.1.