集微网 · 2022年07月20日

芯启源为智能网卡的研发赋能

【嘉勤点评】芯启源的智能网卡专利,通过利用TCAM的独有特性实现卸载的OpenFlow表,减少了大量流表项,把流表处理的工作全权交给TCAM,从FPGA设计里剥离出来,简化了网卡系统设计,同时加速了流表项的搜索。

集微网消息,全球芯片巨头集聚DPU赛道,而芯启源凭借智能网卡和独特的芯片设计方法论逐鹿群雄。

SDN是网络信息化时代进化的一个阶段产物。OVS是SDN领域中的重要的应用。但由于OVS是由软件层面实现的,且依赖Linux内核,导致性能低下。随着虚拟机数量的增加,每个虚机对网络的特性和性能都有不同的要求,需要把软件实现的网络特性卸载到底层硬件,优化数据流通路以提高网络通信性能,因此智能网卡的概念随之诞生。智能网卡不仅要满足普通网卡的功能也要满足对SDN定义的网络特性的支持。如何设计智能网卡的系统结构是最核心的问题。

为此,芯启源于2020年9月18日申请了一项名为“一种FPGA结合TCAM实现智能网卡的方法”的发明专利(申请号: 202010984877.4),申请人为芯启源(南京)半导体科技有限公司。

image

图1 智能网卡网络数据包流控示意图

图1为本发明提出的智能网卡网络数据包流控示意图,其中,以OpenFlow流表卸载为基础,直接取缔Megaflow流表和Microflow流表,从很大程度上减少了流表项的个数。利用TCAM存储OpenFlow表以及对应的执行动作,把这部分工作从FPGA剥离出来。
image

图2 智能网卡生成的数据流在TCAM运行示意图

图2为智能网卡生成的数据流在TCAM运行示意图,从RTL逻辑生成的数据流作为搜索数据进入TCAM,首先通过1号路径,进入流表1搜索,匹配中了流表项1,它指向的结果从映射到AD1的表项获取,获取的动作去往流表4;数据流作为搜索数据通过2号路径,进入流表4搜索,匹配中了流表项2,它指向的结果从映射到AD2的表项获取,获取的动作去往流表3;该数据流作为搜索数据再进入通过3号路径,进入流表3搜索,匹配中了流表项3,它指向的结果从映射到AD3的表项获取,动作为转发,把这个动作作为输出结果,交给接下来的逻辑通路按输出的动作处理对应的网络报文。

image

图3 智能网卡设计总览示意图

图1为智能网卡设计总览示意图,其中软件层面,使用UIO PCIe驱动程序把来自FPGA的所有寄存器映射到用户层,软件实现自定义配置层以实现对硬件层的配置和控制。由SDN相关的云应用与OpenFlow控制器交互信息,可通过OVS提供的ovs-ofctl以及ovs-appctl查看流表内容,端口基本信息以及状态。OpenFlow控制器通过提供的接口,与OVS的vswitchd进程通信,且负责配置管理。vswitchd再通过ofproto,ofprto-dpif,dpif,dpif-provider的层层调用到dpif硬件加速层。dpif硬件加速层,负责TCAM,MDIO的配置以及QDMA的通信。它负责下发MDIO配置到由UIO驱动的桥上,与TCAM通信,对TCAM进行基础的配置和初始化;负责与TCAM自带的SDK交互,以到对流表以及流表项的操作;还负责与QDMA做交互,作为系统调用需要上传和下发数据的纽带。TCAM自带的SDK通过传输层与QDMA做数据交互,QDMA通过由UIO驱动的桥,才能与FPGA做交互。FPGA须提供若干端口让网络包进入快速通路,遵循ILK协议与TCAM通信,支持SR-IOV提供VF接口,提供包计数统计等功能。

简而言之,芯启源的智能网卡专利,通过利用TCAM的独有特性实现卸载的OpenFlow表,减少了大量流表项,把流表处理的工作全权交给TCAM,从FPGA设计里剥离出来,简化了网卡系统设计,同时加速了流表项的搜索。

芯启源智能网卡是国内唯一一款基于独特的、可扩展的“众核”SoC架构DPU芯片,兼具了FPGA高效、灵活可编程和专用处理器芯片低成本、低功耗的优势。芯启源推动自身DPU产品的迭代升级并实现了更快的产业化进程。

推荐阅读
关注数
12779
内容数
1029
从专利出发,浅析一切关于柔性屏、折叠屏、10倍光学变焦技术等有趣的前沿技术
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息