백서 다운로드

Atlas10 카메라의 원격 직접 메모리 액세스 (RDMA)

RDMA 10GigE Whitepaper

이 백서에서는 RDMA 기술이 고속 이더넷 머신 비전 카메라를 어떻게 변화시키고 있는지에 대해 자세히 설명합니다. 이 백서에서는 RDMA의 기원과 메커니즘, RoCEv2 표준을 살펴보고 TCP 및 UDP와 같은 기존 프로토콜과의 자세한 비교를 제공합니다. 이 백서에서는 데이터 전송이 CPU와 OS를 우회할 수 있는 RDMA가 제공하는 제로 카피 전송 기능을 강조합니다. 또한 이 백서에서는 예비 벤치마크 결과를 포함하여 이 기능이 10기가 및 25기가 카메라에 어떤 영향을 미치는지에 대한 포괄적인 개요를 제시합니다. 이 백서를 읽으면 RDMA 기술이 머신 비전 카메라 산업에 미치는 영향에 대한 귀중한 통찰력을 얻을 수 있습니다.

목차:

– GigE Vision 표준용으로 UDP를 사용하는 이유?
– 10GigE 카메라용 UDP의 도전과제
– CPU 병목 상태 제거
– 수렴형 이더넷의 원격 DMA(RoCE v2)
– RDMA 연결 및 전송 단계 + 노트!
– GigE Vision 용 RDMA
– GPU 메모리 개요?
– UDP 대 RDMA 벤치마크
– 미래는 고속이다

“제출”을 클릭하면 다운로드 링크가 제공됩니다.
(영어, 일본어, 한국어, 중국어 PDF 다운로드 가능)

Sneak Peek

Surviving Industrial Challenges To build these compact embedded vision systems however, application designers must navigate the challenges of harsher operating environments and the complexities of building smaller, faster, more power efficient systems. They must work to validate their system through time-consuming stages, starting from the proof of concept (POC), to prototyping, and finally to a minimum viable product (MVP) or a Full Custom Design (FCD). Off-the-shelf embedded development kits, such as those from NVIDIA, Xilinx, or Raspberry Pi offer a quick solution to building a proof-of-concept design. However, many camera modules and embedded development boards offer little to no protection from the harsh environments of industrial spaces. A considerable amount of time must be spent on designing and testing prototypes that are protected against dust and moisture (IP67 or IP65), electromagnetic interference (EMC immunity) and ... 위의 양식을 작성하고 PDF 백서를 다운로드하세요. 이더넷 네트워크 상에서 RDMA를 적용하면 다음과 같은 이점을 얻을 수 있다. • 기존 스위칭 인프라 및 케이블링과 호환할 수 있고 이더넷 네트워크의 모든 속도로 이용 가능한 가장 빠른 처리량 및 가장 낮은 지연 속도 • 제로 카피를 통한 CPU 개입 없이 패킷 처리의 완전한 하드웨어 오프로드; 원격 버퍼로(부터) 데이터를 발신하고 수신하는 기능 • 안전한 커넥터, EMI 실딩, 그라운드 아이솔레이션(ground isolation), 이더넷 전원장치(Power over Ethernet, PoE)를 제공하는 산업용 연결 솔루션의 포괄적인 생태계 • 상호운용성을 촉진하는 수많은 하드웨어 및 소프트웨어 솔루션 공급업체(Broadcom, Marvell, Nvidia, Intel 포함)의 지원 호스트 채널 어댑터(Host Channel Adapter, HCA)는 하드웨어에서 RDMA 프로토콜을 실행하는 데 필요한 모든 로직을 구현하면서 RoCE 작동을 관리한다. 데이터 세분화와 재조립뿐만 아니라 흐름 제어는 발신기와 수신기 애플리케이션이 전체 버퍼와 함께 작동할 수 있도록 하면서 HCA에 의해 관리된다. RDMA 채널은 "피닝(pinning)" 메모리에 의해 개시된다. 메모리 영역은 RDMA 사용을 위해 호스트에 예비 상태로 두고 필요한 보호가 적용된 후, 호스트는 주소를 HCA에 보낸후 데이터 경로에서 제거된다. 이러한 등록된 메모리 영역은 이제 운영체계를 우회하고 어떤 추가 CPU 부하도 생성하지 않으면서 RDMA 작동용으로 사용할 수 있다. RoCE RDMA 트랜잭션은 3가지 대기열을 사용한다. 발신 및 수신 대기열은 모든 데이터 트랜잭션을 처리하고, 항상 대기열 쌍(Queue Pair, QP)으로서 함께 생성된다. 완료 대기열(Completion Queue, CQ)은 QP에서 예정된 작업의 완료를 추적하는 용도로 사용한다. QP는 애플리케이션 수준 흐름 제어가 수신기의 말단에서 RDMA 전송에 이용할 수 있는 버퍼를 발신기에 알려줄 수 있게 해준다. 그림 7: 전통적인 네트워킹 스택(왼쪽)에서 원격 시스템의 한 애플리케이션에서 다른 애플리케이션으로 데이터를 전송하려면 각각의 단계에서 여려 번의 버퍼 복사와 문맥 전환을 수반하기 때문에 CPU를 사용하게 된다. RoCE 네트워크의 경우 데이터는 OS 스택을 완전히 우회하면서 CPU 개입 없이 개시 애플리케이션에서 대상 애플리케이션으로 직접 전송된다. LUCID 10 GigE 카메라를 활용한 RDMA를 활성화하려면 무엇이 필요한가? • RDMA 펌웨어를 활용한 LUCID Atlas10 카메라 • RDMA 10 GigE 호스트 채널 어댑터(HCA) • (선택사양) PFC 우선순위 활성화 VLAN을 활용한 10 GigE 스위치 • Cat6 이상의 이더넷 케이블 RDMA 데이터를 전송하려면, 그 전에 각 하드웨어 포트에 대하여 대기열 쌍(QP)과 완료 대기열(CQ)을 생성해야 한다. 이를 RDMA 네트워크에 대한 채널 어댑터(Channel Adapter, CA)라고 한다. 카메라에 필요한 것: 카메라 QP(발신 및 수신 대기열) 카메라 CQ(완료 대기열) MS Windows®의 경우 Network Direct 그리고 Linux의 경우 Libibverbs 라이브러리 덕분에 RDMA 사용자 애플리케이션용으로 호스트 메모리를 등록하고 예비 상태로 둘 수 있다. RDMA 데이터 전송은 메모리가 등록된 후에만 시작할 수 있다. 호스트의 메모리를 "피닝(pinning)"하여 이를 실시한다. 메모리 영역은 OS가 예비 상태로 두고 HCA에 등록한다. 호스트 채널 어댑터(HCA) 포트 2 HCA2 QP(발신 및 수신 대기열) HCA2 CQ(완료 대기열) 호스트 채널 어댑터(HCA) 포트 1 HCA1 QP(발신 및 수신 대기열) HCA1 CQ(완료 대기열) RDMA 장치는 애플리케이션에서 어떻게 프로그래밍되는가? 이는 RDMA 애플리케이션의 낮은 수준 구성 요소인 RDMA 동사부터 시작한다. 다양한 API 라이브러리로 이에 액세스할 수 있다. 하지만, 사용되는 2개의 주요 라이브러리는 Linux의 경우 Libibverbs이고 Microsoft Windows의 경우 Network Direct SPI이다. 이러한 API를 통해 RDMA 장치는 채널 어댑터 연결을 설정하고, 메모리를 핀 및 등록하고, 데이터 전송을 실행하고, 연결을 종료할 수 있다. 단측(one-sided) 및 양측(two-sided) 동사와 같이 2가지 유형의 동사가 있다. 단측 동사를 활용하면 원격 장치(예: 카메라)가 데이터를 발송할 때 CPU/OS를 완전히 우회할 수 있다. 양측 동사는 CPU/OS를 활용하는 전통적인 소켓과 더욱 유사한 작동을 한다. LUCID는 양측 동사를 사용한다. 양측 동사를 사용하는 경우에도 전통적인 이더넷 데이터 전송과 비교하여 CPU 오버헤드의 여러 발생원을 제거할 수 있다. 전송 대기열을 다시 만들고 CQ를 폴링하기 위해서는 양측 동사를 사용해야 한다. 이러한 작업은 미미한 수준의 CPU 리소스를 소모한다. ======RDMA 동사 및 동사 API====== 10GigE RDMA White Paper