一种在多芯粒互连网络中基于流量感知的拓扑重构方法与流程

文档序号:34464392发布日期:2023-06-15 09:44阅读:249来源:国知局
一种在多芯粒互连网络中基于流量感知的拓扑重构方法

本发明涉及集成电路,尤其涉及一种在多芯粒互连网络中基于流量感知的拓扑重构方法。


背景技术:

1、多芯粒(chiplet)集成技术是后摩尔定律时代继续提高芯片规模的新兴设计范式。多芯粒集多芯粒(chiplet)集成技术是后摩尔定律时代继续提高芯片规模的新兴设计范式。多芯粒集成技术是指如下的设计范式:将模块化的裸片(即芯粒),以“搭积木”的方法,采用先进封装堆叠连接成多芯粒模组(multi-chiplet module)。因为大面积芯片的良率远低于小的芯片,所以多芯粒集成技术可以提高芯片的良率并降低成本,使厂商能在相同的经济条件下制造更大规模的芯片。但是,现有的多芯粒集成技术存在片间互连的延迟远高于片内互连、片间互连的链路数量受到成本的制约、芯粒间网络的频率往往低于芯粒内的网络等问题。

2、现有的芯粒互连网络拓扑主要包括固定拓扑、可重构芯粒互连拓扑和传统的可重构片上网络拓扑。由于以下缺陷,它们在多芯粒集成系统中性能较差:

3、(1)固定拓扑,如kite族拓扑,无法根据所运行应用的网络流量进行动态调整,导致网络的延迟和功耗上升。

4、(2)目前的可重构芯粒互连拓扑adapt-noc只考虑了4种规则拓扑相互切换的情况。这4种规则拓扑分别为二维网格拓扑(mesh)、cmesh、二维环绕拓扑(torus)和树形拓扑(tree)。除此之外,还有大量的不规则拓扑却没有被考虑;这限制了网络拓扑的可能性,无法进一步降低网络的延迟和功耗。此外,adapt-noc未给出拓扑的重构算法,用户只能多次测试应用在不同拓扑下的性能,选择性能最好的拓扑。拓扑重构算法的缺失限制了adapt-noc的应用范围。

5、(3)传统的可重构片上网络拓扑既没有考虑到芯粒管脚数量对片间链路数量的限制,也没有考虑片内和片间的延迟差距。传统的可重构片上网络拓扑是基于单裸片设计的,在多芯粒集成系统中性能会受到很大影响。


技术实现思路

1、本发明的目的在于针对现有技术的不足,提供一种在多芯粒互连网络中基于流量感知的拓扑重构方法。

2、本发明的目的是通过以下技术方案实现的:一种在多芯粒互连网络中基于流量感知的拓扑重构方法,包括如下步骤:

3、(1)基于多芯粒互连网络拓扑,用floyd-warshall算法计算整个网络的全源最短路径;

4、(2)根据步骤(1)得到的全源最短路径,确定节点对和接口路由器对之间的映射关系:设有两个节点为u、v,设有第一个接口路由器为r、最后一个接口路由器为s,若节点u、v最短路径上有第一个接口路由器r和最后一个接口路由器s,则存在从节点对(u,v)到接口路由器对(r,s)的映射关系,该映射关系记为:(u,v)→(r,s);

5、(3)等待一个重构周期,并统计此期间每一节点对的流量;

6、(4)根据步骤(2)得到的映射关系,将步骤(3)得到的节点对的流量逐个累加到映射关系所对应的接口路由器对上,得到每一接口路由器对的流量;

7、(5)根据步骤(4)得到的每一接口路由器对的流量进行降序排列所有接口路由器对,并得到排列顺序;

8、(6)按步骤(5)得到的排列顺序遍历所有接口路由器对:用深度优先搜索算法在可配置交叉开关网络上找出接口路由器对的路径,进而找出该接口路由器对需要占用的可重构链路,并输出对应可重构链路的所有路径;若所需的可重构链路与已占用的可重构链路不相同,则应用该接口路由器对;

9、(7)重新设置可配置交叉开关网络,对步骤(6)输出的所有路径执行端口接通操作,并将所述多芯粒互连网络拓扑重置为不包括可配置交叉开关网络的拓扑,再根据新的拓扑计算路由表;

10、(8)返回步骤(3),进行下一次迭代计算,直至网络关闭。

11、进一步地,所述步骤(6)包括以下子步骤:

12、(6.1)将所有可重构链路标记为未占用,并将所述排列顺序中的首个接口路由器对设为当前接口路由器对;

13、(6.2)用深度优先搜索找出在可配置交叉开关网络上的当前接口路由器对的路径,进而找出该接口路由器对需要占用的可重构链路,并输出对应可重构链路的所有路径;若没有需要占用的可重构链路,则进入步骤(6.4);

14、(6.3)判断步骤(6.2)输出的可重构链路与已占用的可重构链路是否相同,若所需的可重构链路与已占用的可重构链路不相同,则应用所需的可重构链路对应的接口路由器对;

15、(6.4)若当前接口路由器对有下一个接口路由器对,则将下一个接口路由器对设为当前接口路由器对,并重复步骤(6.2),否则结束此步骤。

16、进一步地,所述步骤(6.2)包括以下子步骤:

17、(6.2.1)对于当前交叉开关,访问横向的相邻接口交叉开关,若该相邻交叉开关未被访问且与当前交叉开关之间的可重构链路未被占用,则将其设为当前交叉开关,并记录到路径中;否则,进入下一步骤;

18、(6.2.2)访问纵向的相邻交叉开关,若该相邻交叉开关未被访问且与当前交叉开关之间的可重构链路未被占用,则将其设为当前交叉开关,并记录到路径中;否则,进入下一步骤;

19、(6.2.3)判断当前交叉开关是否为目的开关:若当前交叉开关为目的交叉开关,则输出当前接口路由器对的路径及其占用的可重构链路;若当前交叉开关不是目的交叉开关,则将当前交叉开关标记为已访问,并从当前接口路由器对的路径中移除,再将该路径中的上一个交叉开关设为当前交叉开关并重新判断是否为目的开关,直至源交叉开关被标记为已访问。

20、进一步地,所述步骤(6.2.1)中所述访问横向的相邻接口交叉开关的操作具体为:若当前交叉开关的横坐标小于目的交叉开关的横坐标,则访问东边的相邻交叉开关;若当前交叉开关的横坐标大于目的交叉开关的横坐标,则访问西边的相邻交叉开关;直至当前交叉开关的横坐标等于目的交叉开关的横坐标。

21、进一步地,所述步骤(6.2.2)中所述访问纵向的相邻交叉开关的操作具体为:若当前交叉开关的纵坐标小于目的交叉开关的纵坐标,则访问北边的相邻交叉开关;若当前交叉开关的纵坐标大于目的交叉开关的纵坐标,则访问南边的相邻交叉开关;直至当前交叉开关的纵坐标等于目的交叉开关的纵坐标。

22、进一步地,所述步骤(6.2)中所述用深度优先搜索找出在可配置交叉开关网络上的当前接口路由器对的路径具体为:将所有接口路由器初始化为未访问状态,依次选择各个可配置交叉开关网络,设当前接口路由器对的源路由器所对应的可配置交叉开关为源交叉开关,目的路由器所对应的可配置交叉开关为目的交叉开关,并将源交叉开关设为当前交叉开关。

23、进一步地,所述步骤(7)包括以下子步骤:

24、(7.1)重新设置可配置交叉开关网络,为步骤(6)中已应用的接口路由器对提供虚拟链路,对步骤(6)输出的所有路径执行以下操作:

25、设路径为(v1,v2,...,vp),其中,v为可配置交叉开关,p为正整数;在可配置交叉开关v1中,将本地端口和连接v2的端口接通;在可配置交叉开关vp中,将本地端口和连接vp-1的端口接通;在其他可配置交叉开关vi中,其中,下标i∈(1,p),将连接vi-1的端口和连接vi+1的端口接通;其中,端口包括输入端口和输出端口;

26、(7.2)将多芯粒互连网络拓扑重置为不包括可配置交叉开关网络的拓扑,并为步骤(6)中已应用的接口路由器对增加边;然后运行floyd-warshall算法,计算网络的路由表,并发送到各个路由器。

27、进一步地,所述可重构链路是指可配置交叉开关之间和可配置交叉开关与路由器之间的链路。

28、进一步地,所述多芯粒互连网络拓扑在有源中介层或者无源中介层上实现;当所述网络拓扑在有源中介层上实现时,接口路由器和可配置交叉开关位于有源中介层上,芯粒内路由器与接口路由器之间的通信经过微凸块和物理层收发器;而接口路由器之间、可配置交叉开关之间的通信无需经过微凸块和物理层收发器;当所述网络拓扑在无源中介层上实现时,接口路由器和可配置交叉开关位于芯粒内;芯粒内路由器与接口路由器之间的通信不经过微凸块和物理层收发器,但是接口路由器之间、可配置交叉开关之间的通信需要经过微凸块和物理层收发器。

29、进一步地,所述步骤(5)中,亦可根据所述步骤(4)得到的每一接口路由器对的流量与延迟的乘积进行降序排列所有接口路由器对。

30、与现有技术相比,本发明的有益效果是:本发明通过在芯粒间网络中增加可配置交叉开关网络,并根据网络流量的分布,运用启发式重构方法配置这些交叉开关,为频繁通信的路由器提供直接连接的虚拟链路,减少了芯粒管脚数量,降低网络的平均跳数和延迟,从而降低芯片的面积和成本,并提高其性能。该方法较为高效灵活,可用于通用处理器和多种应用的专用处理器的设计。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1