一种cpu利用率控制方法及装置的制造方法_5

文档序号:8942922阅读:来源:国知局
步骤C15,若否,则 执行步骤Bl,其中L为大于0的整数。
[0216] 步骤C15 :发送长期繁忙告警,并转到步骤BI。
[0217] 由此,抑制过程已介绍完毕,下面介绍扩张过程,如图11所示,可分为以下步骤, 其中,步骤D3~D8为扩张过程第一阶段,步骤D9~D13为扩张过程第二阶段。
[0218] 步骤Dl :首先将抑制过程的变量初始化一遍,为转为执行抑制过程做好准备。具 体地,抑制阶段=l,find_i = 1,表示从扩张过程转为抑制过程时,首先执行抑制过程的第 一阶段,且从优先级最低的控制数据包开始执行。
[0219] 步骤D2:判断进行扩张过程的第一阶段还是第二阶段,若为第一阶段,则执行步 骤D3 ;若为第二阶段,则执行步骤D9。
[0220] 步骤D3 :测量第i优先级控制数据包的速率。由于在初始化过程中,add_i初始化 为N,故在扩张过程中,从优先级最高的控制数据包开始测量。
[0221] 步骤D4 :判断第i优先级控制数据包的速率是否大于该控制数据包的最低保证带 宽,若是,则执行步骤D5 ;若否,则执行步骤D6。
[0222] 步骤D5 :减少向第i优先级控制数据包发送一个抑制数据包,然后执行步骤Bl。 效果上,可以使第i优先级的控制数据包的速率缓慢上升到相应的最低保证带宽,然后换 一个优先级的控制数据包执行后面的步骤。
[0223] 步骤D6 :add_i减一,即转到下一优先级较低的控制数据包。
[0224] 步骤D7 :判断add_i是否小于1,若是,则执行步骤D8 ;若否,则执行步骤B1。
[0225] 步骤D8 :将扩张阶段设置为2, add_i设置为N,然后执行步骤B1。具体来说,上 一步判断为"是",表明已使所有优先级的控制数据包的速率升到最低保证带宽,若此时CPU 的利用率仍小于阈值,则需转到扩张过程的第二阶段,重新从最高优先级开始减少抑制。反 过来,若上一步判断为"否",表明仍有控制数据包的速率未升到最低保证带宽,可以继续减 少抑制下一优先级的控制数据包。
[0226] 步骤D9 :减少向第i优先级控制数据包发送一个抑制数据包。
[0227] 步骤DlO :判断向第i优先级控制数据包发送的抑制数据包是否已降为零,若是, 则执行步骤Dll ;若否,则执行步骤B1。
[0228] 步骤Dll :add_i减1,即转到下一优先级的控制数据包。具体来说,之前向第i优 先级控制数据包发送的抑制数据包已降为零,即不对第i优先级控制数据包发送抑制数据 包,若此时CPU的利用率仍小于阈值,表明CPU仍处于空闲状态,则降低向下一优先级较低 的控制数据包发送抑制数据包。
[0229] 步骤D12 :判断add_i是否小于1,若是,则执行步骤D13 ;若否,则执行步骤B1。
[0230] 步骤D13 :将add_i设置为1,然后执行步骤Bl。
[0231] 本发明实施例的控制方法,提供了一种两步控制策略,且针对抑制过程和扩张过 程采用不同的控制程度,能够快速降低过多数据包对CPU的冲击,缓慢增加 CPU处理载荷的 能力,对CPU提供了很好的保护。同时,能够兼顾不同协议的优先级,使高优先级的控制数 据包被后抑制先恢复处理。
[0232] 基于相同的技术构思,本发明实施例还提供一种CPU利用率控制装置,图12示出 了控制CPU利用率的系统示意图,CPU利用率控制装置如图12中的I所示,包括:探测模块 1、判断模块2和抑制模块3 ;
[0233] 所述探测模块1,用于探测中央处理器CPU的利用率;
[0234] 所述判断模块2,用于判断所述CPU的利用率是否大于或等于第一阈值;
[0235] 所述抑制模块3,用于当所述CPU的利用率大于或等于所述第一阈值时,根据控制 数据包的优先级确定需要加大流量抑制的控制数据包缓存队列,并提高向所述需要加大流 量抑制的控制数据包缓存队列发送抑制数据包的速率;其中,所述分组芯片中包括N个控 制数据包缓存队列,N为大于1的整数,一个控制数据包缓存队列中的抑制数据包的优先级 高于该缓存队列中的控制数据包的优先级,一个控制数据包缓存队列中的抑制数据包在从 所在的控制数据包缓存队列出队后被丢弃,一个控制数据包缓存队列中的控制数据包被转 发给所述CPU。
[0236] 较佳地,所述抑制模块3用于:按照控制数据包的优先级从低到高的顺序,确定需 要加大流量抑制的控制数据包缓存队列。
[0237] 较佳地,按照所缓存的控制数据包优先级从低到高的顺序,所述N个控制数据包 缓存队列包括第一缓存队列至第N缓存队列;
[0238] 所述抑制模块3具体用于执行以下步骤:
[0239] 步骤201 :将i设置为1 ;
[0240] 步骤202 :判断第i缓存队列中的控制数据包的发送速率是否高于所述控制数据 包的最低保证速率,若是,则转入步骤203,否则转入步骤205 ;
[0241] 步骤203 :向第i缓存队列发送抑制数据包,向第i缓存队列发送抑制数据包的速 率等于第i缓存队列中的控制数据包的发送速率减去所述控制数据包的最低保证速率所 得到的差值;
[0242] 步骤204 :探测所述CPU的利用率,若所述CPU的利用率大于或等于所述第一阈 值,则转入步骤205 ;
[0243] 步骤205 :将i递增1 ;
[0244] 步骤206 :若i彡N,则转入步骤202。
[0245] 较佳地,所述抑制模块3还用于执行以下步骤:
[0246] 所述步骤205中,若i>N,则转入步骤207 ;
[0247] 步骤207 :将i设置为1 ;
[0248] 步骤208 :增加向第i缓存队列发送抑制数据包的速率,向第i缓存队列发送抑制 数据包增加的速率等于第i缓存队列中的控制数据包的发送速率;
[0249] 步骤209 :探测所述CPU的利用率,若所述CPU的利用率大于或等于所述第一阈 值,则转入步骤210 ;
[0250] 步骤210:将i递增1;
[0251] 步骤211 :若i < N,则转入步骤208。
[0252] 较佳地,所述抑制模块3还用于:
[0253] 所述步骤211中,若i>N,则发送用于指示CPU利用率高的告警指示。
[0254] 较佳地,所述抑制模块3还用于:
[0255] 若所述CPU的利用率小于第二阈值,则根据控制数据包的优先级确定需要降低流 量抑制的控制数据包缓存队列,并降低向所述需要降低流量抑制的控制数据包缓存队列发 送抑制数据包的速率;其中,所述第二阈值小于或等于所述第一阈值。
[0256] 较佳地,所述抑制模块3还用于:按照控制数据包的优先级从高到低的顺序,确定 需要降低流量抑制的控制数据包缓存队列。
[0257] 较佳地,所述N个缓存队列的优先级彼此各不相同,按照优先级从低到高的顺序, 所述N个缓存队列包括第一缓存队列至第N缓存队列;
[0258] 所述抑制模块3具体用于执行以下步骤:
[0259] 步骤301 :将i设置为N ;
[0260] 步骤302 :判断第i缓存队列中的控制数据包的发送速率是否低于所述控制数据 包的最低保证速率,若是,则转入步骤303,否则转入步骤305 ;
[0261] 步骤303 :按照设定步长降低向第i缓存队列发送抑制数据包的速率,转入步骤 304 ;
[0262] 步骤304 :探测所述CPU的利用率,若所述CPU的利用率小于或等于所述第二阈 值,则转入步骤302 ;
[0263] 步骤305 :将i递减1 ;
[0264] 步骤306 :若i彡1,则转入步骤302。
[0265] 较佳地,所述抑制模块还用于执行以下步骤:
[0266] 所述步骤306中,若i〈l,则转入步骤307 ;
[0267] 步骤307 :将i设置为N ;
[0268] 步骤308 :判断第i缓存队列发送抑制数据包的速率是否大于零,若是,则转入步 骤309,否则转入步骤311 ;
[0269] 步骤309 :按照设定步长降低向第i缓存队列发送抑制数据包;
[0270] 步骤310 :探测所述CPU的利用率,若所述CPU的利用率小于或等于所述第二阈 值,则转入步骤311 ;
[0271] 步骤311:将i递减1;
[0272] 步骤312 :若i彡1,则转入步骤308。
[0273] 较佳地,装置还包括测量模块4,如图13中的II所示,测量模块4用于测量所述控 制数据包的发送速率,所述第i缓存队列中的控制数据包的发送速率为:
[0274] Rf1= CIR1-Df1-Hf1
[0275] 其中,Rf1为第i缓存队列中的控制数据包的发送速率,CIR i为第i缓存队列中的 保证信息速率,Df1为第i缓存队列中的抑制数据包的发送速率,Hf i为第i缓存队列中的 测量数据包的接收速率;一个缓存队列中的测量数据包的优先级低于该缓存队列中的控制 数据包的优先级。
[0276] 较佳地,探测模块1具体用于:
[0277] 向所述CPU发送探测数据包,并接收所述CPU返回的所述探测数据包;
[0278] 根据所述探测数据包的发送时间和接收时间之差,得出所述探测数据包在所述 CPU中的驻留时间;
[0279] 根据所述探测数据包在所述CPU中的驻留时间查询预先设置的驻留时间与CPU利 用率的对应关系,得到所述CPU的利用率。
[0280] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程 图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一 流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算 机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理 器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生 用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能 的装置。
[0281] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特 定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指 令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或 多个方框中指定的功能。
[0282] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计 算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或 其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图 一个方框或多个方框中指定的功能的步骤。
[0283] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造 性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优 选实施例以及落入本发明范围的所有变更和修改。
[0284] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含这些改动和变型在内。
【主权项】
1. 一种CPU利用率控制方法,其特征在于,包括: 探测中央处理器CPU的利用率; 判断所述CPU的利用率是否大于或等于第一阈值; 若是,则根据控制数据包的优先级
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1