이미지포커스, 머신비전 고속 데이터 전송 환경에 이상적인 'RDMA' 소개

2023.06.09 08:53:32

함수미 기자 etech@hellot.net

 

고속 데이터 전송 환경은 대역폭 집약적 애플리케이션의 전례 없는 수요 증가를 충족하기 위해 신기술이 등장함에 따라 꾸준히 진화하고 있다. 이더넷 UDP 프로토콜은 단순성과 낮은 지연 속도 때문에 오랜 기간 GigE Vision 카메라의 데이터를 스트리밍하는 데 선호되는 협약이었다.

 

1 GigE를 초과하는 대역폭 애플리케이션의 수요가계속 증가함에 따라 거대한 데이터 증가를 처리하기 위한 더욱 효율적이고 신뢰할 수 있는 전송 표준이 필요했다. 그 결과, 10 GigE 및 25 GigE 멀티카메라 애플리케이션용으로 UDP의 실현 가능한 대안으로서 원격 직접 메모리 액세스(즉, Remote Direct Memory Access, RDMA)가 채택됐다. 


UDP는 성능과 단순성이 탁월하지만 흐름 제어 및 패킷 재전송과 관련하여 본질적인 한계가 있다. 반면, RDMA는 CPU와 운영체계를 우회하여 호스트 PC의 메모리에 직접 이미지 데이터를 저장하는 방식으로 더욱 견고하고 효율적인 데이터 전송 수단이 된다. 이런 방식으로 다른 핵심 시각 처리 작업을 위한 CPU 여유 공간을 확보할 수 있기 때문에 이미지 스트림의 속도와 효율성이 향상된다. 또한 흐름 제어와 패킷 재전송을 비롯한 RDMA의 내장 신뢰성 기능 덕분에 현대의 고대역폭 애플리케이션에 의해 생성되는 거대한 데이터 양을 관리하는 데 이상적이다. 

 

 

GigE Vision 표준용으로 UDP를 사용하는 이유?

 

GigE 비전 제어 프로토콜(GVCP)이 확립됐던 당시, 카메라 공급업체들은 효율적인 스트리밍 성능과 단순성 때문에 네트워킹 프로토콜로서 UDP를 선택했다. 운영자, 설계자, 통합자는 UDP를 표준으로 빠르게 구현하고 UDP 상단에 부족한 신뢰성 기능을 추가할 수 있었는데, 이 기능은 호스트 PC와 카메라의 펌웨어에서 CPU 리소스를 활용해 소프트웨어 내 애플리케이션 수준에서 실행됐다. 

 

이런 신뢰성 기능은 카메라 공급업체에게 선택사항으로서, 공급업체가 이 기능을 포기하기로 선택한다면 훨씬 더 단순해진다. GigE Vision 표준은 이더넷 상에서 장치 제어, 스트림, 검색, 전송 프로토콜을 규정함으로써 이더넷 장치가 UDP를 사용해 통신할 수 있게 해준다.
 
원격 직접 메모리 액세스(RDMA) 기술에 관한 표준은 2010년에 도입되어 수렴형 이더넷 상의 원격 DMA RoCE v1으로 명명됐다. 그러나 RDMA 기술이 레이어 3 (IP) 네트워크 상에서 작동할 수 있는 기능과 함께 더욱 다용도로 사용되는 것은 2014년에 RoCE v2 표준이 수립된 이후였다. 출시 시점에, RDMA 기술은 주로 데이터센터 환경에서 사용하도록 설계됐고 소비자 등급 RDMA 하드웨어와 구성품을 쉽게 구할 수 없었다. 하드웨어와 소프트웨어 공급업체의 지원 정도도 GigE Vision과 RoCE 표준 간 상당한 차이가 있었는데, GigE Vision은 머신 비전 카메라 및 소프트웨어 제조업체가 설계/공급했으며 RoCE는 주로 IT 및 반도체 기업의 지원을 받았다. 

 

CPU 병목 상태 제거

 

RDMA는 패킷마다 CPU 개입 없이 네트워크에서 장치 간 데이터 이동을 가능하게 한다. RDMA를 구현하는 네트워크 어댑터를 활용하면 애플리케이션 메모리에 직접 데이터를 쓰고, 운영체계를 전부 우회하며, 불필요한 데이터 복사(제로 카피 기능)를 피할 수 있으므로 CPU 오버헤드를 줄일 수 있다. 

 

수렴형 이더넷의 원격 DMA(RoCE v2)

 

RDMA 프로토콜의 최초 구현은 컴퓨터 간에 그리고 컴퓨터 내에서 데이터 상호연결에 사용되는 고성능의 낮은 지연 속도 네트워크 패브릭인 InfiniBand 상에서 실현됐다. InfiniBand는 고성능 컴퓨팅 애플리케이션용으로 빠르게 인기를 얻었다. 오늘날, 가장 강력한 상용 컴퓨터 시스템의 TOP500 목록에 등재된 대부분 HPC 시스템은 RDMA를 사용한다.

 

하지만 이미 정립되어 있는 광범위한 이더넷 인프라를 적극 활용하지 않는 전용 InfiniBand 스위치를 구해야 하기 때문에 더욱 광범위한 채택이 이루어지지 못했다. 이러한 필요성에 대응하기 위해 InfiniBand 무역협회(InfiniBand Trade Association, IBTA)에서 지원하는 개방형 표준으로서 RoCE v1이 2010년에 출시됐다. RoCE 사양은 레이어 3 네트워크 (IP) 간 라우팅과 흐름 제어 기능을 제공하기 위해 2014년에 출시된 RoCE v2 업데이트로 확대됐다. 

 

 

GigE Vision용 RDMA

 

대형 블록의 데이터를 전송하는 애플리케이션은 RDMA를 통해 최대한의 효율성 이득을 얻으므로 GigE Vision 기반 카메라에 적합하다. GigE Vision 상에서 RDMA를 구현하려면 GigE Vision 스트림 프로토콜을 조정해야 한다. 수신기(호스트)는 장치(카메라)와 신뢰할 수 있는 연결(Reliable Connection, RC)을 개시해 RDMA 스트림 채널을 설정한다. 발신 및 수신 작동을 통해 스트림 채널마다 QP가 하나씩 생성된다.

 

발신 대기열(호스트→장치)은 수신기 면에서 이용 가능한 버퍼를 장치에 알려주는 반면, 수신 대기열(장치→호스트)은 페이로드 전송에 사용할 수 있다. 연결은 수신 장치가 연결 차단을 개시하기 위해 분리 요청을 발신할 때까지 이미지 데이터와 버퍼 알림의 전송을 위해 설정된 QP를 통해 유지된다.

 

GVSP 헤더가 프레임용 모든 데이터 패킷에 삽입되는 UDP 사용 GVSP와 달리, RDMA 사용 GVSP는 이미지 페이로드 전송을 위해 어떤 GVSP 헤더도 요구하지 않는다. 데이터 페이로드에는 헤더가 들어 있지 않기 때문에 디코딩이 필요하지 않으며 수신기에 배정되는 인접한 메모리 목적지 버퍼에 직접 패킷을 넣을 수 있다. 패킷 재발신은 RoCE v2 HCA에서 처리하므로 개별 GVSP 헤더를 통해 패킷 ID를 추적할 필요가 없다.

 

RoCE v2는 InfiniBand 기초 전송 헤더(InfiniBand Base Transport Header, IB BTH)에 내재된 패킷 시퀀스 번호(Packet Sequence Number, PSN)로 패킷을 추적하고, 수신기는 순서대로만 패킷을 수용한다. PSN에서 갭이 탐지되는 경우(누락으로 인한 갭인지, 미정리로 인한 갭인지 여부와 상관없음), 호스트는 성공적으로 수신된 마지막 패킷 이후 패킷부터 시작하여 재전송을 요청한다. 이로써, 전용 하드웨어에서 작동하는 HCA가 모든 흐름 제어 및 패킷 디코딩을 처리하므로 오버헤드가 줄어들고 CPU 리소스의 여유 공간이 생긴다. 

 

흐름 제어를 구현하고 패킷 재전송 기능을 제공하려면 카메라는 발신된 패킷을 수신기가 수신을 인정(acknowledge, "ACK")할 때까지 보관해야 한다. 호스트는 수신하는 패킷마다 ACK를 발신하는 것이 비효율적이기 때문에 가장 최근에 수신한 PSN에 대해 ACK를 발신하여 한꺼번에 여러 패킷의 수신을 인정할 수 있다. 

 

UDP 대 RDMA 벤치마크

 

RDMA 사용에 따른 주요 이익 중 하나는 최소한의 CPU 사용량으로 여러 10 GigE 카메라 스트리밍을 제공하는 것이다. 또한 TCP와 유사하게, 카메라와 호스트 간 데이터 전송이 데이터 패킷 전달을 보장하기 위해 충분한 수준으로 신뢰할 수 있어야 한다. 다음의 벤치마크 결과는 두 가지 이익이 모두 달성된다는 것을 보여준다. 시험했던 것은 다음과 같다. 

 

 

미래는 고속이다

 

처음에 고성능 컴퓨팅 애플리케이션용으로 개발되어 GigE Vision 표준에 맞춰 조정된 RoCE v2의 개방형 표준 네트워크 기술 활용을 통해, LUCID는 10 GigE를 초과하는 고대역폭을 달성하는 데 있어 UDP 기술에 의해 야기되는 난제를 효과적으로 극복할 수 있었다. 그 결과, 이미지 취득으로 인해 생성되는 CPU 부하가 획기적으로 줄어들면서 최저 이미지 전달 지연 속도와 최고 데이터 처리량을 달성할 수 있었다.

 

궁극적으로, RDMA RoCE v2를 GigE Vision 표준에 편입함으로써 고대역폭 애플리케이션을 위해 이더넷 기반 카메라를 선택하는 소비자는 더욱 빠르고 신뢰할 수 있는 데이터 전송을 통해 이익을 얻을 수 있으며, 이는 머신 비전 애플리케이션용으로 선호되는 산업 인터페이스로서 이더넷을 더욱 강화한다.  

 

헬로티 함수미 기자 |

Copyright ⓒ 첨단 & Hellot.net





상호명(명칭) : (주)첨단 | 등록번호 : 서울,자00420 | 등록일자 : 2013년05월15일 | 제호 :헬로티(helloT) | 발행인 : 이종춘 | 편집인 : 김진희 | 본점 : 서울시 마포구 양화로 127, 3층, 지점 : 경기도 파주시 심학산로 10, 3층 | 발행일자 : 2012년 4월1일 | 청소년보호책임자 : 김유활 | 대표이사 : 이준원 | 사업자등록번호 : 118-81-03520 | 전화 : 02-3142-4151 | 팩스 : 02-338-3453 | 통신판매번호 : 제 2013-서울마포-1032호 copyright(c) HelloT all right reserved.