Xilinx KCU116:コスト効率の良い100Gbpsネットワーク&ストレージFPGA開発プラットフォーム
2021-07-27
Kintex® UltraScale+™ファミリは、Xilinx®のTSMC 16nm FinFET技術を用いて作られ、最高の価格/性能/ワットバランスを備えたFPGAデバイスとみなされています。このデバイスは、新開発のUltraRAMと新しい相互接続最適化技術(SmartConnect)を組み合わせることで、100Gbpsコネクティビティコア用のハイエンド機能を備えたトランシーバを必要とするアプリケーションに対し、最もコスト効率の良いソリューションを提供します。このファミリは、ネットワークパケット処理やワイヤレスMIMO技術、100Gbps有線ネットワーク、産業用およびデータセンター向けのネットワーク高速化、NVMe SSD(ソリッドステートドライブ)ストレージ高速化など、ネットワークおよびストレージアプリケーション向けに特別設計されています。この記事では、XilinxのKCU116評価キットに対し、Design Gatewayが提供する100GbEインターフェースで12GB/sのTCP伝送を行うCPUソリューション向けのTOE100G-IPコアと、SSDあたり約4GB/sという驚異的な高速性能を実現できるNVMeG4-IPコアを使用した、TCPオフロードエンジンネットワークとNVMe SSDの実装による100Gbpsソリューションを示します。
Kintex® UltraScale+ KCU116評価キットの紹介
KCU116は、Kintex UltraScale+の主要機能、特に28Gbpsトランシーバの性能を評価するのに最適です。このキットは、XCKU5P-2FFVB676E FPGAデバイスをベースにしたラピッドプロトタイピングに適しています。
このボードには、1GBの32ビットDDR4-2666、1台のM.2 NVMe SSD用のFMC拡張ポート、最大2台のM.2 NVMe SSDインターフェース用のPCIe Gen4 x8レーンが搭載されています。16 x 28Gbps GTYトランシーバは、PCIe Gen4と100 GbEいずれのインターフェース実装にも対応し、多彩なペリフェラルインターフェースとFPGAロジックを備えているため、ユーザーによるカスタマイズ設計が可能です。
図1:KCU116評価キット。(画像提供:Xilinx Inc.)
KCU116は、Design GatewayのIPコアと組み合わせることで、MPSoCのサポートを必要とせずに、最先端の100Gbpsネットワークおよびストレージソリューションを開発するために必要なすべての機能を提供します。
100Gbpsネットワークおよびストレージソリューションの導入
図2:KCU116に搭載された100Gbpsネットワークおよびストレージソリューション。(画像提供:Design Gateway)
Kintex UltraScale+デバイスは、Zynq UltraScale+のようなMPSoC技術を搭載していませんが、ネットワークやNVMeストレージのプロトコル処理は、Design GatewayのIPコアソリューションを活用することで、プロセッサやOSを必要とせずに実装できます。
- TOE100G-IP:CPUを必要としない100GbEフルTCPプロトコルスタックIPコア
- NVMeG4-IP:PCIe Gen4 Soft IPを内蔵したスタンドアロンNVMeホストコントローラ
TOE100G-IPとNVMeG4-IPはいずれも、CPU/OS/ドライバを必要とせずに動作可能です。両IPを用いた制御およびデータパスのユーザーロジックは、MicroblazeによるピュアハードウェアロジックまたはベアメタルOSで実装できるため、複雑なネットワークやNVMeのプロトコルを気にすることなく、ハイレベルなアプリケーションやアルゴリズムの開発を迅速かつ容易に行うことが可能になります。これにより、センサデータの取り込み、オンボード計算、AIベースのエッジコンピューティングデバイスなど、高度なシステムレベルのソリューションのための新しい機会が生まれます。
Design GatewayのUltraScale+デバイス用TOE100G-IP
図3:TOE100G-IPシステム。(画像提供:Design Gateway)
TOE100G IPコアは、(ハードワイヤロジックで)TCP/IPスタックを実装しており、下位層のハードウェアとしてXilinxの100Gb Ethernetサブシステムモジュールと接続します。TOE100G IPのユーザーインターフェースは、制御信号用のレジスタインターフェースと、データ信号用のFIFOインターフェースで構成されます。TOE100G IPは、512ビットのAXI4-STを使用してユーザーインターフェースに接続する100Gb Ethernetサブシステムと接続するように設計されています。Xilinxが提供するEthernetサブシステムには、EMAC、PCS、PMAの機能が含まれています。100Gb Ethernetサブシステムのユーザーインターフェースのクロック周波数は、322.265625MHzです。
TOE100G-IPの特長
- フルTCP/IPスタックの実装
- 1つのTOE100G IPで1つのセッションをサポート(複数のTOE100G IPを使用することでマルチセッションを実行可能)
- サーバモードとクライアントモードの両方に対応(パッシブ/アクティブ、オープンおよびクローズ)
- ジャンボフレーム対応
- 標準的なFIFOインターフェースによるシンプルなデータインタフェース
- シングルポートRAMインターフェースによるシンプルな操作性
下の表1は、XCKU5P-2FFVB676E FPGAデバイス上のFPGAリソースの使用量を示しています。
|
表1:Kintex Ultrascale+デバイスのサンプル実装統計
TOE100G-IPの詳細はデータシートに記載されており、Design Gatewayのウェブサイトからダウンロードできます。
Design GatewayのGTYトランシーバ用NVMe PCIe Gen4ホストコントローラ
Kintex UltraScale+には、PCIe Gen4インターフェースに対応したGTYトランシーバが搭載されていますが、PCIe Gen4統合ブロックとARMプロセッサは用意されていません。
Design Gatewayは、この問題を解決するために、PCIeソフトIPとPCIeブリッジロジックをシングルコアに内蔵し、スタンドアロンのNVMeホストコントローラとして動作可能なNVMeG4-IPコアを開発しました。NVMe PCIe Gen4 SSDへのアクセスを可能にすることでユーザーインターフェースが簡素化され、NVMeプロトコルの知識がなくても使いやすい標準機能を設計することができます。
図4:NVMeG4-IPのブロック図。(画像提供:Design Gateway)
NVMeG4-IPの特長
- アプリケーションレイヤ、トランザクションレイヤ、データリンクレイヤ、および物理レイヤの一部を実装でき、CPUまたは外部DDRメモリを使用せずにMVMe SSDにアクセス可能
- 4レーンPCI Gen4(256ビットバスインターフェース)として構成されたXilinx PCIe PHY IPで動作
- 256KバイトのRAMデータバッファを含む
- 6つのコマンド(Identify、Shutdown、Write、Read、SMART、Flush)をサポート(オプションで追加コマンドのサポートを利用可能)
- ユーザークロック周波数は、PCIeクロック(Gen4の場合250MHz)以上が必要
下の表2は、XCKU5P-2FFVB676E FPGAデバイス上のFPGAリソースの使用量を示しています。
|
表2:Kintex Ultrascale+デバイスのサンプル実装統計。
NVMeG4-IPの詳細はデータシートに記載されており、Design Gatewayのウェブサイトからダウンロードできます。
KCU116におけるTOE100G-IPの実装例とパフォーマンス結果
図5は、TOE100G-IPの実装を示すために、KCU116に基づくリファレンス設計の概要を示しています。このデモシステムには、ベアメタルOSのMicroblazeシステム、ユーザーロジック、Xilinxの100Gb Ethernetサブシステムが含まれます。
図5:TOE100G-IPのデモシステムのブロック図。(画像提供:Design Gateway)
このデモシステムは、TOE100G-IPの動作をクライアントモードとサーバモードの両方で評価できるように設計されています。テストロジックでは、ユーザーインターフェース側で最高のデータ速度を実現するためのテストパターンでデータを送受信することができます。KCU116で100GbEインターフェースを実現するためには、図6に示すように、4つのSFP+トランシーバ(25GBASE-R)とファイバケーブルが必要です。
図6:KCU116にセットアップされたTOE100G-IPデモ環境。(画像提供:Design Gateway)
100Gとその他(1G/10G/25G/40G)を比較した場合のテスト結果の例を、図7に示します。
図7:KCU116におけるTOE100G-IPと1G/10G/25G/40Gとの性能比較。(画像提供:Design Gateway)
このテスト結果から、TOE100G-IPは約12GB/sのTCP伝送速度を実現できることがわかりました。
KCU116におけるNVMeG4-IPの実装例と性能結果
図8は、1CH NVMeG4の実装を示すために、KCU116に基づくリファレンス設計の概要を示しています。ユーザーがカスタマイズした設計でFPGAリソースが利用可能であれば、NVMeG4-IPの複数のインスタンスを実装して、より高いストレージ性能を実現することが可能です。
NVMeG4-IPリファレンス設計の詳細については、Design Gatewayのウェブサイトで提供されているNVMeG4-IPリファレンス設計ドキュメントを参照してください。
図8:NVMeG4-IPリファレンス設計の概要。(画像提供:Design Gateway)
このデモシステムは、KCU116上のNVMe SSDでデータを書き込み/検証するように設計されています。ユーザーは、シリアルコンソールによりテスト動作を制御します。NVMe SSDがKCU116とインターフェースするためには、図9に示すAB18-PCIeX16アダプタボードが必要です。
図9:KCU116にセットアップされたNVMeG4-IPデモ環境。(画像提供:Design Gateway)
図10は、512GBのSamsung 970 Proを使用したKCU116でデモシステムを実行する場合のサンプルテスト結果を示しています。
図10:Samsung 970 PRO Sを使用したKCU116における、NVMe SSDの読み取り/書き込み性能。(画像提供:Design Gateway)
まとめ
TOE100G-IPコアとNVMeG4-IPコアはいずれも、KCU116ボードの100Gbpsコネクティビティ機能をネットワークやNVMeストレージアプリケーションの実装に活用するためのソリューションを提供します。1台のTOE100G-IPにより、100GbEで約12GBのTCP伝送が可能です。NVMeG4-IPは、NVMe PCIe Gen4でSSDあたり約4GB/sという、非常に高性能なストレージを提供することができます。NVMeG4-IPの複数のインスタンスを使用してRAID0コントローラを構成し、100GbEの伝送速度に合わせてストレージのパフォーマンスを向上させることができます。
KCU116評価キットとDesign GatewayのネットワークおよびストレージIPソリューションは、Xilinx® Kintex UltraScale+®デバイスをベースとした非常にコスト効率の良いソリューションや製品に対し、可能な限り低いFPGAリソース使用量で最高のパフォーマンスという目標を達成する可能性をもたらします。
TOE100G-IPとNVMeG4-IPの詳細については、データシート、利用可能なリファレンス設計、デモ環境のセットアップを、以下に示すDesign Gatewayのウェブサイトで入手できます。
免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、DigiKeyの意見、信念および視点またはDigiKeyの公式な方針を必ずしも反映するものではありません。