首页 > 编程知识 正文

智能产品的发展历程,网络功能虚拟化

时间:2023-05-03 19:01:50 阅读:54177 作者:4576

5G的到来无疑加速了网络虚拟化的进程,在通信领域,网络虚拟化不仅位于核心网,也位于网络的边缘。 但是,仅靠软件解决方案无法提供足够的网络可靠性和服务质量,具有高级可编程功能的智能卡(Smart cbdlf )在虚拟化网络中起着非常重要的作用。

网卡发展史近年来,随着公共云虚拟化技术的发展和SDN技术的兴起,对终端系统协议栈提出了更高的要求,而传统的高性能网卡难以满足这些要求。 因此,智能卡技术开始进入大众视野。 与传统网卡不同,智能卡同时具备高性能和可编程能力,可以在处理高速网络数据流的同时对网卡进行编程,实现定制的处理逻辑。

传统网卡:初始网卡只实现数据链路层和物理层功能,终端系统CPU处理网络协议栈中的上层逻辑。 CPU根据网络协议栈中传输层、路由层的逻辑,负责数据包的封装和封装; 网卡负责封装和封装更低的数据链路层帧,以及正确处理物理层电信号。

智能网卡:为了支持高速网络,现代网卡硬件跟踪传输层和路由层的部分处理逻辑,包括校验和计算、传输层分片重建等甚至一些网卡(如RDMA卡)也将整个传输层的处理卸载到网卡硬件上,从而完全释放CPU。 由于这些硬件卸载技术,终端系统的网络协议栈处理能够与现有的高速网络相兼容。

具体来说,传统网卡面向的用户痛点包括

随着overlay协议(如VXLAN )和虚拟交换技术(如OpenFlow和openvswitch(OVS ) )的引入,基于服务器的网络数据平面的复杂性急剧增加。 增加的网络接口带宽意味着在软件中执行这些功能会增加CPU资源的负担,并且很少或根本没有CPU资源运行APP应用程序。 传统网卡固定功能的流量处理功能无法支持SDN和NFV。在Smartcbdlf出现之前,解决这些问题的方法大概有

在英特尔开放网络平台上,DPDK是一种加速的手段,但瓶颈在于处理过程依赖于未针对数据传输进行优化的服务器和标准cbdlf,这导致吞吐量降低,CPU核心/恢复使用NIC支持的pciexpresssinglerootiovirtualization (Sr-iov )技术,NIC将物理端口映射到多个虚拟端口或虚拟功能(VF ),并将每个虚拟端口复制到虚拟机此外,许多网卡最多可支持1GbE端口的8-16个虚拟端口和10GbE端口的40-64个虚拟端口。 Smart cbdlf是目前最有效的硬件方法,它通过将虚拟交换机功能从服务器CPU完全迁移到NIC,释放昂贵的服务器CPU的处理能力并恢复到APP应用程序,来扩展NIC功能并提高性能。Smartcbdlf的存在能够

实现多匹配操作处理、测量整形、流统计等基于服务器的复杂网络数据平面功能。 通过更新的固件负载或客户编程支持和执行可替代数据平面的功能几乎没有任何预先限制。 无缝配合现有开源生态系统,最大限度提高软件功能的速度和影响力。 Smartcbdlf可以进行加密/解密、防火墙、TCP/IP和HTTP处理,非常适合高流量的Web服务器。

智能卡的n种分类方式智能卡之所以“智能”,是因为它具有可编程的能力,没有固定的分类方式。 根据智能卡的设计采用形式,可以对其进行分类。

基于asicfieldprogrammablegatearray (FPGA )的多核智能卡FPGA扩展智能卡,具有多个CPU内核。 硬件可编程的FPGA与ASIC网络控制器相结合,可以根据加速的程度分为多种工作负载。

基本连接用于cbdlf网络加速的智能卡存储加速的智能卡

此外,由于不同供应商的体系结构不同,Smartcbdlf可以基于ASIC、FPGA和片上系统(SOC )。

的实现方式不同,成本、可编程性、灵活性也有优劣之分。

ASIC有价格优势,但灵活性有限。 虽然基于ASIC的cbdlf相对容易配置,但最终功能仅限于ASIC中定义的功能,并且可能不支持某些工作负载。 相比之下,FPGA cbdlf是高度可编程的,几乎可以相对有效地支持所有功能,但众所周知,FPGA最大的问题是编程难度大,价格昂贵。 对于更复杂的用例,SOC是最好的Smartcbdlf选择,兼具价格和性能,易于编程,灵活。

可编程还是性能,二者如何抉择?

理论上,为了高性能和智能并重,最好的智能网卡架构是将每个网络协议栈在不同场景中需要具备的相同处理逻辑固化为专用ASIC芯片,并根据其馀场景变化的处理逻辑

然而,现实中遇到的困难是,当前网络协议栈的各层功能没有很好的模块化抽象,各层中的各处理逻辑之间甚至跨层部分逻辑之间由场景高度耦合,有意义的共性和特性逻辑由于现有智能卡具有可编程能力,可以处理各种场景,因此几乎所有从上到下的逻辑都只能通过可编程芯片实现,这是以性能为代价的

若想突破此难题,一种可行的思路是从模块化的角度出发重构现有网络协议栈,在其各层协议中清晰地抽象出共性功能模块以及可依据场景定制的特性模块。从网卡设计的角度出发,区分各种场景下的网络协议栈中到底哪些部分可以由ASIC固化、哪些部分需要灵活地定制逻辑。

智能网卡的应用场景

Smartcbdlf用例包括虚拟化软件定义存储、超融合基础设施以及其他云资源

虚拟化爆发之前,大多数服务器只是运行本地存储,这虽然不是很高效,但是很容易使用。然后是网络存储的兴起——SAN、NAS,以及NVMe over Fabrics(NVMe-oF)。但是,并非每个应用程序都可识别SAN,并且某些操作系统和虚拟机管理程序(例如Windows和VMware)尚不支持NVMe-oF。Smartcbdlf可以虚拟化网络存储,效率更高、更易于管理,且应用程序更易于使用。 Smartcbdlf甚至可以虚拟化GPU(或其他神经网络处理器) ,这样任何服务器都可以在需要的时候通过网络访问任意数量的GPU。

软件定义存储和超融合基础设施都使用管理层(通常作为VM或作为虚拟机管理程序本身的一部分运行)来虚拟化和抽象化本地存储和网络,以使其可用到群集中的其他服务器或客户端,能够实现快速部署,有利于共享存储资源,但是管理和虚拟化层占用了本应运行应用程序的CPU周期。与标准服务器一样,网络运行的速度越快,存储设备的速度越快,则必须投入更多的CPU来虚拟化这些资源。

Smartcbdlf一方面可以卸载并帮助虚拟化网络(加速私有云和公共云,这就是为什么它们有时被称为Cloudcbdlf)的原因,另一方面可以卸载网络和大部分的存储虚拟化,可以减轻SDS和HCI的功能负担,例如压缩、加密、重复数据删除、RAID、报告等。

超融合架构数据中心中,Smart cbdlf为SDN和虚拟化应用程序提供硬件加速与网络接口紧密结合,并可分布在大型服务器网络中,减小CPU负载,提供额外的边缘计算能力,加速特定应用和虚拟化功能,并且通过正确的语言和工具链支持,为用户提供应用加速即服务的附加价值。

白盒作为最受欢迎的COTS硬件,可以加入插件实现软件定义网络(SDN)和网络功能虚拟化(NFV)的各种计算和网络功能。Smart cbdlf可以将代码从CPU引入网卡,显著加速用于安全应用的加密/解密或用于深度包检测(DPI)应用程序,降低CPU负载,并且支持灵活的网络可编程性。

各显神通的厂商

目前业界提供基于FPGA的Smart cbdlf的厂商包括Accolade、BittWare、Enyx、Ethernity、Napatech、Netcope、Reflex CES、Silicom和Solarflare,通常集成自Intel或Xilinx的FPGA来实现。此外,Broadcom,Cavium,Intel,Kalray,Mellanox,Netronome,Silicom和SolidRun均可提供基于处理器的Smart cbdlf,使用带有集成处理器内核或FPGA的处理器或智能I/O处理器;亚马逊和谷歌已经开发了Smart cbdlf ASIC。

赛灵思

今年3月,赛灵思发布了其首款“一体化Smartcbdlf(智能网卡)平台”——Alveo U25的数据中心加速卡,在单颗器件上实现了网络、存储和计算加速功能的融合。

随着网络端口速度不断攀升,2 级和 3 级云服务提供商、电信和私有云数据中心运营商正面临日益严峻的联网问题和联网成本挑战。与此同时,开发和部署 Smartcbdlf 所需的大量研发投资,也成为其被广泛采用的障碍。

依托于赛灵思业界领先的 FPGA 技术,Alveo U25 Smartcbdlf 平台相比基于 SoC 的 cbdlf,可以提供更高的吞吐量和更强大的灵活应变引擎,支持云架构师快速为多种类型的功能与应用提速。

Intel

2015年6月,Intel 宣布以 167 亿美元的价格收购全球第二大 FPGA 厂商 Altera,成为该公司有史以来最贵的一笔收购,随后Intel 也在 Altera 的基础上成立了可编程事业部,且一直在推进 FPGA 与至强处理器的软硬件结合,但却并没有能够进入大规模商用阶段。

三年后,Intel终于踏出了历史性的一步。2019年4月19日,Intel 宣布旗下的 FGPA 已经被正式应用于主流的数据中心 OEM 厂商中。具体来说,戴尔 EMC PowerEdge R640、R740 和 R740XD 服务器集成了 Intel FPGA ,并且已经可以进行大规模部署;而富士通即将发布的 PRIMERGY RX2540 M4 也采用了 Intel FGPA 的加成,这款产品即将发布,并已经支持重点客户提前使用。

上述FGPA主要指的是 Intel Arria 10 GX 可编程加速卡(Programmable Acceleration Card,简称 PAC),同时Intel 还为 OME 厂商提供一个面向包含 FPGA 的 Intel 至强可扩展处理器的 Intel 加速堆栈。二者结合起来,就形成了一个完整的硬软件结合 FPGA 解决方案。

迈络思

Mellanox是面向数据中心服务器和存储系统的高性能、端到端智能互连解决方案的领先供应商,今年3月,迈络思宣布,ConnectX-6 Dx 智能网卡全面上市, BlueField-2 IPU(I/O 处理单元) 也将很快上市。这两款产品都拥有一系列先进的安全加速引擎和平台安全功能,助力公有云、内部私有云和边缘计算环境构建大规模、高度安全可靠且高效的数据中心基础架构。

ConnectX-6 Dx 和 BlueField-2 在分布式的零信任安全体系架构中发挥着重要作用,它们将传统的边界防护扩展到每个端点。通过将先进的 IPsec 和 TLS 加密加速技术与领先的开源上游软件解决方案相结合,使用户和合作伙伴可以在新建的及现有的数据中心环境中利用创新的硬件加速功能。

博通

博通的Stingray Smartcbdlf SoC系列具有集成的全功能100G cbdlf,强大的8核CPU,运行在3 GHz下,支持数据包处理(Truflow™)、加密、RAID和重复数据删除(FlexSPARX™)等硬件引擎,是用于主机卸载、裸机服务和网络功能虚拟化的理想Smartcbdlf解决方案。

今年4月,百度云宣布正在与博通紧密合作,利用Stingray Smartcbdlf的可编程性,提供高级的云原生应用、网络功能虚拟化和分布式安全。博通的Stingray适配器提供8个ARM A72 CPU内核,运行在3GHz、300G内存带宽和100G NetXtreme Ethernet网卡上。

微软

Azure加速网络(AccelNet)是使用基于FPGA的自定义Azure Smartcbdlf将主机网络卸载到硬件的解决方案。自2015年底以来,微软已在超过100万台主机的新Azure服务器上部署了实施AccelNet的Azure Smartcbdlf。自2016年以来,AccelNet服务已向Azure客户提供,提供一致的<15μs VM-VM TCP延迟和32Gbps吞吐量。

2014年,微软在计算机架构领域的顶会ISCA上发表了一篇名为“A Reconfigurable Fabric for Accelerating Large-Scale Datacenter Services”的论文,详细介绍了微软Catapult项目团队如何在其数据中心里的1632台服务器中部署了英特尔StraTIx V FPGA,并用FPGA对必应(Bing)搜索引擎的文件排名运算进行了硬件加速,得到了高达95%的吞吐量提升。这标志FPGA不再仅仅是硬件公司的专属产品,而是可以有效的应用于像微软这样的互联网公司,并有机会部署在谷歌、亚马逊、阿里等其他互联网巨头的服务器中。微软也是第一个在公有云基础设施中部署FPGA的主要云服务提供商。

总结

据预测,到2024年,Smartcbdlf市场规模将超过6亿美元,占全球以太网适配器市场的23%。云服务提供商的不断纵向扩容敦促着他们持续增加 Smartcbdlf 的部署,而电信服务提供商则是另一大潜力的市场,他们正考虑将 Smartcbdlf 从核心网集成到边缘网,为 NFV和AI推断等应用提供服务。未来,Smartcbdlf市场或超百亿。

参考:
http://www.360doc.com/content/19/1119/19/99071_874191772.shtml
https://www.xianjichina.com/special/detail_416035.html
https://www.jianshu.com/p/1dac8f9a58b0
https://cloud.tencent.com/developer/news/429374
https://blog.mellanox.com/2018/08/defining-smartnic/
https://blog.mellanox.com/2018/09/why-you-need-smart-nic-use-cases/

注:本文图片源自网络,如有侵权请联系删除

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。