基于片上网络的众核芯片管理结构容错的方法

文档序号:6402576阅读:110来源:国知局
专利名称:基于片上网络的众核芯片管理结构容错的方法
技术领域
本发明涉及一种容错方法,特别涉及一种基于片上网络的众核芯片管理结构容错的方法。
背景技术
随着半导体芯片集成能力的提高以及人们对芯片处理能力要求的提高,如今在单芯片上集成的处理器核数量已经从几十个增长到几百个。从目前的趋势来看,该数字还会继续增加,而且在未来的芯片中集成的核心数量将有可能超过一千个。对于这种众核(manycore,是指单块芯片上所集成的众多个运算核心)芯片而言,其片上互连目前多采用片上网络(Network-on-Chip,NoC,是一种用于芯片内部的片上互连网络),而其资源管理多采用层次化的管理结构。在基于片上网络的众核芯片资源管理中,容错管理是一个非常重要的方面,并已引起广泛关注。然而,现有的容错策略都无法保证整个芯片具有本质上的“顽强性”,即无法做到“只要还有一个核心能工作,芯片就会尽最大努力完成所指定的任务”。其原因除很难确保核心本身和互连结构等片上单元的“顽强性”之外,还在于现有的管理策略并不具备本质上的“顽强性”。这就使得在芯片发生核心故障时,如果恰好某些重要的管理核心及其冗余核心全都发生故障,则即使片上剩余的核心数量再多也无法维持芯片的继续工作,从而导致整块芯片过早报废。

发明内容
本发明的目的是为了解决某些重要的管理核心及其冗余核心全都发生故障,则即使片上剩余的核心数量再多也无法维持芯片的继续工作,从而导致整块芯片过早报废的问题,本发明提供一种基于片上网络的众核芯片管理结构容错的方法。本发明的基于片上网络的众核芯片管理结构容错的方法,所述方法为:所述基于片上网络的众核芯片管理结构中包括有多个核心,所述多个核心包括各层次的主控核心和冗余核心,所述冗余核心分为固定冗余核心和动态冗余核心,对芯片的管理结构进行分组,对每个组采用组内相互监视的管理方法;对芯片的所有核心采用自适应管理的方法;在每个组内采用选举的管理方法;对固定冗余核心采用硬件自唤醒的管理方法,对动态冗余核心采用软件自唤醒的管理方法。本发明的优点在于,本发明通过对芯片管理结构进行分组,对每个组采用组内相互监视的方法,保证组长和组员的故障能够被组内剩余无故障成员发现。对芯片的所有核心采用自适应管理的方法,使得每个核心都能够根据当前自身在管理结构中所处的地位而动态选择相应的管理方法。在每个组内采用选举的方法,以确保在发生各种故障时被破坏的管理结构能够动态地重建。对固定冗余核心采用硬件自唤醒的方法,对动态冗余核心采用软件自唤醒的方法,保证整个芯片在发生极特殊故障情况下依然能够利用无故障冗余核心维持工作。本发明的方法从本质上保证了众核芯片的管理结构能够根据芯片核心的损坏情况进行自适应调整;并保证了芯片能够在各种核心故障情况下充分利用片上剩余资源尽力完成应用任务;且管理结构的动态重建和调整完全自主执行,无需用户干预。


图1为本发明所述的众核芯片管理结构的原理示意图。其中Zk内的核心表示分为一组,O表示核心。图2为本发明具体实施方式
七所述的硬件自唤醒电路在实际应用于中的原理示意图,其中一表示链路, :1表示固定冗余核心,G表示工作的核心,G表示路由器。图3为图2中虚线圈内的结构示意图。
具体实施例方式具体实 施方式一:本实施方式所述的基于片上网络的众核芯片管理结构容错的方法,所述基于片上网络的众核芯片管理结构中包括有多个核心,所述多个核心包括各层次的主控核心和冗余核心,所述冗余核心分为固定冗余核心和动态冗余核心,对芯片的管理结构进行分组,对每个组采用组内相互监视的管理方法;对芯片的所有核心采用自适应管理的方法;在每个组内采用选举的管理方法;对固定冗余核心采用硬件自唤醒的管理方法,对动态冗余核心采用软件自唤醒的管理方法。
具体实施方式
二:结合图1说明本实施方式,本实施方式是对具体实施方式
一所述的的基于片上网络的众核芯片管理结构容错的方法进一步限定,所述对芯片的管理结构进行分组的方法为:按照不同层次主控核心的管辖区域对芯片管理结构进行分组:每组包括一个组长核心和多个组员核心,所述组长核心为芯片中某一层次上的主控核心,当所述组员核心处于所述芯片管理结构的最下层,则组员核心为计算核心,否则,组员核心为所述组长核心下一级的主控核心;所述芯片管理结构的每一层次上的主控核心还包括冗余核心;所述计算核心还包括冗余核心;经上述分组后获得的每个组采用组内相互监视的管理方法为:每组中所有工作的核心周期性的向该组其他核心发送自身的心跳数据包,该组的所有核心根据接收到的心跳数据包相应的监视该组的其他核心工作是否正常;所述所有核心还包括冗余核心。本方案中,每个层次都包含一定数量的固定冗余核心,并根据具体情况可能还包含一定数量的动态冗余核心。除冗余核心以外,片上所有工作核心周期性地向组内其他成员(包括冗余核心)发送自身的心跳数据包。在每个组内,组长核心负责监视组内其他成员的心跳数据包;同时,组员核心负责监视组长和其他组员的心跳数据包。图1中,管理结构包括四个层次,所述四个层次包括一级主控、二级主控、三级主控和计算机核心,所述一级主控为最高级主控。
具体实施方式
三:本实施方式是对具体实施方式
二所述的的基于片上网络的众核芯片管理结构容错的方法进一步限定,所述对芯片的所有核心采用自适应管理的方法为:每组的主控核心的职责至少包括冗余核心管理和动态分组,所述芯片的所有核心根据当前自身在管理层次中所处的角色而动态选择相应的管理方法。如图1所示,每个层次的主控核心都有各自的职责。
具体实施方式
四:本实施方式是对具体实施方式
三所述的的基于片上网络的众核芯片管理结构容错的方法进一步限定,所述冗余核心管理的方法为:在芯片初始化时,每组所有工作的核心都动态保存着一份当前片上剩余冗余核心列表;每当有一个冗余核心被使用,则将所述冗余核心从剩余冗余核心列表中剔除;当某工作的核心因负载过重而长时间温度过高时,该组的主控核心根据剩余冗余核心列表中冗余核心的剩余情况进行冗余核心的动态调整,并在调整后广播所述动态调整,所有工作的核心根据广播更新其自身保存的剩余冗余核心列表。
具体实施方式
五:本实施方式是对具体实施方式
三所述的的基于片上网络的众核芯片管理结构容错的方法进一步限定,所述动态分组的方法为:分组后,使每组的主控核心能根据当前该组其他工作的核心的负载状况和损坏情况向上一级的主控核心动态申请空闲核心和申请解散该组;同时,所述主控核心根据当前该组冗余核心的使用情况为下一级的主控核心动态分配空闲核心和批准下一级的主控核心解散其所在组、并收回该组的所有核心。
具体实施方式
六:本实施方式是对具体实施方式
二所述的的基于片上网络的众核芯片管理结构容错的方法进一步限定,所述在每个组内采用选举的管理方法为:组内的所有核心都按选举方法工作;所述选举方法为当组内冗余核心不可用的情况下,需在该组内剩余无故障的核心中选举产生候选主控核心;在选举完成之后,所述候选主控核心检查该组内是否还有剩余冗余核心可用,若有,则激活该冗余核心成为该组的主控核心;若否,则将自身提升为主控核心;所述冗余核心可用是指除下述两种情况以外的所有情况:第一种、芯片的所有冗余核心都已用光;第二种、一级主控的主控核心发生故障。所述一级主控为最高级主控。一级主控的主控核心发生故障时,候选组长核心检查该组内是否还有剩余冗余核心可用,若有,则激活该冗余核心成为该组的组长核心;若否,则将自身提升为组长核心,如图1中丨表示提升;对于管理计算核心的组长核心,如果该组长核心发现该组内所有计算核心都已发生故障,且已经没有冗余核心可以替换,则原组长核心降级为计算核心,如图1中丨表示降级。
具体实施方式
七:结合图2和图3说明本实施方式,本实施方式是对具体实施方式
六所述的的基于片上网络的众核芯片管理结构容错的方法进一步限定,所述对固定冗余核心采用硬件自唤醒的管理方法为:每个固定冗余核心采用硬件自唤醒电路进行自唤醒;所述硬件自唤醒电路包括数据包译码电路、看门狗电路和超时唤醒控制电路;硬件自唤醒电路的工作过程包括如下步骤:当芯片正常工作时,数据包译码电路对接收的数据包进行译码,若判定译码后的数据包为来自组内工作的核心发送的心跳数据包,则向超时唤醒控制电路发送结果有效信号;否则,向超时唤醒控制电路发送结果无效信号;超时唤醒控制电路根据数据译码电路发送来的信号判断是否复位看门狗电路,若在看门狗电路计时的时间T内收到数据包译码电路发送的结果有效信号,则复位看门狗电路;若在看门狗电路计时的时间T内没有收到数据包译码电路发送的结果有效信号时,则使能固定冗余核心的电源,将所述固定冗余核心唤醒,所述时间T设置为大于N次所述固定冗余核心所在组内采用选举机制选举替换的时间,N为芯片管理结构的层次总数。如图3所示,所述硬件自唤醒电路位于路由器和核心之间的网络接口(NetworkInterface, NI)中,其输出用来控制片上固定冗余核心的电源使能电路。
具体实施方式
八:本实施方式是对具体实施方式
一所述的的基于片上网络的众核芯片管理结构容错的方法进一步限定,对动态冗余核心采用软件自唤醒的管理方法为;为每个动态冗余核心设置定时器超时唤醒,且处于睡眠状态;当动态冗余核心发生定时器中断时,关闭动态冗余核心的睡眠状态并判断动态冗余核心的睡眠时间是否已经到达T,若否,则动态冗余核心再次进入睡眠状态,若是,则进行历时时间T的监听,并在时间T内判断是否收到动态冗余核心所在组内的所有工作的核心发送的心跳数据包,若是,则动态冗余核心再次进入睡眠状态,若否,则将所述动态冗余核心激活。本发明的容错方法,从本质上确保众核芯片的管理结构能够根据芯片的具体损坏情况而进行自适应地调整,以保证芯片能够充分利用剩余片上资源尽力完成应用任务,即保证在发生核心故障的情况下达到芯片服务时间的最大化。
权利要求
1.基于片上网络的众核芯片管理结构容错的方法,其特征在于,所述基于片上网络的众核芯片管理结构中包括有多个核心,所述多个核心包括各层次的主控核心和冗余核心,所述冗余核心分为固定冗余核心和动态冗余核心,对芯片的管理结构进行分组,对每个组采用组内相互监视的管理方法;对芯片的所有核心采用自适应管理的方法;在每个组内采用选举的管理方法;对固定冗余核心采用硬件自唤醒的管理方法,对动态冗余核心采用软件自唤醒的管理方法。
2.根据权利要求1所述的基于片上网络的众核芯片管理结构容错的方法,其特征在于,所述对芯片的管理结构进行分组的方法为: 按照不同层次主控核心的管辖区域对芯片管理结构进行分组:每组包括一个组长核心和多个组员核心,所述组长核心为芯片中某一层次上的主控核心,当所述组员核心处于所述芯片管理结构的最下层,则组员核心为计算核心,否则,组员核心为所述组长核心下一级的主控核心;所述芯片管理结构的每一层次上的主控核心还包括冗余核心;所述计算核心还包括冗余核心; 经上述分组后获得的每个组采用组内相互监视的管理方法为:每组中所有工作的核心周期性的向该组其他核心发送自身的心跳数据包,该组的所有核心根据接收到的心跳数据包相应的监视该组的其他核心工作是否正常;所述所有核心还包括冗余核心。
3.根据权利要求2所述的基于片上网络的众核芯片管理结构容错的方法,其特征在于,所述对芯片的所有核心采用自适应管理的方法为: 每组的主控核心的职责至少包括冗余核心管理和动态分组,所述芯片的所有核心根据当前自身在管理层次中所处的角色而动态选择相应的管理方法。
4.根据权利要求3所述的基于片上网络的众核芯片管理结构容错的方法,其特征在于,所述冗余核心管理的方 法为: 在芯片初始化时,每组所有工作的核心都动态保存着一份当前片上剩余冗余核心列表;每当有一个冗余核心被使用,则将所述冗余核心从剩余冗余核心列表中剔除;当某工作的核心因负载过重而长时间温度过高时,该组的主控核心根据剩余冗余核心列表中冗余核心的剩余情况进行冗余核心的动态调整,并在调整后广播所述动态调整,所有工作的核心根据广播更新其自身保存的剩余冗余核心列表。
5.根据权利要求3所述的基于片上网络的众核芯片管理结构容错的方法,其特征在于,所述动态分组的方法为:分组后,使每组的主控核心能根据当前该组其他工作的核心的负载状况和损坏情况向上一级的主控核心动态申请空闲核心和申请解散该组;同时,所述主控核心根据当前该组冗余核心的使用情况为下一级的主控核心动态分配空闲核心和批准下一级的主控核心解散其所在组、并收回该组的所有核心。
6.根据权利要求2所述的基于片上网络的众核芯片管理结构容错的方法,其特征在于,所述在每个组内采用选举的管理方法为: 组内的所有核心都按选举方法工作;所述选举方法为当组内冗余核心不可用的情况下,需在该组内剩余无故障的核心中选举产生候选主控核心;在选举完成之后,所述候选主控核心检查该组内是否还有剩余冗余核心可用,若有,则激活该冗余核心成为该组的主控核心;若否,则将自身提升为主控核心; 所述冗余核心可用是指除下述两种情况以外的所有情况:第一种、芯片的所有冗余核心都已用光; 第二种、一级主控的主控核心发生故障。
7.根据权利要求6所述的基于片上网络的众核芯片管理结构容错的方法,其特征在于,所述对固定冗余核心采用硬件自唤醒的管理方法为: 每个固定冗余核心采用硬件自唤醒电路进行自唤醒; 所述硬件自唤醒电路包括数据包译码电路、看门狗电路和超时唤醒控制电路; 硬件自唤醒电路的工作过程包括如下步骤: 当芯片正常工作时,数据包译码电路对接收的数据包进行译码,若判定译码后的数据包为来自组内工作的核心发送的心跳数据包,则向超时唤醒控制电路发送结果有效信号;否则,向超时唤醒控制电路发送结果无效信号; 超时唤醒控制电路根据数据译码电路发送来的信号判断是否复位看门狗电路,若在看门狗电路计时的时间T内收到数据包译码电路发送的结果有效信号,则复位看门狗电路;若在看门狗电路计时的时间T内没有收到数据包译码电路发送的结果有效信号时,则使能固定冗余核心的电源,将所述固定冗余核心唤醒,所述时间T设置为大于N次所述固定冗余核心所在组内采用选举机制选举替换的时间,N为芯片管理结构的层次总数。
8.根据权利要求1所述的基于片上网络的众核芯片管理结构容错的方法,其特征在于,对动态冗余核心采用软件自唤醒的管理方法为; 为每个动态冗余核心设置定时器超时唤醒,且处于睡眠状态; 当动态冗余核心发生定时器中断时,关闭动态冗余核心的睡眠状态并判断动态冗余核心的睡眠是否已经到 达T,若否,则动态冗余核心再次进入睡眠状态,若是,则进行历时时间T的监听,并在时间T内判断是否收到动态冗余核心所在组内的所有工作的核心发送的心跳数据包,若是,则动态冗余核心再次进入睡眠状态,若否,则将所述动态冗余核心激活。
全文摘要
基于片上网络的众核芯片管理结构容错的方法,涉及一种容错方法。为了解决某些重要的管理核心及其冗余核心全都发生故障,则即使片上剩余的核心数量再多也无法维持芯片的继续工作,从而导致整块芯片过早报废的问题。所述方法包括基于片上网络的众核芯片管理结构中包括有多个核心,所述多个核心包括各层次的主控核心和冗余核心,所述冗余核心分为固定冗余核心和动态冗余核心,对芯片的管理结构进行分组,对每个组采用组内相互监视的管理方法;对芯片的所有核心采用自适应管理的方法;在每个组内采用选举的管理方法;对固定冗余核心采用硬件自唤醒的管理方法,对动态冗余核心采用软件自唤醒的管理方法。本方法用于对众核芯片的管理结构进行容错。
文档编号G06F11/16GK103197994SQ201310150849
公开日2013年7月10日 申请日期2013年4月26日 优先权日2013年4月26日
发明者王进祥, 吴子旭, 付方发, 路禹 申请人:哈尔滨工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1