이제 Elastic Fabric Adapter(EFA)와 NVIDIA GPUDirect Storage(GDS)를 Amazon FSx for Lustre에서 지원하게 되었습니다. EFA는 높은 수준의 노드 간 통신이 필요한 애플리케이션을 대규모로 실행할 수 있게 하는 Amazon EC2 인스턴스용 네트워크 인터페이스입니다. GDS는 로컬 또는 원격 스토리지와 GPU 메모리 사이에 직접 데이터 경로를 생성하는 기술입니다. 이러한 개선 사항을 통해 EFA/GDS를 지원하는 Amazon FSx for Lustre는 이전 FSx for Lustre 버전에 비해 클라이언트당 최대 15배 많은 처리량(최대 1500Gbps)을 제공합니다.
FSx for Lustre를 사용하면 딥 러닝 훈련, 신약 개발, 금융 모델링, 자율 주행 차량 개발처럼 최고의 성능을 필요로 하는 애플리케이션을 구축하고 실행할 수 있습니다. 데이터세트가 증가하고 새로운 기술이 등장함에 따라 Amazon EC2 P5, Trn1, Hpc7a 등, 점점 더 강력한 GPU 및 HPC 인스턴스를 채택할 수 있습니다. 지금까지 FSx for Lustre 파일 시스템에 액세스할 때 기존 TCP 네트워킹을 사용하면 개별 클라이언트 인스턴스의 처리량이 100Gbps로 제한되었습니다. 이번 도입으로 대규모 데이터세트에 액세스할 때 이러한 첨단 EC2 인스턴스의 네트워크 대역폭 증가를 최적으로 활용하는 데 필요한 성능을 제공하기 위한 FSx for Lustre 파일 시스템의 필요성이 제기되고 있습니다.
이제 FSx for Lustre에 EFA와 GDS가 지원되므로 애플리케이션에서 P5 GPU 인스턴스와 NVIDIA CUDA를 사용할 때 클라이언트 인스턴스당 최대 1,500Gbps의 처리량(이전보다 15배 많은 처리량)을 달성할 수 있습니다.
이 새로운 기능을 통해 가장 강력한 컴퓨팅 인스턴스의 네트워크 대역폭을 최대한 활용하고 기계 학습(ML) 및 HPC 워크로드를 가속화할 수 있습니다. EFA는 운영 체제를 우회하고 AWS SRD(Scalable Reliable Datagram) 프로토콜을 사용하여 데이터 전송을 최적화함으로써 성능을 향상시킵니다. GDS는 파일 시스템과 GPU 메모리 간 직접 데이터 전송을 지원하고 CPU를 우회하며 중복 메모리 사본을 제거하여 성능을 더욱 개선합니다.
이제 실제로 어떻게 작동하는지 알아보겠습니다.
EFA가 활성화된 Amazon FSx for Lustre 파일 시스템 생성
시작하려면 Amazon FSx 콘솔에서 파일 시스템 생성을 선택한 다음 Amazon FSx for Lustre를 선택합니다.
파일 시스템의 이름을 입력합니다. 배포 및 스토리지 유형 섹션에서 영구, SSD 및 EFA가 활성화된 새 옵션을 선택합니다. 스토리지 단위당 처리량 섹션에서 1000MB/s/TiB를 선택합니다. 이러한 설정과 함께 스토리지 용량으로 4.8TiB를 입력합니다. 이러한 설정에서 지원되는 최솟값입니다.
네트워킹의 경우 기본 가상 프라이빗 클라우드(VPC)와 EFA가 활성화된 보안 그룹을 사용합니다. 나머지 옵션은 전부 기본값으로 두겠습니다.
모든 옵션을 검토하고 파일 시스템 생성을 진행합니다. 몇 분 후 파일 시스템을 사용할 수 있습니다.
Amazon EC2 인스턴스에서 EFA를 활성화한 Amazon FSx for Lustre 파일 시스템 마운트
Amazon EC2 콘솔에서 인스턴스 시작을 선택하고 인스턴스 이름을 입력한 다음 Amazon Machine Image(AMI)를 선택합니다. 인스턴스 유형으로 trn1.32xlarge를 선택합니다.
네트워크 설정에서 기본 설정을 편집하고 FSx Lustre 파일 시스템에서 사용하는 것과 동일한 서브넷을 선택합니다. 방화벽(보안 그룹)에서 세 개의 기존 보안 그룹, 즉 FSx for Lustre 파일 시스템에서 사용하는 EFA가 활성화된 보안 그룹, 기본 보안 그룹, Secure Shell(SSH) 액세스를 제공하는 보안 그룹을 선택합니다.
고급 네트워크 구성에서 인터페이스 유형으로 ENA와 EFA를 선택합니다. 이 설정이 없으면 인스턴스는 기존 TCP 네트워킹을 사용하게 되며 FSx for Lustre 파일 시스템과의 연결은 여전히 처리량이 100Gbps로 제한됩니다.
처리량을 늘리기 위해 인스턴스 유형에 따라 EFA 네트워크 인터페이스를 더 추가할 수 있습니다.
인스턴스를 시작하고 인스턴스가 준비되면 EC2 인스턴스 연결을 사용하여 연결하고 FSx for Lustre 사용 설명서의 Lustre 클라이언트 설치 및 EFA 클라이언트 구성 지침을 따릅니다.
그런 다음 EC2 인스턴스에서 FSx for Lustre 파일 시스템을 마운트하기 위한 지침을 따릅니다.
마운트 포인트로 사용할 폴더를 만듭니다.
FSx 콘솔에서 파일 시스템을 선택하고 DNS 이름과 마운트 이름을 조회합니다. 이 값을 사용하여 파일 시스템을 마운트합니다.
EFA를 지원하고 Lustre 버전 2.15 이상을 사용하는 클라이언트 인스턴스에서 EFA가 활성화된 파일 시스템에 액세스할 때 EFA가 자동으로 사용됩니다.
알아야 할 사항
EFA와 GDS 지원은 현재 persistent 2가 제공되는 모든 AWS 리전에서 새로운 Amazon FSx for Lustre 파일 시스템을 대상으로 추가 비용 없이 제공됩니다. 고객이 추가 구성을 하지 않아도 EFA를 지원하는 클라이언트 인스턴스에서 EFA가 활성화된 파일 시스템에 액세스하면 FSx for Lustre가 자동으로 EFA를 사용합니다. EFA를 지원하는 EC2 클라이언트 인스턴스 목록은 Amazon EC2 사용 설명서의 지원되는 인스턴스 유형을 참조하세요. 이 네트워크 사양 표에서는 가속 컴퓨팅 범주의 인스턴스 유형에 대한 네트워크 대역폭과 EFA 지원을 설명합니다.
FSx for Lustre 파일 시스템과 함께 EFA가 활성화된 인스턴스를 사용하려면 커널 6.8 이상이 설치된 Ubuntu 22.04에서 Lustre 2.15 클라이언트를 사용해야 합니다.
단, 클라이언트 인스턴스와 파일 시스템은 Amazon Virtual Private Cloud(Amazon VPC) 연결 내에서 동일한 서브넷에 있어야 합니다.
GDS는 EFA가 활성화된 파일 시스템에서 자동으로 지원됩니다. FSx for Lustre 파일 시스템과 함께 GDS를 사용하려면 클라이언트 인스턴스에 NVIDIA 컴퓨팅 통합 디바이스 아키텍처(CUDA) 패키지, 오픈 소스 NVIDIA 드라이버, NVIDIA GPUDirect 스토리지 드라이버가 설치되어 있어야 합니다. 이러한 패키지는 AWS 딥 러닝 AMI에 사전 설치되어 있습니다. 그런 다음 CUDA가 활성화된 애플리케이션을 사용하여 파일 시스템과 GPU 간 데이터 전송에 GPUDirect 스토리지를 사용할 수 있습니다.
배포를 계획할 때는 EFA가 활성화된 파일 시스템이 EFA가활성화되지 않은 파일 시스템보다 최소 스토리지 용량 증분이 크다는 점에 유의하세요. 예를 들어 1,000MB/s/TiB 처리량 계층을 선택할 경우 EFA가 활성화된 파일 시스템의 최소 스토리지 용량은 4.8TiB부터 시작하는 반면, EFA가 활성화되지 않은 FSx for Lustre 파일 시스템의 경우는 1.2TB입니다. 기존 워크로드를 마이그레이션하려는 경우 AWS DataSync를 사용하여 기존 파일 시스템에서 EFA와 GDS를 지원하는 새 파일 시스템으로 데이터를 이동할 수 있습니다.
FSx for Lustre는 유연성을 극대화하기 위해 EFA 및 비 EFA 워크로드 모두와 호환성을 유지합니다. EFA가 활성화된 파일 시스템에 액세스할 때 비 EFA 클라이언트 인스턴스의 트래픽은 Elastic Network Adapter(ENA)를 사용하는 기존 TCP/IP 네트워킹을 통해 자동으로 흐르므로 추가 구성 없이 모든 워크로드에 원활하게 액세스할 수 있습니다.
자세한 설정 지침과 모범 사례를 포함하여 FSx for Lustre의 EFA 및 GDS 지원에 대해 자세히 알아보려면 Amazon FSx for Lustre 설명서를 참조하세요. 지금 시작하여 클라우드의 GPU 인스턴스에 사용할 수 있는 가장 빠른 스토리지 성능을 경험해 보세요.
– Danilo