CN102436390A - 多核处理器软件升级方法及设备 - Google Patents
多核处理器软件升级方法及设备 Download PDFInfo
- Publication number
- CN102436390A CN102436390A CN201210005163XA CN201210005163A CN102436390A CN 102436390 A CN102436390 A CN 102436390A CN 201210005163X A CN201210005163X A CN 201210005163XA CN 201210005163 A CN201210005163 A CN 201210005163A CN 102436390 A CN102436390 A CN 102436390A
- Authority
- CN
- China
- Prior art keywords
- computing engines
- upgrading
- upgraded
- group
- polycaryon processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种多核处理器软件升级方法,包括:当满足预设条件时,将所述多核处理器中的各个计算引擎划分为计算引擎工作组和计算引擎升级组;所述计算引擎升级组中包括至少一个待升级计算引擎;所述预设条件至少包括第一预设条件,所述第一预设条件为所述多核处理器中存在待升级计算引擎;对所述计算引擎升级组中的待升级计算引擎所运行的代码镜像进行更新升级,所述更新升级完成后,将所述经过代码镜像更新升级的计算引擎添加至所述计算引擎工作组。本发明公开的多核处理器软件升级方法可在对多核处理器中待升级计算引擎进行升级的过程中,继续对多核处理器的当前处理的计算任务进行处理,保证了多核处理器的处理效率。
Description
技术领域
本申请涉及多核处理器领域,特别是涉及一种多核处理器软件升级方法及设备。
背景技术
多核处理器是指在一枚处理器中集成两个或多个完整的计算引擎(内核)。多核处理器中的各个计算引擎能够通过运行部署在多核处理器内存中的软件驱动独立处理计算任务,因此多核处理器具有更好的处理性能和效率优势。
多核处理器在对计算任务进行处理过程中,为了保证多核处理器的处理性能和处理效率,需要对多核处理器内存中部署的软件驱动(软件驱动即为一份写入内存代码镜像)进行升级更新,现有的多核处理器在进行软件升级过程中,为了保证多核处理器并发的cache一致性和软件行为,需要停止所有工作的计算引擎,从而导致计算任务的处理中断。
如附图1所示的一种多核处理器的结构示意图,该多核处理器应用于网络数据包转发过程中,其内部设置的计算引擎为多个CPU(Central ProcessingUnit,中央处理器),在该多核处理器的内存中部署一份代码镜像,多核处理器内部的所有CPU均运行该代码镜像,多核处理器接收到网络数据包时,将网络数据包分发到某一CPU中进行处理。当需要对代码镜像进行升级更新时,停止所有工作中的CPU,待代码镜像升级更新完毕后,再重新启动CPU进行工作。
由此可见,镜像代码的升级过程导致网络数据包得转发过程中断,降低了多核处理器的处理效率。
发明内容
为解决上述技术问题,本发明实施例提供一种多核处理器软件升级方法及设备。
一方面,提供一种多核处理器软件升级方法,包括:
当满足预设条件时,将所述多核处理器中的各个计算引擎划分为计算引擎工作组和计算引擎升级组;所述计算引擎升级组中包括至少一个待升级计算引擎;
所述预设条件至少包括第一预设条件,所述第一预设条件为所述多核处理器中存在待升级计算引擎;
对所述计算引擎升级组中的待升级计算引擎所运行的代码镜像进行更新升级,所述更新升级完成后,将所述经过代码镜像更新升级的计算引擎添加至所述计算引擎工作组。
另一方面,还提供一种多核处理器软件升级设备,包括:
划分模块,用于当满足预设条件时,将所述多核处理器中的各个计算引擎划分为计算引擎工作组和计算引擎升级组;所述计算引擎升级组中包括至少一个待升级计算引擎;所述预设条件至少包括第一预设条件,所述第一预设条件为所述多核处理器中存在待升级计算引擎;
升级模块,用于对所述计算引擎升级组中的待升级计算引擎所运行的代码镜像进行更新升级,所述更新升级完成后,将所述经过代码更新升级的计算引擎添加至所述计算引擎工作组。
本发明提供的一种多核处理器软件升级方法及设备,在满足预设条件时,将所述多核处理器中的各个计算引擎划分为计算引擎工作组合计算引擎升级组;所述计算引擎升级组中包括至少一个待升级计算引擎;对所述计算引擎升级组中的待升级计算引擎所运行的代码镜像进行更新升级,所述更新升级完成后,将所述经过代码镜像更新升级的计算引擎添加至所述计算引擎工作组。
应用本发明提供的多核处理器软件升级方法及设备,在所述多核处理器中存在需要升级的计算引擎时,将所述多核处理器中的各个计算引擎划分为计算引擎工作组和计算引擎升级组;其中计算引擎工作组用于对所述多核处理器当前所需处理的计算任务进行处理;计算引擎升级组用于对当前需要进行软件升级的计算引擎进行升级更新;当所述计算引擎升级组中的待升级计算引擎升级更新完毕后,将所述经过升级更新的计算引擎添加至所述计算引擎工作组,执行所述多核处理器的计算任务。由此可见,本发明提供的多核处理器软件升级方法及设备,能够不中断多核处理器当前计算任务的执行过程,对需要进行软件升级的计算引擎进行更新,从而保证了多核处理器的处理效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种现有多核处理器的结构示意图;
图2为本发明实施例一提供的一种多核处理器软件升级方法的流程图;
图3为本发明实施例二提供的另一种多核处理器软件升级方法的流程图;
图4为本发明实施例三提供的一种多核处理器软件升级划分方法的流程图;
图5为本发明实施例三提供的另一种多核处理器软件升级划分方法的流程图;
图6为本发明实施例三提供的另一种多核处理器软件升级划分方法的流程图;
图7为本发明实施例四提供的一种多核处理器的结构示意图;
图8为本发明实施例五提供的一种多核处理器的结构示意图;
图9为本发明实施例五提供的另一种多核处理器的结构示意图;
图10为本发明实施例六提供的一种多核处理器的结构示意图;
图11为本发明实施例七提供的另一种多核处理器软件升级方法的流程图;
图12为本发明实施例八提供的一种多核处理器软件升级设备的结构示意图;
图13为本发明实施例九提供的一种多核处理器软件升级设备的结构示意图;
图14为本发明实施例九提供的另一种多核处理器软件升级设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
实施例一
本发明实施例提供的一种多核处理器软件升级方法流程图如图2所示,包括:
步骤S101:当满足预设条件时,将所述多核处理器中的各个计算引擎划分为计算引擎工作组和计算引擎升级组;所述计算引擎升级组中包括至少一个待升级计算引擎;所述预设条件至少包括第一预设条件,所述第一预设条件为所述多核处理器中存在待升级计算引擎;
当所述多核处理器中存在待升级的计算引擎时,将所述多核处理器中的各个计算引擎划分为不同组别,包括计算引擎工作组和计算引擎升级组,所述计算引擎升级组中包括至少一个待升级计算引擎;其中,所述计算引擎工作组用于对所述多核处理器的当前计算任务进行计算处理;在所述计算引擎工作组共组的同时,对所述计算引擎升级组中的待升级计算引擎进行升级;
步骤S102:对所述计算引擎升级组中的待计算引擎所运行的代码镜像进行更新升级,所述更新升级完成后,将所述经过代码镜像更新升级的计算引擎添加至所述计算引擎工作组;
对所述计算引擎升级组中的待计算引擎所运行的代码镜像进行更新升级,当所述更新升级完成后,将经过更新升级的计算引擎添加至所述计算引擎工作组对所述多核处理器的当前计算任务进行计算处理。
应用本发明实施例提供的多核处理器软件升级方法,在多核处理器中存在待升级计算引擎进行升级时,不需要停止正在工作的计算引擎,既保证了多核处理器当前任务的继续处理,又实现了待升级计算引擎的软件升级。保证了多核处理器的处理效率。
实施例二
本发明实施例提供的一种多核处理器软件升级方法的流程图如图3所示,包括:
步骤S201:判定当前的升级条件是否满足第一预设条件;如果满足,进入步骤S202;
应用本发明实施例提供的多核处理器软件升级方法时,首先判定当前升级条件是否满足第一预设条件,所述第一预设条件为当前所述多核处理器中存在待升级计算引擎;当多核处理器中存在待升级计算引擎时,进入步骤S202。
步骤S202:判定当前的升级条件是否满足第二预设条件;如果满足,进入步骤S203;
所述第二预设条件为所述待升级计算引擎处于空闲状态;当需要对某一待升级计算引擎所运行的代码镜像进行更新升级时,当前所述待升级计算引擎可能正在处理某一计算任务,如网络多核处理器中的某一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进行转发处理,如分发给CPU0,CPU0调用function_0,function_1,function_2......等多个处理流程分别查询表Table0,Table1,Table2...等完成处理后再将报文发出去,所有的处理过程都在CPU0上运行,不需要其他CPU处理。
当更改代码镜像Image的时候,由于无法保证多核处理器并发时的Cache一致性和软件行为。需要停止所有工作中的多核处理器CPU,待升级完毕,再使多核处理器中的CPU恢复工作。可见,升级过程导致转发业务的中断。
在应用本发明提供的多核处理器软件升级方法后,对图1所示多核处理器中的各个CPU进行分组处理,如图7所示,
将RTC模式多核处理器进行双代码镜像双转发表并行部署,结合双通道内存技术,可以使用任何策略将多核处理器中的CPU分为2组。譬如Group0包括CPU0,CPU2,CPU4,...;Group1包括CPU1,CPU3,CPU5,...等。Group0的CPU运行内存通道0的镜像,Group1的CPU运行通道1的镜像。Group0和Group1使用两套转发表,允许升级前后转发表数据结构变化。
报文分发器Packet Dispatcher根据配置如五元组或七元组等将网络数据包散列到Group0或Group1。Group0和Group1的CPU都按照RTC模式查找各自的转发表处理网络包的接收转发。
需要升级时,通知报文分发器packet dispatcher,修改配置,不要再送网络数据包给Group0的CPU,将所有网络数据包送给Group1的CPU。此时Group0即为计算引擎升级组;Group1为计算引擎工作组。
由于Group0的CPU不再接收处理网络数据包,可以通过PCI或共享内存等方式升级Group 0在内存中对应的代码镜像image,并更新Group0对应的转发表数据,升级完成后设置Group0的CPU开始转发网络数据包。
通知报文分发器packet dispatcher,Group0中的CPU可以接收网络数据包。同时停止向Group1中的CPU送入新的网络数据包,将所有网络数据包都送给Group0的CPU;
升级Group1的代码镜像image,更新Group1的转发表数据,升级完成后设置Group1的CPU开始转发网络数据包;通知报文分发器packet dispatcher,Group1的CPU可以接收报文。此时Group0和Group1的CPU都是运行新版本的代码镜像和转发表项数据,完成整个升级过程。
实施例五
为了更加详尽的对本发明实施例提供的多核处理器软件升级方法进行描述,本发明实施例提供本方法的另一具体应用实例;图8为一种现有多核处理器的结构示意图,图9为应用本发明实施例提供的多核处理器软件升级方法处理后多核处理器的结构示意图。
图8中,多核处理器软件运行在流水线Pipeline模式。一个网络数据包需要k级流水线处理,对应k个代码镜像Image,每个CPU分别运行不同的代码镜像,网络数据包从接收到发送经过多个CPU处理。其中某些stage相对复杂,需要多个CPU处理,所以网络报流水线个数k与多核CPU个数不需要完全一致,譬如CPU0运行stage0,CPU1和CPU2运行Stage1,CPU3运行stage2,CPU n运行stage k,收到网络数据包分发给CPU0运行stage0查表Table0处理,然后CPU 1运行stage1查表Table1处理,CPU 3运行stage2查表Table2处理等,一直到CPU k运行stage k查表Table k将报文发送出去。当有一个代码镜像Image需要升级的时候,譬如stage1代码需要升级,此时需要停下CPU1和CPU2的处理,网络报无法处理stage1,从而中断了整个转发业务。
由于其中多个CPU共同协作才能完成对某一网络数据包得转发过程,因此在进行分组划分时,将共同处理某一网络数据包的多个CPU划分同一计算引擎升级组。
如图9所示,Pipeline模式双代码镜像双转发表并行部署,结合双通道内存技术,可以使用任何策略将处理器分为2组。譬如Group0包括CPU0,CPU2,CPU4,...;Group1包括CPU1,CPU3,CPU5,...等。Group0通过内存通道0的镜像运行,Group1通过内存通道1的镜像运行。Group0和Group1使用两套转发表,允许升级前后转发表数据结构变化。
报文分发器Packet Dispatcher根据配置如五元组或七元组等将网络数据包散列到Group0或Group1。Group0和Group1的CPU都按照流水线Pipeline模式查找各自的转发表处理网络包的接收转发。
需要升级时,通知packet dispatcher,修改配置,不要再送网络数据包给Group0的CPU,将所有报文送给Group1的CPU。
由于Group0的CPU不再接收处理网络数据包,可以通过PCI或共享内存等方式升级Group 0在内存中对应的代码镜像Stage0 image、Stage1 image,...,并更新Group0对应的各个转发表数据,升级完成后设置Group0的CPU开始转发网络数据包。
通知packet dispatcher,Group0的CPU可以接收网络数据包。同时停止向Group1的CPU送入新的网络数据包,将所有网络数据包都送给Group 0的CPU处理;
升级Group1的代码镜像image,分别升级stage 0,1,2,...K的image,更新Group0的转发表数据,升级完成后设置Group1的CPU开始转发报文;
通知packet dispatcher,Group1的处理器可以接收网络数据包。此时Group0和Group1的CPU都是运行新版本的代码镜像和转发表项数据,完成整个升级过程。
应用本申请实施例提供的软件升级方法,在保证多核处理器的处理效率的同时,还可用于对多核处理器软件缺陷的修复处理,通过软件升级的方式,对多核处理器中软件中存在的缺陷进行升级修复。
实施例六
本发明还提供了一种综合实施例五与实施例六的一种多核处理器结构,如图10所示。
本实施例显示的是双代码镜像并行部署,结合双通道内存技术,可以使用任何策略将处理器分为2组。两个Gropu使用同一套转发表数据,可运行在RTC模式或Pipeline模式。Group0通过内存通道0的镜像运行,Group1通过内存通道1的镜像运行,由于共用转发表数据,不允许升级前后转发表数据结构变化。
此时处理流程与实施例五和实施例六相似,不同点在于升级代码镜像时不能修改转发表数据,所以要求升级前后的转发表数据格式兼容。
实施例七
本发明实施例还提供了另一种多核处理器软件升级方法的流程图,如图11所示,包括:
步骤S401:当满足预设条件时,在所述多核处理器中的各个计算引擎中划分出计算引擎工作组和计算引擎升级组;所述计算引擎升级组中包括至少一个待升级计算引擎;所述预设条件至少包括第一预设条件,所述第一预设条件为所述多核处理器中存在待升级计算引擎;
步骤S402:对所述计算引擎升级组中的待升级计算引擎所运行的代码镜像进行更新升级,所述更新升级完成后,将所述经过代码镜像更新升级的计算引擎添加至所述计算引擎工作组。
当需要对多核处理器中的各个计算引擎所运行的代码镜像进行升级时,在所述各个计算引擎中划分出计算引擎工作组,所述计算引擎工作组用于维持所述多核处理器对当前计算任务的处理过程;然后划分出计算引擎升级组,所述计算引擎升级组可为多个,对所述计算引擎升级组中的待升级计算引擎进行更新升级,更新升级完成后,将经过更新升级的计算引擎添加至计算引擎工作组。重新对当前多核处理器中的各个计算引擎的升级条件进行判定划分,直至所述多核处理器中无需要升级的计算引擎。
实施例八
本发明实施例提供了与实施例一中一种多核处理器软件升级方法相对应的一种多核处理器软件升级设备,其结构示意图如图12所示,包括:
划分模块501和升级模块502;
其中:
所述划分模块501,用于当满足预设条件时,将所述多核处理器中的各个计算引擎划分为计算引擎工作组和计算引擎升级组;所述计算引擎升级组中包括至少一个待升级计算引擎;所述预设条件至少包括第一预设条件,所述第一预设条件为所述多核处理器中存在待升级计算引擎;
所述升级模块502,用于对所述计算引擎升级组中的待升级计算引擎所运行的代码镜像进行更新升级,所述更新升级完成后,将所述经过代码更新升级的计算引擎添加至所述计算引擎工作组。
应用本发明实施例提供的多核处理器软件升级设备,当多核处理器中存在待升级计算引擎时,用户会发送升级指令至所述多核处理器软件升级设备,所述多核处理器软件升级设备接收升级指令,停止待升级计算引擎的当前正在处理的计算任务,或等待所述待升级计算引擎完成计算任务的处理,处于空闲状态时,对所述待升级计算引擎所运行的代码镜像进行更新升级。同时保证计算引擎工作组能够正常处理所述多核处理器的当前计算任务的处理。在进行待升级计算引擎的软件升级过程中,保证了多核处理器计算任务的正常处理。
实施例九
本发明实施例在实施例八的基础上提供了另一种多核处理器软件升级设备的结构示意图,如图13及图14所示;
图13中,划分模块501中包括:
确定单元503,用于确定所述多核处理器的当前负荷处理量;
划分单元504,用于依据所述多核处理器的当前负荷处理量将所述多核处理器中的各个计算引擎划分为计算引擎工作组和计算引擎升级组;所述计算引擎工作组中各个计算引擎的处理量之和不小于所述多核处理器的当前负荷处理量。
本发明实施例中的划分单元504还可依据所述多核处理器中各个待升级计算引擎的计算任务处理属性对所述各个待升级计算引擎进行划分;划分出多个计算引擎升级组,将所述各个待升级计算引擎中具有相同计算任务处理属性的计算引擎划分至同一计算引擎升级组。
图14中,划分模块501中还包括:
优先级处理单元505,用于在所述划分单元504划分的所述计算引擎升级组为多个时,依据所述各个计算引擎升级组中包含的待计算引擎的计算任务处理属性确定所述各个计算引擎升级组的待处理优先级。
在对所述多个计算引擎升级组进行升级时,依据所述优先级处理单元505确定的各个计算引擎升级组的待处理优先级大小选择计算引擎升级组,对其中的待升级计算引擎进行升级。
对于上述装置实施例而言,由于其基本相应于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种多核处理器软件升级方法,其特征在于,包括:
当满足预设条件时,将所述多核处理器中的各个计算引擎划分为计算引擎工作组和计算引擎升级组;所述计算引擎升级组中包括至少一个待升级计算引擎;
所述预设条件至少包括第一预设条件,所述第一预设条件为所述多核处理器中存在待升级计算引擎;
对所述计算引擎升级组中的待升级计算引擎所运行的代码镜像进行更新升级,所述更新升级完成后,将所述经过代码镜像更新升级的计算引擎添加至所述计算引擎工作组。
2.根据权利要求1所述的方法,其特征在于,所述预设条件还包括第二预设条件;
所述第二预设条件为所述待升级计算引擎处于空闲状态。
3.根据权利要求1所述的方法,其特征在于,所述将多核处理器中的各个计算引擎划分为计算引擎工作组和计算引擎升级组包括:
确定所述多核处理器的当前负荷处理量;
依据所述多核处理器的当前负荷处理量将所述多核处理器中的各个计算引擎划分为计算引擎工作组和计算引擎升级组;所述计算引擎工作组中各个计算引擎的处理量之和不小于所述多核处理器的当前负荷处理量。
4.根据权利要求3所述的方法,其特征在于,当所述计算引擎升级组为多个时,所述将多核处理器中的各个计算引擎划分为计算引擎工作组和多个计算引擎升级组的过程中,对所述多个计算引擎升级组的划分包括:
依据所述多核处理器中各个待升级计算引擎的计算任务处理属性对所述各个待升级计算引擎进行划分;将所述各个待升级计算引擎中具有相同计算任务处理属性的计算引擎划分至同一计算引擎升级组。
5.根据权利要求4所述的方法,其特征在于,所述计算任务处理属性包括:
待升级计算引擎所处理计算任务的任务类型、待升级计算引擎对计算任务的处理速度、待升级计算引擎对计算任务的处理方式。
6.根据权利要求4所述的方法,其特征在于,还包括:
依据所述各个计算引擎升级组中包含的待升级计算引擎的计算任务处理属性确定所述各个计算引擎升级组的待处理优先级;
按所述待处理优先级大小依次选择计算引擎升级组,对所述选择的计算引擎升级组中的待升级计算引擎进行升级。
7.根据权利要求1或6所述的方法,其特征在于,所述对计算引擎升级组中的待升级计算引擎所运行的代码镜像进行更新升级包括:
依据所述计算引擎升级组中的各个待升级计算引擎的空闲时序依次对所述各个待升级计算引擎所运行的代码镜像进行更新升级。
8.一种多核处理器软件升级设备,其特征在于,包括:
划分模块,用于当满足预设条件时,将所述多核处理器中的各个计算引擎划分为计算引擎工作组和计算引擎升级组;所述计算引擎升级组中包括至少一个待升级计算引擎;所述预设条件至少包括第一预设条件,所述第一预设条件为所述多核处理器中存在待升级计算引擎;
升级模块,用于对所述计算引擎升级组中的待升级计算引擎所运行的代码镜像进行更新升级,所述更新升级完成后,将所述经过代码更新升级的计算引擎添加至所述计算引擎工作组。
9.根据权利要求8所述的设备,其特征在于,所述划分模块包括:
确定单元,用于确定所述多核处理器的当前负荷处理量;
划分单元,用于依据所述多核处理器的当前负荷处理量将所述多核处理器中的各个计算引擎划分为计算引擎工作组和计算引擎升级组;所述计算引擎工作组中各个计算引擎的处理量之和不小于所述多核处理器的当前负荷处理量。
10.根据权利要求9所述的设备,其特征在于,所述划分模块还包括:
优先级处理单元,用于在所述划分单元划分的所述计算引擎升级组为多个时,依据所述各个计算引擎升级组中包含的待升级计算引擎的计算任务处理属性确定所述各个计算引擎升级组的待处理优先级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210005163.XA CN102436390B (zh) | 2012-01-09 | 2012-01-09 | 多核处理器软件升级方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210005163.XA CN102436390B (zh) | 2012-01-09 | 2012-01-09 | 多核处理器软件升级方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102436390A true CN102436390A (zh) | 2012-05-02 |
CN102436390B CN102436390B (zh) | 2015-06-03 |
Family
ID=45984469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210005163.XA Expired - Fee Related CN102436390B (zh) | 2012-01-09 | 2012-01-09 | 多核处理器软件升级方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102436390B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103581008A (zh) * | 2012-08-07 | 2014-02-12 | 杭州华三通信技术有限公司 | 路由器及其软件升级方法 |
WO2014056455A1 (en) * | 2012-10-12 | 2014-04-17 | Huawei Technologies Co., Ltd. | Methods for zero loss and nonstop packet processing during system software upgrades |
CN104899064A (zh) * | 2015-06-03 | 2015-09-09 | 成都天奥信息科技有限公司 | 一种脉压导航雷达的双多核dsp的远程智能升级方法 |
WO2015196524A1 (zh) * | 2014-06-24 | 2015-12-30 | 中兴通讯股份有限公司 | 软件升级处理方法、装置、终端及服务器 |
WO2017193964A1 (zh) * | 2016-05-11 | 2017-11-16 | 中兴通讯股份有限公司 | 一种组件升级方法、装置和系统 |
CN109189449A (zh) * | 2018-10-24 | 2019-01-11 | 天津津航计算技术研究所 | 一种基于can总线的多fpga远程升级方法 |
CN109471658A (zh) * | 2018-11-19 | 2019-03-15 | 四川长虹电器股份有限公司 | 一种基于容器的快速搭建靶机环境的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101105756A (zh) * | 2007-08-21 | 2008-01-16 | 中兴通讯股份有限公司 | 多核终端的固件升级方法 |
CN101697128A (zh) * | 2009-10-10 | 2010-04-21 | 中兴通讯股份有限公司 | 版本升级方法和装置 |
CN101937349A (zh) * | 2010-08-28 | 2011-01-05 | 中兴通讯股份有限公司 | 一种无线通信终端及其软件升级方法 |
-
2012
- 2012-01-09 CN CN201210005163.XA patent/CN102436390B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101105756A (zh) * | 2007-08-21 | 2008-01-16 | 中兴通讯股份有限公司 | 多核终端的固件升级方法 |
CN101697128A (zh) * | 2009-10-10 | 2010-04-21 | 中兴通讯股份有限公司 | 版本升级方法和装置 |
CN101937349A (zh) * | 2010-08-28 | 2011-01-05 | 中兴通讯股份有限公司 | 一种无线通信终端及其软件升级方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103581008A (zh) * | 2012-08-07 | 2014-02-12 | 杭州华三通信技术有限公司 | 路由器及其软件升级方法 |
WO2014056455A1 (en) * | 2012-10-12 | 2014-04-17 | Huawei Technologies Co., Ltd. | Methods for zero loss and nonstop packet processing during system software upgrades |
US9030947B2 (en) | 2012-10-12 | 2015-05-12 | Futurewei Technologies, Inc. | Methods for zero loss and nonstop packet processing during system software upgrades |
CN103946800B (zh) * | 2012-10-12 | 2017-06-20 | 华为技术有限公司 | 系统软件升级期间的无损耗不间断报文处理方法 |
WO2015196524A1 (zh) * | 2014-06-24 | 2015-12-30 | 中兴通讯股份有限公司 | 软件升级处理方法、装置、终端及服务器 |
CN104899064A (zh) * | 2015-06-03 | 2015-09-09 | 成都天奥信息科技有限公司 | 一种脉压导航雷达的双多核dsp的远程智能升级方法 |
WO2017193964A1 (zh) * | 2016-05-11 | 2017-11-16 | 中兴通讯股份有限公司 | 一种组件升级方法、装置和系统 |
CN107368324A (zh) * | 2016-05-11 | 2017-11-21 | 中兴通讯股份有限公司 | 一种组件升级方法、装置和系统 |
CN109189449A (zh) * | 2018-10-24 | 2019-01-11 | 天津津航计算技术研究所 | 一种基于can总线的多fpga远程升级方法 |
CN109189449B (zh) * | 2018-10-24 | 2022-02-15 | 天津津航计算技术研究所 | 一种基于can总线的多fpga远程升级方法 |
CN109471658A (zh) * | 2018-11-19 | 2019-03-15 | 四川长虹电器股份有限公司 | 一种基于容器的快速搭建靶机环境的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102436390B (zh) | 2015-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102436390A (zh) | 多核处理器软件升级方法及设备 | |
CN1279469C (zh) | 一种处理器中处理数据的方法和处理数据的系统 | |
CN1198227A (zh) | 资源利用和控制装置以及控制方法 | |
CN103778009A (zh) | 中断处理方法及装置 | |
CN1202474C (zh) | 程序执行装置及便携式信息处理装置 | |
CN101840390B (zh) | 适用于多处理器系统的硬件同步电路结构及其实现方法 | |
CN1892606A (zh) | 集群代码管理的方法和系统 | |
CN1095121C (zh) | 用小规模硬件灵活应付多个中断处理的中断控制装置 | |
CN102597959B (zh) | 对包含多对多通信的多个计算处理进行调度的方法和系统 | |
CN110825690B (zh) | 多核处理器的核间通信方法及装置 | |
CN104166738A (zh) | 数据库查询处理的方法及装置 | |
CN105447092A (zh) | 一种缓存方法及装置 | |
CN105912386A (zh) | 线程管理方法及系统 | |
CN104462302A (zh) | 一种分布式数据处理协调方法及系统 | |
CN102567090A (zh) | 在计算机处理器中创建执行线程的方法和系统 | |
CN102789394A (zh) | 一种并行处理消息的方法、装置、节点及服务器集群 | |
CN105373453A (zh) | 数据备份方法及系统 | |
CN104394016A (zh) | Issu升级方法和装置 | |
CN115118738A (zh) | 基于rdma的灾备方法、装置、设备及介质 | |
CN1637712A (zh) | 中断控制装置及控制方法 | |
CN106325995A (zh) | 一种gpu资源的分配方法及系统 | |
CN109002286A (zh) | 基于同步编程的数据异步处理方法及装置 | |
CN103593606B (zh) | 上下文信息管理方法及系统 | |
CN102117261A (zh) | 一种芯片内部处理器之间的通信方法 | |
CN105683914B (zh) | 改进图形处理单元上的链式任务的性能的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C53 | Correction of patent of invention or patent application | ||
CB02 | Change of applicant information |
Address after: 100085 Beijing, Haidian District on the road, No. 3 Applicant after: Beijing Huawei Digital Technology Co.,Ltd. Address before: 100085 Beijing, Haidian District on the road, No. 3 Applicant before: Huawei Digit Technology Co., Ltd. |
|
COR | Change of bibliographic data |
Free format text: CORRECT: APPLICANT; FROM: HUAWEI DIGIT TECHNOLOGY CO., LTD. TO: BEIJING HUAWEI DIGITAL TECHNOLOGY CO., LTD. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150603 Termination date: 20190109 |
|
CF01 | Termination of patent right due to non-payment of annual fee |