AWS ENI, 분산 트레이닝 성능을 좌우하는 핵심 기술

by DD
1개월 전
조회수 16

AWS ENI(Elastic Network Interface)는 EC2 인스턴스에 가상 네트워크 카드 역할을 하며, 소프트웨어적으로 생성, 삭제, 재연결이 가능함

고성능 GPU 인스턴스에서 ENI와 네트워크 카드(Network Card)의 구성에 따라 분산 트레이닝 성능이 크게 달라짐을 강조함

Primary ENI는 인스턴스 시작 시 자동 생성, 종료 시 삭제되며, SSH 접속 등 인스턴스 관리 트래픽 담당

EFA(Elastic Fabric Adapter)는 고성능 HPC 통신을 위한 기술로, ENA(Elastic Network Adapter)의 확장된 형태임

p5.48xlarge, p6-b300.48xlarge와 같은 고성능 인스턴스에서 EFA ENI 할당 규칙 및 실제 구성 방법을 상세히 설명함

ENI(Elastic Network Interface)의 역할과 구조

AWS 환경에서 ENI(Elastic Network Interface)는 물리적 NIC(Network Interface Card)를 대체하며, EC2 인스턴스에 가상 네트워크 인터페이스를 제공한다. 온프레미스 환경과 달리 ENI는 소프트웨어적으로 생성, 삭제, 재연결이 가능하며, 인스턴스 간 이동도 유연하게 처리할 수 있다. 각 인스턴스는 최소 하나의 ENI를 필요로 하며, 인스턴스 유형에 따라 연결 가능한 최대 ENI 개수가 제한된다. Nitro 기반 인스턴스에서는 ENA(Elastic Network Adapter) 또는 EFA(Elastic Fabric Adapter) 속성을 가지며, 분산 트레이닝 환경에서는 EFA 사용이 필수적이다. Primary ENI는 인스턴스 시작 시 자동 생성되며, SSH 접속 및 API 호출 등 인스턴스 관리 트래픽의 기본 통신 경로를 담당한다.

네트워크 카드(Network Card)와 ENI(Elastic Network Interface)의 관계

AWS에서는 네트워크 연결을 위해 네트워크 카드(Network Card)와 ENI(Elastic Network Interface) 두 계층으로 분리된 구조를 사용한다. 네트워크 카드는 EC2 인스턴스 내에서 논리적으로 구분된 네트워크 하드웨어 단위로, 실제 PCIe 버스에 연결된 물리적 Nitro 카드를 하이퍼바이저가 논리적 인덱스(NetworkCardIndex)로 추상화한 것이다. 사용자와 소프트웨어는 이 논리적 인덱스를 통해 각 네트워크 카드를 식별하고 ENI를 할당한다. 각 네트워크 카드는 독립적인 대역폭 자원을 가지며, 인스턴스 유형에 따라 1개 또는 여러 개를 가질 수 있다. ENI는 네트워크 카드 위에서 동작하는 소프트웨어 계층의 가상 네트워크 인터페이스로, IP 주소, MAC 주소, 보안 그룹 등 실제 네트워크 속성을 담고 있다.

ENI 할당 규칙 및 DeviceIndex 이해

ENI 할당에는 몇 가지 중요한 규칙이 적용된다. 첫째, Primary ENI는 반드시 NetworkCardIndex 0에 할당되어야 하며, 인스턴스의 기본 네트워크 통신 경로를 보장한다. 둘째, EFA ENI는 네트워크 카드당 최대 1개만 허용되며, 나머지 슬롯은 일반 ENA ENI로 채울 수 있다. 셋째, Primary ENI에 EFA를 할당하는 경우, 해당 ENI는 EFA with ENA 타입으로 구성되어야 한다. DeviceIndex는 ENI가 인스턴스에 연결되는 순서를 나타내는 인덱스로, 운영체제 관점에서 네트워크 인터페이스가 인식되는 순서를 의미한다. 단일 네트워크 카드 인스턴스에서는 DeviceIndex가 전역적인 연결 순서를 반영하지만, 다중 네트워크 카드 인스턴스에서는 각 네트워크 카드 내의 로컬 순서를 나타낸다.

p5.48xlarge 인스턴스 EFA 구성 심층 분석

p5.48xlarge 인스턴스는 32개의 네트워크 카드를 보유하며, 대규모 분산 트레이닝 워크로드에 최적화된 네트워크 구성을 제공한다. 첫 번째 네트워크 카드(NetworkCardIndex=0)에는 2개의 ENI가 할당되며, DeviceIndex=0에는 Primary ENI로 ENA(InterfaceType=interface)를 설정하여 관리 통신을 담당하고, DeviceIndex=1에는 EFA-only(InterfaceType=efa-only)를 설정하여 고성능 HPC 통신을 전담한다. 나머지 31개의 네트워크 카드(NetworkCardIndex=1-31)는 각각 DeviceIndex=0에 EFA-only로 구성된다. 보안 그룹과 서브넷 설정도 중요하며, 클러스터 내 모든 노드가 동일한 설정을 사용하는 것이 권장된다. 자동화, 모든 EFA ENI 활성화, RDMA 디바이스 확인, 모니터링 체계 구축 등이 실제 프로덕션 환경에서의 고려사항이다.

p6-b300.48xlarge 인스턴스 EFA 구성 심층 분석

2025년 출시된 p6-b300.48xlarge 인스턴스는 NVIDIA B200 GPU를 탑재하고, EFA v4 기반으로 최대 6,400 Gbps의 EFA 대역폭과 최대 3,870 Gbps의 ENA 대역폭을 제공한다. p6-b300.48xlarge의 네트워크 카드 구성은 p5.48xlarge와 차이가 있으며, Primary 카드(NCI 0)는 ENA 인터페이스만 지원하고, Secondary 카드(NCI 1-16)는 EFA와 ENA를 모두 지원한다. EFA와 ENA 트래픽이 동일한 물리적 리소스를 공유하므로, 워크로드 특성에 따라 구성 방식을 신중하게 선택해야 한다. Use Case 1은 IP 주소 절약 구성으로, ML/AI 모델 학습에 적합하며, Use Case 2는 최대 대역폭 구성으로, EFA와 ENA 트래픽을 모두 많이 사용하는 환경에 적합하다. 분산 트레이닝 환경에서는 Use Case 1이 권장된다.

분산 트레이닝 관점에서의 AWS 인터커넥트 기술 소개 – AWS의 인터커넥트 기반 기술, ENI 소개

댓글 0

첫 번째 댓글을 남겨보세요!