10GigE 우수 활용 사례: 단일 카메라 시스템 설치

호스트 시스템 구성, 케이블 연결, 카메라 설정 등과 관련된 모범 사례를 목록으로 정리.

10GigE 사용법을 연구하거나, 시스템 사용 시 고려해야 할 팁을 조사하는 사용자를 위해 본 백서는 단일 카메라 10GigE 비전 시스템을 원활히 설치하고 최적의 성능을 끌어 낼 수 있는 몇 가지 모범 사례를 제공합니다. FLIR는 호스트 시스템 구성, 케이블 연결, 카메라 설정 등과 관련된 모범 사례를 목록으로 정리하고 있습니다.

호스트 시스템 구성을 위한 우수 활용 사례

CPU

최근 출시된 PC의 경우, CPU가 가진 가용 연산 능력의 극히 일부만 사용해도 이더넷 패킷을 화상 데이터로 재조합 할 수 있습니다. 그러나, 대부분의 비전 응용 프로그램은 단순히 화상 데이터를 수집하고 저장하는 것에 그치지 않고 더욱 다양한 기능을 수행합니다. FLIR는 실시간으로 화상 데이터를 분석 할 수 있는 충분한 연산 능력을 사용자가 확보 할 수 있도록 하기 위해 4세대 Intel®Core™ i7 CPU 이상을 권장하고 있습니다.

대용량 저장 장치

Oryx 카메라에서 디스크로 데이터를 스트리밍하기 위해서는 10GigE 인터페이스가 요하는 성능을 갖춘 대용량 저장 장치가 필요합니다. 흔히 사용되는 SATA 3.0 대용량 저장 장치 인터페이스의 최대 대역폭은 초당 6GBit입니다. 만약, SATA 하드 디스크 드라이브, 또는 솔리드 스테이트 드라이브(SSD)를 사용하여 전체 대역폭으로 스트리밍하기 위해서는 두 개 이상의 SATA 3.0 디스크로 구성된 RAID 배열이 필요합니다.

대부분의 최신 마더보드는 M.2 SSD를 지원합니다. M.2 표준은 이론적으로 10GigE 카메라가 요하는 성능 수준에 맞는 대역폭을 제공 할 수 있는 PCIe 2.0 x4 또는 PCIe 3.0 x4 인터페이스를 사용합니다. 순차 쓰기(sequential write) 속도는 여전히 플래시 메모리 기술이 가진 한계의 제약을 받습니다. 2018년 초 현재, 가장 빠른 쓰기 속도를 가진 M.2 SSD는 초당 5.2GB의 순차 쓰기 속도를 제공하는 삼성 NVMe SM951 시리즈 제품입니다.

Intel이 새롭게 개발한 Optane 3D XPoint™ 메모리는 최대 초당 16Gbit의 쓰기 속도를 제공하지만, 아직까지는 저장 용량이 매우 작은 실정입니다.

메모리 대역폭

10GigE 카메라가 안정적으로 작동하기 위해서는 결코 작은 용량이 아닌, 초당 10Gbit 수준의 속도가 보장되어야 합니다. 이중 채널로 구성된 메모리는 사용자가 수신 패킷을 받은 후, 해당 패킷을 화상으로 만든 다음, 비전 응용 프로그램을 통해 화상을 다룰 수 있도록 충분한 수준의 대역폭을 제공합니다.

그림 1. 이중 채널 메모리는 단일 채널 메모리에 비해 월등한 수준의 성능을 제공

대용량 DIMM 하나를 사용하기 보다, 합쳤을 때 원하는 메모리 용량을 제공 할 수 있는 보다 작은 용량의 DMM 두 개를 활용하는 것이 좋습니다. 시스템의 메모리를 이중 채널로 구성하면, 메모리의 대역폭을 두 배로 증가시킬 수 있습니다. 메모리 채널의 경우, 마더보드에 컬러로 구분 할 수 있도록 구성되어 있기 때문에 설치가 쉬워집니다. 메모리를 이중 채널로 구성 할 때에는 각 메모리 모듈의 속도와 용량이 서로 맞는지 확인해야 합니다. 최근에는 다수의 메모리 생산 업체에서 이중 채널 키트를 판매하고 있습니다.

최신 시스템의 경우, 이중 채널 메모리를 자동으로 감지하고 활용 할 수 있도록 준비를 해줍니다. 그러나, 필요 시에는 이중 채널 메모리 사용 설정을 BIOS에서 확인하는 것이 좋습니다.

그림 2. 유효한 이중 채널 메모리 구성의 예시.

삼중, 사중 채널 구성을 지원하는 시스템 또한 사용이 가능합니다. 이러한 시스템의 추가 메모리 대역폭의 경우, 10GigE 카메라의 성능을 향상시키지는 않지만, 메모리 및 CPU의 활용도가 높은 비전 프로세싱 응용 프로그램의 속도를 높일 수는 있습니다. 현재 DDR4 메모리 표준은 과거에 사용되던 기술에 비해 더욱 큰 메모리 대역폭을 제공하기 때문에 FLIR에서는 DDR4를 권장하고 있습니다.

 

SDK

최신 기능/성능 개선 사항을 빠짐 없이 반영하기 위해서는 최신 버전의 Spinnaker를 사용하는 것이 좋습니다.

스트림 기본 버퍼 카운트(Stream Default Buffer Count)를 증가시키면, 소프트웨어 버퍼의 규모도 커집니다. 이러한 소프트웨어 버퍼 규모가 늘어나게 되면 시스템 메모리가 많이 소모되기는 하지만, 시스템 성능은 향상됩니다. 버퍼 크기는 화상 크기에 비례하기 때문에, 고해상도 카메라를 위한 스트림 버퍼는 더욱 많은 양의 메모리를 사용하게 됩니다.

 

PCIe 슬롯 구성

네트워크 인터페이스 카드(NIC)가 설치된 PCIe 슬롯은 시스템 성능에 중요한 영향을 미칠 수 있습니다. 가장 좋은 방법은 CPU에 가장 가까운 PCIe 슬롯에 10GigE NIC를 연결하는 것입니다. 제품에 따라, 모든 PCIe 슬롯에 전체 대역폭 성능을 제공하지 않는 마더보드도 있습니다. PCIe 슬롯은 USB 포트, 다른 PCIe 슬롯 등 여러 주변 장치와 대역폭을 공유 할 수도 있습니다. 전체 대역폭을 활용 할 수 있는 PCIe 슬롯을 확인하려면, 마더보드 사용 설명서에 명시되어 있는 세부 사양을 확인해야 합니다.

그림 3. ATX 폼 팩터 마더보드에서 PCIe, 메모리 및 저장 장치 커넥터의 일반적인 위치.

 

NIC 설정

점보 프레임은 화상으로 재구성해야 하는 패킷의 수를 줄여 줌으로써 CPU에 걸리는 부하를 경감시켜줍니다. 10GigE 카메라를 연결하는데 사용되는 NIC와 스위치는 9K 점보 프레임을 지원하는 제품이어야 합니다.

최근, 일반 소비자용 제품에 10GBASE-T가 점점 더 많이 활용됨에 따라, 다양한 종류의 NIC가 출시되었습니다. 외부 검사 결과, 전체 10GigE 대역폭을 제공하지 않는 10GBASE-T NIC 제품도 있는 것으로 나타났습니다. FLIR에서 판매하는 GE10-PCIE4XG202는 Oryx 카메라와 함께 사용 할 수 있도록 철저한 시험과 검증을 거쳤습니다.

 

케이블 연결 관련 우수 활용 사례

이더넷 케이블이 필요 이상으로 길어지게 되면 연결 관련 문제가 발생하거나, 카메라와 호스트의 연결이 10GigE에서 GigE로 하향 조정될 수 있습니다. 원인은 바로, 인접한 코일로 인해 발생하는 간섭입니다. 이러한 현상은 CAT6A에 적용되는 추가적 차폐로 인해, CAT6e보다는 CAT5e에서 더 두드러지게 나타납니다. 또한, CAT5e 케이블을 너무 세게 구부리거나, 좁은 각도로 접으면 신호 품질 문제가 발생 할 수도 있습니다. RJ45 커플러는 사용을 지양해야 합니다.

거리가 30 미터 미만인 경우, CAT5e가 10GigE에 맞는 연결 속도를 제공 할 수 있습니다. 거리가 30미터 이상인 경우, CAT6A를 활용해야 합니다. CAT6A 케이블은 CAT5e에 비해 더욱 강력한 차폐 기능을 갖추고 있으며, 전자파 방해를 받기 쉬운 환경에서 짧은 거리를 연결 할 때 성능을 한층 더 발휘 할 수 있습니다.

 

FLIR 카메라 설정 관련 우수 활용 사례

Oryx는 다른 Oryx 10GigE 카메라, 또는 FLIR Blackfly S 등의 GigE 카메라를 활용하는 멀티 카메라 시스템에 함께 사용될 수 있습니다.

안정적인 성능을 보장하기 위해서는 모든 카메라가 사용 가능한 인터페이스 대역폭을 함께 활용해야 합니다. 만약, 스위치와 호스트 사이의 인터페이스 대역폭을 벗어나면, 패킷 손실 및 프레임 손실이 발생합니다.

그림 4. 인터페이스 대역폭 할당을 위한 장치 연결 처리량 제한 설정

 

카메라 대역폭 제한을 설정하고자 할 때에는 장치 연결 처리량 제한(Device Link Throughput Limit)을 제어하는 것이 권장됩니다. 장치 연결 처리량이 설정되면, 카메라는 할당된 대역폭을 초과하지 않도록 최대 프레임 속도를 제한하게 됩니다.

 

그림 5. Spinview GUI의 장치 연결 처리량 설정

 

SpinView GUI에서 장치 연결 처리량 제한 설정은 기능 브라우저의 장치 제어(Device Control) 섹션 또는 검색창을 사용하여 찾을 수 있습니다.