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

ホーム » 製品 » TCP/UDPオフロードエンジン

TCP/UDPオフロードエンジンの特徴

フルハードのTCP/UDP プロトコルスタックにより、CPUレスでTCP/UDP通信が実現できます。フルハードでありながら、10,000以上の同時セッション接続に対応しており、ソフトウェアで行っていたTCP/UDP通信を完全に置き換えることが出来ます。

高性能・低遅延

1セッション当たり100Gbpsのスループット(250MHz動作時)

1μsec以下の遅延

10,000セッション以上の同時接続

高信頼性

TCPのタイマ再送・高速再転送などの機能により送達が保証されます。また、高いリアセンブル機能や、ネットワーク状況に応じたフロー制御により、あらゆる環境において、無駄の無い効率的な転送を行います。

ソフトウェア互換

ソケットライブラリ互換のため、既存のソフトウェアで処理していたのアプリケーションは、一切変更することなく動作します。

Linux, Zephyr, RTOSなど対応

多様なインターフェース

  1. ユーザロジック用は、FPGAのユーザロジックのために、CPUを一切必要としないダイレクトなコマンドとデータストリームインターフェースを提供します
  2. SoC用は、SoC向けのインターフェースを備え、CPUと共有するメモリにデータを配置し、TCP/UDPオフロードエンジンをキックすることでTCP送受信を実現します
  3. デスクリプタ用は、主にPCI-expressを介しホストメモリに配置したデータをTCP/UDP送受信するもので、コマンドやデータアドレスを記述したデスクリプタにより転送制御します

ハードウェアによるプロトコルスタック

トランスポート層であるTCPおよびUDPのプロトコル処理を、下位層のIP, ARP, ICMPを含めてCPUから肩代わりします。
TCP/UDPオフロードエンジンは、ARP処理, TCP再送, TCPリアセンブル, フロー制御といった、全機能をハードウェアで実現します。デスクリプタ版では、ホストのメモリからのダイレクトRead, Writeを行うためRDMA同様のゼロコピーを実現可能で、CPUの負荷をほぼゼロにします。

PCIe接続&仮想化対応

デスクリプタ経由で制御するタイプは、PCI-expressで接続されたFPGAでTCP/UDPのオフロードを行うことが出来ます。またこのエンジンはSR-IOV (Single-Root I/O Virtualization) に対応しています。ハードウェアが複数の仮想マシンからの要求を調停・割り振りを行い、ソフトウェアのオーバーヘッド無しで、オフロードエンジンをのフル性能を発揮することが出来ます。さらに、通常はHypervisorソフトウェアが行っている、仮想マシン間のパケットスイッチ機能もオフロードし、さらにCPUの負荷を低減します。

IoT端末利用

AMD ZCU102はSoC(System On Chip)タイプのFPGAデバイスの評価ボードで、ARMのCPUがFPGAに搭載されています。
iperfはTCPの送受信性能を計測できるツールで、TCPオフロードエンジンのある場合と無い場合の比較が出来ます。ARMのCPUでiperfの測定すると、送信2.1Gbps, 受信1.5Gbpsのスループットですが、ToEを入れることによって、CPUの負荷無く、送信9.0Gbps, 受信8.2Gbpsのスループットを出しています。

TCP/UDPオフロードエンジン仕様一覧

プロトコル802.3, ARP, ICMP, IPv4, TCP, UDP, RTP
性能スループット: 100Gbps (1コア当たり, 250MHz動作時)
TCPオフロード機能:パケット生成, チェックサム, 3-wayハンドシェイク, パケット再送, 高速再転送, フロー制御, TCPリアセンブル, Delayed Ack(ソケットライブラリ同等のTCPフル機能)
最大コネクション数: 16,000 (コンフィグで変更可能)
TCPオプション: MSS(Maximum Segment Size)対応, TimeStamp対応
UDP10,000セッション以上
上位レイヤ:GigE-Vision, H.264 over RTP他
各種プロトコルにカスタムで対応
対応デバイスAltera Arria/Stratix 4/5/10, Agilex他
OFS (Open FPGA Stack)対応
AMD 7, UltraScale, UltraScale+, Versal他, Alveoシリーズ
AMD Alveoシリーズに対応, HBM2に対応
ASIC対応
ソフトウェアI/FLinux用ドライバ, ソケットライブラリ(BSD Socket)
VM対応, コンテナ対応(SR-IOV)

評価ライセンスや研究(アカデミック)ライセンスも取り扱っております。