ORihard KCU116E: 经济实惠的 100Gbps 网络和存储 FPGA 开发平台

 

ORihard KCU116E: 经济实惠的 100Gbps 网络和存储 FPGA 开发平台

Kintex UltraScale+ 系列被认为是 Xilinx 基于 TSMC 16 nm FinFET 技术构建的、具有“价格/性能/瓦特”平衡比的 FPGA 器件。结合皆为新的 UltraRAM 和互连优化技术 (SmartConnect),该器件为需要通过高端功能收发器实现 100 Gbps 连接内核的应用提供了最经济实惠的解决方案。这个系列专门为网络和存储应用而设计,如网络包处理和无线 MIMO 技术、100 Gbps 有线网络、工业和数据中心网络加速以及 NVMe SSD(固态硬盘)存储加速。本文通过使用 Design Gateway 的 TOE100G-IP 内核和 NVMeG4-IP 内核,在 Xilinx 的 KCU116E 评估套件上演示了 TCP 卸载引擎网络和 NVMe SSD 实现的100Gbps 解决方案。其中,TOE100G-IP 内核用于在 100 GbE 接口上进行 12GB/s TCP 传输的 CPU 解决方案,而 NVMeG4-IP 内核则能够实现每个 SSD 约 4GB/s 的难以置信的快速传输性能。

Kintex UltraScale+ KCU116E 评估套件简介

KCU116E 非常适用于评估 Kintex UltraScale+ 的关键功能,尤其是 28 Gbps 收发器性能。该套件非常适用于基于 XCKU5P-2FFVB676E FPGA 器件的快速原型开发。

板上包括一个板载的 1GB 64 位 DDR4-2666、以及用于多达 2 个 M.2 NVMe SSD 接口的 PCIe Gen4 x8 通道。16 x 28 Gbps GTY 收发器可用于组成 PCIe Gen4 X8和 2个100 GbE 接口,并提供各种外设接口和 FPGA 逻辑以方便用户进行定制设计。

图 1:KCU116E 评估套件。

通过搭配 Design Gateway 的 IP Cores,KCU116E 能提供开发最先进的 100Gbps 网络和存储解决方案所需的一切,而且不需要 MPSoC 支持。

实现 100Gbps 网络和存储解决方案

图 2:KCU116E 的 100Gbps 网络和存储解决方案。(图片来源:Design Gateway)

尽管 Kintex UltraScale+ 器件不像 Zynq UltraScale+ 那样采用了 MPSoC 技术,但通过利用 Design Gateway 的 IP Cores 解决方案,可以实现网络和 NVMe 存储协议处理,无需处理器和操作系统。

1. TOE100G-IP:100GbE 全 TCP 协议栈 IP Core,无需 CPU

2. NVMeG4-IP:独立的 NVMe 主机控制器,内置 PCIe Gen4 IP 软核

TOE100G-IP 和 NVMeG4-IP 都可以在不需要 CPU/OS/驱动的情况下运行。对于使用这两种 IP 的控制和数据路径的用户逻辑,可以由 Microblaze 的纯硬件逻辑或裸机操作系统来实现,以使高层应用和算法的开发更快、更容易,而无需担心复杂的网络和 NVMe 协议。这为先进的系统级解决方案创造了新的机会,如传感器数据采集、板载计算和基于 AI 的边缘计算设备。

Design Gateway 的 TOE100G-IP 用于 UltraScale+设备

图 3:TOE100G-IP 系统。(图片来源:Design Gateway)

TOE100G IP 内核执行 TCP/IP 协议栈(在硬线逻辑中),与 Xilinx 的 100Gb 以太网子系统模块连接,用于下层硬件。TOE100G IP 的用户接口包括一个用于控制信号的寄存器接口、一个用于数据信号的 FIFO 接口。TOE100G IP 旨在与 100Gb 以太网子系统连接,后者使用 512 位 AXI4-ST 连接至用户接口。Xilinx 提供的以太网子系统包括 EMAC、PCS 和 PMA 功能。100Gb 以太网子系统的用户接口时钟频率等于 322.265625 MHz。

TOE100G-IP 的特点

·  完整的 TCP/IP 堆栈实施

·  一个 TOE100G IP 支持一个会话(可通过使用多个 TOE100G IP 实现多重会话)

·  同时支持服务器和客户端模式(被动/主动打开和关闭)

·  支持 Jumbo 框架

·  通过标准 FIFO 接口提供简单的数据接口

·  通过单端口 RAM 接口进行简单的接口控制

XCKU5P-2FFVB676E FPGA 器件上的 FPGA 资源使用情况如下表 1 所示。

表 1:Kintex Ultrascale+ 器件的使用统计示例

有关 TOE100G-IP 的更多详情,请参阅其规格书。可从 Design Gateway 网站下载规格书。

Design Gateway 的 GTY 收发器的 NVMe PCIe Gen4 主机控制器

Kintex UltraScale+ 有一个 GTY 收发器,能够支持 PCIe Gen4 接口,但不含 PCIe Gen4 集成块和 ARM 处理器。

Design Gateway 通过开发 NVMeG4-IP 内核解决了这个问题,该内核能够作为独立 NVMe 主机控制器运行并在单个内核中内置 PCIe 软 IP 和 PCIe 桥接逻辑。NVMe PCIe Gen4 固态硬盘访问的启用简化了用户界面,使标准功能设计易于使用,而不需要掌握 NVMe 协议的知识。

图 4:NVMeG4-IP 框图。(图片来源:Design Gateway)

NVMeG4-IP 的特点

·  能够实现应用层、事务层、数据链路层和物理层的某些部分在没有 CPU 或外部 DDR 存储器的情况下访问 NVMe SSD

·  使用配置为 4 通道 PCIe Gen4(256 位总线接口)的 Xilinx PCIe PHY IP 进行操作

·  包含 256 KB RAM 数据缓冲区

·  支持六条命令,即识别、关断、写入、读取、SMART 和刷新(可选择支持其他命令)

·  用户时钟频率必须大于或等于 PCIe 时钟(Gen4 为 250 MHz)

XCKU5P-2FFVB676E FPGA 器件上的 FPGA 资源使用情况如下表 2 所示。

表 2:Kintex Ultrascale+ 器件的实施统计举例

有关 NVMeG4-IP 的更多详情,请参阅其规格书。可从 Design Gateway 网站下载规格书。

在 KCU116E 上实施 TOE100G-IP 的举例和性能结果

图 5 所示为基于 KCU116E 的参考设计,以展示 TOE100G-IP 的应用情况。该演示系统包括裸机操作系统 Microblaze 系统、用户逻辑和 Xilinx 的 100Gb 以太网子系统。

图 5:TOE100G-IP 演示系统框图。(图片来源:Design Gateway)

该演示系统专们用于评估 TOE100G-IP 在客户端和服务器模式下的操作。使用测试逻辑功能,可在测试模式下发送和接收数据,以便在用户界面侧获得尽可能高的数据速度。对于使用 KCU116E 的 100GbE 接口,需要四个 SFP+ 收发器 (25GBASE-R) 和光纤电缆,如图 6 所示。

图 6:在 KCU116 上安装的 TOE100G-IP 演示环境。(图片来源:Design Gateway)

图 7 显示了 100G 与其他 (1G/10G/25G/40G) 比较时的示例测试结果。

图 7:TOE100G-IP 与 KCU116E 上的 1G/10G/25G/40G 性能比较。(图片来源:Design Gateway)

测试结果表明,TOE100G-IP 能够实现大约 12GB/s 的 TCP 传输速度。

在 KCU116E 上的 NVMeG4-IP 实施和性能结果示例

图 8 所示为基于 KCU116E 的参考设计,以展示 1CH NVMeG4-IP 的实施情况。如果用户定制设计的 FPGA 资源可用的话,可以实施 NVMeG4-IP 的多个实例以实现更高的存储性能。

关于 NVMeG4-IP 参考设计的更多详情,请参考 Design Gateway 网站上提供的 NVMeG4-IP 参考设计文件

图 8:NVMeG4-IP 参考设计概览。(图片来源:Design Gateway)

该演示系统旨在通过 KCU116E 上的 NVMe SSD 写入/验证数据。用户可通过串行控制台控制测试操作。为了使 NVMe SSD 与 KCU116E 连接,需要一块 AB18-PCIeX16 适配器板,如图 9 所示。

图 9:在 KCU116E 上安装的 NVMeG4-IP 演示环境。(图片来源:Design Gateway)

使用 512 GB Samsung 970 Pro 时,在 ZCU116 上运行演示系统的示例测试结果如图 10 所示。

图 10:使用 Samsung 970 PRO S 时,ZCU116 上 NVMe SSD 的读/写性能。(图片来源:Design Gateway)

结语

TOE100G-IP 和 NVMeG4-IP 内核都提供了在 KCU116E 板上使用 100Gbps 连接功能的解决方案,可实现网络和 NVMe 存储应用。一个 TOE100G-IP 能够在 100GbE 上进行大约 12GB TCP 传输。NVMeG4-IP 可以通过 NVMe PCIe Gen4 提供卓越的高性能存储,每块 SSD 的速度约为 4GB/s。NVMeG4-IP 的多个实例可用于组成 RAID0 控制器,并可提高存储性能,以匹配 100GbE 的传输速度。

利用 KCU116E 评估套件和 Design Gateway 的网络与存储 IP 解决方案,就有可能以最少的 FPGA 资源实现最高性能的目标,从而获得基于 Xilinx Kintex UltraScale+ 器件的、经济实惠的解决方案或产品。

VX:  orihard2014

 

ORihard KCU116E: 经济实惠的 100Gbps 网络和存储 FPGA 开发平台的更多相关文章

  1. Centos6.5搭建RHCS集群-实现GFS+iSCSI网络共享存储

    RHCS集群配置 需要用到的各组件功能:RHCS(Red Hat Cluster Suite):能够提供高可用性.高可靠性.负载均衡.存储共享且经济廉价的集群工具集合.LUCI:是一个基于web的集群 ...

  2. Android之网络数据存储

    一.网络保存数据介绍 可以使用网络来保存数据,在需要的时候从网络上获取数据,进而显示在App中. 用网络保存数据的方法有很多种,对于不同的网络数据采用不同的上传与获取方法. 本文利用LeanCloud ...

  3. SuperMap iClient 7C——网络客户端GIS开发平台 产品新特性

    SuperMap iClient 7C是空间信息和服务的可视化交互开发平台,是SuperMap服务器系列产品的统一客户端.产品基于统一的架构体系,面向Web端和移动端提供了多种类型的SDK开发包,帮助 ...

  4. paip.提高效率---微信 手机app快速开发平台—微网络撬动大市场

    paip.提高效率---微信 手机app快速开发平台-微网络撬动大市场   手机app快速开发平台 尤其适合crm系统,呼叫中心等业务功能...    作者Attilax  艾龙,  EMAIL:14 ...

  5. linux一句话问答(网络无关篇+网络相关篇+程序开发篇+经典图书)

    一句话问答(网络无关篇+网络相关篇+程序开发篇+经典图书) --------------------------目录-网络无关篇-目录-------------------------- 0001 修 ...

  6. Android开发9:网络访问&Web服务开发

    前言 啦啦啦各位小伙伴们好~ 一起进入我们今天的主题.今天我们将和大家学习网络访问和Web服务开发的相关知识,一起学习熟练使用 HttpURLConnection 访问 WebService,熟悉使用 ...

  7. 20155324《网络对抗》Exp1 PC平台逆向破解(5)M

    20155324<网络对抗>Exp1 PC平台逆向破解(5)M 实验目标 本次实践的对象是一个名为~pwn1~的~linux~可执行文件. 该程序正常执行流程是:~main~调用~foo~ ...

  8. 2018-2019-2 20165236郭金涛《网络对抗》Exp1 PC平台逆向破解

    2018-2019-2 20165236郭金涛<网络对抗>Exp1 PC平台逆向破解 一.实验内容 1.掌握NOP, JNE, JE, JMP, CMP汇编指令的机器码(0.5分) 2.掌 ...

  9. 20155208徐子涵 《网络对抗》Exp1 PC平台逆向破解

    20155208徐子涵 <网络对抗>Exp1 PC平台逆向破解 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数 ...

  10. 网络共享存储服务NFS

    网络共享存储服务NFS 作者:Eric 微信:loveoracle11g 环境准备 服务器系统 角色 IP RHEL 7.5 x86-64 NFS服务端 192.168.10.201 RHEL 7.5 ...

随机推荐

  1. Unity 性能分析小工具

    下文有两个方法,分别是一段检测执行过程耗费时间的代码,还有一个是保存和加载Unity Profiler 的代码(因为UnityProfiler 只能显示一部分的数据,如果运行时间长的话有部分分析数据查 ...

  2. 图片上传 加水印 以及GDI基本画图

      上传图片并给所上传的图片添加水印 1 HttpPostedFile file = Context.Request.Files[0]; //有这个0说明一次只能上传一张 2 if (file.Con ...

  3. C# 海康威视网络半球摄像头回调YV12取画面

    海康网络摄像头回调取画面,网口最好用千兆的网卡来做,开始用笔记本的百兆网口,不管怎么优化都是卡顿的, 后来用千兆网卡台式机的,基本就没有卡顿了,取图再加上运动检测处理,基本上十几毫秒每帧. 用回调方式 ...

  4. CompletableFuture事务问题

    前段时间写了关于CompletableFuture的使用博客,CompletableFuture使用方法详细说明 和 CompletableFuture的thenCompose使用具体说明. 但在实际 ...

  5. 备份docker mysql数据库

    1.查看容器 docker ps 2.进入容器 docker exec -it 容器id /bin/bash 3.备份数据 mysqldump 数据库名称 -uroot -p >/root/** ...

  6. [WSL-1-Ubuntu]使用oh-my-zsh美化你的WSL(附脚本)

    在腾讯云买的那个1c2g的服务器,想用mycat搭建一个mysql cluser,用docker部署了一主一从内存就没了一半,可一主一从没啥作用,起码也得2主2从吧?而且还有HA呢,但内存和钱包不给力 ...

  7. mybatis中多条件模糊查询不显示数据的问题

    在写查询语句时:

  8. gitee 操作

    腾讯软件搜索 腾讯软件中心-海量软件高速下载 (qq.com) git,下载 git,安装.右键git bash here,输入,Git clone url地址.输入码云用户名密码,下载 $ Git ...

  9. 【当年笔记】集合之Map

    Map 常用的实现类如下: Hashtable :Java 早期hash类,线程安全,不支持 null 键和值,因为它的性能不如 ConcurrentHashMap,所以基本不用. HashMap : ...

  10. MxDraw云图平台 2022.08.24更新

    SDK开发包下载地址: https://www.mxdraw.com/ndetail_30187.html 1. 增加对像扩展数据功能 2. 增加CAD GIS使用功能 https://www.mxd ...