在前几期,我们回顾了云计算数据平面的六次危机:
软硬件融合技术内幕 进阶篇 (3) ——云计算的六次危机(上)
软硬件融合技术内幕 进阶篇 (4) ——云计算的六次危机(中)
软硬件融合技术内幕 进阶篇 (5) ——云计算的六次危机(下)
其中,第六次危机——DPDK与SPDK提前征收云数据中心税,霸占大量可售卖CPU资源引起的危机,引发了云计算的一次大革命。
工程师们想到的思路是:
既然网卡内部有内置的交换机(NIC-Switch),可以对其进行智能化改造,使其具备OVS和virtio-blk的卸载能力,也就是成为了所谓的“智能网卡”。
由于智能网卡(SmartNIC)是新鲜事物,业界对其也进行了各种命名和包装。
著名的GPU厂商,NVidia,在收购了Mellanox之后,提出了DPU (Data Path Unit)的概念,认为DPU在计算机系统中,将与CPU,GPU形成三足鼎立。特别地,NVidia期望在DPU中实现RDMA的硬件自动处理。(不知道什么是RDMA的请戳这里《局域网SDN硬核技术内幕 23 展望未来——RDMA(上)》) NVidia认为,使用SOC (System On Chip) + 以太网NIC芯片 (如MT27800)的实现路线是业界最优。
而Intel则将同一个事物命名为“IPU”,也就是Infrastructure Process Unit的缩写,认为IPU应当替计算节点来处理计算调度、存储、网络等属于“Infrastructure”的实现,也就是除了virtio-net,virtio-blk的卸载以外,还能够实现Hypervisor的卸载。Intel认为,使用SOC + FPGA的方案最为合适。
以太网领域的老牌列强Broadcom和Marvell则认为,基于可编程以太网交换机ASIC+SOC的做法也是一条不错的路线。
方老师翻开厚厚的《金瓶梅》《联共(布)党史简明教程》,其中提到了斯大林与托洛茨基的路线之争。斯大林认为共产主义可以在一国先取得胜利,而托洛茨基认为需要向世界各国输出革命。最终,托洛茨基在61岁那年,不断思考的大脑,被一把冰镐强制注入了HALT指令。
与斯大林和托洛茨基的路线斗争不同的是,SmartNIC的发展路线争议,背后有相当复杂的利益相关性……
目前,SmartNIC的主要实现的方式有以下几种 (包括2种或多种的组合):
3. 基于FPGA。FPGA (Field Programmable Gate Array,现场可编程门阵列)是一种集成了大量的组合逻辑电路和海量的触发器时序逻辑电路的可编程芯片。一些FPGA芯片内部集成PCI-E控制器、MAC控制器、arm核等,结合可编程能力,可以搞定各种不同的控制逻辑。特别地,如果出现了新的加解密算法,FPGA能够迅速迭代,实现新的加解密算法的硬件加速。
4. 最后一个冷门知识:NPU。NPU是Networking Process Unit的缩写,有时也称为NP。NP具有极强的可编程能力,较强的数据包转发能力,以及强大的QoS能力,如支持5级H-QoS,芯片内部支持256K以上的队列等。NP的最常见场景是作为核心路由器的线卡转发核心,或OTN设备的电交叉转发核心。目前,实际上商用NP芯片已经接近绝迹(各OTN厂商和路由器厂商自行开发NP,如CISCO的LightSpeed NPU),最后一家NPU厂商EZ-Chip已经被Mellanox收购。EZ-Chip早在2016年就提出过使用EZ-Chip的NP-5作为网卡芯片的思路,而Mellanox和NVidia整合EZ-Chip的技术后,发布的Bluefield方案中,实际上融合了这一理念。
在接下来的一段时间里面,我们将详细拆解各家厂商的SmartNIC方案,从中找出通往未来的最佳解…