10GigEのベストプラクティス:#1単一カメラシステムの設定
ホストシステムの構成、ケーブル配線、カメラ設定に関するベストプラクティス。
10GigEの使い方やちょっとしたヒントを得るためにも、このペーパーでは、単一カメラ10GigEビジョンシステムのスムーズな設定と、最適性能を保証するベストプラクティスを紹介しています。 ホストシステムの構成、ケーブル配線、カメラ設定に関するベストプラクティスをリストアップします。
ホストシステム構成設定のベストプラクティス
CPU
現代のPCでは、イーサネットパケットを画像データに再組み立てするために、CPUの使用可能な処理能力のほんの一部のみを必要としています。 しかし、ほとんどのビジョンアプリケーションは、画像データをキャプチャして、保存する以上の能力を有しています。 リアルタイムで画像データを分析するのに十分な処理能力を確保するため、FLIRは、第4世代Intel® Core™ i7 CPU以上を推奨しています。
マス・ストレージ
Oryxカメラからディスクにストリームするには、10GigEインターフェイスに十分に活用できる大容量記憶装置が必要です。 一般的なSATA 3.0大容量記憶装置インターフェイスの最大帯域幅は、6ギガビット/秒です。 SATAハードディスクドライブまたはソリッドステートドライブ(SSD)を使用して、全帯域幅でストリーミングするには、2つ以上のSATA 3.0ディスクのRAIDアレイが必要です。
ほとんどの新しいマザーボードは、M.2 SSDをサポートしています。 M.2規格では、理論上、10GigEカメラに対応するための十分な帯域幅を提供できるPCIe 2.0 x4またはPCIe 3.0 x4インターフェイスが使用されています。 シーケンシャル書き込み速度は、フラッシュメモリ技術によって依然として制限されています。 2018年初め現在、書き込み速度が最も速いM.2 SSDは、Samsung NVMe SM951シリーズで、5.2ギガビット/秒のシーケンシャル書き込み速度を実現しています。
Intelの新しいOptane 3D XPoint™メモリは、最大16ギガビット/秒の書き込み速度を実現します。 しかし、これらの装置の記憶容量は現在非常に小さくなっています。
メモリ帯域
10ギガビット/秒は大量データです。 10GigEカメラの信頼性の高い動作には、十分なメモリ帯域幅が不可欠です。 デュアルチャネルメモリ構成により、着信パケットを受信し、画像に組み立て、ビジョンアプリケーションでそれらを操作するために十分な帯域幅が確保されます。
図1 デュアルチャネルメモリは、シングルチャネル構成よりも優れた性能を発揮する
1つの大きなDIMMではなく、2つの小さなDIMMを使用して、必要なメモリ容量を合計します。 デュアルチャネル構成でシステムメモリを取り付けることにより、メモリ帯域幅は2倍になります。 メモリチャネルはマザーボード上で色分けされているため、セットアップが簡単です。 デュアルチャネル構成で使用されるメモリモジュールの速度と容量は、一致する必要があります。 多くのメモリメーカーが、デュアルチャネルキットを販売しています。
システムは、自動的にデュアルチャネルメモリ構成を検出して、有効にする必要があります。 ただし、必要に応じて、これを確認して、BIOSで有効にすることをお勧めします。
図2 有効なデュアルチャネルメモリ構成の例 。
トリプルおよびクワッドチャネル構成をサポートするシステムも利用できます。 これらのシステムのメモリ帯域幅が増えても10GigEカメラのパフォーマンスは向上しませんが、メモリとCPUを集中的に使用するビジョン処理アプリケーションのスピードを向上させる可能性があります。 現在のDDR4メモリ規格は、古い技術よりも大きなメモリ帯域幅を提供するため、推奨されます。
SDK
Spinnakerの最新バージョンを使用することをお勧めします。これにより、システムに常に最新の機能とパフォーマンスが強化されます。
ストリームのデフォルトバッファ数を増やすと、より多くのソフトウェアバッファが作成されます。 これにより、システムのパフォーマンスが向上し、システムメモリが消費されます。 バッファサイズは画像サイズに比例するため、高解像度カメラ用のストリームバッファには、より多くのメモリが必要です。
PCIeスロット構成設定
ネットワークインターフェイスカード(NIC)が取り付けられているPCIeスロットは、システムのパフォーマンスに大きな影響を与えます。 ベストプラクティスは、CPUに最も近いPCIeスロットに10GigE NICを接続することです。 すべてのマザーボードが、すべてのPCIeスロットにフル帯域幅を提供できるわけではありません。 PCIeスロットは、USBポートまたは他のPCIeスロットなどの他の周辺機器と帯域幅を共有する場合があります。 どのPCIeスロットがフル帯域幅で動作するかを確認するには、マザーボードのユーザーガイドの詳細仕様を参照してください。
図3 ATXフォームファクタマザーボード上のPCIe、メモリ、ストレージコネクタの一般的な位置。
NIC設定
ジャンボフレームは、画像に再構築必要があるパケット数を減らすことによって、CPU負荷を軽減します。 10GigEカメラを接続するために使用されるNICおよびスイッチは、9Kのジャンボフレームをサポートする必要があります。
消費者製品に10GBASE-Tが採用されるにつれて、幅広いNICが利用可能になっています。 サードパーティのテストによると、すべての10GBASE-T NICが10GigEのフル帯域幅を提供できるとは限りません。 FLIRにより販売されているGE10-PCIE4XG202は、当社のOryxカメラで使用するために徹底的にテストされ、検証されています。
ケーブル設定のベストプラクティス
必要以上に長いイーサネットケーブルを接続すると、接続に問題が発生する、または、カメラとホスト間のリンクが10GigEからGigEに低下する可能性があります。 これは、隣接するコイル間の干渉によるものです。 この効果は、CAT6Aのシールドを追加することにより、CAT6AよりもCAT5eのほうが顕著になります。 また、CAT5eケーブルをきつく曲げると、信号品質の問題が発生する可能性があります。 RJ45カプラを使用しないでください。
距離が30m未満の場合、CAT5eは10GigEのリンク速度をサポートします。 距離が30mを超える場合は、CAT6Aを使用する必要があります。 CAT6Aケーブルは、CAT5eよりも堅牢なシールドを備えており、電磁干渉が発生しやすい環境では短距離で良好に動作します。
FLIRカメラ設定のベストプラクティス
Oryxは、他のOryx 10GigEカメラやFLIR Blackfly SのようなGigEカメラを搭載したマルチカメラシステムにも使用できます。
信頼性の高いパフォーマンスを確保するには、使用可能なインターフェイス帯域幅をカメラ間で共有する必要があります。 スイッチとホスト間のインターフェイスの帯域幅を超過すると、パケットが失われ、フレームが廃棄されます。
図4. インターフェイス帯域を割り当てるためのデバイスリンク・スループット上限の設定
カメラの帯域幅制限を設定するための推奨される方法は、デバイスリンクスループット制限です。 デバイスリンクスループットが設定されると、カメラは割り当てられた帯域幅を超えないように最大フレームレートを制限します。
図5. Spinview GUIのデバイスリンク・スループットの設定
SpinView GUIでは、デバイスリンクスループット制限設定は、機能ブラウザの[デバイス制御]セクションまたは検索バーを使用して確認できます。