三十年未有之大变局!智能网卡靠什么胜出?

这文章我三个月的时间反反复复写了4,5次,写到2月底,放弃了。而且因为我放弃了,没好好保留资料,因此这篇捡回来的文章,就没有资料列表了。
这个周末朋友圈里有又相关话题的讨论,我觉得,还是应该发一下。
其实我的朋友圈,谈这个话题是蛮危险的,容易被内行打脸,这是我折腾三个月,从热情洋溢,到纠结卡文,最后放弃的主要原因。当初的动机是读了一个heavy reading的智能网卡的报告,据说那个报告市价2850刀,我觉得吧,照那个标准,我写一个值5000刀的报告简直是分分秒秒的事情:)
什么是smartnic ?按照产业惯例,一般新产品的定义都是由市场的老大确定。
mellanox占了10g速率以上网卡的70%市场份额(crehan research ),它对smartnic的定义是一个可以卸载通常由系统cpu处理的任务的网络接口卡。智能网卡利用其板上的处理器,能够完成加密/解密,防火墙,tcp/ip,http等任何处理任务的组合。
下图来自微软举办的云网络大会的材料,展示了从卸载功能的⻆度看,一个传统网卡与智能网卡的区别。
但是如我取的标题,来自于broadcom的bd的演化,我觉得一个插在标准服务器中的小服务器,更合适描述smartnic的未来发展趋势。
关于这篇文章的逻辑顺序,我返工过几次。
第一次,先讲智能网卡的分类,lom, fpga-based,asic-based,然后按照分类与主要供应商,分析细分市场的发展与份额预测,这是按照市场分析报告的思路来写。这种报告,多半是给投资者看的。其实heavy reading的报告就是这种给股市/公司投资者的市场分析报告。
第二次,我试图先讲智能网卡的三个主要部分:nic,控制层面,数据层面。然后,按照25g/40g/50g/100g的规格,分析一下各个模块的主要供应商和关键性能参数,并附上主要供应商的产品明细,这是按照专业技术报告来写,给行内的采购者和应用者看的。
第三次,我试图按照我个人的理解顺序,先讲why smartnic,sdn与i/o-offload关系,然后从大厂的发展策略,预测一下未来发展趋势。然后就因为规划太大,写不下去了。
看smartnic的发展起因,主要是为了预测一下这个产品的发展方向。
按照patty kummrow,intel的以太网部⻔gm&vp,在一次会议上的话,就是“我们卖网卡卖了30多年”,怎么就出了新概念呢? 在mellanox给的智能网卡定义中,有两个关键词,一个是卸载,一个是处理器。一个网卡明明不过是io设备,怎么就和处理器强关系起来了呢?而且如果是简单的io+cpu的组合,intel明明有先机的,回头看intel在10gbps网卡市场那是压倒性的市场份额,又是cpu的大厂,怎么可能被mellanox拿一个网卡+cpu的东西翻盘?
简单说,两个因素:sdn与25gpbs + io接口的需求。
市面上讨论智能网卡smartnic的时候,总是提到sdn-software defined networking,但是我理解的sdn是控制面与数据面的分离,方便tele-com标准化硬件平台,解除供应商锁定。这个sdn跟smartnic也没有直接联系。
如果从虚拟化技术看起,vmware搞出虚机,颠覆了原有物理网络对(物理)服务器的不移动的基础假设,因此要自己做一个主机上运行的software switch,解决网络与vm的对应关系,关键是解决虚机迁移,服务跟随两大问题。(中间有一大段的和cisco的来回曲折,因为cisco这样的网络设备提供商,肯定是想用物理switch上构建虚拟网络来解决这个网络与vm的对应关系,但是最后还是在主机上,过去是用纯软件,先是主机上的网络加软件的方式解决的,因此我就略掉这段故事了)。既然是软件实现的switch,套用sdn的框架,或者说归一到sdn框架下,去解决标准问题,也就顺理成章。现在的服务器软件栈中,网络的组件功能特别丰富,不是一个vswitch能描述的。
10gbps网络接口,如果按照mtu 1500byte来算,0.83 millions packet per second,一个3ghz ipc 1.5的cpu单核,大约有5000指令的处理能力。再往上,25gpbs,需要的cpu核数就剧增。而存储的网络化,以前hdd的性能瓶颈是磁盘的物理转速上限,ssd没有这个限制,ssd拉高了存储带宽,因此数据中心通过网络共享存储资源这个需求,例如nvme-of,迅速把网络接口速率拉高。从1gbps的网卡到10gbps的网卡,业界走了近10年,但是25gbps,似乎3年就成大趋势了。而且还有隐隐加速的意思。
当用服务器的xeon cpu处理主机上的软件网络栈,成为一件昂贵的事情的时候,cost-down方案的机会就来了,当然由于有marketing这样的专业人士的存在,cost-down这样的字样是不会出现的,大家看到的就是网络加速network accelerate 或者业务卸载workload-offload。
这里,让我插播一下,问一个拷问灵魂的问题,是先确定硬件平台,在向上构造软件生态的bottom to top的过程合理,还是先有软件应用方案,然后top to bottom逐步offload业务,交由硬件加速合理?
如果是从下往上发展的业务,也就是先有硬件,再围绕硬件打造软件栈,过程漫⻓,平台型软件的同志们痛苦(在很⻓的一段时间内,无法判断趋势,要么豪赌平台,要么消耗资源都支持),例如nvidia漫⻓的打造cuda之路,例如arm的服务器之路,但是如果是从上往下发展的业务,所谓的卸载业务,时间要短一点,但是硬件的同志们痛苦,而且战况往往惨烈(短时间的以真金白银的投入赢家通吃的市场), smartnic,ai芯片爆发都是这类。我给做应用的金主爸爸们一个建议:在硬件跟得上摩尔定律的时候,专心投钱做multi-arch软件,挑最快的顺风车搭。当硬件魔法失效的时候,给硬件码农们钱,让他们为你造一个独享的法拉利。
btw,我曾经的心仪对象cisco公司,最近统一了硬件平台,还开始外卖芯片 silicon one,以求扩大这个硬件平台的影响力。又统一了软件平台。我感觉有点要重新起飞的状态。(记得不构成投资建议的免责声明吧?这完全是个人喜好)
why smartnic的思路理顺,我们下面看看几个大厂是怎么开始走上业务卸载——offload或者说硬件加速之路的。
azure accelnet smartnic
azure在2015年部署了上百万的智能网卡。但是和mellanox的定义不同,azure并不是一个有处理器的方案,而是一个fpga-based的方案。
为什么,如果回溯资料,无非是他们先有了一个fpga的加速卡,已经插在服务器里了。而且作为先行者,他们实现的非标准(当然你也可以用“创新”这个词)vfp (virtual filteringplatform)很难在市场上找到可用的asic。他们估计一开始也没有想搞个大动作,搞个arm cpu授权做个自己的smartnic chip,已经存在的fpga项目就是最好的入手点。
看到这里,做fpga的朋友们已经开始向我扔砖头了。但是发货上百万量级,就不在fpga的甜蜜点上了,大家心里都明白的。
aws nitro项目
aws nitro项目,它不是一个芯片,也不是一个板卡,它是一个产品家族。它的设计目的非常清晰,就是把所谓的data center tax内部化。当它成功的全部内部化之后,一个新的产品形态,baremetal 裸金属服务器就出现了。
至于什么叫datacenter tax?就是所有的云供应商用于管理虚机vm,给虚机提供远程资源,加密解密,故障跟踪,安全策略等服务程序。这些服务程序,也消耗计算资源,这部分被消耗掉的计算资源,就像tax一样给附加在用户购买的云服务中。
所以nitro项目都不能用网卡来命名,而且aws的网卡驱动完全是个逻辑的,跟实际速率都无关。因此这个项目,算是把所谓的smartnic的nic完全弱化掉,这跟mellanox和broadcom的smartnic产品是有点距离的。到这里,做nic的朋友们也开始向我扔砖头了。
little server on big server
我喜欢b家的stingray产品bd说的,这就是一个大服务器上的小服务器。当然,如果能加一个小arm服务器,就更好了。别管它叫什么名字,它本质上就是一个赤果果的cost-down方案么。
前景么,我有一万字的研究报告可以写,略了。

高精度运算放大器OPA211与OPA82的特点及适用范围
浅谈PCB线路板的3D打印
如何解决家中信号盲区 Mesh组网是个不错的方案
混合轨道卫星通信系统的路由算法
【璟丰机电】派克Parker电动缸OSP系列优势及行业应用
三十年未有之大变局!智能网卡靠什么胜出?
继电器原理 继电器是干什么用的
三星新Galaxy A7曝光:首用曲面屏
医疗影像AI落地的过程有多难
基于ZCZVS升压DC-DC双向变换器与变频器设计节能型电动车交流驱动系统
硬件描述语言(HDL)编码技术:xilinx verilog语法技巧
未来LED显示有望成长为万亿级的大市场
光刻机巨头ASML将在中国台湾建立海外首个培训中心
IMU和AHRS之间的区别
无线遥控多功能防盗器
利用电机控制开发套件实现应用设计
美光科技收购尔必达起波澜 债券人巨资注尔必达
PCB行业的走向最终受制下游市场 大鱼吃小鱼的企业现象不可避免
变频器的安装要求及选型原则
王先生手机电池爆炸 达日县工商局出面维权