你将学习:
- 节省数据中心的成本。
- 使用vSwitch提高ROI。
- 如何将vSwitch卸载到SmartNIC上,释放核心,提高效率。
受依赖于低延迟的用例(如虚拟RAN、物联网、安全访问服务边缘(SASE)和多访问边缘计算(MEC))的刺激,数据中心运营商和服务提供商正在越来越多地在网络边缘部署计算资源。这些资源面临着硬件占用和电力消耗方面的共同限制,无论它们位于聚合电缆接入平台(CCAPs)、专用的微型数据中心,还是传统的电信存在点(PoPs)。同时,运营商也面临着压力,要确保他们的数据中心尽可能地符合成本效益,因为目前已经部署了数千个边缘数据中心。
解决边缘数据中心的功耗、占用空间和成本等挑战的一种方法是将虚拟交换从服务器cpu转移到可编程智能网络接口卡(smartnic)。
vSwitch是什么?
在标准的数据中心中,虚拟交换机(vswitch)将虚拟机(vm)与虚拟网络和物理网络连接起来。在许多用例中,vSwitch还需要连接vm本身之间的“东西”流量,支持高级安全、视频处理或CDN等应用。
各种vSwitch实现可用。OVS-DPDK可能是使用最广泛的,这是因为它通过使用数据平面开发工具包(DPDK)的软件库实现了优化的性能,以及它作为标准开源项目的可用性。
vSwitch作为一种基于软件的功能,必须运行在与虚拟机相同的服务器cpu上,这对解决方案架构师来说是一个挑战。但只有运行应用程序和服务的虚拟机才能最终为运营商带来收入——没有人会因为交换网络流量而获得报酬。因此,为了最大限度地增加vm可用的内核数量,将vSwitch消耗的内核数量最小化是一种强烈的商业动机。
这对于低带宽的用例来说并不困难:OVS-DPDK的最新版本可以在双向网络流量中每秒交换大约800万个包(Mpps)(假设是64字节的包)。所以,如果一个VM只需要1mpps,那么一个vSwitch核心就可以交换足够支持8个VM核心的流量,而且交换开销也不是太大。假设CPU为16核,2个vSwitch核可以支持13个VM核(假设1个核用于管理功能)。
然而,如果VM需要10mpps,则需要一个以上的vSwitch内核来支持每个VM内核,并且超过一半的CPU被用于交换。16核场景下,需要配置8个核运行vSwitch,而虚拟机只有6个核运行(消耗60mpps)。随着每个VM的带宽需求增加,问题变得更糟。
当数据中心使用较高百分比的CPU内核来运行虚拟交换时,需要更多的服务器来支持给定数量的订阅者,或者相反,给定数据中心占用空间所支持的订阅者数量受到不必要的限制。运行不产生收入的函数也会消耗电力。因此,有强烈的动机最小化虚拟交换所需的CPU内核数量,特别是对于高吞吐量的用例。
SmartNIC解决方案
通过卸载OVS-DPDK的快速路径,可编程smartnic可以解决这个问题。只消耗一个CPU核来支持这种负载分担,即对一个流中的初始报文进行慢路径分类,然后在SmartNIC中处理剩余的报文。这样可以将剩余的CPU核释放出来,用于运行虚拟机,从而显著提高 虚拟机密度 (每个CPU的虚拟机核数)。
在一个用例中,一个16核CPU连接到一个标准网卡,需要11个vSwitch内核来交换虚拟机3个内核所消耗的流量(见图).在这种情况下,由于没有足够的vSwitch内核将流量切换到第四个VM内核,因此一个CPU内核仍然作为一个滞留的资源未被使用。这种浪费通常出现在每个VM所需带宽较高的情况下。
将vSwitch功能卸载到一个可编程的SmartNIC,可以释放出10个额外的内核,这些内核现在可以用于运行虚拟机。因此,本例中的VM密度从3增加到10,这是 3.3X的改进。在标准网卡和SmartNIC示例中,都预留了一个CPU核心来运行虚拟基础设施管理器(Virtual Infrastructure Manager, VIM),它代表了虚拟化用例的典型配置。
数据中心操作员现在可以通过将vSwitch卸载到可编程的SmartNIC来计算VM密度的提高。然后,无论CFO感兴趣的是什么时间框架,都可以直接估算由此节省的成本。您所需要做的就是从需要托管在数据中心中的虚拟机的总数开始,然后考虑一些基本的假设,这些假设是关于服务器和网卡的成本和功率,OPEX-vs。-资本支出指标、数据中心电力利用率(PUE)和服务器刷新周期。
边缘数据中心最重要的成本之一是服务器cpu。这样的数据中心的数量将会增加,为创新的新服务和应用提供基础。因此,优化cpu的使用以获得最佳的投资回报(ROI)至关重要。将vSwitch卸载到可编程的SmartNIC上可以产生大量的成本节约和效率提高,所以请花时间评估您的需求,计算您的ROI,并看看您可以通过这种策略节省多少。