개요

RDMA(Remote Direct Memory Access)는 호스트 디바이스(네트워크를 통해 연결된 기기)가 CPU와 운영체제의 개입 없이 메인 메모리에 존재하는 데이터를 읽고 쓸 수 있도록 하는 혁신적인 기술이다. 간단히 말해, 특정 유형의 네트워크 카드를 사용하여 네트워크를 통해 연결된 컴퓨터는 동시에 데이터를 읽고 주 메모리에 쓰는 동안 원격 시스템 프로세서와 운영 체제를 우회할 수 있다.

RDMA 기술은 성능 지향적인 환경에서 광범위하게 사용된다. 컴퓨팅 노드 간 메모리 레벨로 메모리 정보를 전송하면서 대기 시간이 짧은 것이 특징이다. 이는 데이터 전송 기능이 HCA(호스트 채널 어댑터)라고도 하는 특수 설계된 네트워크 어댑터 하드웨어로 오프로드되기 때문에 가능하다.

호스트 채널 어댑터는 애플리케이션 메모리와 직접 상호작용할 수 있다. 이로 인해 CPU 사이클을 전혀 소비하지 않고 네트워크 데이터 전송이 이루어지게 되어, 네트워크 컴퓨터 간에 데이터를 더 낮은 지연 시간과 CPU 활용률로 이동시킬 수 있는 보다 효율적이고 빠른 방법이 제공된다.

RDMA 없는 데이터전송
RDMA 데이터 전송

PVRDMA란?

VM 간 RDMA는 Para-Virtual RDMA로 알려져 있다. vSphere 6.5에서 도입된 표준 RDMA API를 지원하는 PCIe 가상 NIC를 갖춘 VM은 PVRDMA 기술을 활용할 수 있다. Para-Virtual RDMA를 활용하려면 VM을 동일한 분산 가상 스위치에 연결해야 한다. Para-Virtual RDMA 지원 VM 간의 통신 방법은 다음과 같은 시나리오에 따라 자동으로 선택된다.

  • 동일한 ESXi 호스트에서 실행 중인 VM은 PVRDMA용 메모리 복사본을 사용하며, 이 모드에서는 ESXi 호스트에 HCA 카드가 연결되지 않아도 된다.
  • HCA 카드가 있는 서로 다른 ESXi 호스트에 있는 VM은 HCA 카드를 통해 PVRDMA 통신을 달성한다. 이를 위해 HCA 카드는 분산 가상 스위치에서 업링크로 구성되어야 한다.
  • 하나 이상의 ESXi 호스트 중 하나에 HCA 카드가 연결되어 있지 않은 서로 다른 ESXi 호스트에 있는 VM은 TCP 기반 채널을 통해 통신이 이루어지고 성능이 저하된다.

PVRDMA 지원 VM은 이제 네이티브 엔드포인트와 통신할 수 있음 !!

vSphere 7U1에 도입된 Para-Virtual RDMA 지원 VM은 이제 네이티브 엔드포인트와 통신할 수 있다. 기본 엔드포인트는 PVRDMA 어댑터 유형(비 PVRDMA 엔드포인트)을 사용하지 않는 스토리지 어레이와 같은 RDMA 지원 장치다. 클러스터와 스토리지 어레이의 노드 간 통신에 RDMA 기술을 사용하는 것은 매우 짧은 대기 시간과 특히 3-Tier 애플리케이션을 위한 고성능을 제공하기 때문에 매우 흔하다.

이 기능을 통해 고객은 RDMA를 사용하여 스토리지 장치 및 어레이와 통신하는 애플리케이션 및 클러스터에 대해 향상된 성능을 얻을 수 있다.

이 릴리스에서는 vMotion이 지원되지 않지만 호환성 최적화를 위해 이 기능을 향상시키기 위해 계속 노력 중이다.

기본 엔드포인트에 대한 PVRDMA 지원을 활성화하기 위한 사전 요구 사항

  • ESXi 호스트에 PVRDMA 네임스페이스가 지원되어야 함
    • ESXi 네임스페이스를 Tanzu/Tanzu Kubernetes 그리드 네임스페이스를 사용하는 vSphere와 혼동해서는 안 된다. vSphere 7.0 이전 릴리스에서는 PVRDMA가 기본 하드웨어에 있는 공용 리소스 식별자를 가상화하여 가상 시스템을 한 물리적 호스트 서버에서 다른 물리적 호스트 서버로 이동하기 위해 vMotion을 사용한 후 가상 시스템이 작업을 재개할 때 동일한 공용 식별자로 물리적 리소스를 할당할 수 있음을 보장했다. 이를 위해 PVRDMA는 리소스를 생성할 때 가상에서 물리적 리소스로의 식별자 변환을 피어로 배포했다. 이로 인해 많은 양의 리소스를 생성할 때 유의할 수 있는 추가 오버헤드가 발생했다. PVRDMA 네임스페이스는 식별자 할당을 조정하지 않고 여러 VM이 공존하도록 하여 이러한 추가 오버헤드를 방지한다. 각 VM에는 RDMA 하드웨어에 격리된 식별자 네임스페이스가 할당되어 모든 VM이 다른 가상 시스템과 충돌하지 않고 동일한 범위 내에서 식별자를 선택할 수 있다. 물리적 리소스 식별자는 vMotion 이후에도 더 이상 변경되지 않으므로 가상에서 물리적 리소스 식별자 간 변환이 더 이상 필요하지 않다.
  • 게스트 OS에는 RDMA 네임스페이스에 대한 커널 및 사용자 레벨 지원이 있어야 한다.
    • 네임스페이스 지원은 Linux 커널 5.5 이상의 일부임
    • 사용자 레벨 지원은 rdma-core 라이브러리를 사용하여 제공한다.
  • 이 기능을 사용하려면 VM 하드웨어 버전 18이 필요하다.

결론적으로

VMware는 고객 문제를 해결하기 위해 지속적으로 혁신하고 있다. 일부 환경 및 비즈니스 사용 사례에서는 데이터 전송 중 대기 시간을 최소화하는 것이 가장 중요하다.

기본 엔드포인트에 대한 PVRDMA 지원을 통해 vSphere에서 실행 중인 애플리케이션이 스토리지 솔루션과 번개 같은 속도로 데이터를 교환할 수 있도록 지원 이를 통해 기업은 항상 높은 성능을 제공할 수 있다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

You May Also Like

MACHINE LEARNING ON VMWARE PLATFORM – PART 1

머신 러닝(Machine Learning)은 현대 비즈니스를 재편하고 있습니다. 대부분의 VMware 고객은 수익을 증대하거나 비용을 절감하기 위해 머신 러닝을 고려하고…

vSphere 7 Update 1 – AMD SEV-ES

2019년 8월 VMware는 2세대 EPYC 서버급 CPU를 발표하면서 AMD에 합류했다. vSphere의 향후 릴리즈에서 이러한 CPU의 AMD Secure Encrypted…