一种报文调度方法和装置制造方法及图纸

技术编号:15651664 阅读:101 留言:0更新日期:2017-06-17 04:52
本发明专利技术公开了一种报文调度方法和装置,该装置包括:更新信用值获取单元,用于对于每个设备,发送当前报文时,获取设备更新的信用值;剩余信用值确定单元,用于确定所有设备的剩余信用值;报文调度单元,用于根据所有设备的剩余信用值和设备更新的信用值,确定设备是否发送当前报文。通过本发明专利技术,每个设备单独进行报文的调度,能够充分发挥出每个设备的性能,提高的报文发送的效率和成功率,提高了系统的性能,同时没有增加额外的硬件设备,降低了成本。

【技术实现步骤摘要】
一种报文调度方法和装置
本专利技术涉及通讯网络领域,特别是涉及一种报文调度方法和装置。
技术介绍
目前多核处理器已经在网络传输设备上广泛应用,多核处理器的硬件性能是随着核个数的增加成线性增加,能否充分发挥出来多核硬件的性能与软件设计方法有直接关系。在现行系统中,由于数据流调度的特点,数据流调度都是根据多核处理器的核进行串行部署,处理器上每个核划分不同的功能,流水线方式完成数据调度功能。图1是现有技术中多核处理器传统串行处理的示意图,如图1所示,将网络处理最基本的功能“报文重组”、“接收流量限制”、“报文解密”、“报文加密”、“报文分片”,分别部署到多核处理器的不同core上。现有技术中串行化实施的好处是方案极其简单,但同时带来比较多的问题。在功能角度上:1、基于功能的区分,多核处理器需要有一定数量的Core个数;2、当换成另一件处理器后软件业务部署方案需要重新设计。在性能角度上:1、如果“报文分片”比较多,那么Core0及Core6将会极其繁忙,而其他的Core可能会不同程度的清闲,导致系统瓶颈点出现在Core0及Core6上,使整个系统性能不理想;2、如果接收的报文的MTU与发送报文的MTU的长度不同,那么又将出现“要么Core0比较繁忙,要么Core6比较繁忙”,导致系统瓶颈点要么在Core0上要么在Core6上,同样也会导致整体性能不理想;3、如果报文需要解密的比较多,那么又会出现Core1为系统的瓶颈点,使整个系统性能不理想,同样如果加密报文比较多,那么又会出现Core5为系统的瓶颈点,使整个系统性能不理想;4、当系统中使用的队列数比较多的时候,又会出现Core3成为系统的瓶颈点,影响整个系统的性能提升,同理,当系统中使用的队列数极少时,Core3负荷降低,但是Core4的负荷会相对提高,导致新的瓶颈点出现在Core4。综上分析,可以看出,多个核串行连接,在报文发送过程中,在各种情况下出现的不同的动态瓶颈点,无法使多核处理器的性能充分发挥出来,导致报文发送的成功率较低,降低了系统的性能。
技术实现思路
鉴于现有技术中多个核串行连接,在报文发送过程中,在各种情况下出现的不同的动态瓶颈点,无法使多核处理器的性能充分发挥出来,导致报文发送的成功率较低,降低了系统的性能的问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的报文调度方法和装置。本专利技术提供一种报文调度装置,用于对多个设备的报文进行调度,该装置包括:更新信用值获取单元,用于发送当前报文时,获取该设备更新的信用值,其中,所述设备待发送所述当前报文;剩余信用值确定单元,用于确定所有设备的剩余信用值;报文调度单元,用于根据所有设备的剩余信用值和该设备更新的信用值,确定该设备是否发送当前报文。其中,报文调度单元包括:加法模块,用于将所有设备的剩余信用值和该设备更新的信用值相加,作为该设备的当前信用值;判断模块,用于判断当前信用值是否不小于预定阈值;发送模块,用于根据判断模块的结果为是,则发送当前报文。优选地,预定阈值不小于零。其中,剩余信用值确定单元包括:获取模块,用于获取每个设备剩余的信用值;确定模块,用于将每个设备剩余的信用值相加,作为所有设备的剩余信用值。优选地,利用下述公式确定更新的信用值Core[i].New_Credit:Core[i].New_Credit={(Core[i].New_Cnt+Core[i].Cnt_Lost_RW)*T_Credit_R*Core[i].Weight_R/SUM(Core[i].Weight_R)}/T_Cnt_R,其中,Core[i].New_Credi表示在Core[i].New_Cnt期间应该增加的信用值,Core[i].New_Cnt表示设备i在两次报文调度时间的计数器值,Core[i].Cnt_Lost_RW表示设备i当前的上一次计算信用值由于整数运算损失掉的计数器值,Core[i].Weight_R表示设备i的信用更新权重,T_Cnt_R表示单位时间T内计数器值变化量,T_Credit_R表示单位时间内信用值变化量,i表示设备的序号。优选地,利用下述公式确定本次信用值整数运算损失的计数器值Core[i].Cnt_Lost_New:Core[i].Cnt_Lost_New=(Core[i].New_Cnt+Core[i].Cnt_Lost_RW)%T_Cnt_R其中,Core[i].Cnt_Lost_New表示设备i的当前信用值整数运算损失的计数器值,Core[i].Cnt_Lost_RW表示设备i的Cnt_Lost_RW,Core[i].New_Cnt表示两次报文调度时间的计数器值,T_Cnt_R表示单位时间T内计数器值变化量。其中,装置还包括:并行处理单元,用于将所述多个设备并行连接。其中,装置还包括:第一参数处理单元,用于放置第一参数,第一参数为多个设备共享、且非实时变化的参数。优选地,第一参数包括以下至少之一:单位时间内计数器值变化量,单位时间内信用值变化量,最大信用值。优选地,第一参数处理单元设置在内存中,与cacheline对齐。并且,第一参数为只读参数。其中,装置还包括:多个第二参数处理单元,每个设备对应一个第二参数处理单元;第二参数处理单元,用于放置第二参数,第二参数为多个设备共有、且实时变化的参数。优选地,第二参数包括以下至少之一:上一次报文发送时机的计数器值,上一次计算信用值由于整数运算损失掉的计数器值,上一次发送完成后信用值剩余有符号值。优选地,第二参数处理单元设置在内存中,与cacheline对齐。并且,第二参数为读写参数。其中,多个设备的数据流流向同一个服务器其中,设备为以下之一:核、处理器、单板。本专利技术还提供了一种报文调度方法,包括:发送当前报文时,获取设备更新的信用值;确定所有设备的剩余信用值;根据所有设备的剩余信用值和该设备更新的信用值,确定该设备是否发送当前报文。其中,根据所有设备的剩余信用值和该设备更新的信用值,确定该设备是否发送当前报文的处理包括:将所有设备的剩余信用值和该设备更新的信用值相加,作为该设备的当前信用值;判断当前信用值是否不小于预定阈值;如果判断结果为是,则发送当前报文。优选地,预定阈值不小于零。本专利技术有益效果如下:借助于本专利技术实施例的终端,解决了现有技术中多个核串行连接,在报文发送过程中,在各种情况下出现的不同的动态瓶颈点,无法使多核处理器的性能充分发挥出来,导致报文发送的成功率较低,降低了系统的性能的问题,本专利技术中,每个设备单独进行报文的调度,能够充分发挥出每个设备的性能,提高的报文发送的效率和成功率,提高了系统的性能,同时没有增加额外的硬件设备,降低了成本。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1是本专利技术实施例的报文调度装置本文档来自技高网
...
一种报文调度方法和装置

【技术保护点】
一种报文调度装置,用于对多个设备的报文进行调度,其特征在于,所述方法包括:更新信用值获取单元,用于发送当前报文时,获取设备更新的信用值,其中,所述设备待发送所述当前报文;剩余信用值确定单元,用于确定所有设备的剩余信用值;报文调度单元,用于根据所述所有设备的剩余信用值和所述设备更新的信用值,确定所述设备是否发送当前报文。

【技术特征摘要】
1.一种报文调度装置,用于对多个设备的报文进行调度,其特征在于,所述方法包括:更新信用值获取单元,用于发送当前报文时,获取设备更新的信用值,其中,所述设备待发送所述当前报文;剩余信用值确定单元,用于确定所有设备的剩余信用值;报文调度单元,用于根据所述所有设备的剩余信用值和所述设备更新的信用值,确定所述设备是否发送当前报文。2.如权利要求1所述的装置,其特征在于,所述报文调度单元包括:加法模块,用于将所述所有设备的剩余信用值与所述设备更新的信用值相加,作为所述设备的当前信用值;判断模块,用于判断所述当前信用值是否不小于预定阈值;发送模块,用于根据判断模块的结果为是,则发送所述当前报文。3.如权利要求2所述的装置,其特征在于,所述预定阈值不小于零。4.如权利要求1所述的装置,其特征在于,所述剩余信用值确定单元包括:获取模块,用于获取每个设备剩余的信用值;确定模块,用于将每个设备剩余的信用值相加,作为所有设备的剩余信用值。5.如权利要求1所述的装置,其特征在于,利用下述公式确定更新的信用值Core[i].New_Credit:Core[i].New_Credit={(Core[i].New_Cnt+Core[i].Cnt_Lost_RW)*T_Credit_R*Core[i].Weight_R/SUM(Core[i].Weight_R)}/T_Cnt_R,其中,Core[i].New_Credi表示在Core[i].New_Cnt期间应该增加的信用值,Core[i].New_Cnt表示设备i在两次报文调度时间的计数器差值,Core[i].Cnt_Lost_RW表示设备i当前的上一次计算信用值由于整数运算损失掉的计数器值,Core[i].Weight_R表示设备i的信用更新权重,SUM(Core[i].Weight_R)表示设备的权重总和,T_Cnt_R表示单位时间T内计数器值变化量,T_Credit_R表示单位时间内信用值变化量,i表示设备的序号。6.如权利要求5所述的装置,其特征在于,利用下述公式确定本次信用值整数运算损失的计数器值Core[i].Cnt_Lost_New:Core[i].Cnt_Lost_New=(Core[i].New_Cnt+Core[i].Cnt_Lost_RW)%T_Cnt_R其中,Core[i].Cnt_Lost_New表示设备i的当前信用值整数运算损失的计数器值,Core[i].Cnt_Lost_RW表示设备i的Cnt_Lost_RW,Core[i].New_Cnt表示两次报文调度时间的计数器差值,T_Cnt_R表示单位时间T内计数器值变化量,%表示取模运算。7.如权利要求1所述的装置,其特征在于,所述装置还包括:并行处理单元,用于将所述多个设备并行连接。8.如权利要求1所述的装置,其特征在于,所述装置还包括:第一参数处理单元,用于放置第一参数,所述第一参数为所述多个设备共享、且非实时变化的参数。9.如权利要求8所述的装置,其特征在于,所述第一参数包括以下至少之一:单位时间内计数器值变化量,单位时间内信用值变化量,最大信用值、报文调度的流速、计数器差值的最大值。10.如权利要求8所述的装置,其特征在于,所述第一参数处理单元设置在内存中,与cacheline对齐。11.如权利要...

【专利技术属性】
技术研发人员:董德吉吴永航李双全陈茂林
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1