一种路由器、基于路由交换的节点间算力扩展方法和系统与流程

文档序号:37280082发布日期:2024-03-12 21:18阅读:15来源:国知局
一种路由器、基于路由交换的节点间算力扩展方法和系统与流程

本技术属于计算机体系结构,具体涉及一种路由器、基于路由交换的节点间算力扩展方法和系统。


背景技术:

1、在摩尔定律的驱使下,半导体工艺的发展趋向于高集成度与高性能,单块芯片内部可集成的晶体管数量逐渐增加。2021年tsmc提出全新3nm晶体管工艺,相比5nm工艺带来15%的速度提升及相同速度下30%的功耗降低,同时带来70%的逻辑密度增益。然而随着芯片工艺逐渐逼近物理极限,单核芯片带来的性能收益逐渐变小,工艺革新带来的性能提升无法满足市场需求的变化,众多厂商开始选择多核或多芯片集成的方案以解决算力扩展的发展瓶颈。

2、片上网络(network on chip,noc)是一种用来实现芯片内部多核互连的技术,近年来在众核处理器领域得到广泛应用。片上网络技术属于片上系统技术,其局限性在于只能用于片内多核的高速互连,无法扩展到与片外其它芯片的互连。为了在不同应用场景和性能要求条件下实现芯片间高效可靠互连,片间互连(network on package,nop)技术被提出。

3、当前多个计算节点的片间互连结构主要分为两类:支持路由的结构和不支持路由的结构。不支持路由的结构主要以全互连为主,该结构在节点数目增加时所需连接数也会增加,当节点数达到一定数量时,全互连的连接数目将大幅增加、难以实现。支持路由的结构以树形拓扑结构为主(如基于pcie的互连),该结构一般由根节点、交换设备、终端设备等设备组成,这种结构实现了从根节点到叶节点的自上而下的层次性总线系统,在一定程度上实现了节点扩展。

4、然而,这种拓扑结构传输路径不够灵活,根节点需要保证足够的带宽以满足下行节点之间的通信,不能满足大规模节点的互连需求。因此实现一种芯片节点间互连的网络架构,并在此基础上构建灵活的拓扑结构成为大规模节点互连要解决的主要难题之一。


技术实现思路

1、发明目的:本发明提供一种基于路由交换的节点间算力扩展实现方法,包括在每个节点中配置具有流控功能的路由器作为数据交换单元,具有流控功能的数据交互接口作为节点间数据传输单元,使用轻量级自定义互连协议作为数据传输的底层协议,从而把芯片内部的片上网络互连方法拓展到芯片间互连,方便构建灵活拓扑的芯片集群计算资源。

2、第一方面,本技术提供了一种路由器,所述路由器包括:

3、输入端口,用于获取数据微片;其中,所述输入端口包括虚拟通道;

4、交叉开关,用于输入端口与输出端口之间的数据连通;

5、输出端口,用于输出数据微片;

6、资源分配模块,用于根据路由策略计算输出端口、根据头微片优先级分配与交叉开关链接的虚拟通道、根据输入端口的优先级分配输出端口。

7、优选地,所述输入端口还包括:

8、输入缓存,用于缓存到达的数据微片;

9、多路选择器,用于选通与所述交叉开关互连的虚拟通道;其中,所述虚拟通道的另一端与所述多路选择器连接。

10、优选地,所述虚拟通道的一端与所述输入缓存连接,所述虚拟通道用于缓存路由计算完成之后的微片。

11、优选地,所述资源分配模块与所述虚拟通道连接。

12、第二方面,本技术还提供了一种基于路由交换的节点间算力扩展方法,所述方法包括:

13、1)数据由外部io接口进入源节点;

14、2)计算存储单元对数据进行处理,并按照轻量级自定义互连协议封装成数据微片;

15、3)数据微片写入路由器的输入端口的输入缓存,经过路由计算、虚拟通道分配、交叉开关分配到达路由器的输出端口,并发送给数据交互接口;

16、4)数据交互接口接收所述数据微片并封装成完整的数据帧,经过两级fifo的缓冲并根据流控机制发送给下一级节点的数据交互接口;

17、5)下一级节点的数据交互接口接收到完整的数据帧,并解封装为数据微片,发送至路由器的输入端口,若本节点为目的节点,则在路由器的本地输出端口输出;若本节点不是目的节点,则重复步骤3)、4)直至到达目的节点。

18、优选地,所述数据微片写入路由器的输入端口的输入缓存,经过路由计算、虚拟通道分配、交叉开关分配到达路由器的输出端口,并发送给数据交互接口,包括:

19、数据微片的头微片到达输入端口的输入缓存,被资源分配模块的状态机检测到后进行路由计算并解码头微片包含的源地址与目的地址信息,使用规定的路由算法判定当前数据包的输出端口;

20、若某输入端口的多个虚拟通道同时有头微片传入,资源分配模块将根据头微片的优先级选择当前与交叉开关链接的虚拟通道,竞争失败的头微片在虚拟通道分配阶段暂停传输,同时阻塞同一数据包内的后续微片。

21、资源分配模块模块为竞争成功的虚拟通道中的微片分配物理通道,若多个输入端口同时向某一输出端口输出数据,资源分配模块模块将以输入端口的序号为优先级顺序分配输入端口的数据选通链路,其余数据暂时被阻塞。

22、开关遍历阶段,被授予物理通道的微片通过交叉开关传至路由器输出端口,并重复该过程直到检测到尾微片。

23、路由器输出端口模块负责将对应端口输出的微片寄存一个时钟周期后输出至输出总线。

24、优选地,所述数据交互接口接收所述数据微片并封装成完整的数据帧,经过两级fifo的缓冲并根据流控机制发送给下一级节点的数据交互接口,包括:

25、数据交互接口的各发送端口包含两级fifo以消除异步时钟带来的影响;

26、第一级fifo为工作在标准模式下的异步fifo,处于该模式下的fifo在读时钟上升沿到来时断言读使能信号,读数据将在下个时钟上升沿到来时更新在数据线上,该fifo的作用是缓存路由器输出数据并消除跨时钟域带来的影响;

27、数据进入第一级fifo后将被立即读出并写入第二级fifo;第二级fifo为同步fifo,与第一级fifo读时钟及对应核心发送时钟处于同一时钟域,工作模式为fwft。

28、处于该模式下的fifo无需读命令即可自动将写入的第一个数据在输出信号线上更新。

29、优选地,所述轻量级自定义互连协议的数据包由帧头、自定义微片数据、帧尾组成;自定义微片分为流控微片和数据微片,可根据微片类型位进行区分,流控微片用于实现对数据传输的流控;数据微片包括头微片、尾微片、体微片,头微片包含目的地址、源地址、虚拟通道位、优先级控制位和预留位,体微片和尾微片用于存储传输数据。

30、第三方面,本技术还提供了一种基于路由交换的节点间算力扩展系统,所述系统包括:多个节点,所述节点包括:

31、外部io接口,用于获取数据;

32、计算存储单元,与所述外部io接口连接,所述计算存储单元用于数据的计算或存储,以及将处理后的数据封装成微片;

33、路由器,与所述计算存储单元连接,所述路由器用于数据微片的暂存和转发;

34、数据交互接口,与所述路由器连接,所述数据交互接口用于与相邻的节点进行数据帧、流控帧(pause、pause off帧)的收发。

35、本技术的有益技术效果:

36、1、通过每个节点中配置具有流控功能的路由器作为数据交换单元、具有流控功能的数据交互接口作为节点间数据传输单元实现了基于路由交换的节点间算力扩展,把芯片内部片上网络互连方法拓展到芯片间互连,更灵活的构建芯片集群计算资源。

37、2、使用轻量级自定义互连协议作为数据传输的协议,微片用于路由转发和数据承载,微片可以基于以太网底层协议帧封装、也可以基于其它协议帧封装(如srio、fc等),不受底层协议限制,支持交换路由与底层协议解耦,实现软件定义互连。

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