一种多核资源的调度方法及装置制造方法及图纸

技术编号:9967425 阅读:112 留言:0更新日期:2014-04-25 07:39
本发明专利技术实施例提供了一种多核资源的调度方法及装置,该方法应用于包括有一个管理核和多个功能核的多核系统中,此管理核执行下述流程:根据接收到的每个流水线阶段的功能核按照预设周期发来的负载信息,和每个流水线阶段的功能核数,确定每个流水线阶段的功能核的负载状态;如果确定出任一流水线阶段的任一功能核的负载状态为超负载状态,从预设的第一就绪核队列中选择第一设定个数的功能核后,添加到任一流水线阶段中。本发明专利技术中的管理核可根据相关功能核的负载情况来调度核资源,提高了系统的业务处理效率。

【技术实现步骤摘要】
一种多核资源的调度方法及装置
本专利技术涉及通信
,尤其涉及一种多核资源的调度方法及装置。
技术介绍
随着社会信息化程度的加深,人们对互联网的依赖性越来越强,连接到网络上的计算机节点也呈级数式的增长。网络设备等作为计算机互联的数据交换节点,其数据转发性能决定了整个网络的质量。随着用户连接数的急剧增长和各种高带宽应用的出现,主频提升受限的单核系统越来越难以满足高速数据转发的性能需求,而多核系统凭借其较低成本的可扩展能力和并行计算特性,逐渐在网络通信领域得到广泛应用。所谓多核系统,是指在一个硬件芯片上集成多个核心处理器(Core-CPU,简称为Core)的系统,通常是共享内存式结构。也就是说,多核系统具备相对独立的多个处理核,可以并行地执行例如报文转发等处理流程,进而提高多核系统整体的吞吐率。具体地,在利用多核系统处理报文转发流程时,为了提高处理性能,通常采用流水线模式进行处理,即将整个报文转发过程划分为多个流水线阶段,例如报文接收阶段、二层上行处理阶段、路由转发阶段、二层下行处理阶段和报文发送阶段。那么,针对每个流水线阶段所使用的核资源,目前通常是通过下述两种方式进行分配:第一种方式,固定分配核资源,即根据多核系统的相关业务的实际需求,事先设置各个流水线阶段的核资源,使用比例事先设置为,例如,对于一个包括Core0~Core7的多核系统说,假设根据实际业务需求,需要将各个流水线阶段的核资源按照1:1:3:1:1的比例进行分配,例如具体分配如下:Core0设定为管理核,CORE1负责报文接收阶段,CORE2负责二层上行处理阶段,CORE3、CORE4和CORE5共同负责路由转发阶段,CORE6负责二层下行处理阶段,CORE7负责报文发送阶段,这样,后续这些核对各自分配的流水线阶段进行相关业务处理;第二种方式,统一分配核资源,即在多核系统中选择一个核作为管理核,其他核作为功能核,由管理核负责管理任务队列,该管理核会将各个流水线阶段进行优先级划分,使得同一流水线中对应的处理阶段越往后的优先级越高,以避免由于硬件资源不足而需要把前面处理阶段执行完的报文丢弃所作的无用功,使得不同流水线中对应相同处理阶段的优先级相同,后续指示功能核主动请求任务队列中的某个流水线阶段的任务,且在有功能核请求相关任务时,对任务队列进行加锁,等这个功能核请求完再接受其他功能核的任务请求。从上述两种分配资源的方式中可以看出,如果采用第一种方式的话,每个处理核只参与唯一一个流水线阶段,这样在各流水线或者同一条流水线中核资源分配不均衡时,就会出现一部分核很忙,另一部分核却很空闲,容易造成系统瓶颈,导致多核系统的业务处理效率较低;如果采用第二种方式的话,在任务队列中存在多条流水线的情况下,如果某些核在处理一部分流水线,任务队列处于加锁状态,其他功能核需要等待较长时间才能执行另一部分流水线,导致多核系统的业务处理效率仍然较低。
技术实现思路
本专利技术实施例提供了一种多核资源的调度方法及装置,用以解决现有多核资源的分配方式导致多核系统的业务处理效率较低的问题。基于上述问题,本专利技术实施例提供的一种多核资源的调度方法,该方法应用于包括有一个管理核和多个功能核的多核系统中,该方法包括:所述管理核根据接收到的每个流水线阶段的功能核按照预设周期发来的负载信息,和所述每个流水线阶段的功能核数,确定所述每个流水线阶段的功能核的负载状态;如果确定出任一流水线阶段的任一功能核的负载状态为超负载状态,从预设的第一就绪核队列中选择第一设定个数的功能核后,添加到所述任一流水线阶段中,所述第一就绪核队列为自身根据所述任一流水线阶段的功能核发来的负载信息、所述任一流水线阶段的功能核数和预设的备用核队列中未加载所述任一流水线阶段的映像程序的功能核数,对包括有已加载所述映像程序的功能核的预设的第二就绪核队列进行更新后得到的。本专利技术实施例提供的一种多核资源的调度装置,所述装置位于多核系统中,且所述多核系统还包括多个功能核,该装置包括:接收模块,用于接收每个流水线阶段的功能核按照预设周期发来的负载信息;确定模块,用于根据所述接收模块接收到的负载信息,和所述每个流水线阶段的功能核数,确定所述每个流水线阶段的功能核的负载状态;选择模块,用于在所述确定模块确定出任一流水线阶段的任一功能核的负载状态为超负载状态,从预设的第一就绪核队列中选择第一设定个数的功能核,所述第一就绪核队列为自身根据所述任一流水线阶段的功能核发来的负载信息、所述任一流水线阶段的功能核数和预设的备用核队列中未加载所述任一流水线阶段的映像程序的功能核数,对包括有已加载所述映像程序的功能核的预设的第二就绪核队列进行更新后得到的;添加模块,用于将所述选择模块选择出的功能核,添加到所述任一流水线阶段中。本专利技术实施例的有益效果包括:本专利技术实施例提供的一种多核资源的调度方法及装置,该方法应用于包括有一个管理核和多个功能核的多核系统中,此管理核执行下述流程:根据接收到的每个流水线阶段的功能核按照预设周期发来的负载信息,和每个流水线阶段的功能核数,确定每个流水线阶段的功能核的负载状态;如果确定出任一流水线阶段的任一功能核的负载状态为超负载状态,从预设的第一就绪核队列中选择第一设定个数的功能核后,添加到任一流水线阶段中。在本专利技术实施例中,管理核可根据各个流水线阶段的功能核周期性地上报相关负载信息,以及各流水线阶段的功能核数,来确定出各流水线阶段的功能核负载情况,这样,在确定出功能核负载较重的情况下,为其调度已加载相关映像程序的功能核,大大提高了系统的业务处理效率。附图说明图1为本专利技术实施例提供的多核资源的调度方法的流程图;图2为本专利技术实施例提供的管理核确定各流水线阶段的功能核的负载状态的流程图;图3为本专利技术实施例提供的管理核对备用核队列进行更新的流程图;图4为本专利技术实施例提供的多核资源的调度装置的结构示意图。具体实施方式下面结合说明书附图,对本专利技术实施例提供的一种多核资源的调度方法及装置的具体实施方式进行说明。本专利技术实施例提供的一种多核资源的调度方法,该方法应用于包括有一个管理核和多个功能核的多核系统中,如图1所示,该方法具体包括以下步骤:S11:管理核根据接收到的每个流水线阶段的功能核按照预设周期发来的负载信息,和每个流水线阶段的功能核数,确定每个流水线阶段的功能核的负载状态;S12:如果确定出任一流水线阶段的任一功能核的负载状态为超负载状态,从预设的第一就绪核队列中选择第一设定个数的功能核后,添加到任一流水线阶段中。在本专利技术实施例中,对于管理核来说,还可执行下述流程:在确定出任一流水线阶段的任一功能核的负载状态为低负载状态,则停止任一流水线阶段的任一功能核的运行后,添加到第一就绪核队列中。也就是说,在某个流水线阶段的功能核负载相对较轻时,管理核会停止该功能核上正在运行的相关任务,对其已有的负载不做任何处理,只是将其设置为休眠状态,添加到第一就绪核队列中,此时,并不对该功能核上已加载的相关影像程序进行卸载,以使得该功能核只是暂时处于休眠状态,待后续核资源紧张时再继续进行工作。具体地,在上述步骤S11中,预设周期可根据各流水线阶段的功能核的实际运行情况来确定,例如预设周期为60秒,当然,也可以是其他数值。进一步地,在上述步骤S1本文档来自技高网
...
一种多核资源的调度方法及装置

【技术保护点】
一种多核资源的调度方法,其特征在于,该方法应用于包括有一个管理核和多个功能核的多核系统中,该方法包括:所述管理核根据接收到的每个流水线阶段的功能核按照预设周期发来的负载信息,和所述每个流水线阶段的功能核数,确定所述每个流水线阶段的功能核的负载状态;如果确定出任一流水线阶段的任一功能核的负载状态为超负载状态,从预设的第一就绪核队列中选择第一设定个数的功能核后,添加到所述任一流水线阶段中,所述第一就绪核队列为自身根据所述任一流水线阶段的功能核发来的负载信息、所述任一流水线阶段的功能核数和预设的备用核队列中未加载所述任一流水线阶段的映像程序的功能核数,对包括有已加载所述映像程序的功能核的预设的第二就绪核队列进行更新后得到的。

【技术特征摘要】
1.一种多核资源的调度方法,其特征在于,该方法应用于包括有一个管理核和多个功能核的多核系统中,该方法包括:所述管理核根据接收到的每个流水线阶段的功能核按照预设周期发来的负载信息,和所述每个流水线阶段的功能核数,确定所述每个流水线阶段的功能核的负载状态;如果确定出任一流水线阶段的任一功能核的负载状态为超负载状态,从预设的第一就绪核队列中选择第一设定个数的功能核后,添加到所述任一流水线阶段中,所述第一就绪核队列为自身根据所述任一流水线阶段的功能核发来的负载信息、所述任一流水线阶段的功能核数和预设的备用核队列中未加载所述任一流水线阶段的映像程序的功能核数,对包括有已加载所述映像程序的功能核的预设的第二就绪核队列进行更新后得到的。2.如权利要求1所述的方法,其特征在于,还包括:如果所述管理核确定出任一流水线阶段的任一功能核的负载状态为低负载状态,则停止所述任一流水线阶段的任一功能核的运行后,添加到所述第一就绪核队列中。3.如权利要求1或2所述的方法,其特征在于,所述管理核通过下述方式确定所述每个流水线阶段的功能核的负载状态:根据所述每个流水线阶段的核资源使用率和功能核数,计算对应所述每个流水线阶段的核资源冗余度值,所述每个流水线阶段的核资源使用率为所述每个流水线阶段的功能核仅为一个时,对应功能核的CPU占用率,或者为所述每个流水线阶段的功能核为多个时,对应功能核的CPU平均占用率;分别判断计算出的每个核资源冗余度值是否不小于第一设定阈值;若是,确定所述每个流水线阶段的功能核为多个,并判断对应的功能核的CPU平均占用率是否不大于第一设定百分比,在判断为是时,将对应的功能核中CPU占用率最低的功能核的负载状态确定为低负载状态;在判断为否,且所述每个流水线阶段的功能核中存在CPU占用率不小于第二设定百分比的功能核时,将对应的功能核的负载状态确定为超负载状态;否则,在所述每个流水线阶段的功能核为一个、且对应的CPU占用率不小于所述第二设定百分比时,将对应的功能核的负载状态确定为超负载状态;在所述每个流水线阶段的功能核为多个、且存在CPU占用率不小于所述第二设定百分比的功能核时,将对应的功能核的负载状态确定为超负载状态。4.如权利要求3所述的方法,其特征在于,所述管理核通过公式D=R×(1-C),计算得到所述每个流水线阶段的核资源冗余度值,其中,D为所述每个流水线阶段的核资源冗余度值,R为所述每个流水线阶段的功能核数,C为所述每个流水线阶段的核资源使用率。5.如权利要求4所述的方法,其特征在于,所述管理核通过下述方式得到所述第一就绪核队列:所述管理核判断所述任一流水线阶段的核资源冗余度值是否不大于第二设定阈值,所述第二设定阈值小于所述第一设定阈值;若是,根据所述备用核队列中的功能核数、所述任一流水线阶段的功能核数及第二设定个数,对所述备用核队列进行更新;否则,根据所述任一流水线阶段的核资源使用率、所述备用核队列中的功能核数、所述任一流水线阶段的功能核数及所述第二设定个数,对所述备用核队列进行更新;根据更新后的备用核队列中的功能核数,对所述第二就绪核队列进行更新,得到所述第一就绪核队列。6.如权利要求5所述的方法,其特征在于,所述管理核根据所述备用核队列中的功能核数、所述任一流水线阶段的功能核数及第二设定个数,对所述备用核队列进行更新,具体包括:所述管理核执行下述指定操作:判断所述备用核队列中的功能核数是否不小于第三设定个数;若是,判断所述任一流水线阶段的功能核数与所述备用核队列中的功能核数之和是否不大于所述第二设定个数,在判断为是时,添加功能核到所述备用核队列中,以使添加后的备用核队列中的功能核数与所述第二设定个数相同,并将添加后的备用核队列作为更新后的备用核队列;在判断为否时,将所述备用核队列作为更新后的备用核队列;否则,添加第四设定个数的功能核到所述备用核队列中,并判断所述任一流水线阶段的功能核数与添加后的备用核队列中的功能核数之和是否不大于所述第二设定个数,在判断为是时,再次添加功能核到所述备用核队列中,以使再次添加后的备用核队列中的功能核数与所述第二设定个数相同,并将再次添加后的备用核队列作为更新后的备用核队列;在判断为否时,将所述备用核队列作为更新后的备用核队列;所述管理核根据所述任一流水线阶段的核资源使用率、所述备用核队列中的功能核数、所述任一流水线阶段的功能核数及所述第二设定数值,对所述备用核队列进行更新,具体包括:所述管理核判断所述任一流水线阶段的核资源使用率是否不小于第三设定百分比,并在判断为是时,执行所述指定操作;在判断为否时,判断所述任一流水线阶段的功能核数与所述备用核队列中的功能核数之和是否不大于所述第二设定个数,在判断为是时,添加功能核到所述备用核队列中,以使添加后的备用核队列中的功能核数与所述第二设定个数相同,并将添加后的备用核队列作为更新后的备用核队列;在判断为否时,将所述备用核队列作为更新后的备用核队列;所述管理核根据更新后的备用核队列中的功能核数,对所述第二就绪核队列进行更新,得到所述第一就绪核队列,具体包括:如果比较出所述更新后的备用核队列中的功能核数,与所述第二就绪核队列中的功能核数相同,则将所述第二就绪核队列作为所述第一就绪核队列;如果比较出所述更新后的备用核队列中的功能核数,大于所述第二就绪核队列中的功能核数,则从所述备用核队列中选择第五设定个数的功能核,并对选择出的功能核进行所述映像程序的加载后,添加到所述第二就绪核队列中,并将添加后的第二就绪核队列作为所述第一就绪核队列;如果比较出所述更新后的备用核队列中的功能核数,小于所述第二就绪核队列中的功能核数,则从所述第二就绪核队列中选择第六设定个数的功...

【专利技术属性】
技术研发人员:李蒙
申请(专利权)人:福建星网锐捷网络有限公司
类型:发明
国别省市:

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

1