ハードウェアによるTCP処理の完全オフロードは
高性能と送達保証の両方を実現します

 

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フル機能)
最大コネクション数: 16,000 (コンフィグで変更可能)
スループット: 40Gbps / 1コア (100Gbps対応予定)

UDP

10,000セッション以上
H.264 over RTP
他、各種プロトコルにカスタムで対応

対応デバイス

Intel Cyclon/Arria/Stratix 4/5/10, Agilex他
Intel PACシリーズ, IOFS対応
Xilinx 7-シリーズ, UltraScale, UltraScale+他
Xilinx Alveoシリーズに対応, HBM2に対応

ソフトウェアI/F

Linux用ドライバ, ソケットライブラリ