遂宁网站建设略奥网络,江干区住房和城乡建设局网站,做软装平台网站,郑州网站制作生产厂商定制5G的到来无疑将加速网络虚拟化的进程#xff0c;在电信领域#xff0c;网络虚拟化不仅在核心网#xff0c;也在网络的边缘。但是#xff0c;仅仅通过软件解决方案不能提供足够的网络可靠性和服务质量#xff0c;而具有高级可编程功能智能网卡#xff08;Smart NIC#x… 5G的到来无疑将加速网络虚拟化的进程在电信领域网络虚拟化不仅在核心网也在网络的边缘。但是仅仅通过软件解决方案不能提供足够的网络可靠性和服务质量而具有高级可编程功能智能网卡Smart NIC将在虚拟化网络中扮演非常重要的角色。
网卡的发展史
近年来公有云中虚拟化技术的发展以及SDN技术的兴起对端系统协议栈提出了更高的要求而传统的高性能网卡已经难以满足这些要求。为此智能网卡技术开始走进大众的视野。不同于传统网卡智能网卡同时具备高性能及可编程的能力既能处理高速的网络数据流又能对网卡进行编程实现定制化的处理逻辑。 传统网卡早期的网卡仅实现数据链路层和物理层的功能而端系统CPU负责处理网络协议栈中更高层的逻辑。CPU按照网络协议栈中传输层、路由层的逻辑负责数据包的封装和解封网卡则负责更底层的数据链路层帧的封装和解封以及物理层电气信号的相应处理。
智能网卡为适应高速网络现代网卡硬件中普遍卸载了部分传输层和路由层的处理逻辑如校验和计算、传输层分片重组等来减轻CPU的处理负担。甚至有些网卡如RDMA网卡还将整个传输层的处理都卸载到网卡硬件上以完全解放CPU。得益于这些硬件卸载技术端系统的网络协议栈处理才能与现有的高速网络相匹配。
具体来说传统网卡面向的用户痛点包括
随着VXLAN等overlay协议以及OpenFlow、Open vSwitchOVS等虚拟交换技术的引入使得基于服务器的网络数据平面的复杂性急剧增加。网络接口带宽的增加意味着在软件中执行这些功能会给CPU资源造成难以承受的负载留给运行应用程序的CPU资源很少或根本没有。传统网卡固定功能的流量处理功能无法适应SDN和NFV。
在SmartNIC出现之前解决这些问题的方法大概有
使用英特尔开放网络平台DPDK用作加速手段但处理过程依赖于未针对数据传输进行优化的服务器和标准NIC这是一个瓶颈由于吞吐量性能低下并且需要大量的CPU内核/资源因此将导致服务器数量增加。使用网卡支持的PCI Express单根IO虚拟化SR-IOV技术允许网卡将物理端口映射为多个虚拟端口或虚拟功能VF使得每个虚拟端口都可以绑定到VM这样吞吐量性能和CPU使用效率得到改善但灵活性却降低了复杂性也增加了并且大多数网卡最多有效支持1GbE端口的8-16个虚拟端口和10GbE端口的40-64个虚拟端口。
目前最有效的硬件方法Smart NIC将虚拟交换机功能完全从服务器CPU转移到网卡释放昂贵的服务器CPU的计算能力以返回给应用程序从而更好地扩展网卡功能并提供更高的性能。SmartNIC的存在能够
实现基于服务器的复杂网络数据平面功能例如包括多匹配操作处理、计量整形、流统计等。通过更新的固件负载或客户编程来支持可替代的数据平面对执行的功能几乎没有预先设定限制。与现有的开源生态系统无缝协作以最大程度地提高软件功能的速度和影响力。
SmartNIC可以执行加密/解密、防火墙、TCP / IP和HTTP处理非常适合高流量的Web服务器。
智能网卡的N种分类方式
智能网卡之所以“智能”即是拥有可编程能力它并没有固定的分类方式你可以根据智能网卡设计采用形式将它分为
多核智能网卡基于包含多个CPU内核的ASIC基于现场可编程门阵列FPGA的智能网卡FPGA增强型智能网卡它将硬件可编程FPGA与ASIC网络控制器相结合
也可以根据其加速不同的工作负载将它分为
基本连接NIC面向网路加速的智能网卡面向存储加速的智能网卡同时由于不同的供应商的架构不同因此SmartNIC可以基于ASIC、FPGA和片上系统SOC。 不同的实现方式在成本、可编程性和灵活性方面各有优劣。
ASIC具有价格优势但灵活性有限尽管基于ASIC的NIC相对容易配置但最终功能将受到基于ASIC中定义的功能的限制这可能会导致某些工作负载无法得到支持。相比之下FPGA NIC是高度可编程的并且可以相对有效地支持几乎任何功能不过众所周知的是FPGA最大的问题是编程难度大且价格昂贵。针对更复杂的用例SOC是最佳的SmartNIC选择价格与性能兼具、易于编程且高度灵活。可编程还是性能二者如何抉择
从理论上来说若想兼顾高性能和智能一个最优的智能网卡架构应将不同场景下各网络协议栈都需具备的相同处理逻辑固化成专用ASIC芯片而将其余随场景变化的处理逻辑通过可编程芯片定制化实现。
然而现实面对的困难是目前对网络协议栈各层的功能没有一个很好的模块化抽象各层内的各个处理逻辑之间甚至跨层的部分逻辑之间都依据场景高度耦合难以提取有意义的共性和特性逻辑分别由ASIC和可编程芯片处理。现有智能网卡要想具备足够的可编程能力能应对各种场景只能将从上到下各层几乎所有的逻辑都交由可编程芯片实现牺牲了性能。
若想突破此难题一种可行的思路是从模块化的角度出发重构现有网络协议栈在其各层协议中清晰地抽象出共性功能模块以及可依据场景定制的特性模块。从网卡设计的角度出发区分各种场景下的网络协议栈中到底哪些部分可以由ASIC固化、哪些部分需要灵活地定制逻辑。
智能网卡的应用场景
SmartNIC用例包括虚拟化软件定义存储、超融合基础设施以及其他云资源。 在虚拟化爆发之前大多数服务器只是运行本地存储这虽然不是很高效但是很容易使用。然后是网络存储的兴起——SAN、NAS以及NVMe over FabricsNVMe-oF。但是并非每个应用程序都可识别SAN并且某些操作系统和虚拟机管理程序例如Windows和VMware尚不支持NVMe-oF。SmartNIC可以虚拟化网络存储效率更高、更易于管理且应用程序更易于使用。 SmartNIC甚至可以虚拟化GPU(或其他神经网络处理器) 这样任何服务器都可以在需要的时候通过网络访问任意数量的GPU。
软件定义存储和超融合基础设施都使用管理层通常作为VM或作为虚拟机管理程序本身的一部分运行来虚拟化和抽象化本地存储和网络以使其可用到群集中的其他服务器或客户端能够实现快速部署有利于共享存储资源但是管理和虚拟化层占用了本应运行应用程序的CPU周期。与标准服务器一样网络运行的速度越快存储设备的速度越快则必须投入更多的CPU来虚拟化这些资源。
SmartNIC一方面可以卸载并帮助虚拟化网络加速私有云和公共云这就是为什么它们有时被称为CloudNIC的原因另一方面可以卸载网络和大部分的存储虚拟化可以减轻SDS和HCI的功能负担例如压缩、加密、重复数据删除、RAID、报告等。
超融合架构数据中心中Smart NIC为SDN和虚拟化应用程序提供硬件加速与网络接口紧密结合并可分布在大型服务器网络中减小CPU负载提供额外的边缘计算能力加速特定应用和虚拟化功能并且通过正确的语言和工具链支持为用户提供应用加速即服务的附加价值。
白盒作为最受欢迎的COTS硬件可以加入插件实现软件定义网络SDN和网络功能虚拟化NFV的各种计算和网络功能。Smart NIC可以将代码从CPU引入网卡显著加速用于安全应用的加密/解密或用于深度包检测DPI应用程序降低CPU负载并且支持灵活的网络可编程性。
各显神通的厂商
目前业界提供基于FPGA的Smart NIC的厂商包括Accolade、BittWare、Enyx、Ethernity、Napatech、Netcope、Reflex CES、Silicom和Solarflare通常集成自Intel或Xilinx的FPGA来实现。此外BroadcomCaviumIntelKalrayMellanoxNetronomeSilicom和SolidRun均可提供基于处理器的Smart NIC使用带有集成处理器内核或FPGA的处理器或智能I/O处理器亚马逊和谷歌已经开发了Smart NIC ASIC。
赛灵思
今年3月赛灵思发布了其首款“一体化SmartNIC智能网卡平台”——Alveo U25的数据中心加速卡在单颗器件上实现了网络、存储和计算加速功能的融合。 随着网络端口速度不断攀升2 级和 3 级云服务提供商、电信和私有云数据中心运营商正面临日益严峻的联网问题和联网成本挑战。与此同时开发和部署 SmartNIC 所需的大量研发投资也成为其被广泛采用的障碍。
依托于赛灵思业界领先的 FPGA 技术Alveo U25 SmartNIC 平台相比基于 SoC 的 NIC可以提供更高的吞吐量和更强大的灵活应变引擎支持云架构师快速为多种类型的功能与应用提速。
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 SmartNIC SoC系列具有集成的全功能100G NIC强大的8核CPU运行在3 GHz下支持数据包处理Truflow™、加密、RAID和重复数据删除FlexSPARX™等硬件引擎是用于主机卸载、裸机服务和网络功能虚拟化的理想SmartNIC解决方案。 今年4月百度云宣布正在与博通紧密合作利用Stingray SmartNIC的可编程性提供高级的云原生应用、网络功能虚拟化和分布式安全。博通的Stingray适配器提供8个ARM A72 CPU内核运行在3GHz、300G内存带宽和100G NetXtreme Ethernet网卡上。
微软
Azure加速网络AccelNet是使用基于FPGA的自定义Azure SmartNIC将主机网络卸载到硬件的解决方案。自2015年底以来微软已在超过100万台主机的新Azure服务器上部署了实施AccelNet的Azure SmartNIC。自2016年以来AccelNet服务已向Azure客户提供提供一致的15μs VM-VM TCP延迟和32Gbps吞吐量。
2014年微软在计算机架构领域的顶会ISCA上发表了一篇名为“A Reconfigurable Fabric for Accelerating LargeScale Datacenter Services”的论文详细介绍了微软Catapult项目团队如何在其数据中心里的1632台服务器中部署了英特尔StraTIx V FPGA并用FPGA对必应Bing搜索引擎的文件排名运算进行了硬件加速得到了高达95的吞吐量提升。这标志FPGA不再仅仅是硬件公司的专属产品而是可以有效的应用于像微软这样的互联网公司并有机会部署在谷歌、亚马逊、阿里等其他互联网巨头的服务器中。微软也是第一个在公有云基础设施中部署FPGA的主要云服务提供商。 总结
据预测到2024年SmartNIC市场规模将超过6亿美元占全球以太网适配器市场的23%。云服务提供商的不断纵向扩容敦促着他们持续增加 SmartNIC 的部署而电信服务提供商则是另一大潜力的市场他们正考虑将 SmartNIC 从核心网集成到边缘网为 NFV和AI推断等应用提供服务。未来SmartNIC市场或超百亿。
参考http://www.360doc.com/content/19/1119/19/99071_874191772.shtmlhttps://www.xianjichina.com/special/detail_416035.htmlhttps://www.jianshu.com/p/1dac8f9a58b0https://cloud.tencent.com/developer/news/429374https://blog.mellanox.com/2018/08/defining-smartnic/https://blog.mellanox.com/2018/09/why-you-need-smart-nic-use-cases/
注本文图片源自网络如有侵权请联系删除