Amazon EC2의 Elastic Fabric Adapter

Amazon EC2의 Elastic Fabric Adapter

**Elastic Fabric Adapter(EFA)**는 고성능 컴퓨팅(HPC) 및 기계 학습 애플리케이션을 위한 네트워크 인터페이스예요. EFA는 온프레미스 HPC 클러스터의 성능과 확장성을 클라우드로 가져오며, Amazon EC2에서 실행되는 고성능 컴퓨팅 및 기계 학습 워크로드의 성능을 향상시킵니다.

출처: 문서

본문

EFA는 EC2 인스턴스에 연결되는 네트워크 장치로, Amazon EC2 네트워크를 통해 낮은 지연 시간과 높은 대역폭을 제공합니다. EFA는 대규모 병렬 컴퓨팅과 MPI(Message Passing Interface) 기반 애플리케이션에 최적화되어 있어요.

EFA의 이점 (Benefits)

  • 낮은 지연 시간 — EFA는 운영 체제에 오프로드되는 사용자 공간 네트워킹을 지원해 애플리케이션 지연 시간을 크게 줄입니다.
  • 고성능 통신 — RDMA(Remote Direct Memory Access)를 지원해 CPU를 우회하고 직접 메모리 접근을 제공합니다.
  • 확장성 — 수천 개의 인스턴스로 구성된 대규모 클러스터에서 효율적으로 통신할 수 있어요.

EFA와 ENA의 차이점

  • ENA(Elastic Network Adapter) — 표준 네트워킹을 제공하는 일반 네트워크 인터페이스입니다.
  • EFA — ENA의 기능에 더해 HPC 애플리케이션에 필요한 OS 우회(bypass) 통신을 지원합니다. EFA는 TCP/UDP 같은 표준 IP 트래픽과 EFA만의 독자적인 통신 프로토콜을 모두 지원해요.

EFA 사용 사례

  • 고성능 컴퓨팅(HPC) 워크로드
  • 기계 학습(ML) 분산 훈련
  • CFD(전산 유체 역학), 분자 모델링 같은 과학 계산
  • 대규모 병렬 시뮬레이션

EFA 연결하기

EFA는 인스턴스 실행 시 네트워크 인터페이스로 연결할 수 있어요. EFA를 사용하려면 인스턴스 유형이 EFA를 지원해야 하며, 운영 체제에 EFA 드라이버가 설치되어 있어야 합니다.

aws ec2 run-instances \
    --image-id ami-0abcdef1234567890 \
    --instance-type p5.48xlarge \
    --network-interfaces DeviceIndex=0,InterfaceType=efa,SubnetId=subnet-0123456789abcdef0

EFA 사용 요구사항

  • EFA를 지원하는 인스턴스 유형(예: p5, p4d, p3dn, inf1, hpc6a 등)
  • EFA 드라이버가 설치된 AMI(주로 Amazon Linux 2, Amazon Linux 2023, Ubuntu 등)
  • 배치 그룹(placement group) 사용을 통한 최상의 성능

EFA 설치 및 구성에 대한 자세한 내용은 Enable Elastic Fabric Adapter 문서를 참고하세요.

더 알아보기 (Learn more)