System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于芯片通信,具体涉及一种多芯片互联时跨芯片路由的方法。
技术介绍
1、当前,在多芯片进行跨片通信时,多采用通过地址重映射的方式实现节点之间的寻址,即在多芯片组成的网络中,通过芯片地址和片内节点地址来对所有芯片中的节点进行编址,并在芯片实际运行时将源芯片中源节点发出的数据路由到目的芯片中目的节点上。
2、这种方法通常需要分别定义芯片网络地址和芯片节点地址,从而使得源节点与目的节点需要通过片内和片间两层路由机制才能实现通信,这不仅使得传输数据在芯片节点之间发送或接受的位置在芯片网络的视角下不可见,难以从全局去控制芯片内节点的资源分配,还导致跨芯片通信时同时需要对芯片网络地址和芯片节点地址进行路由,造成路由开销较大。
技术实现思路
1、为了解决上述
技术介绍
中提到的至少一个问题,本专利技术提出了提出了一种多芯片互联时跨芯片路由的方法。
2、一种多芯片互联时跨芯片路由的方法,过程如下:
3、步骤s1,将芯片部署在互连网络中,该互连网络中的芯片互连需要满足拓扑结构;
4、步骤s2,对互连网络中的所有芯片内的所有通信节点标记物理id,具体规则为:
5、首先,选取一个节点为参考物理节点,如果是二维拓扑则标记它为物理坐标(0,0),如果是三维拓扑则标记它为物理坐标(0,0,0);
6、然后,标记其他节点相对此参考节点在拓扑上的坐标,如果是二维拓扑则标记xy坐标,如果是三维拓扑则标记xyz坐标。
7、步骤s
8、步骤s4,对配置在同一计算任务中不同芯片内的通信节点标记逻辑id,具体规则为:
9、首先,选取一个节点为参考逻辑节点,如果是二维拓扑则标记它为逻辑坐标(0,0),如果是三维拓扑则标记它为逻辑坐标(0,0,0);
10、然后,标记其他节点相对此参考节点在拓扑上的坐标,如果是二维拓扑则标记xy坐标,如果是三维拓扑则标记xyz坐标。
11、步骤s5,标记需发送数据的通信节点为源节点,需接收数据的通信节点为目的节点,推导该计算任务中源节点向目的节点发送请求时的id映射关系,推导过程包括:
12、步骤s501,以目的节点在全局范围的物理id,目的节点所在芯片的物理偏移量和源节点所在芯片的物理偏移量来描述请求id,计算方法为:
13、targetid=dstroutid+dstchipphyoffset-srcchipphyoffset
14、其中,targetid为请求id,dstrouteid为目的节点在其芯片内的本地物理id,dstchipphyoffset为目的节点所在芯片的物理偏移量,srcchipphyoffset为源节点所在芯片的物理偏移量;
15、步骤s502,计算出目的节点在其芯片内的本地物理id,计算方法为:
16、dstrouteid=dstphyid-dstchipphyoffset
17、其中,dstrouteid为目的节点在其芯片内的本地物理id,dstphyid为目的节点在全局范围的物理id,dstchipphyoffset为目的节点所在芯片的物理偏移量;
18、步骤s503,将步骤s502的公式代入步骤s501得到请求id的计算公式,计算方法为:
19、targetid=dstphyid-srcchipphyoffset
20、其中,targetid为请求id,dstphyid为目的节点在全局范围的物理id,srcchipphyoffset为源节点所在芯片的物理偏移量;
21、步骤s504,建立目的节点全局物理id、目的节点逻辑id、源节点全局物理id和源节点逻辑id之间的映射关系,具体映射关系为:
22、dstphyid=dstlogicid+(srcphyid-srclogicid)
23、其中,dstphyid为目的节点全局物理id,dstlogicid为目的节点逻辑id,srcphyid为源节点全局物理id,srclogicid为源节点逻辑id;
24、步骤s505,将步骤s403的映射关系中dstphyid代入步骤s402中的公式,可以计算得到以源、目的节点的逻辑id,源芯片的物理偏移量以及源节点的物理id为条件的请求id通用公式,具体计算方法为:
25、targetid=dstlogicid-srcphyid+srcphyid-srcchipphyoffset
26、其中,targetid为请求id,dstlogicid为目的节点逻辑id,srclogicid为源节点逻辑id,srcphyid为源节点全局物理id,srcchipphyoffset为源节点所在芯片的物理偏移量。
27、传统的方法通常都需要区分主网和子网,但是区分主网络地址和子网地址并分别实现各自的路由的话,每一个负责片间路由的模块需要有能力承载所有组网内设备的地址,不仅会造成巨大的硬件开销,同时,也因为节点和节点之间的路径不确定,导致上层软件难以监控节点间的通信带宽和节点内的实时算力。
28、本专利技术提出只使用一套机制实现节点间的路由,在进行网络部署时片内和片间的节点在路由和计算上都是对等的,有效地减少了由于片上和片间的分层路由造成的查表的开销;而且,由于节点被赋予了逻辑id后可以直接根据逻辑id以及源节点的物理地址及芯片的offset来确定在全局中寻址的targetid,使得上层软件在组网后仍可掌握节点的资源分配情况,此外,因为节点的逻辑域已经确定且节点之间的路径更为耦合,因此上层软件能够直接监控互联后多芯片节点间的通信带宽和节点内的实时算力。
29、步骤s6,源节点根据推导出的id映射关系得到请求的id,并根据请求id的坐标来决定是否将该请求向下一级芯片进行转发,具体包括步骤:
30、步骤s601,统计源节点所在芯片x轴、y轴和z轴上的节点数量,分别记为n1、n2和n3;
31、步骤s602,解析出请求id的xyz坐标,并设定大于当前该坐标值为正方向,小于当前该坐标值为负方向;
32、步骤s603,将解析出的xyz坐标与n1、n2、n3做比较来判断该请求是否落在源节点所在芯片内,并根据判断结果决定是否转发该请求;
33、具体判断和转发规则为:
34、
35、
36、
37、如果请求id的xyz坐标小于0,则将请求向该坐标值的负方向进行转发,相应地,xyz坐标值加上该芯片上x轴、y轴、z轴上的节点数量,并将原请求id替换成新请求id;
38、如果请求id的xyz坐标大于等于0且小于该芯片上x轴、y轴、z轴上的节点数量,则不转发请求;
39、如果请求id的xyz坐标大于本文档来自技高网...
【技术保护点】
1.一种多芯片互联时跨芯片路由的方法,其特征在于,包括步骤:
2.根据权利要求1所述的一种多芯片互联时跨芯片路由的方法,其特征在于,步骤S2所述的对互连网络中的所有芯片内的所有通信节点标记物理ID,具体规则包括步骤:
3.根据权利要求1所述的一种多芯片互联时跨芯片路由的方法,其特征在于,步骤S4所述的对互连网络中的所有芯片内的所有通信节点标记逻辑ID,具体规则包括步骤:
4.根据权利要求1所述的一种多芯片互联时跨芯片路由的方法,其特征在于,步骤S5所述推导该计算任务中源节点向目的节点发送请求时的ID映射关系,具体推导过程包括步骤:
5.根据权利要求1所述的一种多芯片互联时跨芯片路由的方法,其特征在于,步骤S6包括步骤:
【技术特征摘要】
1.一种多芯片互联时跨芯片路由的方法,其特征在于,包括步骤:
2.根据权利要求1所述的一种多芯片互联时跨芯片路由的方法,其特征在于,步骤s2所述的对互连网络中的所有芯片内的所有通信节点标记物理id,具体规则包括步骤:
3.根据权利要求1所述的一种多芯片互联时跨芯片路由的方法,其特征在于,步骤s4所述的对互连网络中...
【专利技术属性】
技术研发人员:邹玥,周昱,解宇,钱屹伟,胡昭明,贾淑芸,欧阳鹏,
申请(专利权)人:北京清微智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。