RDMA란 무엇입니까?

우리 모두가 알고 있듯이 인터넷 데이터의 폭발적인 성장은 데이터 센터의 처리 용량에 큰 문제를 가져왔습니다.

컴퓨팅, 스토리지 및 네트워크는 데이터 센터 개발을 주도하는 세 가지 원동력입니다.

CPU, GPU, FPGA의 발전으로 컴퓨팅 파워가 크게 향상되었습니다. 스토리지 솔리드 스테이트 드라이브(SSD)의 도입으로 데이터 액세스 대기 시간이 크게 줄었습니다.

그러나 네트워크의 발전은 분명히 뒤쳐지고 전송 지연이 높으며 점차 데이터 센터 성능의 병목 현상이 되고 있습니다.

컴퓨팅 성능이 크게 향상되었습니다.

데이터 센터에서 트래픽의 70%는 동서 트래픽(서버 간 트래픽)입니다. 이 트래픽은 일반적으로 데이터 센터에서 고성능 분산 병렬 컴퓨팅 중에 데이터 흐름을 처리하고 TCP/IP 네트워크를 통해 전송됩니다.

서버 간 TCP/IP 전송률이 높아지면 데이터 센터의 성능도 높아집니다.

교통량의 70%는 동서 교통

서버 간 TCP/IP 전송

서버 A가 데이터 센터에 있는 서버 B로 데이터를 보내는 과정은 다음과 같습니다.

서버 간 TCP/IP 전송

  1. CPU 제어 데이터는 A의 APP 버퍼에서 운영 체제 버퍼로 복사됩니다.
  2. CPU 제어 데이터 운영 체제(OS) 버퍼에 TCP 및 IP 헤더를 추가합니다.
  3. TCP 및 IP 패킷 헤더를 추가하여 데이터를 NIC로 보내고 이더넷 패킷 헤더를 추가하십시오.
  4. 패킷은 네트워크 어댑터에서 전송되고 이더넷 네트워크를 통해 서버 B의 네트워크 어댑터로 전송됩니다.
  5. 서버 B의 네트워크 어댑터는 패킷의 이더넷 헤더를 언로드하고 운영 체제 버퍼로 전송합니다.
  6. CPU는 운영 체제 버퍼에서 TCP 및 IP 패킷 헤더를 언로드합니다.
  7. CPU는 제거된 데이터를 APP 버퍼로 전송하는 것을 제어합니다.

데이터 전송 과정에서 알 수 있듯이 데이터는 서버의 Buffer에 여러 번 복사되며 운영 체제에서 TCP 및 IP 헤더를 추가하거나 제거해야 합니다. 이러한 작업은 데이터 전송 지연을 증가시킬 뿐만 아니라 고성능 컴퓨팅의 요구 사항을 충족할 수 없는 많은 CPU 리소스를 소비합니다.

그렇다면 높은 처리량, 초저지연, 낮은 CPU 오버헤드로 고성능 데이터 센터 네트워크를 구성하는 방법은 무엇일까요?

RDMA 기술이 그렇게 할 수 있습니다.

RDMA란?

RDMA(원격 직접 메모리 액세스)는 서버가 운영 체제/CPU에서 시간 소모적인 처리 없이 고속으로 다른 서버의 메모리 데이터를 읽고 쓸 수 있도록 하는 새로운 메모리 액세스 기술입니다.

RDMA는 새로운 기술이 아니며 고성능 컴퓨팅(HPC)에서 널리 사용되었습니다. 데이터 센터의 높은 대역폭과 낮은 지연에 대한 개발 요구로 인해 RDMA는 데이터 센터의 고성능이 필요한 일부 시나리오에 점진적으로 적용되었습니다.

예를 들어, 2021년 대형 온라인 몰의 쇼핑 축제 거래액은 500년에 비해 거의 10% 증가한 2020억 위안 이상의 신기록을 달성했습니다. 이러한 엄청난 거래량 뒤에는 대량의 데이터 처리가 있습니다. 온라인몰은 RDMA 기술을 활용해 고성능 네트워크를 지원하고 원활한 쇼핑 축제를 보장한다.

짧은 대기 시간을 위한 몇 가지 RDMA 트릭을 살펴보겠습니다.

RDMA는 서버 애플리케이션 데이터를 메모리에서 지능형 네트워크 카드(INIC)(강화된 RDMA 프로토콜)로 직접 전송하고 INIC 하드웨어는 RDMA 전송 패킷 캡슐화를 완료하여 운영 체제와 CPU를 비웁니다.

INIC 하드웨어는 RDMA 전송 패킷 캡슐화를 완료하여 운영 체제와 CPU를 해제합니다.

이는 RDMA에 두 가지 주요 이점을 제공합니다.

  • 제로 카피: 운영 체제 커널에 데이터를 복사하고 패킷 헤더를 처리할 필요가 없으므로 전송 대기 시간이 크게 줄어드는 프로세스입니다.
  • 커널 우회 및 프로토콜 Off하중: 운영 체제 커널이 관여하지 않으며 데이터 경로에 복잡한 헤더 논리가 없습니다. 이렇게 하면 대기 시간이 줄어들고 CPU 리소스가 크게 절약됩니다.

RDMA에는 두 가지 주요 이점이 있습니다.

세 가지 주요 RDMA 네트워크

현재 RDMA 네트워크에는 세 가지 유형이 있습니다. 인피니밴드, RoCE(통합 이더넷을 통한 RDMA) 및 iWARP(TCP를 통한 RDMA)입니다.

RDMA는 원래 하드웨어 수준에서 안정적인 전송을 보장하기 위해 Infiniband 네트워크 아키텍처에 독점적인 반면 RoCE 및 iWARP는 이더넷 기반 RDMA 기술입니다.

인피니밴드

  • InfiniBand는 RDMA용으로 특별히 설계된 네트워크입니다.
  • Cut-Through 포워딩 모드는 포워딩 지연을 줄이기 위해 채택되었습니다.
  • 신용 기반 흐름 제어 메커니즘은 패킷 손실을 방지합니다.
  • 네트워크 구축 비용이 가장 높은 InfiniBand의 전용 네트워크 어댑터, 스위치, 라우터가 필요합니다.

로체

  • 전송 계층은 InfiniBand 프로토콜입니다.
  • RoCE는 두 가지 버전으로 제공됩니다. RoCEv1은 이더넷 링크 계층에서 구현되며 계층 L2에서만 전송할 수 있습니다. RoCEv2는 UDP 기반 RDMA를 호스트하며 레이어 3 네트워크에 배포할 수 있습니다.
  • RDMA 전용 지능형 네트워크 어댑터 지원, 전용 스위치 및 라우터 필요 없음(ECN/PFC 기술 지원, 패킷 손실률 감소), 최저 네트워크 구축 비용.

아이워프

  • 전송 계층은 iWARP 프로토콜입니다.
  • iWARP는 이더넷 TCP/IP 프로토콜의 TCP 계층에서 구현되며 L2/L3 계층에서 전송을 지원합니다. 대규모 네트워크의 TCP 연결은 많은 CPU를 소비하므로 거의 사용되지 않습니다.
  • iWARP는 전용 스위치 및 라우터 없이 RDMA를 지원하는 네트워크 어댑터만 필요하며 InfiniBand와 RoCE 사이의 비용이 듭니다.

고급 기술이지만 가격이 비싼 Infiniband는 HPC 고성능 컴퓨팅으로 제한됩니다. RoCE 및 iWARPC의 등장으로 RDMA 비용이 절감되고 RDMA 기술이 대중화되었습니다.

고성능 스토리지 및 컴퓨팅 데이터 센터에서 이러한 세 가지 유형의 RDMA 네트워크를 사용하면 데이터 전송 대기 시간을 크게 줄이고 애플리케이션에 더 높은 CPU 리소스 가용성을 제공할 수 있습니다.

InfiniBand 네트워크는 이더넷 장치보다 100배 낮은 XNUMX나노초의 낮은 전송 대기 시간으로 데이터 센터에 최고의 성능을 제공합니다.

RoCE 및 iWARP 네트워크는 구축 비용이 많이 들지 않으면서 RDMA의 고성능 및 낮은 CPU 사용량을 최대한 활용하여 데이터 센터 및 호스트 RDMA over Ethernet에 고비용 성능을 제공합니다.

UDP 기반 RoCE는 TCP 기반 iWARP보다 성능이 우수하며 무손실 이더넷 흐름 제어 기술과 결합되어 패킷 손실 감도 문제를 해결합니다. RoCE 네트워크는 다양한 산업 분야의 고성능 데이터 센터에서 널리 사용되고 있습니다.

결론

5G, 인공 지능, 산업 인터넷 및 기타 새로운 분야의 발전으로 RDMA 기술의 적용이 점점 더 대중화될 것이며 RDMA는 데이터 센터의 성능에 크게 기여할 것입니다.

코멘트 남김

위쪽으로 스크롤