一种多核处理设备的报文处理方法及多核处理系统的制作方法
【技术领域】
[0001]本发明属于网络通信技术领域,具体涉及一种多核处理设备的报文处理方法及多核处理系统。
【背景技术】
[0002]为了提高报文转发处理速度,当前网络设备大多使用多核转发,即多cpu转发。在多核转发过程中,多个核对报文进行同时处理。
[0003]当有大量报文同时需要转发时,此类处理方式可以大大提高转发效率。但当网络流量不大时,每个核又没有被充分利用。以8核设备为例,当网络上有8个报文在很短的时间内到达网络设备且需要进行处理时,会分配给8个核进行同时处理,那么处理的速度就会非常快,但处理完之后,又没有新的报文需要处理时,这8个核就会形成空跑,也就是等待下一批需要处理的报文。如果等待几秒钟之后没有需要处理的报文,就会进行cpu休眠,当有报文再次需要处理的时候再次唤醒cpu进行工作,这个过程中存在着很长时间的cpu空跑,导致设备的耗电量无故增加,从而浪费了大量电能。
【发明内容】
[0004]为了解决现有多核处理设备空跑从而浪费电能的技术问题,本发明提供了一种通过控制处理设备同时开启的个数来达到节省电能的多核处理设备的报文处理方法。具体方案如下:
[0005]一种多核处理设备的报文处理方法,包括如下步骤:
[0006]步骤S1:当有报文到达多核处理设备时,首先运行第一处理设备对报文进行转发处理;
[0007]步骤S2:当第m-Ι处理设备连续运行Knrl时间段后,且还有报文到达多核处理设备时,则唤醒第m处理设备对报文进行转发处理,以此类推,直到第X处理设备唤醒为止,所述m为整数,取值范围为[2,X],X为多核处理设备的内核个数,所述Knrl为设定时间;
[0008]步骤S3:当第m处理设备空转Knri时间段后,则关停第m处理设备,以此类推,直到只剩下第一处理设备对报文进行转发处理。
[0009]其中,在上述方法中,所述Knrl= n* (m-1),所述Knrl为唤醒第m_l处理设备至唤醒第m处理设备的时间差,所述η为预设值。
[0010]其中,在上述方法中,所述η为2秒。
[0011]其中,在上述方法中,所述Klrt= Τ,所述T为预设值。
[0012]其中,在上述方法中,所述T为5秒。
[0013]其中,在上述方法中,所述X为8。
[0014]本发明提供的多核处理设备的报文处理方法,首先开启一个处理设备对报文进行转发处理,间隔预设的时间段后再开启其他处理设备同时对报文进行处理,当需要处理的报文较少时,只需开启部分处理设备,减少了处理设备空跑时间,从而减少了电能的消耗,达到了节约电能的目的。
[0015]另外,本发明还提供了一种多核处理系统,包括,至少两个处理器构成的多核处理设备,及控制所述多核处理设备中处理器启动或关停的多核设备控制单元;
[0016]多核设备控制单元根据需要处理的报文数来启动或关停多核处理设备中的各个处理器。
[0017]其中,在上述系统中,所述多核设备控制单元包括:报文判断单元、计时器、开启单元及关停单元;
[0018]当所述报文判断单元判断有报文需要多核处理设备处理时,开启单元开启多核处理设备中的第一处理器开始对报文进行处理,计时器开始计时;
[0019]当计时器对第m-l处理器连续运行时间计时到Knrl时间段后,且所述报文判断单元判断还有报文到达多核处理设备时,所述开启单元则开启第m处理器对报文进行转发处理,以此类推,直到第X处理设备唤醒为止,所述m为整数,取值范围为[2,X],X为多核处理设备处理器的个数,所述Klrt为设定时间;
[0020]当计时器对第m处理设备空转计时到Knrl时间段后,则所述关停单元关停第m处理设备,以此类推,直到只剩下第一处理器对报文进行处理。
[0021]其中,在上述系统中,所述Klrt采用以下方式之一进行设置:
[0022](I)Knrl= n* (m-l),所述K μ为唤醒第m-l处理设备至唤醒第m处理设备的时间差,所述η为预设值;
[0023](2)所述Knrl= Τ,所述T为预设值。
[0024]其中,在上述系统中,所述多核处理设备中内核的个数为8个。
[0025]本发明提供的多核处理系统,多核设备控制单元首先开启一个处理器对报文进行转发处理,间隔预设的时间段后再开启其他处理器同时对报文进行处理,当需要处理的报文较少时,只需开启部分处理设备,减少了处理设备空跑时间,从而减少了电能的消耗,达到了节约电能的目的。
【附图说明】
[0026]图1为本发明提供的多核处理设备的报文处理方法流程图。
[0027]图2为本发明第一实施例提供的报文处理方法流程图。
[0028]图3为本发明第二实施例提供的报文处理方法流程图。
[0029]图4为本发明提供的多核处理系统结构示意图。
[0030]图5为本发明第三实施例提供的多核处理系统结构示意图。
【具体实施方式】
[0031]为使本发明的目的、技术方案和优点更加清楚明了,下面结合【具体实施方式】并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
[0032]如图1所示,本发明提供了一种多核处理设备的报文处理方法,包括如下步骤:
[0033]步骤S1:当有报文到达多核处理设备时,首先运行第一处理设备对报文进行转发处理;
[0034]步骤S2:当第m-l处理设备连续运行Knrl时间段后,且还有报文到达多核处理设备时,则唤醒第m处理设备对报文进行转发处理,以此类推,直到第X处理设备唤醒为止,所述m为整数,取值范围为[2,X],X为多核处理设备的内核个数,所述Klrt为设定时间;
[0035]步骤S3:当第m处理设备空转Knrl时间段后,则关停第m处理设备,以此类推,直到只剩下第一处理设备对报文进行转发处理。
[0036]上述多核处理设备的报文处理方法中,当网络报文并不多时,可以只使用一个处理设备来处理,例如当有8个报文需要处理时,这8个报文会只使用一个处理设备,当一个处理设备在运转一定时间后,仍然不断的有新报文需要处理时再唤醒第二处理设备,以此类推,直到所有处理设备被唤醒,通过此方法来解决处理设备空跑浪费电能的问题。
[0037]上述方法对处理设备的使用个数进行有条件的动态控制,精确控制处理设备的使用个数,减少了处理设备的空跑时间,从而节省了电能。
[0038]上述方法中,Knrl时间段可以设置成动态变化的时间,例如,使K μ = n* (m-l), K为唤醒第m-l处理设备至唤醒第m处理设备的时间差,所述η为预设值。η可以通过用户设置,例如设置为2秒。当有报文需要该多核处理设备进行转发处理时,如图2所示,具体过程如下:
[0039]S21、多核处理设备首先运行第一处理设备对报文进行处理;
[0040]S22、当第一处理设备连续运行2秒钟时,唤醒第二处理设备一起处理报文;
[0041]S23、当第二处理设备连续运行4秒钟时,唤醒第三处理设备一起处理报文,以此类推;
[0042]S24、当第三处理设备空转4秒钟时,关停第三处理设备,以此类推,直到只剩下第一处理设备对报文进行转发处理。
[0043]上述方法中,每一处理设备的唤醒时间间隔从前往后依次递增,关停时间间隔从后往前依次递减,当有报文需要多核处理设备进行转发处理时,能够迅速唤醒处理设备对报文进行转发;当需要转发的报文减少时,能够缓慢的关停处理设备。此种方法使得多核处理设备能够积极的对报文进行处理,还能减少处理设备的空转时间,从而减少电能浪费。
[0044]上述方法中,Knrl时间段还可以设置成固定值,例如,使Knrl=T,T可以通过用户设置,例如设置为5秒。当有报文需要该多核处理设备进行转发处理时,如图3所示,具体过程如下:
[0045]S31、多核处理设备首先运行第一处理设备对报文进行处理;
[0046]S32、当第一处理设备连续运行5秒钟时,唤醒第二处理设备一起处理报文;
[0047]S33、当第二处理设备连续运行5秒钟时,唤醒第三处理设备一起处理报文,以此类推;
[0048]S34、当第三处理设备空转5秒钟时,关停第三处理设备,以此类推,直到只剩下第一处理设备对报文进行转