Amiya · 2021年05月14日

软件定义智能网卡FIA:目标

软件定义智能网卡FIA:目标

软件定义智能网卡FIA:ASIC vs. FPGA

软件定义智能网卡FIA:架构

软件定义智能网卡FIA:分组处理流水线实现

软件定义智能网卡FIA:基于RMT的分组处理流水线

软件定义智能网卡FIA:原型

转发自公众号“FPGA加速器”,欢迎关注。

云计算环境下,软件定义数据中心网络管理控制策略向端系统网络组件延伸,软件交换机OVS成为网络第一跳,实现云计算网络关键功能,也成为CPU主要任务之一。随着多租户应用的部署,服务器聚合带宽迅速提升,软件交换机的处理成为服务器CPU关键负载,严重影响云计算应用效能。卸载CPU负载成为主要需求之一,软件定义智能网卡技术出现。

软件定义智能网卡最终目标是什么?高山理解主要包括:

1级目标:网络协议栈加速

(1)软件交换机卸载:软件交换机OVS已经在操作系统中按照内核态Microflow、Macroflow等查表方式对Openflow用户态datapath进行了加速,微软也在HostSDN中采用GFT方式对VFP处理中的规则进行卸载,软件交换机的卸载成为基本要求。在实现方式,主要有两种,一种是流Cache,类似于微软的GFT,在智能网卡采用精确匹配方式,实现分组快速转发;另一种是规则Cache,在智能网卡中采用算法实现规则查表,实现分组快速转发。

(2)TCP/IP卸载:在以往的商用网卡中普遍实现了TCP/UDP的分片重组,实现操作系统协议栈的批处理,Chelsio等网卡已经实现了TCP/IP卸载。在零拷贝等用户态协议栈驱动下,TCP/IP完全卸载成为趋势。

(3)RDMA:与TCP/IP卸载并列的一种网络数据传输方式,在无损数据中心网络环境下,RDMA over CEE等成为可能,阿里巴巴的HPCC赋能RoCE成为典型案例。随着intelligence lossless data center工作组成立,无损数据中心成为基础,智能网卡卸载RDMA成为标配。

2级目标:Hypervisor卸载

(1)IO虚拟化:在私有云环境下,在裸金属服务器上向租户提供虚拟网络接口成为基础。SR-IOV不仅为租户提供虚拟的物理接口,还提供了独立的队列,支撑了裸金属云计算。另外,在SR-IOV的驱动下,软件交换机卸载也成为必须。

(2)网络虚拟化:软件交换机中VxLAN等隧道封装技术,在网络拓扑上构建了独立的网络、在路由交换方式上构建了隔离的数据平面,有效支撑多租户虚拟网络的构建。另一方面,网络带宽的管理也是网络虚拟化的基础,还需要服务质量保障等技术实现多租户网络带宽的隔离,从而实现网络分片。

(3)控制器代理卸载:大家一直忽视的一个问题是软件交换机的控制代理的运行环境,软件交换机卸载后,其与Openflow控制器交互的控制器代理也成为卸载的主要对象。Mellanox等已经在智能网卡的CPU上运行CentOS为Openflow控制器代理提供运行环境,控制器代理卸载后将实现Hypervisor的完全卸载。

3级目标:应用数据处理

(1)加解密:TLS、QUIC等网络协议的部署,其中网络加解密处理对服务器CPU处理又带来了较中的负载,这些基本功能的卸载也将极大减轻服务器CPU的负载。

(2)压缩/解压缩:海量数据传输过程中能否对冗余数据进行编码,减小数据传输量。比如,PANIC提出采用Lzrw1对分组进行压缩,这种在线处理面临严重的性能挑战。

从网络、Hypervisor,以及应用三个层次对软件定义智能网卡设计目标,进行了分类整理。随着智能网卡功能的丰富,比如,在线的加速器等在网计算应用,目前,微软的Catapult工程中,智能网卡实现bing搜索等功能,这些面向应用的加速功能不在网卡的研究范畴。

作者:珠穆朗玛2048
来源:https://zhuanlan.zhihu.com/p/361302104

更多FPGA智能网卡相关技术干货请关注FPGA加速器技术专栏。

推荐阅读
关注数
1601
内容数
22
阐述CPU性能瓶颈问题如何破解,FPGA如何突围
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息