法律状态公告日
法律状态信息
法律状态
2016-05-04
授权
授权
2013-11-20
实质审查的生效 IPC(主分类):G06F11/07 申请日:20130424
实质审查的生效
2013-08-21
公开
公开
技术领域
本发明涉及众核处理器领域,特别涉及一种优化众核系统修复性能的运算流图映射方法及装置。
背景技术
目前,随着半导体工艺的日益进步,集成度越来越高,能够在单位面积上集成的门数越来越多。近年来,业界设计者已经意识到处理器芯片的设计面临着两个问题:一是波拉克法则所提出的,单个芯片运算效率的提升只正比于设计复杂度(门数)的平方根,即意味的增加单个芯片的设计复杂度提升运行效率已经达到了瓶颈;二是对系统可靠性的关注日益增加,芯片在使用的时候,一个基本元件或运算单元故障都有可能导致整个系统崩溃,如何将一个系统芯片从故障中恢复,提高系统的寿命也成为了一个问题。
单核系统不仅在性能提高上,由于设计复杂带来的能耗问题上,还是在应对可靠性故障的处理措施上,都无法满足设计者和用户的要求。增加核的数量,多核协作并行处理可以提高系统任务处理效率;另一方面,众核系统架构拥有众多冗余的资源,为处理器系统的自我修复提供了条件。图1展示了一种矩形结构的众核架构,拥有众多冗余的核、路由和通信连接线。
现有的技术主要有两种:一种为当检测某一个单核发生故障后,会在控制核的协作下进行重启以达到恢复的目的;另外一种为当检测到某一个单核发生故障且重启后也无法恢复的时候,将所述某核从众核系统中剥离,利用冗余的核对系统的业务进行重新分配,以恢复系统功能。
上述现有两种提高众核处理器的可靠性的方法的缺点为:第一种方案虽然能够恢复由环境、高能粒子等引起的信号变化产生的软错误,若是该核硬件上产生故障,重启则无法解决;第二种方案虽然提供了一种可靠性高的恢复方案,但是该方案没有提供一种能够提高自修复性能的映射方法,如果某一个单核出现了故障,并且在该核周围没有空闲的核,则该核任务将会被重新分配至距离原位置较远的位置,或者多个核任务将会移动,导致修复后系统性能下降过大并且自修复时延过长功耗过大,多次故障自修复后影响更大。
为此,如何对一个系统的运算流图进行众核架构映射,使得故障自修复时延短,修复后对系统性能影响低,成为了一个有待解决的问题。本发明针对上述问题,在编号为513080102的课题的资助下,提出了一种优化众核系统修复性能的运算流图映射方法及装置。
发明内容
本发明针对现有技术存在的上述不足,提供了一种优化众核系统修复性能的运算流图映射方法,其目的在于解决众核系统因为故障后,自修复时延长,自修复后系统性能下降等问题。
本发明通过以下技术方案实现:
一种优化众核系统修复性能的运算流图映射方法,包括:
对于一个已经分配好任务的众核系统运算流图,为每一个节点的任务进行可靠性计算,生成每个节点任务的可靠性保障优先级;
基于可靠性保障优先级生成节点所需预留的邻近空闲核数目;
基于可靠性保障优先级列表和系统运算流图完成运算流图到目标众核架构的映射。
较佳的,对于一个已经分配好任务的众核系统运算流图,为每一个节点的任务进行可靠性计算,还包括:
任务越是重要,可靠性保障优先级越高;
任务故障概率越高,可靠性保障优先级越高;
或,综合考虑这两方面因素。
较佳的,根据可靠性保障优先级生成节点所需占用的邻近空闲核数目方法,还包括:
生成邻近空闲核需考虑任务节点总数和众核架构资源,不同优先级分配邻近空闲核数目由该方法自动生成或者用户手动定义,保存在可靠性保障优先级列表中;众核架构资源由用户配置。
较佳的,邻近空闲核,其特征在于:
邻近空闲核的范围由用户定义。
较佳的,其特征在于,根据可靠性保障优先级列表和系统运算流图完成运算流图到目标众核架构的映射,包括步骤:
第一步,选取未映射节点中可靠性保障优先级最高的节点;
第二歩,查询目标众核架构上是否存在未分配核,若存在则进行第三歩,否则进行第五歩;
第三歩,查询是否存在一片区域满足节点邻近空闲核数要求,若不存在则进行第四步,否则进行第六步;
第四步,降低邻近空闲核数要求,重新进行第三步;
第五步,选取已映射节点中可靠性保障优先级最低的且拥有邻近空闲核数的节点,将其空闲核作为映射目标;
第六步,将节点映射到该区域;
第七步,检查是否映射完毕,若完成则进行第八步,否则回到第一步;
第八步,在每个节点区域内根据一定方法选择一个核作为初始位置进行配置,完成系统配置;
第九步,其余未配置核作为空闲备用核。
本发明还提供了一种优化众核系统修复性能的运算流图映射装置,其目的在于解决众核系统因为故障后,自修复时延长,自修复后系统性能下降等问题。
一种优化众核系统修复性能的运算流图映射装置,包括:
可靠性预估模块,用于对系统运算流图的每一个节点任务进行可靠性计算,并生成可靠性保障优先级列表;
优先级存储单元,用于存储可靠性保障优先级列表;
映射配置单元,用于将系统运算流图根据可靠性保障优先级列表映射到目标众核架构之上,完成系统配置;
映射区域存储单元,用于存储每个任务节点的映射区域。
较佳的,可靠性预估模块,根据该任务的重要性和故障概率大小,自动决定该任务的优先级大小;
任务越是重要,可靠性保障优先级越高;任务故障概率越高,可靠性保障优先级越高;或,综合考虑这两方面因素。
较佳的,可靠性预估模块,生成的优先级列表以需要预留邻近空闲核数目表示,邻近空闲核数目由优化众核系统修复性能的运算流图映射装置自动生成或者由用户配置。
较佳的,优先级存储单元,在映射分配无法完成时,修改以减少所需的预留邻近空闲核数目。
较佳的,映射配置单元,还用于在映射分配无法完成时,对优先级存储单元提出修改请求。
较佳的,映射区域存储单元,还用于在系统自修复时,指导需修复的任务优先配置在该核分配的区域内。
应用本发明实施例提供的优化众核系统修复性能的运算流图映射方法及装置,由于对于可靠性低的运算节点,在其附近预留了一定量的空闲核,使得在系统故障自修复时,能够在故障附近区域快速找到修复地点,完成自修复,减少修复时延;并且由于对整个系统在众核架构上相对位置变动较小,大大降低了自修复对系统性能的影响;尤其对于一个脆弱任务节点多次故障自修复更为有效。
附图说明
图1所示的是一个4×4处理器阵列架构;
图2是本发明实施例一提供的一种优化众核系统修复性能的运算流图映射方法流程图;
图3是本发明实施例一提供的一种可靠性保障优先级列表示意图;
图4是本发明实施例一提供的一种优化众核系统修复性能的运算流图映射方法流程中运算流图映射配置步骤的具体步骤流程图;
图5是本发明实施例一提供的一种系统的运算流图;
图6是本发明实施例一提供的节点可靠性保障优先级进行到目标众核架构映射配置的示意图;
图7是本发明实施例二提供的一种优化众核系统修复性能的运算流图映射装置的具体结构图。
具体实施方式
以下将结合本发明的附图,对本发明实施例中的技术方案进行清楚、完整的描述和讨论,显然,这里所描述的仅仅是本发明的一部分实例,并不是全部的实例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。
为了便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例作进一步的解释说明,且各个实施例不构成对本发明实施例的限定。
实施例一
该实施例提供的一种优化众核系统修复性能的运算流图映射方法的处理流程如图2所示,包括以下处理步骤:
步骤201,对于一个已经分配好的系统运算流图,对每一个节点的任务进行可靠性计算。所述的计算方法,主要考虑该任务的重要性和故障概率大小,当然,也可能考虑其它一些因素。任务越是重要,可靠性保障优先级越高;任务故障概率越高,可靠性保障优先级越高。这一步骤将综合计算每一个任务的状况,并自动给出可靠性保障优先级。
步骤202,根据步骤201给出的每个节点任务的可靠性保障优先级,结合任务节点总数和目标众核架构资源状况,自动或者人工确定每个节点在映射的时候需要预留邻近空闲核的数目,制定出可靠性保障优先级列表;显而易见,所述众核架构资源,不仅限于图1所示四乘以四的矩形结构,更大更小矩形,圆形或其他类似结构均包含在内。
当一个任务节点可靠性保障优先级越高时,分配给该节点的邻近空闲核数目越高。当然,也可以设置在某一优先级范围内给予一定的邻近空闲核预留数目。
该实施例提供的一种可靠性保障优先级列表示意图如图3所示。表的每一组数据包含节点任务的名称和该节点任务映射时需要预留邻近空闲核的数目。同时,由于可能在映射的时候不能满足某一些节点的预留要求,可以根据相应情况修改可靠性保障优先级列表中的预留邻近空闲核数目。
所述的邻近空闲核,根据不同的情况有不同的定义;当空闲核与某核距离小于等于X时,则为该核的邻近空闲核,其中X为大于等于1的整数。
步骤203,基于步骤202给出的可靠性保障优先级列表,将系统每一节点任务按照优先级由高到低逐一进行到目标众核架构的映射。
该实例提供的一种根据系统运算流图和节点可靠性保障优先级进行到目标众核架构映射配置的步骤流程如图4所示,主要包括:
步骤400,初始步骤,映射方法已知系统运算流图和运算流图中每个节点的可靠性保障优先级信息以及映射目标众核架构资源状况;
步骤401,从未映射配置的节点任务中,选取可靠性保障优先级最高的一个节点,将该节点作为待映射节点;
步骤402,检查目标众核架构中是否还有未分配的核,如果还存在核未完毕,则进行步骤403,若所有的核都已分配完毕,则进行步骤405;
步骤403,根据步骤202给出的可靠性保障优先级列表,检查是否在众核架构上存在一片区域满足该任务节点的可靠性保障要求,如果无法满足,则进行步骤404,如果可以满足,则将该区域作为映射目标,进行步骤406;
步骤404,在可靠性保障优先级列表中,降低该节点任务可靠性保障要求,即减少该节点预留邻近空闲核数目,重新执行步骤403;
步骤405,由于众核架构上所有节点均已分配完毕,根据可靠性保障优先级从低到高选取已分配的任务节点,如果该节点分配了预留空闲核,这将该预留空闲核作为待分配节点的映射目标。
步骤406,步骤403和405已经确定了待分配任务节点的映射目标,将待映射节点映射到目标区域,并将分配的核标记为已分配;
步骤407,检查是否所有任务节点都完成了映射,如果没有完成则重新执行步骤401;
步骤408,在每个任务节点对应的分配区域内,根据一定的算法选取一个核作为配置核,配置相应任务;
步骤409,映射结束,完成众核系统配置,所有未配置核设置为空闲,可以在运行核出现故障时作为替代核配置加入到系统中。
比如,如图5图6所示的一种根据系统运算流图和节点可靠性保障优先级进行到目标众核架构映射配置的示意图,其中:
系统运算流图每个任务节点旁注明了该节点的可靠性保障优先级,即映射配置是需要预留的邻近空闲核数目;
根据可靠性保障优先级顺序,依次对C、D、E、A、B、G和F节点进行分配,值得注意的是,在分配F时,已经没有未分配核,选取G的预留空闲核作为F映射目标核;
根据一定的算法在每个任务节点区域内选取一个核作为配置核,完成系统配置,其余核作为空闲核以便系统自修复时使用,特别的,故障核优先修复在分配给该核的区域内。
由上述本发明实施例提供的技术方案可以看出,本发明实施例通过对系统运算流图每一个任务节点进行可靠性计算,对于可靠性低的节点预留多的空闲核在其附近,对于可靠性低的任务核出现故障需要自修复的时候,能够快速在其附近找到空闲核完成自修复,高效快速的完成系统恢复;并且因为能避免出现自修复后核位置距离原位置太远,以及需要移动多个核任务的情况,大大降低了由于自修复对系统性能的影响,尤其对于一个脆弱任务节点多次故障自修复更为有效。
实施例二
该实施例提供的一种优化众核系统修复性能的运算流图映射装置,其具体结构如图7所示,包括如下模块:
可靠性预估模块601,用于对系统运算流图的每一个节点任务进行可靠性计算,并生成可靠性保障优先级列表;
优先级存储单元602,用于存储可靠性保障优先级列表;
映射配置单元603,用于将系统运算流图根据可靠性保障优先级列表映射到目标众核架构之上,完成系统配置;
映射区域存储单元604,用于存储每个任务节点的映射区域。
具体的,所述的可靠性预估模块601,根据该任务的重要性和故障概率大小,自动决定该任务的优先级大小,任务越是重要,可靠性保障优先级越高;任务故障概率越高,可靠性保障优先级越高。需综合考虑这两方面因素,当然也可以综合考虑其他因素。
具体的,所述的可靠性预估模块601,生成的优先级列表以需要预留邻近空闲核数目表示,所述的邻近空闲核数目可以自动生成或者由用户配置。
具体的,所述的优先级存储单元602,在映射分配无法完成时,可以进行修改,减少所需的预留邻近空闲核数目。
具体的,所述映射配置单元603,还用于在映射分配无法完成时,对优先级存储单元602提出修改请求。
具体的,所述映射区域存储单元604,还用于在系统自修复时,指导需修复的任务优先配置在该核分配的区域内。
应用本发明实施例的装置完成能够优化众核架构系统修复性能的映射具体步骤与前述方法实施例类似,此处不再赘述。
本领域普通技术人员可以理解上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括上述各方法的实施例流程。其中,所述的存储介质可谓磁碟、光盘、只读存储记忆体或随机存储记忆体等。
综上所述,本发明实施例通过对系统运算流图每一个任务节点进行可靠性计算,对于可靠性低的节点预留多的空闲核在其附近,对于可靠性低的任务核出现故障需要自修复的时候,能够快速在其附近找到空闲核完成自修复,高效快速的完成系统恢复;并且因为能避免出现自修复后核位置距离原位置太远,以及需要移动多个核任务的情况,大大降低了由于自修复对系统性能的影响,尤其对于一个脆弱任务节点多次故障自修复更为有效。
本发明实施例可以较好的解决众核系统因为故障后,自修复时延长,自修复后系统性能下降等问题。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限与此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
机译: 用于在至少一个流子图上使用邻接运算符组合来生成优化的流图的方法和装置
机译: 将单个静态分配指令映射到数据流体系结构中的数据流图的方法和装置
机译: 用于将高速缓存条目专用于某些流以进行性能优化的方法和装置