多核处理器软件升级方法及设备的制作方法

文档序号:6362870阅读:373来源:国知局
专利名称:多核处理器软件升级方法及设备的制作方法
技术领域
本申请涉及多核处理器领域,特别是涉及一种多核处理器软件升级方法及设备。
背景技术
多核处理器是指在一枚处理器中集成两个或多个完整的计算引擎(内核)。多核处理器中的各个计算引擎能够通过运行部署在多核处理器内存中的软件驱动独立处理计算任务,因此多核处理器具有更好的处理性能和效率优势。多核处理器在对计算任务进行处理过程中,为了保证多核处理器的处理性能和处理效率,需要对多核处理器内存中部署的软件驱动(软件驱动即为一份写入内存代码镜像)进行升级更新,现有的多核处理器在进行软件升级过程中,为了保证多核处理器并发的cache —致性和软件行为,需要停止所有工作的计算引擎,从而导致计算任务的处理中断。如附图1所示的一种多核处理器的结构示意图,该多核处理器应用于网络数据包转发过程中,其内部设置的计算引擎为多个CPU (Central Processing Unit,中央处理器), 在该多核处理器的内存中部署一份代码镜像,多核处理器内部的所有CPU均运行该代码镜像,多核处理器接收到网络数据包时,将网络数据包分发到某一 CPU中进行处理。当需要对代码镜像进行升级更新时,停止所有工作中的CPU,待代码镜像升级更新完毕后,再重新启动CPU进行工作。由此可见,镜像代码的升级过程导致网络数据包得转发过程中断,降低了多核处理器的处理效率。

发明内容
为解决上述技术问题,本发明实施例提供一种多核处理器软件升级方法及设备。—方面,提供一种多核处理器软件升级方法,包括当满足预设条件时,将所述多核处理器中的各个计算引擎划分为计算引擎工作组和计算引擎升级组;所述计算引擎升级组中包括至少一个待升级计算引擎;所述预设条件至少包括第一预设条件,所述第一预设条件为所述多核处理器中存在待升级计算引擎;对所述计算引擎升级组中的待升级计算引擎所运行的代码镜像进行更新升级,所述更新升级完成后,将所述经过代码镜像更新升级的计算引擎添加至所述计算引擎工作组。另一方面,还提供一种多核处理器软件升级设备,包括划分模块,用于当满足预设条件时,将所述多核处理器中的各个计算引擎划分为计算引擎工作组和计算引擎升级组;所述计算引擎升级组中包括至少一个待升级计算引擎;所述预设条件至少包括第一预设条件,所述第一预设条件为所述多核处理器中存在待升级计算引擎;
升级模块,用于对所述计算引擎升级组中的待升级计算引擎所运行的代码镜像进行更新升级,所述更新升级完成后,将所述经过代码更新升级的计算引擎添加至所述计算引擎工作组。本发明提供的一种多核处理器软件升级方法及设备,在满足预设条件时,将所述多核处理器中的各个计算引擎划分为计算引擎工作组合计算引擎升级组;所述计算引擎升级组中包括至少一个待升级计算引擎;对所述计算引擎升级组中的待升级计算引擎所运行的代码镜像进行更新升级,所述更新升级完成后,将所述经过代码镜像更新升级的计算引擎添加至所述计算引擎工作组。应用本发明提供的多核处理器软件升级方法及设备,在所述多核处理器中存在需要升级的计算引擎时,将所述多核处理器中的各个计算引擎划分为计算引擎工作组和计算引擎升级组;其中计算引擎工作组用于对所述多核处理器当前所需处理的计算任务进行处理;计算引擎升级组用于对当前需要进行软件升级的计算引擎进行升级更新;当所述计算引擎升级组中的待升级计算引擎升级更新完毕后,将所述经过升级更新的计算引擎添加至所述计算引擎工作组,执行所述多核处理器的计算任务。由此可见,本发明提供的多核处理器软件升级方法及设备,能够不中断多核处理器当前计算任务的执行过程,对需要进行软件升级的计算引擎进行更新,从而保证了多核处理器的处理效率。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明提供的一种现有多核处理器的结构示意图;图2为本发明实施例一提供的一种多核处理器软件升级方法的流程图;图3为本发明实施例二提供的另一种多核处理器软件升级方法的流程图;图4为本发明实施例三提供的一种多核处理器软件升级划分方法的流程图;图5为本发明实施例三提供的另一种多核处理器软件升级划分方法的流程图;图6为本发明实施例三提供的另一种多核处理器软件升级划分方法的流程图;图7为本发明实施例四提供的一种多核处理器的结构示意图;图8为本发明实施例五提供的一种多核处理器的结构示意图;图9为本发明实施例五提供的另一种多核处理器的结构示意图;图10为本发明实施例六提供的一种多核处理器的结构示意图;图11为本发明实施例七提供的另一种多核处理器软件升级方法的流程图;图12为本发明实施例八提供的一种多核处理器软件升级设备的结构示意图;图13为本发明实施例九提供的一种多核处理器软件升级设备的结构示意图;图14为本发明实施例九提供的另一种多核处理器软件升级设备的结构示意图。
具体实施例方式
为了使本技术领域的人员更好地理解本申请方案。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。实施例一本发明实施例提供的一种多核处理器软件升级方法流程图如图2所示,包括步骤SlOl 当满足预设条件时,将所述多核处理器中的各个计算引擎划分为计算引擎工作组和计算引擎升级组;所述计算引擎升级组中包括至少一个待升级计算引擎;所述预设条件至少包括第一预设条件,所述第一预设条件为所述多核处理器中存在待升级计算引擎;当所述多核处理器中存在待升级的计算引擎时,将所述多核处理器中的各个计算引擎划分为不同组别,包括计算引擎工作组和计算引擎升级组,所述计算引擎升级组中包括至少一个待升级计算引擎;其中,所述计算引擎工作组用于对所述多核处理器的当前计算任务进行计算处理;在所述计算引擎工作组共组的同时,对所述计算引擎升级组中的待升级计算引擎进行升级;步骤S102 对所述计算引擎升级组中的待计算引擎所运行的代码镜像进行更新升级,所述更新升级完成后,将所述经过代码镜像更新升级的计算引擎添加至所述计算引擎工作组;对所述计算引擎升级组中的待计算引擎所运行的代码镜像进行更新升级,当所述更新升级完成后,将经过更新升级的计算引擎添加至所述计算引擎工作组对所述多核处理器的当前计算任务进行计算处理。应用本发明实施例提供的多核处理器软件升级方法,在多核处理器中存在待升级计算引擎进行升级时,不需要停止正在工作的计算引擎,既保证了多核处理器当前任务的继续处理,又实现了待升级计算引擎的软件升级。保证了多核处理器的处理效率。实施例二本发明实施例提供的一种多核处理器软件升级方法的流程图如图3所示,包括步骤S201 判定当前的升级条件是否满足第一预设条件;如果满足,进入步骤
5202;应用本发明实施例提供的多核处理器软件升级方法时,首先判定当前升级条件是否满足第一预设条件,所述第一预设条件为当前所述多核处理器中存在待升级计算引擎; 当多核处理器中存在待升级计算引擎时,进入步骤S202。步骤S202 判定当前的升级条件是否满足第二预设条件;如果满足,进入步骤
5203;所述第二预设条件为所述待升级计算引擎处于空闲状态;当需要对某一待升级计算引擎所运行的代码镜像进行更新升级时,当前所述待升级计算引擎可能正在处理某一计算任务,如网络多核处理器中的某一 CPU正在对网络数据包进行转发,这时需要等待所述 CPU将所述网络数据包转发完毕,然后对所述CPU运行的代码镜像进行更新升级过程。本发明实施例中的第二预设条件不仅限于所述待升级计算引擎处于空闲状态;还可为满足待升级计算引擎的升级时间;或多个计算引擎需共同完成某一计算任务的处理过程时,还需满足计算引擎的升级个数要求才能对其中的各个待计算引擎多运行的代码镜像进行更新升级。步骤S203 将所述多核处理器中各个计算引擎划分为计算引擎工作组和计算引擎升级组;所述计算引擎升级组中包括至少一个待升级计算引擎;步骤S204 对所述计算引擎升级组中的待升级计算引擎所运行的代码镜像进行更新升级,所述更新升级完成后,将所述经过代码镜像更新升级的计算引擎添加至所述计算引擎工作组。实施例三本发明实施例提供的一种多核处理器软件划分方法的流程图如图4所示,包括步骤S301 确定所述多核处理器的当前负荷处理量;本发明实施例的实现思想为既不中断多核处理器对计算任务的处理,又实现了对多核处理器中各个待升级计算引擎的升级过程;因此在不中断多核处理器对计算任务的处理前提下,首先应能保证多核处理器能够正常对当前的计算任务进行处理;本发明实施例中,在对待升级计算引擎进行升级前,首先确定所述多核处理器的当前负荷处理量。步骤S302 依据所述多核处理器的当前负荷处理量将所述多核处理器中各个计算引擎划分为计算引擎工作组和计算引擎升级组;所述计算引擎工作组中各个计算引擎的处理量之和不小于所述多核处理器的当前负荷处理量。在对各个计算引擎进行划分时,划分出计算引擎工作组中的各个计算引擎的处理量之和应不小于所述多核处理器的当前负荷处理量,从而保证所述多核处理器能够正常处理当前的计算任务。在满足多核处理器能够正常处理当前的计算任务的前提下,本发明实施例中对计算引擎升级的划分可有多种不同的划分方式可划分一个计算引擎升级组,对所述计算引擎升级组中的待升级计算引擎进行逐一升级或同时进行升级。还可对每一个待升级计算引擎进行单独分组,逐一对其升级或同时升级。还可根据各个待升级计算引擎的计算任务处理属性对所述各个待升级计算引擎进行多个不同组的划分,其具体实现过程如本发明实施例提供的图5所示包括步骤S301 确定所述多核处理器的当前负荷处理量;步骤S302 依据所述多核处理器的当前负荷处理量将所述处理器中的各个计算引擎划分为计算引擎工作组和计算引擎升级组;所述计算引擎工作组中各个计算引擎的处理量之和不小于所述多核处理器的当前负荷处理量;步骤S303:是否将各个待升级计算引擎分为多个不同的计算引擎升级组;如果是,执行步骤S304;步骤S304 依据所述多核处理器中各个待升级计算引擎的计算任务处理属性对所述各个待升级计算引擎进行划分;将所述各个待升级计算引擎中具有相同计算任务处理属性的计算引擎划分至同一计算引擎升级组。所述计算任务处理属性包括待升级计算引擎所处理计算任务的任务类型、待升级计算引擎对计算任务的处理速度、待升级计算引擎对计算任务的处理方式等;如在多核处理器中某几个特定的计算引擎需要共同协作才能完成对某一计算任务的处理,在进行计算引擎的升级时,需要将所述几个特定的计算引擎划分至同一计算引擎升级组中对所述几个特定的计算引擎进行升级,保证所述几个特定的计算引擎能够及时完成升级,对计算任务进行处理。避免由于某一个计算引擎没有完成升级,使计算任务不能正常处理的问题出现。当依据所述多核处理器中各个待升级计算引擎的计算任务处理属性将所述各个待升级计算引擎划分为多个不同计算引擎升级组时,对所述多个不同计算引擎升级组进行升级的过程如本发明实施例提供的图6所示,包括步骤S301 S304 ;与图5所示的执行过程一致,此处不再赘述;步骤S305 依据所述各个计算引擎升级组中包含的待计算引擎的计算任务处理属性确定所述各个计算引擎升级组的待处理优先级;依据所述各个计算引擎升级组中包含的待计算引擎所处理计算任务的任务类型、 对计算任务的处理速度、对计算任务的处理方式等,确定所述各个计算引擎升级组的待处理优先级;如按所处理计算任务的类型确定待处理优先级,将处理特定计算任务类型的计算引擎升级组优先级设定为高优先级;如按对计算任务的处理速度确定待处理优先级,可根据实际应用情况将处理速度快或处理速度慢的计算引擎升级组优先级设定为高优先级。本发明实施例中同类型之间计算引擎升级组中设置有优先级,不同类型之间计算引擎升级组中也可设置有优先级。如按计算引擎升级组中包含的待计算引擎所处理计算任务的任务类型划分出多个计算引擎升级组,所述多个计算引擎升级组中按任务类型确定不同的优先级;对于按其包含的计算引擎所处理计算任务的任务类型划分的计算引擎升级组与按其包含的计算引擎对计算任务处理速度划分的计算引擎升级组之间也可根据具体的应用情况进行优先级划分。步骤S306 按所述待处理优先级大小依次选择计算引擎升级组,对所述选择的计算引擎升级组中的待升级计算引擎进行升级。本发明实施例中可按所述待处理优先级由大至小的顺序选择计算引擎升级组,也可按待处理优先级由小至大的顺序选择计算引擎升级组,对选择的升级组中的待升级计算引擎所运行的代码镜像进行升级。对于上述实施例一至实施例三种任一实施例中,对计算引擎升级组中的待计算引擎所运行的代码进行更新升级的过程包括依据所述计算引擎升级组中的各个待升级计算引擎的空闲时序依次对所述各个待升级计算引擎所运行的代码镜像进行更新升级。实施例四为了更加详尽的对本发明实施例提供的多核处理器软件升级方法进行描述,本发明实施例提供本方法的一具体应用实例;本应用实例基于图1所示的一种现有多核处理器的结构示意图。经过应用本发明实施例提供的多核处理器软件升级方法处理后,其结构示意图如图7。图1所示的多核处理器中设置有多个CPU,软件运行在RTC模式下,在内存Memory中部署一份代码镜像Image,所有的CPU都运行该代码镜像,多核处理器接收网络中传输的网络数据包,将该网络数据包分发给其中一个CPU进行转发处理,如分发给CPUO,CPUO调用
function_0, function_l, function_2......等多个处理流程分别查询表 TableO, Tablel,
Table2...等完成处理后再将报文发出去,所有的处理过程都在CPUO上运行,不需要其他 CPU处理。当更改代码镜像Image的时候,由于无法保证多核处理器并发时的Cache —致性和软件行为。需要停止所有工作中的多核处理器CPU,待升级完毕,再使多核处理器中的 CPU恢复工作。可见,升级过程导致转发业务的中断。在应用本发明提供的多核处理器软件升级方法后,对图1所示多核处理器中的各个CPU进行分组处理,如图7所示,将RTC模式多核处理器进行双代码镜像双转发表并行部署,结合双通道内存技术,可以使用任何策略将多核处理器中的CPU分为2组。譬如GroupO包括CPUO,CPU2, CPU4, · · · ;Groupl 包括 CPUl, CPU3, CPU5,...等。GroupO 的 CPU 运行内存通道 O 的镜像, Groupl的CPU运行通道1的镜像。GroupO和Groupl使用两套转发表,允许升级前后转发表数据结构变化。报文分发器locket Dispatcher根据配置如五元组或七元组等将网络数据包散列到GroupO或Groupl。GroupO和Groupl的CPU都按照RTC模式查找各自的转发表处理网络包的接收转发。需要升级时,通知报文分发器packet dispatcher,修改配置,不要再送网络数据包给GroupO的CPU,将所有网络数据包送给Groupl的CPU。此时GroupO即为计算引擎升级组;Groupl为计算引擎工作组。由于GroupO的CPU不再接收处理网络数据包,可以通过PCI或共享内存等方式升级Group O在内存中对应的代码镜像image,并更新GroupO对应的转发表数据,升级完成后设置GroupO的CPU开始转发网络数据包。通知报文分发器packet dispatcher,GroupO中的CPU可以接收网络数据包。同时停止向Groupl中的CPU送入新的网络数据包,将所有网络数据包都送给GroupO的CPU ;升级Groupl的代码镜像image,更新Groupl的转发表数据,升级完成后设置 Groupl的CPU开始转发网络数据包;通知报文分发器packet dispatcher, Groupl的CPU可以接收报文。此时GroupO和Groupl的CPU都是运行新版本的代码镜像和转发表项数据, 完成整个升级过程。实施例五为了更加详尽的对本发明实施例提供的多核处理器软件升级方法进行描述,本发明实施例提供本方法的另一具体应用实例;图8为一种现有多核处理器的结构示意图,图9 为应用本发明实施例提供的多核处理器软件升级方法处理后多核处理器的结构示意图。图8中,多核处理器软件运行在流水线Pipeline模式。一个网络数据包需要k级流水线处理,对应k个代码镜像Image,每个CPU分别运行不同的代码镜像,网络数据包从接收到发送经过多个CPU处理。其中某些stage相对复杂,需要多个CPU处理,所以网络报流水线个数k与多核CPU个数不需要完全一致,譬如CPUO运行stageO,CPUl和CPU2运行 Stagel, CPU3运行stage2,CPU η运行stage k,收到网络数据包分发给CPUO运行stageO查表TableO处理,然后CPU 1运行stage 1查表Tablel处理,CPU 3运行stage2查表Table2 处理等,一直到CPU k运行stage k查表Table k将报文发送出去。当有一个代码镜像 Image需要升级的时候,譬如stagel代码需要升级,此时需要停下CPUl和CPU2的处理,网络报无法处理stagel,从而中断了整个转发业务。由于其中多个CPU共同协作才能完成对某一网络数据包得转发过程,因此在进行分组划分时,将共同处理某一网络数据包的多个CPU划分同一计算引擎升级组。如图9所示,Pipeline模式双代码镜像双转发表并行部署,结合双通道内存技术, 可以使用任何策略将处理器分为2组。譬如GroupO包括CPUO,CPU2,CPU4,. . . ;Groupl包括CPUl,CPU3,CPU5,...等。GroupO通过内存通道O的镜像运行,Groupl通过内存通道1 的镜像运行。GroupO和Groupl使用两套转发表,允许升级前后转发表数据结构变化。报文分发器locket Dispatcher根据配置如五元组或七元组等将网络数据包散列到GroupO或Groupl。GroupO和Groupl的CPU都按照流水线Pipeline模式查找各自的转发表处理网络包的接收转发。需要升级时,通知packet dispatcher,修改配置,不要再送网络数据包给GroupO 的CPU,将所有报文送给Groupl的CPU。由于GroupO的CPU不再接收处理网络数据包,可以通过PCI或共享内存等方式升级Group O在内存中对应的代码镜像MageO image,Stagel image,...,并更新GroupO对应的各个转发表数据,升级完成后设置GroupO的CPU开始转发网络数据包。通知packet dispatcher,GroupO的CPU可以接收网络数据包。同时停止向Groupl 的CPU送入新的网络数据包,将所有网络数据包都送给Group O的CPU处理;升级Group 1的代码镜像image,分别升级stage O,1,2,. · · K的image,更新 GroupO的转发表数据,升级完成后设置Groupl的CPU开始转发报文;通知packet dispatcher,Groupl的处理器可以接收网络数据包。此时GroupO和 Groupl的CPU都是运行新版本的代码镜像和转发表项数据,完成整个升级过程。应用本申请实施例提供的软件升级方法,在保证多核处理器的处理效率的同时, 还可用于对多核处理器软件缺陷的修复处理,通过软件升级的方式,对多核处理器中软件中存在的缺陷进行升级修复。实施例六本发明还提供了一种综合实施例五与实施例六的一种多核处理器结构,如图10 所示。本实施例显示的是双代码镜像并行部署,结合双通道内存技术,可以使用任何策略将处理器分为2组。两个Gropu使用同一套转发表数据,可运行在RTC模式或Pipeline 模式。GroupO通过内存通道O的镜像运行,Groupl通过内存通道1的镜像运行,由于共用转发表数据,不允许升级前后转发表数据结构变化。此时处理流程与实施例五和实施例六相似,不同点在于升级代码镜像时不能修改转发表数据,所以要求升级前后的转发表数据格式兼容。实施例七本发明实施例还提供了另一种多核处理器软件升级方法的流程图,如图11所示, 包括
步骤S401 当满足预设条件时,在所述多核处理器中的各个计算引擎中划分出计算引擎工作组和计算引擎升级组;所述计算引擎升级组中包括至少一个待升级计算引擎; 所述预设条件至少包括第一预设条件,所述第一预设条件为所述多核处理器中存在待升级计算引擎;步骤S402 对所述计算引擎升级组中的待升级计算引擎所运行的代码镜像进行更新升级,所述更新升级完成后,将所述经过代码镜像更新升级的计算引擎添加至所述计算引擎工作组。当需要对多核处理器中的各个计算引擎所运行的代码镜像进行升级时,在所述各个计算引擎中划分出计算引擎工作组,所述计算引擎工作组用于维持所述多核处理器对当前计算任务的处理过程;然后划分出计算引擎升级组,所述计算引擎升级组可为多个,对所述计算引擎升级组中的待升级计算引擎进行更新升级,更新升级完成后,将经过更新升级的计算引擎添加至计算引擎工作组。重新对当前多核处理器中的各个计算引擎的升级条件进行判定划分,直至所述多核处理器中无需要升级的计算引擎。实施例八本发明实施例提供了与实施例一中一种多核处理器软件升级方法相对应的一种多核处理器软件升级设备,其结构示意图如图12所示,包括划分模块501和升级模块502 ;其中所述划分模块501,用于当满足预设条件时,将所述多核处理器中的各个计算引擎划分为计算引擎工作组和计算引擎升级组;所述计算引擎升级组中包括至少一个待升级计算引擎;所述预设条件至少包括第一预设条件,所述第一预设条件为所述多核处理器中存在待升级计算引擎;所述升级模块502,用于对所述计算引擎升级组中的待升级计算引擎所运行的代码镜像进行更新升级,所述更新升级完成后,将所述经过代码更新升级的计算引擎添加至所述计算引擎工作组。应用本发明实施例提供的多核处理器软件升级设备,当多核处理器中存在待升级计算引擎时,用户会发送升级指令至所述多核处理器软件升级设备,所述多核处理器软件升级设备接收升级指令,停止待升级计算引擎的当前正在处理的计算任务,或等待所述待升级计算引擎完成计算任务的处理,处于空闲状态时,对所述待升级计算引擎所运行的代码镜像进行更新升级。同时保证计算引擎工作组能够正常处理所述多核处理器的当前计算任务的处理。在进行待升级计算引擎的软件升级过程中,保证了多核处理器计算任务的正常处理。实施例九本发明实施例在实施例八的基础上提供了另一种多核处理器软件升级设备的结构示意图,如图13及图14所示;图13中,划分模块501中包括确定单元503,用于确定所述多核处理器的当前负荷处理量;划分单元504,用于依据所述多核处理器的当前负荷处理量将所述多核处理器中的各个计算引擎划分为计算引擎工作组和计算引擎升级组;所述计算引擎工作组中各个计算引擎的处理量之和不小于所述多核处理器的当前负荷处理量。本发明实施例中的划分单元504还可依据所述多核处理器中各个待升级计算引擎的计算任务处理属性对所述各个待升级计算引擎进行划分;划分出多个计算引擎升级组,将所述各个待升级计算引擎中具有相同计算任务处理属性的计算引擎划分至同一计算引擎升级组。图14中,划分模块501中还包括优先级处理单元505,用于在所述划分单元504划分的所述计算引擎升级组为多个时,依据所述各个计算引擎升级组中包含的待计算引擎的计算任务处理属性确定所述各个计算引擎升级组的待处理优先级。在对所述多个计算引擎升级组进行升级时,依据所述优先级处理单元505确定的各个计算引擎升级组的待处理优先级大小选择计算引擎升级组,对其中的待升级计算引擎进行升级。对于上述装置实施例而言,由于其基本相应于方法实施例,所以描述的比较简单, 相关之处参见方法实施例的部分说明即可。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。以上所述仅是本申请的具体实施方式
,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
权利要求
1.一种多核处理器软件升级方法,其特征在于,包括当满足预设条件时,将所述多核处理器中的各个计算引擎划分为计算引擎工作组和计算引擎升级组;所述计算引擎升级组中包括至少一个待升级计算引擎;所述预设条件至少包括第一预设条件,所述第一预设条件为所述多核处理器中存在待升级计算引擎;对所述计算引擎升级组中的待升级计算引擎所运行的代码镜像进行更新升级,所述更新升级完成后,将所述经过代码镜像更新升级的计算引擎添加至所述计算引擎工作组。
2 根据权利要求1所述的方法,其特征在于,所述预设条件还包括第二预设条件;所述第二预设条件为所述待升级计算引擎处于空闲状态。
3.根据权利要求1所述的方法,其特征在于,所述将多核处理器中的各个计算引擎划分为计算引擎工作组和计算引擎升级组包括确定所述多核处理器的当前负荷处理量;依据所述多核处理器的当前负荷处理量将所述多核处理器中的各个计算引擎划分为计算引擎工作组和计算引擎升级组;所述计算引擎工作组中各个计算引擎的处理量之和不小于所述多核处理器的当前负荷处理量。
4.根据权利要求3所述的方法,其特征在于,当所述计算引擎升级组为多个时,所述将多核处理器中的各个计算引擎划分为计算引擎工作组和多个计算引擎升级组的过程中,对所述多个计算引擎升级组的划分包括依据所述多核处理器中各个待升级计算引擎的计算任务处理属性对所述各个待升级计算引擎进行划分;将所述各个待升级计算引擎中具有相同计算任务处理属性的计算引擎划分至同一计算引擎升级组。
5.根据权利要求4所述的方法,其特征在于,所述计算任务处理属性包括待升级计算引擎所处理计算任务的任务类型、待升级计算引擎对计算任务的处理速度、待升级计算引擎对计算任务的处理方式。
6.根据权利要求4所述的方法,其特征在于,还包括依据所述各个计算引擎升级组中包含的待升级计算引擎的计算任务处理属性确定所述各个计算引擎升级组的待处理优先级;按所述待处理优先级大小依次选择计算引擎升级组,对所述选择的计算引擎升级组中的待升级计算引擎进行升级。
7.根据权利要求1或6所述的方法,其特征在于,所述对计算引擎升级组中的待升级计算引擎所运行的代码镜像进行更新升级包括依据所述计算引擎升级组中的各个待升级计算引擎的空闲时序依次对所述各个待升级计算引擎所运行的代码镜像进行更新升级。
8.一种多核处理器软件升级设备,其特征在于,包括划分模块,用于当满足预设条件时,将所述多核处理器中的各个计算引擎划分为计算引擎工作组和计算引擎升级组;所述计算引擎升级组中包括至少一个待升级计算引擎;所述预设条件至少包括第一预设条件,所述第一预设条件为所述多核处理器中存在待升级计算引擎;升级模块,用于对所述计算引擎升级组中的待升级计算引擎所运行的代码镜像进行更新升级,所述更新升级完成后,将所述经过代码更新升级的计算引擎添加至所述计算引擎工作组。
9.根据权利要求8所述的设备,其特征在于,所述划分模块包括 确定单元,用于确定所述多核处理器的当前负荷处理量;划分单元,用于依据所述多核处理器的当前负荷处理量将所述多核处理器中的各个计算引擎划分为计算引擎工作组和计算引擎升级组;所述计算引擎工作组中各个计算引擎的处理量之和不小于所述多核处理器的当前负荷处理量。
10.根据权利要求9所述的设备,其特征在于,所述划分模块还包括优先级处理单元,用于在所述划分单元划分的所述计算引擎升级组为多个时,依据所述各个计算引擎升级组中包含的待升级计算引擎的计算任务处理属性确定所述各个计算引擎升级组的待处理优先级。
全文摘要
本发明公开了一种多核处理器软件升级方法,包括当满足预设条件时,将所述多核处理器中的各个计算引擎划分为计算引擎工作组和计算引擎升级组;所述计算引擎升级组中包括至少一个待升级计算引擎;所述预设条件至少包括第一预设条件,所述第一预设条件为所述多核处理器中存在待升级计算引擎;对所述计算引擎升级组中的待升级计算引擎所运行的代码镜像进行更新升级,所述更新升级完成后,将所述经过代码镜像更新升级的计算引擎添加至所述计算引擎工作组。本发明公开的多核处理器软件升级方法可在对多核处理器中待升级计算引擎进行升级的过程中,继续对多核处理器的当前处理的计算任务进行处理,保证了多核处理器的处理效率。
文档编号G06F9/445GK102436390SQ20121000516
公开日2012年5月2日 申请日期2012年1月9日 优先权日2012年1月9日
发明者佟亨文, 王涛 申请人:华为数字技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1