CN106527653A - 调整cpu频率的方法及装置 - Google Patents
调整cpu频率的方法及装置 Download PDFInfo
- Publication number
- CN106527653A CN106527653A CN201610891009.5A CN201610891009A CN106527653A CN 106527653 A CN106527653 A CN 106527653A CN 201610891009 A CN201610891009 A CN 201610891009A CN 106527653 A CN106527653 A CN 106527653A
- Authority
- CN
- China
- Prior art keywords
- network interface
- interface card
- core cpu
- card queue
- cpu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开涉及一种调整CPU频率的方法及装置,用于解决采用轮询方式收包的网络设备的CPU始终高功耗运行,浪费了电力资源的问题。所述方法包括:根据CPU核心的收包线程采用轮询方式读取所述CPU核心对应的网卡队列中的数据,其中,CPU包括至少一个CPU核心,每一所述CPU核心对应网卡中的至少一个网卡队列,所述网卡中的每一网卡队列对应一个CPU核心;根据所述CPU核心从每个网卡队列读取到的数据包的数量,确定所述CPU核心对应的每个网卡队列的负载;根据所述CPU核心对应的每个网卡队列的负载调整所述CPU核心的频率。
Description
技术领域
本公开涉及计算机领域,具体地,涉及一种调整CPU频率的方法及装置。
背景技术
传统的网络设备采用中断的方式收取数据包,即当数据包到达网卡时,网卡给CPU(Central Processing Unit,中央处理器)发送一个中断信号,CPU才开始从网卡中接收并处理数据包,当没有数据包时,CPU不做运算,CPU的使用率较低,功耗也较低。
但是,对于中断方式来说,由于每收到一个数据包都会产生一个中断,而处理器会迅速进行上下文切换跳到中断服务程序中去处理收包,这样,如果遇到数据包流量很大的情况,过多的中断会增加系统的负荷。因此,近年来中断方式收包已经逐步被UIO(Userspace I/O,用户空间的I/O)技术取代。
UIO技术是把网卡映射到用户空间,在用户态通过程序轮询的方式不断查询网卡中是否有数据包到来。轮询方式收取数据包没有上下文切换的开销,但轮询方式导致CPU频率始终维持100%,即使没有数据包,CPU也以高功耗的方式运行,浪费了电力资源。
发明内容
本公开的目的是提供一种调整CPU频率的方法及装置,用以解决采用轮询方式收包的网络设备的CPU始终高功耗运行,浪费了电力资源的问题。
为了实现上述目的,本公开第一方面提供一种调整中央处理器CPU频率的方法,所述CPU包括至少一个CPU核心,每一所述CPU核心对应网卡中的至少一个网卡队列,所述网卡中的每一网卡队列对应一个CPU核心,所述方法包括:根据所述CPU核心的收包线程采用轮询方式读取所述CPU核心对应的网卡队列中的数据;根据所述CPU核心从每个网卡队列读取到的数据包的数量,确定所述CPU核心对应的每个网卡队列的负载;根据所述CPU核心对应的每个网卡队列的负载调整所述CPU核心的频率。
可选地,所述根据所述CPU核心的收包线程采用轮询方式读取所述CPU核心对应的网卡队列中的数据,包括:在所述CPU核心的收包线程每次轮询到第一网卡队列时,从所述第一网卡队列中读取m个数据包,所述第一网卡队列是所述CPU核心对应的网卡队列中的任一网卡队列,m是大于0且小于或等于s的正整数,s是所述CPU核心能够一次读取的数据包的最大数量。
可选地,所述根据所述CPU核心从每个网卡队列读取到的数据包的数量,确定所述CPU核心对应的每个网卡队列的负载,包括:在所述CPU核心第n次轮询读取所述第一网卡队列的数据包后,采用如下公式计算所述第一网卡队列的负载:
ln=(1-W)×ln-1+W×m;
其中,bn表示所述第一网卡队列在第n次轮询之后的负载;W为预设的权值,W的取值范围是(0,1);当n等于1时,l0=0,l1是第一次负载计算的中间值,当n大于1时,ln-1是第n-1次迭代过程的中间值,ln是第n次负载计算的中间值。
可选地,所述根据所述CPU核心对应的每个网卡队列的负载调整所述CPU核心的频率,包括:每次轮询后,若计算得到的任何一个网卡队列的负载大于或等于第一阈值,则提升所述CPU核心的频率。
可选地,所述根据所述CPU核心对应的每个网卡队列的负载调整所述CPU核心的频率,包括:每次轮询后,若计算得到的任何一个网卡队列的负载大于或等于阈值T1,则将所述CPU核心的频率提升一级,若计算得到的任何一个网卡队列的负载大于或等于阈值T2,则将所述CPU核心的频率提升至100%,其中,T2大于T1。
值得说明的是,由于只要任何一个网卡队列的负载过大,CPU核心即可提升频率,因此实现了网卡负载增大时,CPU核心迅速提升频率的技术效果,充分发挥了CPU核心的性能,避免了数据拥塞。
可选地,所述根据所述CPU核心对应的每个网卡队列的负载调整所述CPU核心的频率,包括:连续N次轮询后,若每次计算得到的所述CPU核心对应的所有网卡队列的负载均小于第二阈值,则降低所述CPU核心的频率。
可选地,在N次轮询中,若每次计算得到的所述CPU核心对应的所有网卡队列的负载均小于T3,则将所述CPU核心的频率降低一级。由于所有网卡队列负载在N次轮询中均小于T3,才降低CPU核心频率一级,因此实现了网卡负载减小时,慢慢降低CPU核心的频率的技术效果,保证了在不影响CPU核心读取数据的性能的前提下,节省电力资源,实现绿色节能。
第二方面,提供一种调整CPU频率的装置,所述CPU包括至少一个CPU核心,每一所述CPU核心对应网卡中的至少一个网卡队列,所述网卡中的每一网卡队列对应一个CPU核心,所述装置包括:轮询读取单元,用于根据所述CPU核心的收包线程采用轮询方式读取所述CPU核心对应的网卡队列中的数据;负载确定单元,用于根据所述CPU核心从每个网卡队列读取到的数据包的数量,确定所述CPU核心对应的每个网卡队列的负载;频率调整单元,用于根据所述CPU核心对应的每个网卡队列的负载调整所述CPU核心的频率。
可选地,所述轮询读取单元用于:在所述CPU核心的收包线程每次轮询到第一网卡队列时,从所述第一网卡队列中读取m个数据包,所述第一网卡队列是所述CPU核心对应的网卡队列中的任一网卡队列,m是大于0且小于或等于s的正整数,s是所述CPU核心能够一次读取的数据包的最大数量。
可选地,所述负载确定单元用于:在所述CPU核心第n次轮询读取所述第一网卡队列的数据包后,采用如下公式计算所述第一网卡队列的负载:
ln=(1-W)×ln-1+W×m;
其中,bn表示所述第一网卡队列在第n次轮询之后的负载;W为预设的权值,W的取值范围是(0,1);当n等于1时,l0=0,l1是第一次负载计算的中间值,当n大于1时,ln-1是第n-1次迭代过程的中间值,ln是第n次负载计算的中间值。
可选地,所述频率调整单元用于:在每次轮询后,计算得到的任何一个网卡队列的负载大于或等于第一阈值时,提升所述CPU核心的频率。
可选地,所述频率调整单元用于:在连续N次轮询后,每次计算得到的所述CPU核心对应的所有网卡队列的负载均小于第二阈值时,降低所述CPU核心的频率。
通过上述技术方案,本发明提供了一种调整CPU频率的方法,由于网卡中的每一网卡队列只对应一个CPU核心收取数据包,因此,针对所述CPU核心收取数据包的数量即可对网卡队列的负载进行计算,从而根据网卡队列的负载调整CPU核心的频率。这样,在网卡队列的负载较低时,降低CPU频率,实现绿色节能;在网卡队列负载较高时,提高CPU频率,使得CPU的性能能够得到有效发挥,避免数据拥塞,解决了CPU始终高功耗运行,浪费了电力资源的问题。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是本公开实施例提供的一种网络设备的结构示意图;
图2是本公开实施例提供的一种调整CPU频率的方法的流程示意图;
图3是本公开实施例提供的另一种调整CPU频率的方法的流程示意图;
图4是本公开实施例提供的一种调整CPU频率的装置的结构示意图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
为了是本领域技术人员更容易理解本公开提供的技术方案,下面对本公开技术方案的实施环境进行介绍。
图1是一种网络设备100的结构示意图。如1图所示,该网络设备100包括CPU 101,其中,该CPU 101包括至少一个CPU核心,例如图1示出的CPU核心1011、CPU核心1012、CPU核心1013和CPU核心1014。该网络设备100还包括网卡102,其中,该网卡102包括多个网卡队列,例如图1示出的网卡队列1至网卡队列8。另外,一个CPU核心还对应有一个收包线程,如图1所示的收包线程1至收包线程4所示,用于收取网卡队列中的数据。
值得说明的是,现有技术中,为了保证性能,每一CPU核心均高功耗运行,即频率维持在最高频率运行,浪费了电力资源。
本发明为了解决上述技术问题,提供了一种调整CPU频率的方法,其中,该方法可以应用于网络设备中的CPU,例如图1所示的CPU 101,该CPU包括至少一个CPU核心,每一CPU核心对应网卡中的至少一个网卡队列,所述网卡中的每一网卡队列对应一个CPU核心,如图2所示,该方法包括:
S201、根据所述CPU核心的收包线程采用轮询方式读取所述CPU核心对应的网卡队列中的数据。
以图1所示的网络设备进行举例说明,本发明实施例可以在初始化时,建立CPU核心1011与收包线程1的亲和关系,CPU核心1012与收包线程2的亲和关系,CPU核心1013与收包线程3的亲和关系,CPU核心1014与收包线程4的亲和关系,这样,上述CPU核心的收包线程即为与所述CPU核心具有亲和关系的收包线程。并且,还可以建立每一CPU核心与网卡队列的对应关系。例如,CPU核心1011对应网卡队列1和网卡队列2,CPU核心1012对应网卡队列3和网卡队列4,CPU核心1013对应网卡队列5和网卡队列6,CPU核心1014对应网卡队列7和网卡队列8。
上述只是举例说明,在具体实施时,可以根据CPU核心的实际数量以及网卡队列的实际数量建立对应关系,其中,每一个CPU核心对应至少一个网卡队列,每一网卡队列只对应一个CPU核心,以确保了同一网卡队列中的数据包只能被同一个CPU核心的收包线程读取到。
S202、根据所述CPU核心从每个网卡队列读取到的数据包的数量,确定所述CPU核心对应的每个网卡队列的负载。
也就是说,由于同一网卡队列中的数据包被一个CPU核心的收包线程读取,因此,根据该CPU核心每次从该网卡队列获取到的数据包的数量即可评估该网卡队列的负载。
S203、根据所述CPU核心对应的每个网卡队列的负载调整所述CPU核心的频率。
具体地,在网卡队列的负载较小时,可以降低对应的CPU核心的频率,在网卡队列的负载较大时,可以提升对应的CPU核心的频率。
采用上述技术方案,由于网卡中的每一网卡队列只对应一个CPU核心收取数据包,因此,针对所述CPU核心收取数据包的数量即可对网卡队列的负载进行计算,从而根据网卡队列的负载调整CPU核心的频率。这样,在网卡队列的负载较低时,降低CPU频率,实现绿色节能;在网卡队列负载较高时,提高CPU频率,使得CPU的性能能够得到有效发挥,避免数据拥塞,解决了CPU始终高功耗运行,浪费了电力资源的问题。
为了使本领域技术人员更加理解本公开提供的技术方案,下面对上述步骤进行详细的说明。
仍然以图1所示的网络设备举例说明,上述步骤S201中所述的CPU核心可以为网络设备100中的任一CPU核心,例如,CPU核心1011,则所述CPU核心1011对应的收包线程即为图1中示出的收包线程1,所述CPU核心1011对应的至少一个网卡队列即为图1中示出网卡队列1和网卡队列2。这样,上述步骤201具体可以是,CPU核心1011每间隔一段时间,采用收包线程1轮询网卡队列1和网卡队列2。若轮询到某一网卡队列存在新的数据包则,读取所述新的数据包,若对应的所有网卡队列均不存在新的数据包时,线程挂起等待固定的时间间隔后,再次轮询所述CPU核心对应的每一个网卡队列。
所述CPU核心在确定某一网卡队列存在新的数据包后,可以采用突发收包模式读取该网卡队列中的数据包。其中,突发收包模式是指,网络设备运行的上层应用给网卡驱动传一个参数s,网卡驱动给上层应用返回m个数据包,其中m的取值范围是[0,s]。值得说明的是,网络设备的上层应用可以理解为运行在CPU上的应用,网卡驱动可以理解为网卡的一部分,为了描述方便,本公开直接描述CPU核心从网卡的网卡队列读取数据。
因此,上述步骤S201中,在所述CPU核心的收包线程每次轮询到第一网卡队列时,从所述第一网卡队列中读取m个数据包,所述第一网卡队列是所述CPU核心对应的网卡队列中的任一网卡队列,m是大于0且小于或等于s的正整数,s是所述CPU核心能够一次读取的数据包的最大数量。具体地,若网卡队列中新的数据包的数量大于或等于s,则所述CPU核心的收包线程读取s个数据包,若网卡队列中新的数据包的数量小于s,则所述CPU核心的收包线程读取所述网卡队列中的所有新的数据包。
进一步地,上述步骤S202可以是在每次轮询后,根据所述CPU核心从每个网卡队列读取到的数据包的数量,迭代计算所述CPU核心对应的每个网卡队列的负载。
具体地,在所述CPU核心第n次轮询读取所述第一网卡队列的数据包后,采用如下公式计算所述第一网卡队列的负载:
ln=(1-W)×ln-1+W×m;
其中,bn表示所述第一网卡队列在第n次轮询之后的负载;W为预设的权值,W的取值范围是(0,1);当n等于1时,l0=0,l1是第一次负载计算的中间值,当n大于1时,ln-1是第n-1次迭代过程的中间值,ln是第n次负载计算的中间值。
由上述公式可知,bn的取值范围是[0,1],bn值越大,表示该网卡队列负载强度越高。并且,迭代多次计算后,bn反映的是一段时间以来,网卡队列的繁忙程度,网络数据的突发或者短暂拥塞不会使得网卡队列繁忙程度bn有显著变化。
W具体是可由设备管理员配置的权值,其默认值可以是0.5,其中,W越大,bn的反应越快,同时过滤短暂拥塞的能力也越差,网络管理员可以根据网络流量特征选择合适的数值。
进一步地,上述步骤S203包括:每次轮询后,若计算得到的任何一个网卡队列的负载大于或等于第一阈值,则提升所述CPU核心的频率。
也就是说,在第一次轮询后,根据CPU核心从网卡队列获取到的数据包的数量,计算每一个网卡队列的负载b1,若任何一个网卡队列的负载b1大于或等于第一阈值,则提升所述CPU核心的频率。第一次轮询之后,该CPU核心在后续的每次轮询之后,根据从网卡队列获取到的数据包的数量,进行一次迭代计算,得到本次轮询后表示该网卡队列的负载bn,若有任何一个网卡队列在本次轮询结束后计算得到的bn大于或等于第一阈值,则提升所述CPU核心的频率。其中,该第一阈值可以是预先设置的大于0小于或等于1的数值。
由于只要任何一个网卡队列的负载过大,CPU核心即可提升频率,因此实现了网卡负载增大时,CPU核心迅速提升频率的技术效果,充分发挥了CPU核心的性能,避免了数据拥塞。
在本发明实施例的一种可能的实现方式中,上述步骤S203具体包括:每次轮询后,若计算得到的任何一个网卡队列的负载大于或等于阈值T1,则将所述CPU核心的频率提升一级,若计算得到的任何一个网卡队列的负载大于或等于阈值T2,则将所述CPU核心的频率提升至100%,其中,T2大于T1。
上述步骤S203还可以包括:连续N次轮询后,若每次计算得到的所述CPU核心对应的所有网卡队列的负载均小于第二阈值,则降低所述CPU核心的频率。
示例地,在N次轮询中,若每次计算得到的所述CPU核心对应的所有网卡队列的负载均小于T3,则将所述CPU核心的频率降低一级。由于所有网卡队列负载在N次轮询中均小于T3,才降低CPU核心频率一级,因此实现了网卡负载减小时,慢慢降低CPU核心的频率的技术效果,保证了在不影响CPU核心读取数据的性能的前提下,节省电力资源,实现绿色节能。
下面以图1所示的网络设备为例,对本公开的技术方案进行详细的说明,如图3所示,本公开提供的一种调整CPU频率的方法包括如下步骤:
S301、CPU核心1011采用收包线程1对网卡队列1和网卡队列2轮询读取数据包。
其中,网卡队列1和网卡队列2是网卡102中预先与CPU核心1011建立对应关系的网卡队列。
值得说明的是,图3是以CPU核心1011为例进行说明,在具体实施时,网络设备100中的所有CPU核心均可以执行图3所示的方法步骤,在此种情况下,本发明实施例可以在初始化时,建立CPU核心1011与收包线程1的亲和关系,CPU核心1012与收包线程2的亲和关系,CPU核心1013与收包线程3的亲和关系,CPU核心1014与收包线程4的亲和关系。并且建立CPU核心1011与网卡队列1和网卡队列2的对应关系,CPU核心1012与网卡队列3和网卡队列4的对应关系,CPU核心1013与网卡队列5和网卡队列6的对应关系,以及CPU核心1014与网卡队列7和网卡队列8的对应关系。
并且,具体的数据包读取可以参照上述对突发收包模式的描述,此处不再赘述。
S302、在本次轮询后,CPU核心1011根据从网卡队列1中读取到的数据包的数量迭代计算网卡队列1的负载,根据从网卡队列2中读取到的数据包的数量迭代计算网卡队列2的负载。
具体参照上述对步骤S202的描述,此处不再赘述。
S303、若网卡队列1和/或网卡队列2的负载大于或等于阈值T1,则将所述CPU核心1011的频率提升一个等级。
进一步地,执行步骤S305。
S304、若网卡队列1和/或网卡队列2的负载大于或等于阈值T2,则将所述CPU核心1011的频率提升至100%。
其中,T2大于T1。
进一步地,执行步骤S305。
值得说明的是,若网卡队列1和网卡队列2的负载均小于T1,也可以进一步执行步骤S305。
S305、对轮询次数加1,并判断当前轮询次数是否等于N。
进一步地,当前轮询次数等于N,则执行步骤S306至步骤S307,当前轮询次数小于N时,则执行步骤S308。
S306、若网卡队列1和网卡队列2在每次轮询后的负载均小于阈值T3,则将所述CPU核心1011的频率降低一个等级。
S307、对轮询次数置0。
进一步地,执行步骤S308。
S308、启动定时器,判断所述定时器是否超时。
具体地,在确定所述定时器超时的情况下,执行步骤S301,实现上述步骤的循环执行。
采用上述方案,由于网卡中的每一网卡队列只对应一个CPU核心收取数据包,因此,针对所述CPU核心收取数据包的数量即可对网卡队列的负载进行计算,从而根据网卡队列的负载调整CPU核心的频率。这样,在网卡队列的负载较低时,图3所示的方法可以慢慢降低CPU频率,实现绿色节能;在网卡队列负载较高时,图3所示的方法可以迅速提高CPU频率,使得CPU的性能能够得到有效发挥,避免数据拥塞,解决了CPU始终高功耗运行,浪费了电力资源的问题。
本公开实施例还提供一种调整CPU频率的装置400,用于实施上述方法实施例提供的一种调整CPU频率的方法,其中,所述CPU包括至少一个CPU核心,每一所述CPU核心对应网卡中的至少一个网卡队列,所述网卡中的每一网卡队列对应一个CPU核心,如图4所示,所述装置400包括:
轮询读取单元401,用于根据所述CPU核心的收包线程采用轮询方式读取所述CPU核心对应的网卡队列中的数据;
负载确定单元402,用于根据所述CPU核心从每个网卡队列读取到的数据包的数量,确定所述CPU核心对应的每个网卡队列的负载;
频率调整单元403,用于根据所述CPU核心对应的每个网卡队列的负载调整所述CPU核心的频率。
采用上述装置,由于网卡中的每一网卡队列只对应一个CPU核心收取数据包,因此,针对所述CPU核心收取数据包的数量即可对网卡队列的负载进行计算,从而根据网卡队列的负载调整CPU核心的频率。这样,在网卡队列的负载较低时,降低CPU频率,实现绿色节能;在网卡队列负载较高时,提高CPU频率,使得CPU的性能能够得到有效发挥,避免数据拥塞,解决了CPU始终高功耗运行,浪费了电力资源的问题。
可选地,所述轮询读取单元401用于:在所述CPU核心的收包线程每次轮询到第一网卡队列时,从所述第一网卡队列中读取m个数据包,所述第一网卡队列是所述CPU核心对应的网卡队列中的任一网卡队列,m是大于0且小于或等于s的正整数,s是所述CPU核心能够一次读取的数据包的最大数量。
可选地,所述负载确定单元402用于:在所述CPU核心第n次轮询读取所述第一网卡队列的数据包后,采用如下公式计算所述第一网卡队列的负载:
ln=(1-W)×ln-1+W×m;
其中,bn表示所述第一网卡队列在第n次轮询之后的负载;W为预设的权值,W的取值范围是(0,1);当n等于1时,l0=0,l1是第一次负载计算的中间值,当n大于1时,ln-1是第n-1次迭代过程的中间值,ln是第n次负载计算的中间值。
bn的取值范围是[0,1],bn值越大,表示该网卡队列负载强度越高。并且,迭代多次计算后,bn反映的是一段时间以来,网卡队列的繁忙程度,网络数据的突发或者短暂拥塞不会使得网卡队列繁忙程度bn有显著变化。
W具体是可由设备管理员配置的权值,其默认值可以是0.5,其中,W越大,bn的反应越快,同时过滤短暂拥塞的能力也越差,网络管理员可以根据网络流量特征选择合适的数值。
可选地,所述频率调整单元403用于:在每次轮询后,计算得到的任何一个网卡队列的负载大于或等于第一阈值时,提升所述CPU核心的频率。
示例地,所述频率调整单元403具体用于,每次轮询后,若计算得到的任何一个网卡队列的负载大于或等于阈值T1,则将所述CPU核心的频率提升一级,若计算得到的任何一个网卡队列的负载大于或等于阈值T2,则将所述CPU核心的频率提升至100%,其中,T2大于T1。
由于只要任何一个网卡队列的负载过大,CPU核心即可提升频率,因此实现了网卡负载增大时,CPU核心迅速提升频率的技术效果,充分发挥了CPU核心的性能,避免了数据拥塞。
可选地,所述频率调整单元403用于:在连续N次轮询后,每次计算得到的所述CPU核心对应的所有网卡队列的负载均小于第二阈值时,降低所述CPU核心的频率。
示例地,在N次轮询中,若每次计算得到的所述CPU核心对应的所有网卡队列的负载均小于T3,则将所述CPU核心的频率降低一级。由于所有网卡队列负载在N次轮询中均小于T3,才降低CPU核心频率一级,因此实现了网卡负载减小时,慢慢降低CPU核心的频率的技术效果,保证了在不影响CPU核心读取数据的性能的前提下,节省电力资源,实现绿色节能。
本领域技术人员应该知悉,以上对装置400的单元划分,仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。并且,上述各功能单元的物理实现也可能有多种实现方式,本发明对此不做限定。
另外,为描述的方便和简洁,上述描述的调整CPU频率的装置的各单元的具体工作过程,可以参考前述方法实施例中的对应过程,此处不再赘述。
在本申请所提供的实施例中,应该理解到,所公开的装置和方法,可以通过其它的方式实现。例如,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、RAM(Random Access Memory,随机存取存储器)、磁碟或者光盘等各种可以存储数据的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种调整中央处理器CPU频率的方法,其特征在于,所述CPU包括至少一个CPU核心,每一所述CPU核心对应网卡中的至少一个网卡队列,所述网卡中的每一网卡队列对应一个CPU核心,所述方法包括:
根据所述CPU核心的收包线程采用轮询方式读取所述CPU核心对应的网卡队列中的数据;
根据所述CPU核心从每个网卡队列读取到的数据包的数量,确定所述CPU核心对应的每个网卡队列的负载;
根据所述CPU核心对应的每个网卡队列的负载调整所述CPU核心的频率。
2.根据权利要求1所述的方法,其特征在于,所述根据所述CPU核心的收包线程采用轮询方式读取所述CPU核心对应的网卡队列中的数据,包括:
在所述CPU核心的收包线程每次轮询到第一网卡队列时,从所述第一网卡队列中读取m个数据包,所述第一网卡队列是所述CPU核心对应的网卡队列中的任一网卡队列,m是大于0且小于或等于s的正整数,s是所述CPU核心能够一次读取的数据包的最大数量。
3.根据权利要求2所述的方法,其特征在于,所述根据所述CPU核心从每个网卡队列读取到的数据包的数量,确定所述CPU核心对应的每个网卡队列的负载,包括:
在所述CPU核心第n次轮询读取所述第一网卡队列的数据包后,采用如下公式计算所述第一网卡队列的负载:
ln=(1-W)×ln-1+W×m;
其中,bn表示所述第一网卡队列在第n次轮询之后的负载;W为预设的权值,W的取值范围是(0,1);当n等于1时,l0=0,l1是第一次负载计算的中间值,当n大于1时,ln-1是第n-1次迭代过程的中间值,ln是第n次负载计算的中间值。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述根据所述CPU核心对应的每个网卡队列的负载调整所述CPU核心的频率,包括:
每次轮询后,若计算得到的任何一个网卡队列的负载大于或等于第一阈值,则提升所述CPU核心的频率。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述根据所述CPU核心对应的每个网卡队列的负载调整所述CPU核心的频率,包括:
连续N次轮询后,若每次计算得到的所述CPU核心对应的所有网卡队列的负载均小于第二阈值,则降低所述CPU核心的频率。
6.一种调整CPU频率的装置,其特征在于,所述CPU包括至少一个CPU核心,每一所述CPU核心对应网卡中的至少一个网卡队列,所述网卡中的每一网卡队列对应一个CPU核心,所述装置包括:
轮询读取单元,用于根据所述CPU核心的收包线程采用轮询方式读取所述CPU核心对应的网卡队列中的数据;
负载确定单元,用于根据所述CPU核心从每个网卡队列读取到的数据包的数量,确定所述CPU核心对应的每个网卡队列的负载;
频率调整单元,用于根据所述CPU核心对应的每个网卡队列的负载调整所述CPU核心的频率。
7.根据权利要求6所述的装置,其特征在于,所述轮询读取单元用于:
在所述CPU核心的收包线程每次轮询到第一网卡队列时,从所述第一网卡队列中读取m个数据包,所述第一网卡队列是所述CPU核心对应的网卡队列中的任一网卡队列,m是大于0且小于或等于s的正整数,s是所述CPU核心能够一次读取的数据包的最大数量。
8.根据权利要求7所述的装置,其特征在于,所述负载确定单元用于:
在所述CPU核心第n次轮询读取所述第一网卡队列的数据包后,采用如下公式计算所述第一网卡队列的负载:
ln=(1-W)×ln-1+W×m;
其中,bn表示所述第一网卡队列在第n次轮询之后的负载;W为预设的权值,W的取值范围是(0,1);当n等于1时,l0=0,l1是第一次负载计算的中间值,当n大于1时,ln-1是第n-1次迭代过程的中间值,ln是第n次负载计算的中间值。
9.根据权利要求6至8任一项所述的装置,其特征在于,所述频率调整单元用于:
在每次轮询后,计算得到的任何一个网卡队列的负载大于或等于第一阈值时,提升所述CPU核心的频率。
10.根据权利要求6至8任一项所述的装置,其特征在于,所述频率调整单元用于:
在连续N次轮询后,每次计算得到的所述CPU核心对应的所有网卡队列的负载均小于第二阈值时,降低所述CPU核心的频率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610891009.5A CN106527653A (zh) | 2016-10-12 | 2016-10-12 | 调整cpu频率的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610891009.5A CN106527653A (zh) | 2016-10-12 | 2016-10-12 | 调整cpu频率的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106527653A true CN106527653A (zh) | 2017-03-22 |
Family
ID=58331742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610891009.5A Pending CN106527653A (zh) | 2016-10-12 | 2016-10-12 | 调整cpu频率的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106527653A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108694087A (zh) * | 2017-03-31 | 2018-10-23 | 英特尔公司 | 用于最优系统级性能的网络接口卡中的动态负载均衡 |
CN109218227A (zh) * | 2018-08-02 | 2019-01-15 | 武汉绿色网络信息服务有限责任公司 | 一种网络数据包处理方法和装置 |
CN109284192A (zh) * | 2018-09-29 | 2019-01-29 | 网宿科技股份有限公司 | 参数配置方法及电子设备 |
CN109587078A (zh) * | 2018-12-17 | 2019-04-05 | 联想(北京)有限公司 | 一种调节方法、网络设备及电子设备 |
CN109960584A (zh) * | 2019-01-30 | 2019-07-02 | 努比亚技术有限公司 | Cpu调频控制方法、终端及计算机可读存储介质 |
WO2020008468A1 (en) * | 2018-07-02 | 2020-01-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Software switch and method therein |
CN111200541A (zh) * | 2019-12-31 | 2020-05-26 | 山石网科通信技术股份有限公司 | 网络数据处理方法和装置 |
CN111447301A (zh) * | 2020-03-27 | 2020-07-24 | 深圳市三旺通信股份有限公司 | 一种采用外挂式cpu的轨交车车载nat的方法 |
CN112764934A (zh) * | 2021-01-29 | 2021-05-07 | 上海弘积信息科技有限公司 | 一种负载均衡设备cpu使用率的计算方法 |
CN112882819A (zh) * | 2019-11-29 | 2021-06-01 | 上海商汤智能科技有限公司 | 芯片工作频率的设置方法和装置 |
CN113079114A (zh) * | 2021-06-04 | 2021-07-06 | 鹏城实验室 | 一种数据包接收方法、装置、终端及存储介质 |
WO2021196065A1 (en) * | 2020-04-01 | 2021-10-07 | Intel Corporation | Technology to automatically conduct speed switching in processor links without warm resets |
CN114900487A (zh) * | 2022-05-27 | 2022-08-12 | 深圳铸泰科技有限公司 | 基于内存设计优化流量抓取方法及系统 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1932721A (zh) * | 2006-09-08 | 2007-03-21 | 华南理工大学 | 一种基于嵌入式系统的动态电源管理架构 |
CN101872288A (zh) * | 2009-04-24 | 2010-10-27 | 联发科技股份有限公司 | 固态硬盘驱动器以及操作频率控制方法 |
CN102411423A (zh) * | 2011-08-12 | 2012-04-11 | 华南理工大学 | 一种cpu与无线网卡的协同动态电源管理方法 |
CN102779075A (zh) * | 2012-06-28 | 2012-11-14 | 华为技术有限公司 | 一种在多处理器核系统中进行调度的方法、装置及系统 |
CN103425223A (zh) * | 2012-05-18 | 2013-12-04 | 联发科技(新加坡)私人有限公司 | 电压调整装置与方法、移动装置及其运行方法 |
CN103488532A (zh) * | 2013-09-02 | 2014-01-01 | 华为技术有限公司 | 一种调整处理器频率的方法和设备 |
CN103544062A (zh) * | 2012-07-12 | 2014-01-29 | 华为技术有限公司 | 处理器的处理方法和装置 |
CN103645797A (zh) * | 2013-12-17 | 2014-03-19 | 武汉科技大学 | 一种基于时间片利用率的低功耗调频方法 |
CN104380221A (zh) * | 2012-06-29 | 2015-02-25 | 英特尔公司 | 处理器频率和系统休眠状态的联合优化 |
CN105260332A (zh) * | 2015-09-09 | 2016-01-20 | 北京三未信安科技发展有限公司 | 一种对cpld数据包进行有序存储的方法及系统 |
CN105511593A (zh) * | 2016-02-25 | 2016-04-20 | 浪潮(北京)电子信息产业有限公司 | 一种用于Linux系统的CPU子系统频率调节方法和装置 |
CN105630731A (zh) * | 2015-12-24 | 2016-06-01 | 曙光信息产业(北京)有限公司 | 一种多cpu环境下网卡数据处理方法和装置 |
CN105740075A (zh) * | 2016-01-27 | 2016-07-06 | 浪潮(北京)电子信息产业有限公司 | 一种cpu调度方法与系统 |
CN105786674A (zh) * | 2016-03-24 | 2016-07-20 | 华为技术有限公司 | 一种调度方法及电子设备 |
-
2016
- 2016-10-12 CN CN201610891009.5A patent/CN106527653A/zh active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1932721A (zh) * | 2006-09-08 | 2007-03-21 | 华南理工大学 | 一种基于嵌入式系统的动态电源管理架构 |
CN101872288A (zh) * | 2009-04-24 | 2010-10-27 | 联发科技股份有限公司 | 固态硬盘驱动器以及操作频率控制方法 |
CN102411423A (zh) * | 2011-08-12 | 2012-04-11 | 华南理工大学 | 一种cpu与无线网卡的协同动态电源管理方法 |
CN103425223A (zh) * | 2012-05-18 | 2013-12-04 | 联发科技(新加坡)私人有限公司 | 电压调整装置与方法、移动装置及其运行方法 |
CN102779075A (zh) * | 2012-06-28 | 2012-11-14 | 华为技术有限公司 | 一种在多处理器核系统中进行调度的方法、装置及系统 |
CN104380221A (zh) * | 2012-06-29 | 2015-02-25 | 英特尔公司 | 处理器频率和系统休眠状态的联合优化 |
CN103544062A (zh) * | 2012-07-12 | 2014-01-29 | 华为技术有限公司 | 处理器的处理方法和装置 |
CN103488532A (zh) * | 2013-09-02 | 2014-01-01 | 华为技术有限公司 | 一种调整处理器频率的方法和设备 |
CN103645797A (zh) * | 2013-12-17 | 2014-03-19 | 武汉科技大学 | 一种基于时间片利用率的低功耗调频方法 |
CN105260332A (zh) * | 2015-09-09 | 2016-01-20 | 北京三未信安科技发展有限公司 | 一种对cpld数据包进行有序存储的方法及系统 |
CN105630731A (zh) * | 2015-12-24 | 2016-06-01 | 曙光信息产业(北京)有限公司 | 一种多cpu环境下网卡数据处理方法和装置 |
CN105740075A (zh) * | 2016-01-27 | 2016-07-06 | 浪潮(北京)电子信息产业有限公司 | 一种cpu调度方法与系统 |
CN105511593A (zh) * | 2016-02-25 | 2016-04-20 | 浪潮(北京)电子信息产业有限公司 | 一种用于Linux系统的CPU子系统频率调节方法和装置 |
CN105786674A (zh) * | 2016-03-24 | 2016-07-20 | 华为技术有限公司 | 一种调度方法及电子设备 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108694087A (zh) * | 2017-03-31 | 2018-10-23 | 英特尔公司 | 用于最优系统级性能的网络接口卡中的动态负载均衡 |
WO2020008468A1 (en) * | 2018-07-02 | 2020-01-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Software switch and method therein |
US11579678B2 (en) | 2018-07-02 | 2023-02-14 | Telefonaktiebolaget Lm Ericsson (Publ) | Software switch and method therein |
CN109218227A (zh) * | 2018-08-02 | 2019-01-15 | 武汉绿色网络信息服务有限责任公司 | 一种网络数据包处理方法和装置 |
CN109284192A (zh) * | 2018-09-29 | 2019-01-29 | 网宿科技股份有限公司 | 参数配置方法及电子设备 |
CN109587078A (zh) * | 2018-12-17 | 2019-04-05 | 联想(北京)有限公司 | 一种调节方法、网络设备及电子设备 |
CN109960584A (zh) * | 2019-01-30 | 2019-07-02 | 努比亚技术有限公司 | Cpu调频控制方法、终端及计算机可读存储介质 |
CN112882819A (zh) * | 2019-11-29 | 2021-06-01 | 上海商汤智能科技有限公司 | 芯片工作频率的设置方法和装置 |
CN112882819B (zh) * | 2019-11-29 | 2022-03-08 | 上海商汤智能科技有限公司 | 芯片工作频率的设置方法和装置 |
CN111200541A (zh) * | 2019-12-31 | 2020-05-26 | 山石网科通信技术股份有限公司 | 网络数据处理方法和装置 |
CN111447301A (zh) * | 2020-03-27 | 2020-07-24 | 深圳市三旺通信股份有限公司 | 一种采用外挂式cpu的轨交车车载nat的方法 |
WO2021196065A1 (en) * | 2020-04-01 | 2021-10-07 | Intel Corporation | Technology to automatically conduct speed switching in processor links without warm resets |
CN112764934A (zh) * | 2021-01-29 | 2021-05-07 | 上海弘积信息科技有限公司 | 一种负载均衡设备cpu使用率的计算方法 |
CN112764934B (zh) * | 2021-01-29 | 2024-01-30 | 上海弘积信息科技有限公司 | 一种负载均衡设备cpu使用率的计算方法 |
CN113079114B (zh) * | 2021-06-04 | 2021-08-27 | 鹏城实验室 | 一种数据包接收方法、装置、终端及存储介质 |
CN113079114A (zh) * | 2021-06-04 | 2021-07-06 | 鹏城实验室 | 一种数据包接收方法、装置、终端及存储介质 |
CN114900487A (zh) * | 2022-05-27 | 2022-08-12 | 深圳铸泰科技有限公司 | 基于内存设计优化流量抓取方法及系统 |
CN114900487B (zh) * | 2022-05-27 | 2023-12-19 | 深圳铸泰科技有限公司 | 基于内存设计优化流量抓取方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106527653A (zh) | 调整cpu频率的方法及装置 | |
US8411095B2 (en) | Performance allocation method and apparatus | |
CN102111337B (zh) | 任务调度方法和系统 | |
CN104951357B (zh) | 并行用户态协议栈的管理方法和协议栈系统 | |
CN103988147B (zh) | 在活动工作负荷期间动态进入低功率状态 | |
CN101436098A (zh) | 降低多核对称多处理系统的功耗的方法及装置 | |
CN102970244B (zh) | 一种多cpu核间负载均衡的网络报文处理方法 | |
CN107005531A (zh) | 用于与处理在网络设备处接收到的分组相关联的功率管理的技术 | |
CN104321716B (zh) | 使用装置空闲持续时间信息来优化能量效率 | |
CN104753711B (zh) | 调整网络设备资源配置的方法及装置 | |
CN109491788B (zh) | 一种虚拟化平台负载均衡实现方法及装置 | |
CN110309088A (zh) | Zynq fpga芯片及其数据处理方法、存储介质 | |
CN105978821B (zh) | 网络拥塞避免的方法及装置 | |
US20160224100A1 (en) | Method and device for processing core of processor , and terminal | |
CN106557358B (zh) | 一种基于双核处理器的数据存储方法及装置 | |
CN110061924A (zh) | 一种报文转发方法、装置及相关产品 | |
CN107368178A (zh) | 基于dpdk数据包处理平台的功耗优化方法 | |
CN110401697A (zh) | 一种并发处理http请求的方法、系统及设备 | |
CN104657195B (zh) | 一种资源绑定方法和装置 | |
CN105242955A (zh) | 一种虚拟机磁盘输入输出调度方法及系统 | |
CN109274550B (zh) | 一种iSCSI自适应IO队列深度匹配方法 | |
CN103870331B (zh) | 一种动态分配处理器内核的方法及电子设备 | |
CN107704317A (zh) | 智能设备及其应用管理方法和具有存储功能的装置 | |
CN113918323A (zh) | 边缘计算中高能效的计算任务分配方法和装置 | |
CN102811127A (zh) | 云计算应用层的加速网卡 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170322 |