System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及网络流量处理,特别是一种dpdk实时流量的cpu资源动态控制方法。
技术介绍
1、随着网络流量的不断增长,传统的软件处理方式已经无法满足高速数据包处理的需求。dpdk(data plane development kit)作为一种高性能的数据包处理库,通过直接操作硬件资源,实现了低延迟和高吞吐量的数据包处理。然而,在大量数据包处理过程中,dpdk轮询机制可能导致cpu满载和满频,从而影响系统的稳定性和能效;并且在网络流量中,常常出现潮汐现象,即流量在一定时间内增加或减少。这种潮汐性对cpu资源的利用提出了巨大挑战。传统的静态cpu分配策略很难适应这种潮汐性的变化,容易导致资源浪费或者性能瓶颈。因此,实现基于dpdk实时流量的动态cpu资源控制方法显得尤为重要。
2、文献1:中国专利技术专利cn116225198b公开了一种cpu负载控制方法及系统,该方法是相比于原有的睡眠机制,通过降低cpu功耗,在流量变化后的两三个时间周期内恢复高性能传输;实现在保障传输质量的同时,为数据中心的高速率数据处理架构提供更低的cpu功耗处理方式。并未对cpu负载的分配策略进行研究。
技术实现思路
1、本专利技术的目的在于提供一种dpdk实时流量的cpu资源动态控制方法,根据实时流量进行流量监测与预测,结合当前dpdk收包相关参数,动态调整cpu核心的工作负载和频率,完成动态任务调度,以实现资源的最优分配。
2、实现本专利技术目的的技术解决方案为:
3、
4、其中,计算完成cpu资源动态调整后获取的dpdk实时流量与预测的未来流量的方差:当计算出的方差大于设定的阈值时,将完成cpu资源动态调整后获取的dpdk实时流量输入至预置的lstm模型中重新预测未来流量,并判断完成cpu资源动态调整后的dpdk收包线程能力是否满足重新预测的未来流量;反之,在预设时间间隔后,再次将获取dpdk实时流量输入至预置的lstm模型中重新预测未来流量,并判断预设时间间隔后dpdk收包线程能力是否满足重新预测的未来流量。
5、进一步的,调整dpdk收包线程的数量为:
6、若当前dpdk收包线程的数量低于预测的未来流量所需dpdk收包线程的数量时,增加dpdk收包线程的数量,并根据增加结果重新分配cpu核心,使得重新分配后的cpu核心的分布数量满足预测的未来流量的使用;
7、若当前dpdk收包线程的数量超出预测的未来流量所需dpdk收包线程的数量时,减少dpdk收包线程的数量,并根据减少结果重新分配cpu核心,使得重新分配后的cpu核心的分布数量满足预测的未来流量的使用。
8、进一步的,cpu资源动态调整还包括通过对单个dpdk收包线程执行cpu资源管理策略平衡每个cpu核心的占用率,cpu资源管理策略为:
9、s41.统计dpdk轮询动作次数与收包个数;
10、s42.判断此次轮询收包个数是否为0,若是,则该收包队列的空包次数加1,进入步骤s43,否则将该收包队列的空包次数置0,计算该收包队列的频率提升参数,进入步骤s44;
11、s43.判断该收包队列的空包次数累计数量是否大于设定的空包阈值,
12、若是,则根据空包次数计算休眠参数且休眠次数加1,进入步骤s44,否则返回步骤s41继续统计;
13、s44.比较休眠次数与dpdk所有网卡端口对应的dpdk收包队列总数量,若相等,则进入步骤s45,否则进入步骤s46;
14、s45.当休眠次数与dpdk所有网卡端口对应的dpdk收包队列总数量相等时,遍历dpdk所有网卡端口,找出所有dpdk收包队列中最小休眠参数,根据最小休眠参数采取休眠动作,让出对应cpu时间片,平衡cpu核心的占用率,并累计休眠时间,进入步骤s47;
15、s46.当休眠次数与dpdk所有网卡端口对应的dpdk收包队列总数量不相等时,遍历所有dpdk收包队列,找出所有dpdk队列中最大频率参数,根据最大频率提升参数采取对应频率提升操作,进入步骤s47;
16、s47.判断dpdk定时器是否到期,若是,根据当前轮询的dpdk收包数量、累计休眠时间调整cpu核心的频率;反之直接返回步骤s41。
17、进一步的,dpdk所有网卡端口对应的dpdk收包队列总数量是通过计算dpdk所有网卡端口数量与dpdk收包队列数量的乘积得到的。
18、进一步的,在步骤s47中计算定时器周期内当前轮询的平均收包数量,并结合总休眠时间执行对应频率下降操作,将总休眠时间、轮询收包动作次数以及收包数量置为0。
19、一种电子设备,包括:
20、存储器,用于存储计算机程序;
21、处理器,用于执行计算机程序时实现如dpdk实时流量的cpu资源动态控制方法的步骤。
22、一种计算机可读存储介质,该计算可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如dpdk实时流量的cpu资源动态控制方法的步骤。
23、本专利技术与现有技术相比,其显著优点是:
24、1)通过动态调整线程数量和分布,实时监测流量变化并进行预测,提前确定cpu核心分布,实现在不同流量情况下保持较高的系统性能;同时将任务合理地分配到多个cpu核心上,避免单个核心过载,实现负载均衡。
25、2)通过调整cpu占用率和频率,系统可以根据实际流量需求灵活分配资源,避免资源浪费,更好地应对突发流量,减少系统延迟;系统能够根据实际需求降低cpu的运行速度,从而减少能源消耗、降低温度、减少磨损、降低噪音、提高系统稳定性和适应不同工作负载,有助于节省能源、延长cpu使用寿命、降低运营成本、提高系统可靠性和运行效率。
本文档来自技高网...【技术保护点】
1.一种DPDK实时流量的CPU资源动态控制方法,其特征在于:所述CPU资源动态控制方法轮询获取实时流量,将当前DPDK实时流量输入至预置的LSTM模型中,得到预测的未来流量;当当前DPDK收包线程能力不满足预测的未来流量时,调整DPDK收包线程的数量,根据调整结果重新分配各个CPU核心的分布,完成CPU资源动态调整;
2.根据权利要求1所述的DPDK实时流量的CPU资源动态控制方法,其特征在于:所述调整DPDK收包线程的数量为:
3.根据权利要求2所述的DPDK实时流量的CPU资源动态控制方法,其特征在于:所述CPU资源动态调整还包括通过对单个DPDK收包线程执行CPU资源管理策略平衡每个CPU核心的占用率,所述CPU资源管理策略为:
4.根据权利要求3所述的DPDK实时流量的CPU资源动态控制方法,其特征在于:所述DPDK所有网卡端口对应的DPDK收包队列总数量是通过计算DPDK所有网卡端口数量与DPDK收包队列数量的乘积得到的。
5.根据权利要求4所述的DPDK实时流量的CPU资源动态控制方法,其特征在于:在步骤S47中计算定
6.一种电子设备,其特征在于:包括:
7.一种计算机可读存储介质,其特征在于:所述计算可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述DPDK实时流量的CPU资源动态控制方法的步骤。
...【技术特征摘要】
1.一种dpdk实时流量的cpu资源动态控制方法,其特征在于:所述cpu资源动态控制方法轮询获取实时流量,将当前dpdk实时流量输入至预置的lstm模型中,得到预测的未来流量;当当前dpdk收包线程能力不满足预测的未来流量时,调整dpdk收包线程的数量,根据调整结果重新分配各个cpu核心的分布,完成cpu资源动态调整;
2.根据权利要求1所述的dpdk实时流量的cpu资源动态控制方法,其特征在于:所述调整dpdk收包线程的数量为:
3.根据权利要求2所述的dpdk实时流量的cpu资源动态控制方法,其特征在于:所述cpu资源动态调整还包括通过对单个dpdk收包线程执行cpu资源管理策略平衡每个cpu核心的占用率,所述cpu资源管理策略为:
4...
【专利技术属性】
技术研发人员:张广兴,姜海洋,毛仁祥,廖志元,王伟,涂楚,李博,王嘉,
申请(专利权)人:江苏省未来网络创新研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。