10000以上といった多セッション同時接続にも1つのコアで対応しており、高品質・高性能と合わせて、弊社TCP/UDPオフロードエンジンの特長となっています。
組み込み端末向けと、サーバー向けの2種類のIPを用意しています。
組み込み端末向けでは、10Gbpsを超える高速通信を超低消費電力で実現します。サーバー向けでは、ロードバランサや、CDN, KVS, Memcachedなどの用途のバックエンドとして高性能・CPU低負荷を実現します。
TCP/UDPオフロードエンジンの特徴
-
高性能
フルハードでTCPスタックを実装しているため、CPUを使わず高スループット(100G-Ethernet対応)かつ超低遅延の処理が可能です。また、10000以上の同時接続を処理することが出来ます。
-
高信頼性
TCPフル機能によりデータの送達が保証されます。また、高いリアセンブル機能や、ネットワーク状況に応じたフロー制御により、あらゆる環境において、無駄の無い効率的な転送を行います。
-
ソフトウェア互換
ソフトウェアで処理していたお客様のアプリケーションは、一切変更することなく動作します。ただちにハードウェアオフロードのメリットを享受できます。
ハードウェアで完結するプロトコルスタック
TCP/UDPオフロードエンジンは、トランスポート層であるTCPおよびUDPのプロトコル処理を、下位層のIP, ARP, ICMPを含めてCPUから肩代わりします。
弊社のオフロードエンジンは、ARP処理・再送・高速再転送・フロー制御といった、全機能をハードウェアで代替しますので、CPUの負荷をほぼゼロに低減します。またCPUの無いハードウェアのみによるTCP通信も実現可能です。

TCP/UDPオフロードエンジン概要

CPUが制御しデータを受け渡しするCPU用のインターフェースと、ハードウェアであるユーザロジックが制御およびデータ受け渡しを行うためのインターフェースのどちらかを利用できます。
TCPの場合は、IPアドレスを指示してコネクションの接続を指示すれば、ARP解決に必要なARPの処理も行い、3-wayハンドシェイクを行い接続を行います。その他、Activeオープン、Passiveオープン、再送、高速再転送、タイムアウト、フロー制御、Windowプローブなど、TCPに必要な全ての機能を備えたエンジンです。
OS・ソフトウェアとの統合
LinuxやリアルタイムOS(RTOS, Zephyerなど)と統合されたドライバを提供いたします。例えばLinuxであればsocketライブラリを利用していたこれまでのアプリケーションは、socket APIの下でハードウェアによる処理に置き換わるため、そのまま変更せずに動作します。
つまり、ハードウェアオフロードによる高性能・低遅延メリットを直ちに享受することができます。
Xilinx Zynqボード(ZCU102)での動作比較


Xilinx ZCU102はSoC(System On Chip)タイプのFPGAデバイスの評価ボードで、ARMのCPUがFPGAに搭載されています。
ARMのCPUのみでTCPの性能測定ツールであるiperfによって測定すると、送信2.1Gbps, 受信1.5Gbpsのスループットですが、PTUを入れることによって、CPUの負荷を無くした上で、送信9.0Gbps, 受信8.2Gbpsのスループットを出しています。
TCP/UDPオフロードエンジン仕様一覧
プロトコル | 802.3, ARP, ICMP, IPv4, TCP, UDP, RTP |
---|---|
性能 | スループット: 40Gbps/1コア (100Gbps対応予定) |
TCP | オフロード機能:パケット生成, チェックサム, 3-wayハンドシェイク, パケット再送, 高速再転送, フロー制御, TCPリアセンブル, Delayed Ack(ソケットライブラリ同等のTCPフル機能) |
UDP | 10,000セッション以上 |
対応デバイス | Intel Cyclon/Arria/Stratix 4/5/10, Agilex他 |
ソフトウェアI/F | Linux用ドライバ, ソケットライブラリ |