AWS, 분산 트레이닝을 위한 EFA 선택: 인피니밴드와 무엇이 다를까?

by DD
2개월 전
조회수 16

분산 트레이닝(Distributed Training) 환경에서 GPU 간 통신 오버헤드를 줄이기 위한 인터커넥트 기술의 중요성을 강조하며, 인피니밴드(Infiniband)EFA(Elastic Fabric Adapter) 비교

RDMA(Remote Direct Memory Access) 기술을 통해 CPU 개입 없이 메모리 간 직접 데이터 전송을 가능하게 하여 지연 시간(Latency) 감소대역폭(Bandwidth) 향상을 이룸

AWS는 클라우드 환경의 멀티테넌시(Multi-tenancy), 비용 효율성(Cost-Effectiveness), 그리고 공급망 통제(Supply Chain Control)를 위해 EFA를 선택

EFA는 AWS 생태계와의 통합을 통해 HPC 워크로드(HPC Workload)와 일반 클라우드 워크로드(Cloud Workload) 간의 유기적인 연결을 지원

인피니밴드는 전용 하드웨어 및 네트워크 인프라 구축으로 초기 투자 비용이 높고, EFA는 온디맨드(On-demand) 방식으로 사용 가능

DeepEP와 같은 인피니밴드 전용 소프트웨어 스택은 EFA 환경에서 동일한 성능을 보장하지 못할 수 있음

RDMA 기술의 핵심 원리

RDMA(Remote Direct Memory Access)는 CPU 개입 없이 한 서버의 메모리에서 다른 서버의 메모리로 데이터를 직접 전송하는 기술이다. 전통적인 TCP/IP 통신은 데이터 복사(Data Copy)를 4번 거치며 CPU 오버헤드(CPU Overhead)를 발생시키지만, RDMA는 OS 커널(OS Kernel)을 우회하여 Zero-Copy(Zero-Copy) 방식으로 데이터를 전송한다.

OS-Bypass: 사용자 공간의 애플리케이션이 하드웨어와 직접 통신

Zero-Copy: 데이터 복사 과정 제거

CPU 개입 최소화: CPU는 통신 명령만 내리고, HCA(Host Channel Adapter)가 데이터 전송 처리

이러한 특징으로 인해 RDMA는 낮은 지연 시간(Low Latency)높은 대역폭(High Bandwidth)을 제공하며, 분산 AI 트레이닝 환경에서 GPU 간 통신 성능을 획기적으로 개선한다.

인피니밴드(Infiniband)의 기술적 특징

인피니밴드는 전용 하드웨어와 전용 프로토콜을 사용하는 고성능 네트워크 기술로, HPC(High Performance Computing) 클러스터에서 수십 년간 표준으로 사용되어 왔다. 인피니밴드는 크레딧 기반 흐름 제어(Credit-based Flow Control)를 통해 패킷 손실(Packet Loss)을 방지하며, RDMA를 지원하여 CPU 부하를 줄인다.

전용 하드웨어: HCA(Host Channel Adapter)와 인피니밴드 스위치(Infiniband Switch) 필요

손실 없는 통신: 크레딧 기반 흐름 제어를 통한 패킷 유실 방지

RDMA 지원: CPU 개입 없이 메모리 간 데이터 전송

인피니밴드는 낮은 지연 시간(Low Latency)높은 대역폭(High Bandwidth)을 제공하지만, 전용 하드웨어 구축 및 운영에 따른 높은 비용과 복잡성(Complexity)이 단점이다.

RoCE(RDMA over Converged Ethernet)의 등장 배경

RoCE(RDMA over Converged Ethernet)는 기존 이더넷 인프라 위에서 RDMA를 구현하는 기술로, 인피니밴드의 높은 비용과 운영 복잡성을 해결하기 위해 등장했다. RoCEv2는 UDP/IP를 사용하며 라우팅(Routing)을 지원하지만, 이더넷의 특성상 패킷 손실(Packet Loss)이 발생할 수 있다.

이더넷 호환성: 기존 이더넷 인프라 재사용

RoCEv2: UDP/IP 기반 라우팅 지원

PFC(Priority Flow Control) 및 ECN(Explicit Congestion Notification) 설정 필수

RoCE는 비용 효율성(Cost-Effectiveness)을 제공하지만, 패킷 손실 방지를 위한 추가 설정이 필요하며, 대규모 클러스터에서는 PFC Storm 문제(PFC Storm Problem)가 발생할 수 있다.

AWS EFA(Elastic Fabric Adapter)의 설계 철학

AWS EFA는 클라우드 환경에 최적화된 인터커넥트 기술로, AWS 클라우드의 멀티테넌시(Multi-tenancy), 비용 효율성(Cost-Effectiveness), 그리고 공급망 통제(Supply Chain Control)를 위해 개발되었다. EFA는 SRD(Scalable Reliable Datagram) 프로토콜을 사용하며, AWS Nitro 시스템(Nitro System)과 통합되어 있다.

멀티테넌시 지원: 다수의 고객이 동일한 인프라 공유

비용 효율성: 온디맨드(On-demand) 방식 사용

공급망 통제: 자체 설계 칩(Custom Chip) 사용

EFA는 AWS 생태계와의 통합을 통해 HPC 워크로드(HPC Workload)와 일반 클라우드 워크로드(Cloud Workload) 간의 유연한 연결을 제공하며, 인피니밴드 대비 운영 효율성(Operational Efficiency)을 높인다.

EFA와 인피니밴드의 기술적 차이

EFA와 인피니밴드는 RDMA를 핵심 기술로 사용하지만, 설계 철학 및 구현 방식에서 차이를 보인다. 인피니밴드는 전용 환경에서 극한의 성능을 추구하며, EFA는 클라우드 환경에서 확장성과 유연성을 강조한다. DeepEP와 같은 인피니밴드 전용 소프트웨어 스택은 EFA 환경에서 동일한 성능을 보장하지 못할 수 있다.

인피니밴드: 전용 하드웨어, 폐쇄형 환경, 극강의 성능 추구

EFA: 이더넷 기반, 클라우드 환경, 확장성 및 유연성 강조

소프트웨어 호환성: 인피니밴드 전용 스택은 EFA에서 성능 저하 가능성

결과적으로, EFA는 클라우드 기반의 대규모 머신러닝 트레이닝(Machine Learning Training) 및 추론(Inference) 환경에 적합하며, 인피니밴드는 온프레미스 HPC 클러스터(HPC Cluster)와 같은 전용 환경에서 더 나은 선택이 될 수 있다.

EFA 도입 시 고려 사항

EFA는 AWS 클라우드 환경에서 분산 트레이닝 환경을 구축하기 위한 필수적인 기술이지만, 몇 가지 고려 사항이 존재한다. EFA는 AWS 생태계 내에서 설계되었으므로, AWS 서비스와의 통합은 용이하지만, 인피니밴드 전용 소프트웨어 스택과의 호환성(Compatibility)은 제한적일 수 있다.

AWS 생태계 통합: S3, FSx, Batch, SageMaker 등과의 연동

소프트웨어 호환성: 인피니밴드 전용 라이브러리(예: DeepEP)와의 호환성 문제

클러스터 구성: AWS ParallelCluster를 활용한 간편한 클러스터 구성

EFA를 도입하기 전에, 사용 중인 소프트웨어 스택(Software Stack)의 호환성을 확인하고, AWS 생태계와의 통합을 고려하여 최적의 아키텍처(Architecture)를 설계해야 한다.

분산 트레이닝 관점에서의 AWS 인터커넥트 기술 소개 – AWS는 왜 인터커넥트 기술로 EFA를 사용하는가?