핵심요약
AWS 고성능 GPU 인스턴스에서 분산 트레이닝 성능을 좌우하는 ENI(Elastic Network Interface)의 역할, 구조, 할당 규칙 및 인스턴스 타입별(p5.48xlarge, p6-b300.48xlarge) EFA 구성 방법을 상세히 설명합니다.
분산 트레이닝을 위한 AWS 인터커넥트 기술: ENI 상세 분석
ENI(Elastic Network Interface)의 역할 및 구조
- 온프레미스 NIC vs AWS ENI: 온프레미스의 물리적 NIC/HCA와 달리, AWS ENI는 소프트웨어 기반 가상 네트워크 인터페이스로 유연한 생성, 삭제, 재연결이 가능합니다.
- EC2 인스턴스 필수 구성 요소: 모든 EC2 인스턴스는 최소 하나 이상의 ENI(Primary ENI)를 가지며, 인스턴스 유형에 따라 여러 ENI 연결 가능.
- Nitro 기반 인스턴스 ENI 속성: ENA(Elastic Network Adapter) 또는 EFA(Elastic Fabric Adapter) 속성을 가짐. 고성능 컴퓨팅에는 EFA 필수.
- ENI 유형:
- 일반 ENI(ENA): 표준 IP 기반 통신 지원.
- EFA with ENA: IP 통신과 RDMA 고성능 통신 동시 지원 (Primary/Secondary ENI 가능).
- EFA-only: RDMA 고성능 통신만 지원 (Secondary ENI만 가능).
네트워크 카드와 ENI: 두 계층의 이해
- 네트워크 카드(NetworkCardIndex): EC2 인스턴스 내 논리적으로 구분된 네트워크 하드웨어 단위 (PCIe 기반 Nitro 카드 추상화).
- ENI: 네트워크 카드 위에서 동작하는 소프트웨어 계층 가상 네트워크 인터페이스. IP, MAC, 보안 그룹 등 속성 보유.
- AWS의 유연성: 이 두 계층의 분리로 소프트웨어 기반의 유연하고 세밀한 네트워크 제어 가능.
- 고성능 인스턴스: p5.48xlarge (32개 네트워크 카드), p6-b300.48xlarge (17개 네트워크 카드) 등 여러 네트워크 카드를 탑재하여 고대역폭 통신 지원.
ENI 할당 규칙
- Primary ENI: 반드시 NetworkCardIndex 0에 할당.
- EFA ENI: 네트워크 카드당 최대 1개만 허용 (EFA with ENA 또는 EFA-only).
- Primary ENI의 EFA: EFA with ENA 타입으로만 구성 가능 (IP 통신 필수).
DeviceIndex와 인스턴스 타입별 구성
- DeviceIndex: ENI가 인스턴스에 연결되는 순서를 나타내는 인덱스. OS 관점에서 네트워크 인터페이스로 인식되는 순서.
- 단일 네트워크 카드 인스턴스 (일반): 모든 ENI가 NetworkCardIndex=0에 연결. DeviceIndex가 0, 1, 2... 순차 증가 (전역적 연결 순서 반영).
- 다중 네트워크 카드 인스턴스 (고성능): 각 네트워크 카드(NetworkCardIndex 0~N)에 ENI 할당. DeviceIndex는 각 카드 내 로컬 인덱스 반영.
- p5.48xlarge 예시: 32개 카드, 카드당 최대 2개 ENI. NetworkCardIndex 0은 Primary(ENA/EFA), 나머지 카드는 EFA-only 구성.
- p6-b300.48xlarge 예시: 17개 카드. IP 절약 구성(EFA-only 중심) 또는 최대 대역폭 구성(EFA+ENA) 선택 가능.
실전 가이드 및 고려사항
- p5.48xlarge 구성: NetworkCardIndex 0에 ENA(관리) + EFA-only(HPC) 할당, 나머지 카드에 EFA-only 할당.
- p6-b300.48xlarge 구성: 워크로드 특성에 따라 IP 절약(EFA-only 중심) 또는 최대 대역폭(EFA+ENA) 구성 선택.
- 자동화: CloudFormation, Terraform, AWS ParallelCluster 등을 활용한 자동 구성 필수.
- EFA ENI 활성화: 최대 성능을 위해 모든 EFA ENI 구성 권장.
- 검증:
ibv_devices,fi_info,nccl-tests등으로 RDMA 디바이스 구성 및 성능 검증. - 모니터링: EFA node exporter, CloudWatch, Grafana 등을 활용한 지속적인 성능 모니터링.
결론
- ENI와 네트워크 카드의 분리 구조가 AWS의 유연한 네트워크 제어를 가능하게 함.
- 고성능 인스턴스의 EFA 성능 극대화를 위해 올바른 ENI 할당 및 구성 방식 선택이 중요.
- 최신 인스턴스는 카드당 대역폭 증가 및 EFA/ENA 공유 구조 등 발전된 네트워크 설계 적용.