针对终端服务器的网络功能加速的网络内决策的制作方法
- 国知局
- 2024-08-02 14:14:18
本公开涉及网络基础设施,并且更具体地但不排他地涉及在网络基础设施中从虚拟网络功能(vnf)的硬件卸载。
背景技术:
1、本节介绍了可以有助于更好地理解本公开的方面。因此,本节的陈述应就这个角度阅读,并且不应当被理解为承认什么是现有技术或什么不是现有技术。
2、虚拟网络功能(virtual network function,vnf),即在商品硬件上运行的软件化的网络功能,是当今数据中心联网基础设施的关键组件。为了满足vnf分组处理日益严格的性能和可扩展性要求,商品终端服务器(部署了vnf的地方)被配备有针对vnf的可编程硬件加速,通常是商品终端服务器的流层级的分组处理,利用商品网络接口卡(networkinterface card,nic)内部的嵌入式硬件交换机来实现。针对流层级的分组处理的硬件加速依赖于内置流表,其在针对快速流处理的三态内容可寻址存储器(ternary content-addressable memory,tcam)内存储每个流的匹配/动作元组。因此,流表的大小(即表中的最大条目数)对流层级加速度设置了上限。
3、为了允许vnf利用硬件加速器进行流层级分组处理卸载(简称“流卸载”),硬件供应商经由现有的流处理api将其加速器设计为可编程的,vnf通常在该流处理api上实现。在硬件供应商支持下,这些api使能了透明且伺机的流到底层加速器的卸载。换言之,一旦使用这些api开发vnf,则仅当vnf的流处理可卸载时(例如,当加速器支持给定的匹配条件/动作时或者当加速器中存在备用容量时),vnf的流处理才被卸载至加速器。否则,流处理保留在中央处理单元(cpu)上的软件中执行。这种透明和灵活的卸载给vnf开发人员提供了巨大的益处,因为在有或没有硬件加速器,或者对于不同的硬件加速器,vnf都不需要重写。
4、虽然透明的vnf卸载隐藏了来自vnf的硬件卸载的重要细节,但这并不意味着vnf完全没有底层硬件加速的管理责任。考虑到任何硬件加速器具有有限的流表容量,正确地管理有限的加速器容量仍然是vnf或者部署vnf的任何实体的工作。例如,在大量低速率网络流将到达的环境中,如果vnf盲目地将流卸载至嵌入式nic交换机,使其流表饱和,即使当nic在线路速率下运行良好时,nic也不能够处理任何其他流。众所周知,使nic的流表饱和接近其最大容量或者在nic的嵌入式交换机中频繁地洗乱卸载流可能会显著降低nic的分组处理吞吐量。参见例如georgios p.katsikas、tom barbette、marco chiesa、dejankostic和gerald q.maguire jr.,“what you need toknow about(smart)networkinterface cards”,在关于被动和主动网络测量的国际会议2021,其传授内容通过引用其全文结合在本文中。
技术实现思路
1、现有技术中的问题主张针对vnf流处理的智能和选择性卸载。换言之,在是否将给定流处理卸载至加速器中应该有智能决策参与。不仅如此,一旦特定流规则被卸载,则卸载处理的状态(例如,硬件中的卸载流规则的命中次数)需要被持续地监控。当必要时(例如,当卸载流规则在硬件中接收到很少的命中时),卸载处理需要被装载回cpu以针对其他可卸载流处理腾出空间。
2、实现此想法的现有技术状态的解决方案都依赖于部署vnf的终端服务器驱动的卸载决策。例如,可以存在运行在终端服务器上的单独的软件代理来监控加速器以微调卸载。或者,vnf本身可以被设计为基于自我监控做出动态卸载决策。然而,这种终端服务器驱动的卸载决策方法存在以下问题。首先,监控单独的卸载流规则的状态(即每个他们在硬件中接收到多少命中)需要周期性地查询加速器,因为卸载流处理对于cpu是完全不可见的。随着卸载流规则的数目增加,在加速器中监控每个单独的卸载规则不仅占用相当数目的cpu周期,而且还会干扰硬件中卸载规则的执行并对其产生负面地影响。基于过时的加速器统计的卸载/装载决策可能影响决策的最优性,尤其是当流量模式随着时间的推移动态改变时。此外,任何不合时宜的卸载决策都可能在加速器与cpu之间引入高度搅动(例如,特定的规则处理被频繁地卸载和装载),从而导致分组丢失。
3、根据本公开的原理,通过将针对vnf加速的上述决策和监控逻辑从终端服务器(也称为终端主机)迁移到网络中,解决了现有技术中的问题。在一些实施例中,一个或多个vnf以硬件加速运行的终端服务器连接到装备有可编程数据平面的网络内架顶式(tor)交换机,其中利用网络内tor交换机来辅助终端服务器的决策,以便将vnf流处理卸载到一个或多个硬件加速器或者将流处理从加速器上装载回cpu。
4、在本公开的至少一个实施例中,网络包括(i)至少一个基于软件的处理器,其被配置为实现与流处理相关联的至少一个vnf;(ii)至少一个硬件加速器,其中基于软件的处理器被配置为将流处理中的至少一些卸载到硬件加速器;以及(iii)模块,其在基于软件的处理器和硬件加速器外部,并且模块被配置为检查正由网络处理的多个流,并确定哪一个或多个流比一个或多个其他流更适合于从用于基于软件的处理器卸载到硬件加速器。
5、在本公开的至少一个其他实施例中,一种方法包括:(i)至少一个基于软件的处理器实现与流处理相关联的至少一个vnf并且将流处理中的至少一些卸载到至少一个硬件加速器;以及(ii)模块检查多个流,并确定哪一个或多个流比一个或多个其他流更适合于从用于基于软件的处理器卸载到硬件加速器,模块在基于软件的处理器和硬件加速器外部。
技术特征:1.一种网络,包括:
2.根据权利要求1所述的网络,其中:
3.根据权利要求1所述的网络,其中所述外部模块被配置为确定较大流比较小流更适合于卸载。
4.根据权利要求3所述的网络,其中所述外部模块被配置为执行大象流检测算法以标识所述较大流。
5.根据权利要求1所述的网络,其中所述外部模块被配置为将标签插入到分组中,所述标签标识所确定的针对卸载一个或多个流的所述适合性。
6.根据权利要求1所述的网络,其中所述外部模块被配置为向所述基于软件的处理器发送带外消息(255),所述带外消息传达所确定的针对卸载一个或多个流的所述适合性。
7.根据权利要求6所述的网络,其中所述基于软件的处理器被配置为实现处理所述带外消息的vnf代理(214)。
8.根据权利要求1所述的网络,其中所述外部模块被配置为标识针对卸载的指定数目的流。
9.根据权利要求8所述的网络,其中所述指定数目是可编程的。
10.根据权利要求9所述的网络,其中所述基于软件的处理器被配置为向所述外部模块发送消息(115、215),以改变可编程的所述指定数目。
11.根据权利要求10所述的网络,其中所述消息是由所述外部模块的控制平面处置的带外消息。
12.根据权利要求10所述的网络,其中所述消息是由所述外部模块的数据平面处置的带内消息。
13.根据权利要求1所述的网络,其中:
14.一种方法,包括:
15.根据权利要求14所述的方法,其中:
16.根据权利要求14所述的方法,其中所述外部模块确定较大流比较小流更适合于卸载。
17.根据权利要求14所述的方法,其中所述外部模块将标签插入到分组中,所述标签标识所确定的针对卸载一个或多个流的适合性。
18.根据权利要求14所述的方法,其中所述外部模块向所述基于软件的处理器发送带外消息(255),所述带外消息传达所确定的针对卸载一个或多个流的所述适合性。
19.根据权利要求14所述的方法,其中:
20.根据权利要求14所述的方法,其中:
技术总结本公开涉及针对终端服务器的网络功能加速的网络内决策。CPU实现与流处理相关联的虚拟网络功能(VNF),并且可以将流处理中的至少一些卸载到硬件加速器。在基于软件的处理器和硬件加速器外部的模块(例如,TOR交换机)检查分组流,并且确定(例如,使用前K个大象流检测算法)哪个模块比其他模块更适合于从基于软件的处理器卸载到硬件加速器。外部模块使用分组标签或带外消息传递用于卸载的相对适合性到CPU,并且CPU使用相对适合性来确定卸载或装载哪些流。在一些实施方案中,CPU可以指示外部模块改变在算法中使用的K的值。技术研发人员:H·常,S·穆克尔基,王利民受保护的技术使用者:诺基亚通信公司技术研发日:技术公布日:2024/7/23本文地址:https://www.jishuxx.com/zhuanli/20240801/242121.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表