在多核系统上配置核资源的方法、多核系统及管理核的制作方法

文档序号:7655908阅读:93来源:国知局
专利名称:在多核系统上配置核资源的方法、多核系统及管理核的制作方法
技术领域
本发明涉及多核处理器技术领域,具体涉及在多核系统上配置核资源的 方法、多核系统及管理核。
背景技术
多核处理器的出现是对传统单核处理器性能的极大提升,然而随着多核 处理器的快速发展、多核集成度的不断增强,多核软件技术的发展却相对滞 后。为了充分发挥多核优势,业界选择在多核处理器的每个核上运行一个操 作系统或者运行无需操作系统支持的单线程应用程序,每个核完成特定的任 务,多个核以流水线方式协同工作,系统根据需求为流水线的每个阶段分配不同数量的核,而处于流水线的同一阶段的核的业务功能即运行的代码完 全相同。图1给出了一个多核网络服务器系统的流水线示意图,如图l所示,多 核网络服务器系统的流水线由四个阶段以太网(ETH)处理、因特网协议 (IP)处理、传输控制协议(TCP)处理和应用(APP)处理组成。其中, 由于TCP处理和APP处理4支复杂,而ETH处理和IP处理相对简单,所以 启动时为TCP处理阶段和APP处理阶段各分配了四个核、而为ETH处理阶 段和IP处理阶段各分配了两个核。该系统在网络流量正常时将正常运行, 但是,当网络上某种不常见的业务流量突然增大时系统就可能出现问题。例 如当网络上突然出现大量IP分片报文时,因为IP分片报文需要在IP处理 阶段重组,所以IP处理阶段的核的负荷会急剧增加,同时由于报文重组IP 处理阶段向TCP处理阶段输送的报文相对减少,因此TCP处理阶段核的负 荷相应降低,甚至会长期处于空闲状态,同理,APP处理阶段核的负荷也降
低了,结果导致整个系统在IP处理阶段产生瓶颈,同时,TCP和APP处理 阶段的核得不到充分利用,造成核资源浪费。由上所述,由于现有技术中, 一旦多核系统启动,各个核的功能就不再 改变,从而流水线的各阶段所占用的核的数量也不再改变,这样,当某个阶 段的核的负荷突然增大时,很可能会造成系统瓶颈,从而使得多核系统的业 务处理效率较低。发明内容本发明提供在多核系统上配置核资源的方法、多核系统以及管理核,以提 高以流水线方式工作的多核系统的业务处理效率。本发明的技术方案是这样实现的一种在多核系统上配置核资源的方法,该方法在多核系统中预先选择一 个核作为管理核,其它核作为功能核,包括管理核根据各流水线阶段的功能核发来的负载信息,;险测到一个流水线阶 段的功能核都处于超载状态,则从功能核都处于低负载状态的流水线阶段中, 选择一个功能核作为补充核,将该补充核添加到所述功能核都处于超载状态的流水线阶段中。所述在多核系统中预先选择一个核作为管理核进一步包括预先设定一个 超载阈值,所述管理核;险测到一个流水线阶段的功能核都处于超载状态包括管理核 检测到一个流水线阶段中,每个功能核的负载都连续预定次数大于超载阈值, 则确定该流水线阶段的功能核都处于超载状态。所述在多核系统中预先选择一个核作为管理核进一步包括预先设定一个 低负载阈值,所述管理核选择一个补充核包括管理核检测到一个流水线阶段中,每个 功能核的负载都连续预定次数低于低负载阈值,则确定该流水线阶段的功能核 都处于低负载状态,则从该流水线阶段中选择一个功能核作为补充核。
所述管理核将补充核添加到所述功能核都超载的流水线阶段中包括管理 核向补充核发送复位命令,补充核收到该复位命令,停止接收新业务,并在处 理完已接收的业务后,将自身的运行状态设置为待复位状态,向管理核上报该 运行状态,管理核根据该运行状态,将补充核的运行环境设置为与所述功能核 都超载的流水线阶段中的功能核相同,设置完毕,对补充核执行复位操作。所述管理核对补充核执行复位操作进一步包括管理核确定补充核复位成 功,释放补充核在复位前所处流水线阶段中占用的资源。所述管理核将补充核的运行环境设置为与所述功能核都超载的流水线阶段 中的功能核相同包括设置补充核完成所述功能核都超栽的流水线阶段的功能 所需要的代码段、数据段、共享数据段和堆栈空间。所述管理核对补充核执行复位搡作包括管理核通过多核系统提供的单核 复位功能对补充核进行复位。一种多核系统,该系统包括管理核和功能核,其中管理核,接收各流水线阶段的功能核发来的负载信息,检测到一个流水线 阶段的功能核都处于超载状态,则从功能核都处于低负载状态的流水线阶段中, 选择一个功能核作为补充核,将该补充核添加到所述功能核都处于超载状态的 流水线阶段中;功能核,向管理核上报自身的负载信息。所述管理核包括通信模块,接收并记录功能核发来的负载信息;超载检测模块,当从通信模块查询到一个流水线阶段的功能核都处于超 载状态时,则向通信模块查询功能核都处于低负载状态的流水线阶段,从查 询到的流水线阶段选择一个功能核作为补充核,将该补充核标识和超载流水 线阶段标识发送给超载处理模块;超载处理模块,接收补充核标识和超载流水线阶段标识,通知补充核复 位,在检测到补充核为待复位状态后,将补充核的运行环境设置为与功能核 都处于超载状态的流水线阶段的功能核相同,设置完毕,将补充核复位,检
测到补充核复位成功后,释放补充核在复位前所在流水线阶段中占用的资源。一种管理核,该管理核包括通信模块、超载检测模块和超载处理模块, 其中通信模块,接收并记录功能核发来的负载信息;超载检测模块,当从通信模块查询到一个流水线阶段的功能核都处于超 载状态时,则向通信模块查询功能核都处于低负载状态的流水线阶段,从查 询到的流水线阶段选择一个功能核作为补充核,将该补充核标识和超载流水 线阶段标识发送给超载处理模块;超载处理模块,接收补充核标识和超载流水线阶段标识,通知补充核复 位,在检测到补充核为待复位状态后,将补充核的运行环境设置为与功能核 都处于超载状态的流水线阶段的功能核相同,设置完毕,将补充核复位,检 测到补充核复位成功后,释放补充核在复位前所在流水线阶段中占用的资 源。与现有技术相比,本发明通过在多核系统中预先选择一个核作为管理 核,其它核作为功能核,当管理核根据各流水线阶段的功能核发来的负载信 息,检测到一个流水线阶段的功能核都处于超载状态时,则从功能核都处于 低负载状态的流水线阶段中,选择一个功能核作为补充核,将该补充核添加 到所述功能核都超载的流水线阶段中,实现了根据多核系统各流水线阶段的 业务负载动态调整各流水线阶段占用的核资源、从而提高多核系统的业务处 理效率的目的。


图1为现有的多核网络服务器系统的流水线示意图; 图2为本发明实施例提供的在以流水线方式工作的多核系统中,动态配 置核资源的流程图;图3为本发明实施例提供的将补充核添加到超载流水线阶段的流程图4为本发明提供的多核网络服务器系统的流水线示意图;图5为本发明实施例提供的以流水线方式工作的多核系统的组成图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一 步详细的说明。图2为本发明实施例提供的在以流水线方式工作的多核系统中,动态配 置核资源的流程图,如图2所示,其具体步骤如下步骤201:在多核系统中选择一个核作为管理核,其它核作为功能核。可在多核处理器中单独使用一个核作为管理核,也可以在一个负载较轻 的功能核上实现核资源管理功能,使该核同时作为功能核和管理核。步骤202:功能核实时计算自身的负载值,每隔预定时间间隔将自身负 载值和运行状态信息发送给管理核。步骤203:管理核收到功能核发来的负载值和运行状态信息,记录该功 能核的负载值、运行状态信息与当前时刻的对应关系。若管理核同时为功能核,则管理核也要实时计算自身的负载值,并每隔 预定时间间隔记录一次自身的负载值、运行状态信息和当前时刻的对应关 系。步骤204:管理核根据已记录的该功能核的负载值,判断该功能核是否 处于超载状态,若是,执行步骤205;否则,转至步骤203。具体地,管理核可预先设定一个超载阈值,且预先设定当功能核发来 的负载值连续预定次数大于超载阈值时,则认为该功能核处于超载状态。例 如管理核预先设定超载阈值为80%,且预先设定功能核发来的负载值连续 三次超过80%,则认为功能核处于超载状态。步骤205:管理核判断该功能核所处流水线阶段的其它功能核是否也都 处于超载状态,若是,执行步骤206;否则,转至步骤203。步骤206:管理核确定为该流水线阶段分配的核的数量已不能满足当前 业务需求,根据已记录的其它流水线阶段中的功能核的负载值,判断是否存
在功能核都处于低负载状态的流水线阶段,若是,执行步骤207;否则,转 至步骤203。管理核可预先设定一个低负载阈值,且预先设定当功能核发来的负载 值连续预定次数低于低负载阈值时,则认为该功能核处于低负载状态。例如 管理核预先设定低负载阈值为20%,且预先设定当功能核发来的负载值连 续三次低于20%,则认为功能核处于低负载状态。步骤207:管理核从该功能核都处于低负载状态的流水线阶段任意选择 一个功能核,将该功能核作为补充核,添加到功能核都处于超载状态的流水 线阶段中,转至步骤203。本发明实施例中,将功能核都处于超载状态的流水线阶段简称为超载流 水线阶段,将功能核都处于低负载状态的流水线阶段简称为低负载流水线阶 段。以下给出管理核将补充核添加到超载流水线阶段的
具体实施例方式
图3为本发明实施例提供的将补充核添加到超载流水线阶段的流程图, 如图3所示,其具体步骤如下步骤301:管理核向选中的补充核发送复位命令。步骤302:补充核收到管理核发来的复位命令,停止接收新业务,并在 完成当前已接收业务的处理后,将自身运行状态设为待复位状态,并在上报 负载值和运行状态时刻到来时,向管理核上报自身的负载值和运行状态信 息。步骤303:管理核收到补充核发来负载值和运行状态信息,检测到该运 行状态信息指示补充核处于待复位状态,则将补充核的运行环境设置为与超 载流水线阶段的功能核相同。设置补充核的运行环境包括设置补充核完成超载流水线阶段的功能所 需要的代码段、数据段、共享数据段和堆栈空间。管理核为补充核设置运行 环境的过程类似于Bootloader为核加载程序的过程。具体过程为由于管理 核掌握着每个功能核执行映像地址,首先为补充核选择新的执行映像即超 载核所执行的映像,管理核将该映像的入口地址作为补充核复位后的程序入口地址写到补充核的启动向量中;然后管理核为补充核分配新的数据段空间 和堆栈空间,并通过修改补充核启动向量中的TLB表项将数据段空间和堆 栈空间映射到补充核的虚拟空间中;最后,管理核为补充核设置启动参数, 管理核需在启动参数中告知补充核启动后不必重新初始化共享数据段,这样 补充核启动后就可以直接使用共享数据段中的数据开始工作了 。 步骤304:运行环境设置完毕,管理核对补充核进行复位。 在本实施例中,管理核可通过多核处理器提供的单核复位功能对补充核 进行复位。例如多核处理器提供一个复位寄存器,寄存器的每一位与一个 核对应,当向一位写入"1"时,可^f吏对应的核复位,^t人而,可通过^喿作多 核处理器的复位寄存器使得补充核复位。步骤305:补充核在复位成功后,将自身的运行状态设为正常工作状态, 然后在上报负载值和运行状态时刻到来时,向管理核上报自身的负载值和运 行状态信息。步骤306:管理核收到补充核发来的负载值和运行状态信息,检测到该 运行状态信息指示补充核处于正常工作状态,则确定补充核复位成功,释放 补充核在原低负载流水线阶段中所占用的数据段空间和堆栈空间。步骤307:补充核在新的运行环境下,完成超载流水线阶段的业务处理 功能。以下给出 一个应用本发明实施例的具体例子如图4所示,设多核网络服务器系统的流水线由四个阶段ETH处理、 IP处理、TCP处理和APP处理组成。启动时为TCP处理阶^殳和APP处理阶 段各分配了四个核、而为ETH处理阶段和IP处理阶段各分配了两个核,且 由于ETH处理较简单,将ETH处理阶段中的一个核同时作为功能核和管理 核,其它核都作为功能核。且,功能核每隔预定时间间隔向管理核上报自身 的负载值和运行状态信息。当网络中的IP分片报文突然增多导致IP处理阶 段的功能核的负载突然加重时,管理核根据IP处理阶段的功能核上报的负
载值,可检测到IP处理阶段超载,则查看其它流水线阶段的负载情况,检测到TCP处理阶段的功能核都处于低负载状态,则从TCP处理阶段任意选择一个功能核,通知该功能核复位,并将该功能核的运行环境设置为与IP 处理阶段的功能核相同,从而使得IP处理阶段增加了 一个功能核。图5为发明实施例提供的以流水线方式工作的多核系统组成图,如图5 所示,其主要包括管理核51和功能核52,其中管理核51包括通信模块511、超载检测模块512和超载处理模块513, 其中通信模块511:用于接收功能核52发来的负载值和运行状态信息,保 存功能核的负载值、运行状态信息与当前时刻的对应关系。超载检测模块512:用于预先设定超载阈值和低负载阈值,每隔预定时 间间隔查询一次通信模块511中记录的功能核的负载值,判断是否有功能核 的负载值连续预定次数大于超载阈值,若有,则确定该功能核超载,进一步 判断该功能核所处流水线阶段的其它功能核是否都超载,若都超载,则查看 通信模块511中记录的其它流水线阶段的功能核的负载值,判断是否存在功 能核都处于低负载状态的流水线阶段,若存在,则从该流水线阶段任意选择 一个功能核作为补充核,将该补充核标识和超载流水线阶段标识发送给超载 处理模块513。超载处理模块513:接收到超载检测模块512发来的补充核标识和超载 流水线阶段标识,向该补充核标识对应补充核发送复位命令,并在通信模块 511中查询到该补充核的运行状态为待复位状态后,将该补充核的运行环境 设置为与超载流水线阶段的功能核相同,设置完毕,将补充核复位,并在通 信模块511中查询到该补充核的运行状态为正常工作状态后,释放补充核在 原低负载流水线阶段中所占用的数据段空间和堆栈空间。功能核52:实时计算自身的负载值,每隔预定时间间隔向管理核51发 送自身的负载值和运行状态信息;接收到管理核51发来的复位命令,停止 接收新业务,并将自身已接收业务处理完毕;在新的运行环境下,完成与超载流水线阶段的功能核相同的业务处理功能。从图2、 3、 5所示实施例可以看出本发明实施例通过监测各流水线阶 段的负载情况,当一个流水线阶段的功能核都处于超载状态后,则从其它功 能核都处于低负载状态的流水线阶段中,选择一个功能核作为补充核添加到 所述超载的流水线阶段中,实现了在无需重启多核系统的前提下,根据各流 水线阶段的业务负载变化动态调整各流水线阶段占用核资源,从而避免系统 瓶颈、提高多核系统的业务处理效率的目的。本发明实施例所提供的方案主要应用于以流水线方式工作、且同 一流水 线阶段的各功能核的运行环境相同的多核系统中。以上所述仅为本发明的过程及方法实施例,并不用以限制本发明,凡在 本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在 本发明的保护范围之内。
权利要求
1、 一种在多核系统上配置核资源的方法,其特征在于,在多核系统中预先选择一个核作为管理核,其它核作为功能核,该方法包括管理核根据各流水线阶段的功能核发来的负载信息,检测到一个流水线阶 段的功能核都处于超载状态,则从功能核都处于低负载状态的流水线阶段中, 选择一个功能核作为补充核,将该补充核添加到所述功能核都处于超载状态的流水线阶段中。
2、 如权利要求l所述的方法,其特征在于,所述在多核系统中预先选择一 个核作为管理核进一步包括预先设定一个超载阈值,所述管理核检测到一个流水线阶段的功能核都处于超载状态包括管理核 检测到一个流水线阶段中,每个功能核的负载都连续预定次数大于超载阈值, 则确定该流水线阶段的功能核都处于超载状态。
3、 如权利要求1或2所述的方法,其特征在于,所述在多核系统中预先选 择一个核作为管理核进一步包括预先设定一个低负载阈值,所述管理核选择一个补充核包括管理核检测到一个流水线阶段中,每个 功能核的负载都连续预定次数低于低负载阔值,则确定该流水线阶段的功能核 都处于低负载状态,则从该流水线阶段中选择一个功能核作为补充核。
4、 如权利要求l所述的方法,其特征在于,所述管理核将补充核添加到所 述功能核都超载的流水线阶段中包括管理核向补充核发送复位命令,补充核 收到该复位命令,停止接收新业务,并在处理完已接收的业务后,将自身的运 行状态设置为待复位状态,向管理核上报该运行状态,管理核根据该运行状态, 将补充核的运行环境设置为与所述功能核都超载的流水线阶段中的功能核相 同,设置完毕,对补充核执行复位4喿作。
5、 如权利要求4所述的方法,其特征在于,所述管理核对补充核执行复位 操作进一步包括管理核确定补充核复位成功,释放补充核在复位前所处流水 线阶段中占用的资源。
6、 如权利要求4所述的方法,其特征在于,所述管理核将补充核的运行环境设置为与所述功能核都超载的流水线阶段中的功能核相同包括设置补充核 完成所述功能核都超载的流水线阶段的功能所需要的代码段、数据段、共享数 据段和堆栈空间。
7、 如权利要求4所述的方法,其特征在于,所述管理核对补充核执行复位 操作包括管理核通过多核系统提供的单核复位功能对补充核进行复位。
8、 一种多核系统,其特征在于,该系统包括管理核和功能核,其中 管理核,接收各流水线阶段的功能核发来的负载信息,;险测到一个流水线阶段的功能核都处于超载状态,则从功能核都处于低负载状态的流水线阶段中, 选捧一个功能核作为补充核,将该补充核添加到所述功能核都处于超载状态的 流水线阶段中;功能核,向管理核上报自身的负载信息。
9、 如权利要求8所述的多核系统,其特征在于,所述管理核包括 通信模块,接收并记录功能核发来的负载信息;超载检测模块,当从通信模块查询到一个流水线阶段的功能核都处于超 载状态时,则向通信模块查询功能核都处于低负载状态的流水线阶段,从查 询到的流水线阶段选择一个功能核作为补充核,将该补充核标识和超载流水 线阶段标识发送给超载处理模块;超载处理模块,接收补充核标识和超载流水线阶段标识,通知补充核复 位,在检测到补充核为待复位状态后,将补充核的运行环境设置为与功能核 都处于超载状态的流水线阶段的功能核相同,设置完毕,将补充核复位,检 测到补充核复位成功后,释放补充核在复位前所在流水线阶段中占用的资 源。
10、 一种管理核,其特征在于,该管理核包括通信模块、超载检测模块 和超载处理模块,其中通信模块,接收并记录功能核发来的负载信息;超载检测模块,当从通信模块查询到一个流水线阶段的功能核都处于超载状态时,则向通信模块查询功能核都处于低负载状态的流水线阶段,从查 询到的流水线阶段选择一个功能核作为补充核,将该补充核标识和超载流水线阶段标识发送给超载处理模块;超载处理模块,接收补充核标识和超载流水线阶段标识,通知补充核复 位,在检测到补充核为待复位状态后,将补充核的运行环境设置为与功能核 都处于超载状态的流水线阶段的功能核相同,设置完毕,将补充核复位,检 测到补充核复位成功后,释放补充核在复位前所在流水线阶段中占用的资
全文摘要
本发明公开了一种在多核系统上配置核资源的方法,包括在多核系统中预先选择一个核作为管理核,其它核作为功能核,当管理核根据各流水线阶段的功能核发来的负载信息,检测到一个流水线阶段的功能核都处于超载状态时,则从功能核都处于低负载状态的流水线阶段中,选择一个功能核作为补充核,将该补充核添加到所述功能核都超载的流水线阶段中。本发明同时公开了一种多核系统和一种管理核。本发明实现了根据多核系统各流水线阶段的业务负载动态调整各流水线阶段占用的核资源、从而提高多核系统的业务处理效率的目的。
文档编号H04L29/02GK101146089SQ200710120638
公开日2008年3月19日 申请日期2007年8月22日 优先权日2007年8月22日
发明者张晓明 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1