首页> 中国专利> 众核芯片及应用该众核芯片的路由方法

众核芯片及应用该众核芯片的路由方法

摘要

本公开提供了一种众核芯片及应用该众核芯片的路由方法。该众核芯片包括:多个第一处理核;多个第一路由节点,所述多个第一路由节点相互之间直接或间接地信号连接,每个所述第一路由节点与一个所述第一处理核信号连接;至少一个第二路由节点,每个所述第二路由节点与至少部分所述第一路由节点信号连接;至少一个第二处理核,每个所述第二处理核与一个所述第二路由节点信号连接,所述第二处理核用于替换出现故障的所述第一处理核执行待处理任务。本公开的实施例能够最大化地利用存在故障核的众核芯片。

著录项

  • 公开/公告号CN116028424A

    专利类型发明专利

  • 公开/公告日2023-04-28

    原文格式PDF

  • 申请/专利权人 无锡灵汐类脑科技有限公司;

    申请/专利号CN202211726279.2

  • 发明设计人 何伟;祝夭龙;

    申请日2022-12-30

  • 分类号G06F15/173(2006.01);G06F9/50(2006.01);

  • 代理机构北京天昊联合知识产权代理有限公司 11112;北京天昊联合知识产权代理有限公司 11112;

  • 代理人彭瑞欣;冯建基

  • 地址 214028 江苏省无锡市新吴区弘毅路10号金乾座1701-1710室

  • 入库时间 2023-06-19 19:27:02

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-05-16

    实质审查的生效 IPC(主分类):G06F15/173 专利申请号:2022117262792 申请日:20221230

    实质审查的生效

  • 2023-04-28

    公开

    发明专利申请公布

说明书

技术领域

本公开涉及芯片技术领域,特别涉及一种众核芯片及应用该众核芯片的路由方法。

背景技术

随着人工智能技术的发展,用户对芯片处理能力的要求越来越高。由于单核芯片的处理能力有限,而众核芯片可以将处理任务分配给多个处理核并行执行,显著提升了芯片的处理能力,因此,针对众核芯片的研究越来越受重视。

发明内容

本公开提供一种众核芯片及应用该众核芯片的路由方法。

第一方面,本公开提供了一种众核芯片,包括:

多个第一处理核;

多个第一路由节点,所述多个第一路由节点相互之间直接或间接地信号连接,每个所述第一路由节点与一个所述第一处理核信号连接;

至少一个第二路由节点,每个所述第二路由节点与至少部分所述第一路由节点信号连接;

至少一个第二处理核,每个所述第二处理核与一个所述第二路由节点信号连接,所述第二处理核用于替换出现故障的所述第一处理核执行待处理任务。

第二方面,本公开提供了一种基于众核芯片的路由方法,包括:

基于路由信息确定待处理任务对应的目标处理核,其中,所述路由信息是将所述待处理任务传送至所述目标处理核对应的目标路由节点的路径信息,所述目标处理核是所述多个第一处理核中的处理核,所述目标路由节点是所述多个第一路由节点中的路由节点;

判断所述目标处理核是否是故障核;

在确定所述目标处理核为故障核的情况下,所述目标处理核对应的第一路由节点将所述待处理任务转路由至第二路由节点,由第二处理核处理。

第三方面,本公开提供了一种众核芯片,包括:

多个第一处理核;

第一拓扑网络,所述第一拓扑网络包括多个第一路由节点,所述多个第一路由节点相互之间直接或间接地信号连接,每个所述第一路由节点与一个所述第一处理核信号连接;

第二拓扑网络,所述第二拓扑网络包括至少一个第二路由节点,每个所述第二路由节点与所述第一拓扑网络中至少部分所述第一路由节点信号连接;

至少一个第二处理核,每个所述第二处理核与一个所述第二路由节点信号连接;

待处理任务通过所述第一拓扑网络或所述第二拓扑网络到达目标处理核,所述目标处理核用于处理所述待处理任务。

第四方面,本公开提供了一种基于众核芯片的路由方法,基于本公开实施例提供的所述众核芯片,所述路由方法包括:

基于路由任务在第一拓扑网络和第二拓扑网络的路由步长对比,第一拓扑网络和第二拓扑网络的负载对比,第一拓扑网络和第二拓扑网络的延迟对比,和/或第一拓扑网络的拥塞情况,确定所述众核芯片的路由策略。

本公开实施例提供的众核芯片,由于第二路由节点与至少部分第一路由节点信号连接,当第一处理核出现故障时,可以通过第一路由节点和第二路由节点重构路由信息,将待处理任务传输至第二处理核,并利用第二处理核替换出现故障的第一处理核执行待处理任务,不需要修改映射软件,即可继续使用众核芯片执行待处理任务,更不需要更换或抛弃众核芯片,最大化地利用存在故障核的众核芯片,降低了众核芯片的制作成本和用户的使用成本。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用来提供对本公开的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其他特征和优点对本领域技术人员将变得更加显而易见,在附图中:

图1为本公开实施例提供的一种众核芯片的部分结构示意图;

图2为本公开实施例提供的另一种众核芯片的部分结构示意图;

图3为本公开实施例提供的再一种众核芯片的部分结构示意图;

图4为本公开实施例提供的一种路由方法的流程图;

图5为本公开实施例提供的一种路由方法的流程图。

具体实施方式

为使本领域的技术人员更好地理解本公开的技术方案,以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。

如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。

本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。

除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。

众核芯片包括多个处理核(或者说计算引擎)和路由节点,每个路由器对应一个处理核,多个处理核分别与各自对应的路由节点信号连接。在芯片的生产过程中,由于制造工艺等原因,一些处理核不可避免地存在故障,这些存在故障的处理核无法执行算法(或者不能将算法映射至这些故障处理核),导致该芯片不能被使用,甚至整个多芯片架构的众核芯片也不得不全部抛弃,最终导致众核芯片的制造成本较高。另外,在众核芯片的使用过程中,由于过热、出错等原因导致一些处理核暂时无法正常使用,如果想要继续使用存在故障处理核的芯片,则需要修改软件,在映射时避开故障核。但是这会使得软件通用性下降。因此,需要提供一种众核芯片及路由方法,可以重构路由,以便最大化利用存在故障核的芯片。

图1为本公开实施例提供的一种众核芯片的部分结构示意图。参照图1,本公开实施例提供的众核芯片包括:

多个第一处理核11;其中,第一处理核11可用于执行计算、存储、读取等待处理任务。

多个第一路由节点12,多个第一路由节点12相互之间直接或间接地信号连接,每个第一路由节点12与一个第一处理核11信号连接。

在一些实施例中,相邻两个第一路由节点12之间采用直接连接方式连接,不相邻的两个第一路由节点12之间采用间接连接方式连接。其中,间接连接是指不相邻的两个第一路由节点12之间可以设置一个或多个第一路由节点12。

在本公开实施例中,多个第一路由节点12相互之间直接或间接地信号连接,构成了第一拓扑网络,待处理任务可以通过第一拓扑网络传输至目标处理核。

在本公开实施例中,众核芯片还包括:至少一个第二路由节点22,每个第二路由节点与至少部分第一路由节点信号连接。多个第一路由节点12和第二路由节点22构成了第二拓扑网络,待处理任务可以通过第二拓扑网络传输至目标处理核。

至少一个第二处理核21,每个第二处理核与一个第二路由节点信号连接,第二处理核用于替换第一处理核。

在本公开实施例中,第二处理核21的功能与第一处理核11的功能相同,即第二处理核21可以用于执行计算、存储、读取等待处理任务。

本公开实施例提供的众核芯片,由于第二路由节点与至少部分第一路由节点信号连接,当第一处理核出现故障时,可以通过第一路由节点和第二路由节点重构路由信息,将待处理任务传输至第二处理核,并利用第二处理核替换出现故障的第一处理核执行待处理任务,不需要修改映射软件,即可继续使用众核芯片执行待处理任务,更不需要更换或抛弃众核芯片,最大化地利用了存在故障核的众核芯片,降低了众核芯片的制作成本和用户的使用成本。

在一些实施例中,第二路由节点和第二处理核的数量均为一个,第二路由节点与全部或部分第一路由节点信号连接。

如图1所示,众核芯片包括一个第二路由节点22和一个第二处理核21,第二处理核21与第二路由节点22直接信号连接,而且,第二路由节点22可以与众核芯片中所有的第一路由节点12信号连接,第二处理核21通过第二路由节点22可以直接信号连接到任一第一路由节点12。

在本公开实施例中,第二路由节点22配置有地址标识,通过地址标识可以清楚地定位路由节点。

在为众核芯片映射待处理任务时,第二处理核21不映射待处理任务。当众核芯片中执行待处理任务的第一处理核11出现故障时,将该出现故障的第一处理核11确定为目标处理核,利用第二处理核12代替出现故障的目标处理核执行待处理任务。例如,目标处理核对应的第一路由节点12利用第二路由节点22的标识替换该第一路由节点12的标识,以及,利用第二处理核21的地址代替该目标处理核的地址,从而可以将待处理任务传送至第二处理核21,以供第二处理核21执行待处理任务。

如图2所示,众核芯片包括一个第二路由节点22和一个第二处理核21,第二处理核21与第二路由节点22直接信号连接,而且,第二路由节点22与众核芯片中部分第一路由节点12信号连接。例如,第二路由节点22与第一列中的第一路由节点12直接信号连接,第二路由节点22还与第一行和第四行中的第一路由节点12直接信号连接,第二路由节点22与众核芯片中其他的第一路由节点12间接信号连接,即第二路由节点22可以通过直接连接的第一路由节点12与其他的第一路由节点12间接地信号连接。

在一些实施例中,按照预设步长将第一路由节点12分为多个路由节点组。例如,预设步长为5,则任一第一路由节点12经过第二路由节点22,可以在每5个步长内到达目标处理核,以此进行分组可以降低拓扑网络的复杂度,从而可以降低拓扑网络的延时、拥塞和功耗。

在另一些实施例中,多个第一路由节点按照区域位置被分为多个路由节点组,即从第一路由节点12的物理位置上将多个第一路由节点划分为多个路由节点分组,例如,将相邻的十个第一路由节点12划分为一个路由节点分组。

在一些实施例中,第二路由节点和第二处理核的数量为两个或两个以上。多个第一路由节点被分为多个路由节点组,且路由节点组的数量与第二路由节点数量一致,每个第二路由节点与一个路由节点组内的全部或部分第一路由节点信号连接。

如图3所示,众核芯片包括两个第二路由节点22和两个第二处理核21,第二处理核21和第二路由节点22一对一信号连接。在一些实施例中,两个第二路由节点22分别与部分第一路由节点12信号连接。与两个第二路由节点22信号连接的第一路由节点12不重复,即每个第一路由节点12仅与其中一个第二路由节点22信号连接。在另一些实施例中,两个第二路由节点22覆盖了全部的第一路由节点12,即,将众核芯片中所有的第一路由节点分成两组,每组第一路由节点与其中一个第二路由节点22信号连接。

在一些实施例中,多个第二路由节点22可以直接或间接信号连接。

在一些实施例中,多个第一处理核以阵列方式设置,每行第一处理核和每列第一处理核交叉限定出多个路由区域;其中,路由区域是指能够设置第一路由节点的区域。多个第一路由节点以阵列方式设置,每个第一路由节点设置于一个路由区域。

如图1至图3所示,第一处理核11和第一路由节点12分别形成处理核阵列和路由节点阵列,两个阵列交叉设置,即,在处理核阵列中,每行第一处理核和每列第一处理核的交叉区域限定出多个路由区域,每个路由区域可以设置一个第一路由节点12。每行第一路由节点12和每列第一路由节点12的交叉区域限定出多个处理核区域,每个处理核区域可以设置一个第一处理核11。将多个第一路由节点12间隔设置在多个路由区域,将多个第一处理核11间隔设置在多个处理核区域,形成处理核阵列和路由节点阵列交叉阵列。

在一些实施例中,阵列设置的每个第一路由节点12均与第二路由节点22信号连接,如图1所示。在一些实施例中,阵列设置的第一路由节点12中仅有部分与第二路由节点22信号连接,如图2所示。在一些实施例中,阵列设置的第一路由节点12可以与一个第二路由节点22信号连接,也可以与多个第二路由节点信号连接,如图3所示。

在一些实施例中,在部分第一路由节点与第二路由节点信号连接的情况下,在行方向和/或列方向上,每间隔预设数量的第一路由节点与第二路由节点信号连接。

其中,间隔的第一路由节点12的数量可以预先设定。如,预设数量可以是3个,那么,在行方向上,每间隔3个第一路由节点12与第二路由节点22信号连接。在列方向上,每间隔3个第一路由节点12与第二路由节点22信号连接。第一路由节点12间隔地与第二路由节点22信号连接,既可以降低众核芯片的复杂度,又可以使待处理任务从任意一个第一处理核11在预设步长内达到目标处理核。

在一些实施例中,众核芯片包括衬底和依次叠置的一个或多个功能层,多个第一处理核11和至少一个第二处理核21设置在众核芯片的同层或不同层。

在一些实施例中,众核芯片包括一个或多个网络层,多个第一路由节点和至少一个第二路由节点通过在一个或多个网络层互连。

示例地,将多个第一路由节点和第二路由节点设置在一个网络层,多个第一路由节点和第二路由节点通过一个网络层互连。或者,将多个第一路由节点设置在一个网络层,将第二路由节点设置在另一个网络层,多个第一路由节点和第二路由节点通过两个网络层互连。

第二方面,本公开实施例还提供一种路由方法,该路由方法通过重构路由,可以避开存在故障的处理核,从而最大化的利用存在故障核的芯片。

图4为本公开实施例提供的一种路由方法的流程图。如图4所示,该路由方法是基于本公开实施例提供的众核芯片,包括:

步骤S401,基于路由信息确定待处理任务对应的目标处理核。

其中,路由信息是将待处理任务传送至目标处理核对应的目标路由节点的路径信息。目标处理核是多个第一处理核中的处理核,目标路由节点是多个第一路由节点中的路由节点。

在一些实施例中,第一路由节点收到路由信息后,对路由信息进行解析,获得待处理任务的目的地址,第一路由节点判断该第一处理核的地址是否是目标处理核(本地处理核),如果不是,则继续将该待处理任务发送至下一个第一路由节点。如果是,则执行步骤S402。

步骤S402,判断目标处理核是否是故障核,若是,则执行步骤S403;若否,则执行步骤S404。

本公开实施例对判断故障核的方式不做限定,可以采用相关技术中任意一种判断方式进行判断目标处理核是否是故障核。

当判断目标处理核不是故障核,则由该目标处理核处理执行待处理任务。如果判断目标处理核是故障核,则执行步骤S403。

步骤S403,在确定目标处理核是故障核的情况下,目标处理核对应的第一路由节点将待处理任务转路由至第二路由节点,由第二处理核处理。

其中,第一路由节点作为中转路由节点,仅需要将目标处理核内的存储地址修改为第二处理核内的存储地址,不需要修改众核芯片的映射关系,换言之,在生成映射关系时,存在故障的目标处理核仍然可以正常的处理核进行编译任务生成映射关系,不需要做额外的处理。

在一些实施例中,利用第二路由节点的标识来标识第二路由节点,第二处理核内的存储地址是第二处理核的唯一地址。将目标处理核内的存储地址替换为第二处理核内的存储地址,即可由第一路由节点将待处理任务转发至第二路由节点,并由第二处理核代替目标处理核处理待处理任务。

在本公开实施例中,由于只需要第一路由节点修改处理核内的存储地址,不需要修改映射软件来避开故障核,提高了映射软件的通用性,而且,即使众核芯片中存在故障核,也可以继续使用,从而最大化地利用存在故障核的芯片,进而降低了众核芯片的制作成本和用户的使用成本。

步骤S404,将待处理任务传送至第二路由节点。

本公开实施例提供的路由方法,基于路由信息确定目标处理核后,判断目标处理核是否是故障核,若是故障核,则将待处理任务转路由至第二路由节点,由第二处理核处理待处理任务,这样不需要修改映射软件,即可继续使用众核芯片执行待处理任务,更不需要更换或抛弃众核芯片,最大化地利用了存在故障核的众核芯片,降低了众核芯片的制作成本和用户的使用成本。

在一些实施例中,待处理任务为读/写任务,其中,读任务是指从目标处理核读数据,写任务是指将数据写入目标处理核。

在确定目标处理核为故障核的情况下,目标处理核对应的第一路由节点将待处理任务转路由至第二路由节点,由第二处理核处理,包括:在确定目标处理核为故障核的情况下,目标处理核对应的第一路由节点利用第二处理核内的存储地址替换目标处理核内的存储地址;将待处理任务转路由至第二路由节点,第二处理核按照存储地址完成读写任务。

在一些实施例中,第一路由节点将目标处理核内的存储地址修改为第二处理核内的存储地址,从而将待处理任务转路由至第二路由节点,并由第二处理核代替目标处理核完成待处理任务(如读写任务)。

在一些实施例中,在确定目标处理核为故障核的情况下,目标处理核对应的第一路由节点利用第二处理核内的存储地址替换目标处理核内的存储地址之前,还包括:第一路由节点创建故障核内存储地址与第二处理核内的存储地址的地址替换对应关系。

在本公开实施例中,每个第一路由节点均可以设置地址替换对应关系,当第一路由节点对应的第一处理核出现故障时,第一路由节点可以根据地址替换对应关系确定第二处理核内的存储地址,并将目标处理内的存储地址修改为第二处理核内的存储地址,第一路由节点可以将待处理任务转发至第二路由节点,以供第二处理核执行该待处理任务。

本公开实施例提供的路由方法,第一路由节点利用第二处理核内的储存地址替换故障核内的存储地址,并使第二处理核代替故障核执行待处理任务,不需要修改映射软件,即可继续使用众核芯片执行待处理任务,更不需要更换或抛弃众核芯片,最大化地利用了存在故障核的众核芯片,降低了众核芯片的制作成本和用户的使用成本。

第三方面,本公开实施例还提供一种众核芯片。参照图1至图3,本公开实施例提供的众核芯片包括:

多个第一处理核11,其中,第一处理核11可用于执行计算、存储、读取等待处理任务。

第一拓扑网络(实线标示的网络),第一拓扑网络包括多个第一路由节点12,多个第一路由节点12相互之间直接或间接地信号连接,每个第一路由节点12与一个第一处理核11信号连接。

在一些实施例中,相邻两个第一路由节点12之间采用直接连接方式连接,不相邻的两个第一路由节点12之间采用间接连接方式连接。其中,间接连接是指不相邻的两个第一路由节点12之间可以设置一个或多个第一路由节点12。

第二拓扑网络(虚线所示网络),第二拓扑网络包括至少一个第二路由节点22,每个第二路由节点22与至少部分第一路由节点12信号连接。

至少一个第二处理核21,每个第二处理核21与一个第二路由节点22信号连接。

待处理任务通过第一拓扑网络或第二拓扑网络到达目标处理核,目标处理核用于处理待处理任务,换言之,待处理任务可以通过第一拓扑网络到达目标处理核,待处理任务还可以通过第二拓扑网络到达目标处理核。

在一些实施例中,第一拓扑网络和第二拓扑网络设置于同一网络层或设置于不同的网络层。当第一拓扑网络和第二拓扑网络设置于不同网络层时,第一拓扑网络和第二拓扑网络可以通过第一路由节点12和第二路由节点22实现互连。

在一些实施例中,多个第一处理核11以阵列方式设置,每行第一处理核11和每列第一处理核11交叉限定出多个第一路由区域;多个第一路由节点12以阵列方式设置,每个第一路由节点设置于一个第一路由区域。至少一个第二处理核21以阵列方式设置,每行第二处理核21和每列第二处理核21交叉限定出多个第二路由区域;至少一个第二路由节点22以阵列方式设置,每个第二路由节点22设置于一个第二路由区域。

示例地,第一处理核11和第一路由节点12分别形成处理核阵列和路由节点阵列,两个阵列交叉设置,即,在处理核阵列中,每行第一处理核和每列第一处理核的交叉区域限定出多个路由区域,每个路由区域可以设置一个第一路由节点12。每行第一路由节点12和每列第一路由节点12的交叉区域限定出多个处理核区域,每个处理核区域可以设置一个第一处理核11。将多个第一路由节点12间隔设置在多个路由区域,将多个第一处理核11间隔设置在多个处理核区域,形成处理核阵列和路由节点阵列交叉阵列。

第二处理核21和第二路由节点22分别形成处理核阵列和路由节点阵列,两个阵列交叉设置,即,在处理核阵列中,每行第二处理核21和每列第二处理核21的交叉区域限定出多个路由区域,每个路由区域可以设置一个第二路由节点22。每行第二路由节点22和每列第二路由节点22的交叉区域限定出多个处理核区域,每个处理核区域可以设置一个第二处理核21。将多个第二路由节点22间隔设置在多个路由区域,将多个第二处理核21间隔设置在多个处理核区域,形成处理核阵列和路由节点阵列交叉阵列。

在一些实施例中,第二路由节点和第二处理核的数量均为一个,第二路由节点与全部或部分第一路由节点信号连接;或者,第二路由节点和第二处理核的数量为两个或两个以上,多个第一路由节点被分为多个路由节点组,且路由节点组的数量与第二路由节点数量一致,每个第二路由节点与一个路由节点组内的全部或部分第一路由节点信号连接。

本公开实施例中,众核芯片包括第一拓扑网络和第二拓扑网络,待处理任务通过第一拓扑网络或第二拓扑网络均可达到目标处理核,在第一拓扑网络出现拥塞时,可以选择第二拓扑网络;在第一拓扑网络的传输效率低于第二拓扑网络的传输效率时,可以选择第二拓扑网络;在第一拓扑网络的负载超过预设的负载阈值时,可以选择第二拓扑网络。

第四方面,本公开实施例还提供一种路由方法,该路由方法采用本公开实施例提供的众核芯片,可以根据路由状况重构路由,提高众核芯片的处理效率。

本公开实施例提供的路由方法包括:基于待处理任务在第一拓扑网络和第二拓扑网络的路由步长对比,第一拓扑网络和第二拓扑网络的负载对比,第一拓扑网络和第二拓扑网络的延迟对比,和/或第一拓扑网络的拥塞情况,确定众核芯片的路由策略。

其中,路由步长是指待处理任务到达目标路由节点需要经过的路由节点的数量。在一些实施例中,待处理任务是在路由节点之间一跳一跳地传输,相邻的两个路由节点为一个路由步长。负载是指第一拓扑网络和第二拓扑网络的传输数据的情况,第一拓扑网络和第二拓扑网络中传输的数据较多时,负载较大;反之,负载较小。延迟是指数据在第一拓扑网络和第二拓扑网络中传输所用的时间,如数据从开始进入第一拓扑网络和/或第二拓扑网络,到离开第一拓扑网络和/或第二拓扑网络中之间的时间。拥塞是指第一拓扑网络和/或第二拓扑网络持续过载,导致数据传输能力下降。拥塞可以是局部网络拥塞,也可以是整个网络拥塞。

本公开实施例提供的路由方法,基于待处理任务在第一拓扑网络和第二拓扑网络的路由步长、负载、延迟、拥塞情况选择路由策略,如可以选择第一拓扑网络或第二拓扑网络传输待处理任务,可以提高路由效率,从而提高众核芯片的处理效率。

图5为本公开实施例提供的一种路由方法的流程图。如图5所示,该路由方法是基于本公开实施例提供的众核芯片,包括:

步骤S501,基于第一拓扑网络将待处理任务传送至目标路由节点的第一路由步长。

步骤S502,基于第二拓扑网络确定将待处理任务传送至目标路由节点的第二路由步长。

步骤S503,计算第一路由步长和第二路由步长的差值,获得路由步长差。

步骤S504,判断路由步长差是否大于预设步长阈值。

步骤S505,在路由步长差大于预设步长阈值的情况下,利用第二拓扑网络传输待处理任务。

其中,第一路由节点根据路由步长差判断待处理任务由第二拓扑网络传输时,将下一跳的地址修改为第二拓扑网络中的路由结点,即由第二拓扑网络传输待处理任务,以缩短待处理任务的步长。

步骤S506,在路由步长差小于或等于预设步长阈值的情况下,利用第一拓扑网络传输待处理任务。

示例地,通过解析路由信息,查找包头中的节点表,可以计算出将待处理任务传送至目标路由节点的第一路由步长,以及,计算出将待处理任务传送至目标路由节点的第二路由步长。假设,第一路由步长为5,第二路由步长为3。计算第一路由步长和第二路由步长的差值,获得路由步长差为2。若预设步长阈值为3,则路由步长差小于预设步长阈值,则待处理任务通过第一拓扑网络传送至目标路由节点。若预设步长阈值为1,则路由步长差大于预设步长阈值,则待处理任务通过第二拓扑网络传送至目标路由节点,即,第二拓扑网络相比第一拓扑网络,可以快速地将待处理任务传送至目标路由节点,节约第一拓扑网络资源,从而降低第一拓扑网络拥塞的概率,提高了传输效率。

示例地,当路由步长为10,第二路由步长为2时,计算第一路由步长和第二路由步长的差值,获得路由步长差为8。若预设步长阈值为3,路由步长差大于预设步长阈值,则待处理任务通过第二拓扑网络传送至目标路由节点的传输效率远大于通过第一拓扑网络传送至目标路由节点的传输效率。

在本公开实施例中,第一路由节点可以根据路由信息判断第一路由步长和第二路由步长的差值,并根据路由步长差和预设步长阈值确定由第一拓扑网络或第二拓扑网络传输待处理任务,以缩短待处理任务的传输路径,提高众核芯片的处理效率。

当众核芯片中第一处理核的数量较多,并进行多对多的数据交互时,待处理任务的路由较为复杂,而且一些路径上的数据量较大,通过第二拓扑网络可以简化路由,有效地降低第一拓扑网络中的数据量,尤其是可以降低数据量较大的路径上的数据量,从而提高第一拓扑网络的运行效率,进而提高众核芯片的处理效率。

在一些实施例中,当第二路由节点与所有的第一路由节点均建立信号连接时,可以通过第二路由节点达到任意一个第一路由节点,因此,当第一拓扑网络中的数据量较大时,可以通过第二路由节点将待处理任务快速地传送至目标处理核对应的目标路由节点(属于第一拓扑网络中的路由节点),从而降低第一拓扑网络中的数据量。

在本公开实施例中,通过比较第一路由步长和第二路由步长,并基于第一路由步长和第二路由步长的路由步长差与预设步长阈值,选择第一拓扑网络或第二拓扑网络传输待处理任务,可以简化路由,减少第一拓扑网络的资源占用,降低第一拓扑网络的延迟和拥塞概率,同时可以提高待处理任务的传输速率。

在一些实施例中,路由方法包括:步骤S61,获取第一拓扑网络的第一网络负载以及第二拓扑网络的第二网络负载;步骤S62,比较第一网络负载和第二网络负载;步骤S63,在第一网络负载超过第二网络负载的情况下,利用第二拓扑网络传输待处理任务。

本公开实施例对第一网络负载和第二网络负载的获取方式不作限定,可以采用相关领域的任何测量/监控网络负载的方式获取第一网络负载和第二网络负载。

示例地,当第一拓扑网络的第一网络负载较大时,尤其是超过第二拓扑网络的第二网络负载时,可以选择第二拓扑网络传输待处理任务,以降低第一拓扑网络的负载,从而避免第一拓扑网络拥塞。

在本公开实施例中,基于第一网络负载和第二网络负载,选择负载较少的网络传送待处理任务,不仅可以提高待处理任务的传输速率,而且,可以降低第一拓扑网络的负载,同时提高第一拓扑网络的传输效率,降低第一拓扑网络的延迟。

在一些实施例中,路由方法包括:步骤S71,获取第一拓扑网络的第一网络延迟以及第二拓扑网络的第二网络延迟;步骤S72,比较第一网络延迟和第二网络延迟;步骤S73,在第一网络延迟超过第二网络延迟的情况下,利用第二拓扑网络传输待处理任务。

示例地,当众核芯片中,一个或多个第一路由节点发送数据和接收数据的速率不一致,且众核芯片的片上网络可以暂存的数据量有限时,容易导致第一路由节点需要等待另一个第一路由节点的数据才能进行下一步操作,这将造成第一拓扑网络的路由时间延长。本公开实施例在第一网络延迟大于第二网络延迟时,选择第二拓扑网络传送待处理任务,即选择第二路由节点作为中转路由节点,并以发送处理核发送数据的速率接收并缓存数据,缓解第一拓扑网络的延迟,然后将待处理任务快速传送至目标处理核。

在本公开实施例中,通过比较第一网络延迟和第二网络延迟,并选择延迟较小的拓扑网络传送待处理任务,不仅可以缓解拓扑网络的延迟,还可以将待处理任务快速地传送至目标处理核。

在一些实施例中,第一拓扑网络和第二拓扑网络的带宽相同。在另一些实施例中,第一拓扑网络和第二拓扑网络的带宽不同,而且,第二拓扑网络的带宽大于第一拓扑网络的带宽。

在一些实施例中,路由方法还包括:获取发送核的发送数据的速率和接收核接收数据的速率;其中,发送核和接收核是多个第一处理核中的处理核;在接收数据的速率和发送数据的速率不一致的情况下,利用第二处理核中转发送数据和接收数据。

在发送核发送数据的速率与接收核接收数据的速率不一致(不匹配)时,说明第一拓扑网络中的路由存在拥塞,发送核或接收核需要等待对方的数据,这增加了路由时间,降低了众核芯片的处理效率。若利用第二处理核作为中转核,发送核将数据发送第二处理核,第二处理核再将数据转发至接收核,这样可以避免因路由拥塞造成路由时间延长,从而提高众核芯片的处理效率。

在一些实施例中,第二处理核以发送核发送数据的速率接收数据,和/或,以接收核接收数据的速率发送数据。

当第二处理核通过第二路由节点与第一拓扑网络中的所有第一路由节点信号连接时,第二处理核可以将数据发送至众核芯片中任意一个第一处理核,即第二处理核可以作为任意两个第一处理核的中转核。

在一些实施例中,待处理任务包括但不限于存储任务、读取任务、计算任务,第一处理核和第二处理核的功能相同,均可以执行待处理任务。

可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。

本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号