CN108337196A - 一种通过交换芯片构建的交换系统及其路由算法 - Google Patents
一种通过交换芯片构建的交换系统及其路由算法 Download PDFInfo
- Publication number
- CN108337196A CN108337196A CN201711483949.1A CN201711483949A CN108337196A CN 108337196 A CN108337196 A CN 108337196A CN 201711483949 A CN201711483949 A CN 201711483949A CN 108337196 A CN108337196 A CN 108337196A
- Authority
- CN
- China
- Prior art keywords
- exchange
- exchange chip
- port
- chip
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种通过交换芯片构建的交换系统及其路由算法,该通过交换芯片构建的交换系统包括:多个交换芯片,每个交换芯片具有2N个端口,其中,每个交换芯片的N个端口分别与其他的交换芯片连接,以及每个交换芯片剩余的N个端口分别与节点连接,其中,N为正整数。本发明通过将每个交换芯片的N个端口分别与其他的交换芯片连接,以及每个交换芯片剩余的N个端口分别与节点连接,从而通过构建这种全互连网络,其具有最短通信距离,能够显著降低系统成本和功耗。
Description
技术领域
本发明涉及通信领域,具体来说,涉及一种通过交换芯片构建的交换 系统及其路由算法。
背景技术
随着大数据,人工智能等高技术应用的快速发展和行业融合,市场对 高性能计算的需求越来越大,大量的创新企业和高校等研发机构迫切需求 具有相当计算能力的高性能计算系统,计算需求的规模通常在500节点左 右,对应这样的系统规模,普通的SMP(Symmetrical Multi-Processing,对 称多处理)架构难以满足需求,而大型集群系统又过于昂贵了,从而如何 保证500节点规模的高性能通信给高性能互连系统带来了挑战。
目前,企业界通常采用胖树拓扑构建集群系统的方式来提供高性能通 信,但是集群系统需要专业人员进行系统搭建和维护,如果采用大端口交 换机则用户无需考虑系统搭建和维护,直接使用即可,将极大的方便用户 使用。但是,国内市场目前没有高速率大端口交换机,国外公司技术垄断, 且不开放,只开放低端口交换芯片,因此,如果能够基于低端口交换芯片 构建大端口交换机,有利于打破国外公司的技术垄断,形成自有知识产权,有利于高性能计算技术发展,有利于国计民生。
此外,网络交换机需要一定的缓冲器用来存储数据包,但是,缓冲器 的容量是有限的,对于那些数据包头还没有到达目的节点的报文,一方面 要请求缓冲器资源,同时又要占用当前缓冲报文的缓冲器,这种通道资源 的循环占用就可能产生死锁。目前,通过增加虚通道构建虚拟子网,从而 通过分离流量可有效避免死锁,但是这种方法的缺点是所需资源比较多, 对于采用高维度拓扑的超大规模网络会极大增加系统成本;以及还可采用逃逸虚通道也可以避免死锁,当发生拥塞时数据包进入逃逸虚通道路由, 可化解拥塞情况,其不足之处在于逃逸通道的利用率比较低;以及还可采 用日期变更线(Dateline)方法也可有效避免死锁,对于通道资源的循环循 环占用而发生的死锁,可以通过设置Ddateline来破坏这种循环占用来避免 死锁,从而对于每个循环依赖的环,选定一个节点作为时间线,网络包首 先在虚通道0中传输,当进入时间线后,强制切换至虚通道1中传输,即 可避免环路死锁,但是这种方法会导致部分通道资料利用率不高,负载不 均衡。
另外,目前没有基于商用交换芯片构建全互连大端口交换机的方法, 最短路径路由算法可以直接用于全互连网络,但是对于通信负载不均衡的 应用,链路资源竞争情况比较严重,会导致网络拥塞,性能严重下降。
针对相关技术中的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中的问题,本发明提出一种通过交换芯片构建的交换系 统及其路由算法,其具有低成本、低功耗、低延迟,高性能的特点。
本发明的技术方案是这样实现的:
根据本发明的一个方面,提供了一种通过交换芯片构建的交换系统。
该通过交换芯片构建的交换系统包括:多个交换芯片,每个交换芯片 具有2N个端口,其中,每个交换芯片的N个端口分别与其他的交换芯片 连接,以及每个交换芯片剩余的N个端口分别与节点连接,其中,N为正 整数。
根据本发明的一个实施例,包括:多个交换主板,每个交换主板上设 置有预设数量的交换芯片;以及多个交换主板设置在背板上,从而将多个 交换主板连接。
根据本发明的另一方面,提供了一种应用于上述通过交换芯片构建的 交换系统的路由算法。
该路由算法包括:确定数据的输入端口的类型;根据数据的输入端口 的类型,选择相应的路由算法。
根据本发明的一个实施例,根据数据的输入端口的类型,选择相应的 路由算法包括:在确定数据的输入端口的类型为交换芯片的端口的情况下, 确定当前交换芯片为中转交换芯片;根据数据的包头信息,确定目标节点 的地址;查询线性转发表,直接确定目标节点所处的交换芯片和中转交换 芯片的连接端口,从而进行数据的转发。
根据本发明的一个实施例,还包括:根据预设的命名规则,对交换芯 片和节点进行命名;根据命名后的交换芯片和命名后的节点的连接关系, 构建交换芯片和节点的连接关系表;根据连接关系表,直接构建线性转发 表。
根据本发明的一个实施例,根据数据的输入端口的类型,选择相应的 路由算法包括:在确定数据的输入端口的类型为节点的端口的情况下,确 定当前交换芯片为源交换芯片;根据数据的包头信息,确定目标节点的地 址;根据目标节点的地址,从源交换芯片的多个端口中,随机选择其与其 他交换芯片的连接端口,从而进行数据的发送。
根据本发明的一个实施例,根据数据的输入端口的类型,选择相应的 路由算法包括:在确定数据的输入端口的类型为节点的端口的情况下,确 定当前交换芯片为源交换芯片;根据数据的包头信息,确定目标节点的地 址;根据目标节点的地址,从源交换芯片的多个端口中,确定其与其他交 换芯片连接的输出端口中最空闲的输出端口,从而进行数据的发送。
根据本发明的一个实施例,还包括:将交换芯片之间的物理链路的通 信资源分离为两条虚通道,其中一条虚通道用于交换芯片和节点之间的通 信,另外一条虚通道用于交换芯片之间的通信。
本发明的有益技术效果在于:
本发明通过将每个交换芯片的N个端口分别与其他的交换芯片连接, 以及每个交换芯片剩余的N个端口分别与节点连接,从而通过构建这种全 互连网络,其具有最短通信距离,能够显著降低系统成本和功耗。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对 实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附 图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出 创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明具体实施例的交换芯片之间连接的示意图;
图2是根据本发明具体实施例的交换系统中一个交换芯片和其他的交 换芯片之间连接的示意图;
图3是根据本发明具体实施例的交换系统的前面板端口布局示意图;
图4是根据本发明具体实施例的路由算法的流程图;
图5是根据本发明具体实施例的“贪心”自适应路由示意图;
图6是根据本发明具体实施例的“随机”算法自适应路由示意图;
图7是根据本发明具体实施例的全互连网络的路由多次转发示意图;
图8是根据本发明具体实施例的路由算法流程图;
图9a和图9b是根据本发明具体实施例的路由死锁示意图;
图10a和图10b是根据本发明具体实施例的交换系统自适应路由死锁 避免示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进 行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获 得的所有其他实施例,都属于本发明保护的范围。
根据本发明的实施例,提供了一种通过交换芯片构建的交换系统。
如图1所示,根据本发明实施例的通过交换芯片构建的交换系统包括: 多个交换芯片,每个交换芯片具有2N个端口,其中,每个交换芯片的N 个端口分别与其他的交换芯片连接,以及每个交换芯片剩余的N个端口分 别与节点连接,其中,N为正整数。
借助于本发明的上述技术方案,通过将每个交换芯片的N个端口分别 与其他的交换芯片连接,以及每个交换芯片剩余的N个端口分别与节点连 接,从而通过构建这种全互连网络,其能够显著降低系统成本和功耗。
根据本发明的一个实施例,包括:多个交换主板,每个交换主板上设 置有预设数量的交换芯片;以及多个交换主板设置在背板上,从而将多个 交换主板连接。
为了更好的描述本发明的技术方案,下面通过具体的实施例进行详细 的描述。
为解决现有技术中存在的问题,本发明采用基于商用交换芯片(或交 换芯片)构建全互连拓扑大端口交换机(或交换系统),从而构建的这种 全互连拓扑具有最短的通信延迟,最佳的通信性能,其是大端口交换机的 最佳选择,本发明通过基于低端口交换芯片构建全互连大端口交换机,交 换机内部各个交换芯片间通信只有1跳,具有最低的通信延迟,最佳的通 信性能。同时,在后续的内容中还提出了路由算法,从而通过路由算法决 定消息的传输路径,其对于大规模网络通信性能至关重要,同时,该路由 算法包括:最短路径路由算法和自适应路由算法以及基于虚通道的死锁避 免方法,其中,上述自适应路由算法是根据通道的拥塞情况动态选择路由, 从而其具有路由灵活,链路利用率高,具有容错能力,但其还存在非最短 路径、算法复杂、容易死锁且存在乱序的问题,本发明继续通过于虚通道 的死锁避免方法避免了相关缺陷,从而使得该交换系统和相关的路由算法 具有低成本、低功耗、低延迟,高性能的特点。
1、基于商用交换芯片构建全互连拓扑大端口交换机
基于商用交换芯片构建全互连拓扑,从而基于最短路径路由算法即可 实现无阻塞网络。同时,网络直径仅一跳(两个交换芯片之间传输一次数 据为一跳),从而其具有最低通信延迟,网络性能最佳的优点。
此外,目前市场上可提供100Gbps带宽高速通信端口的最大的交换芯 片是intel的48端口OPA交换芯片。同时,对于48端口商用交换芯片, 每片交换芯片24个端口连接24个节点,其余24个端口间连接其他交换芯 片,可连接24片交换芯片,全互连大端口交换机可连接24x(24+1)=600 个节点,从而面向中小规模系统,最大可连接600节点,具有低成本、低 功耗、高性能、绿色环保等优点。另外,虽然本实施例中示出了该交换机 的端口为48个,但本领域的人员应当理解,选择的交换芯片的端口的个数 可根据实际需求进行设定,使得一个交换芯片上连接节点的端口数和连接 其他交换芯片的端口数相等,即保证输入端口和输出端口的个数相等即可。
2、交换芯片、节点编码规则
根据全互连拓扑大端口交换机的结构特点,交换芯片的标号为0到24。 每个交换芯片的1到24号端口用于连接其他24颗交换芯片,交换芯片的 25到48号端口连接节点,因此通过与交换芯片连接的端口号可以直接区 分节点,节点编号为与之连接的交换芯片编号和对应连接的端口号为:< 交换芯片号,连接交换机的端口号-24>,例如,根据本发明的一个实施例, <0,7>是0号交换芯片的31号端口连接的节点,同时,交换芯片统一规定 端口号为0,例如,根据本发明的一个实施例,<2,0>表示标号为2的交换 芯片,因此,根据节点命名即可分析出节点在拓扑中的位置。
此外,每个节点或交换芯片的LID号(或标识号)可据此构建:LID= 交换芯片编号x24+端口号,例如,根据本发明的一个实施例,节点<0,7> 的LID号为7;根据本发明的另一实施例,节点<2,7>的LID号为55;根据 本发明的另一实施例,交换芯片<2,0>的LID号为48。同时,LID号唯一确 定。反之,还可根据LID号计算节点编号:交换芯片编号=LID/24,端口号 =LID mod 24(LID除24的余数),例如,根据本发明的一个实施例,LID 号为56的节点,与其连接的交换芯片编号为56/24=2,对应的端口号为56 mod 24=8,即节点编号为<2,8>;根据本发明的另一个实施例,LID为72 的交换芯片编号为72/24=3,端口号为72mod 24=0,可知节点编号为<3,0>, 从而可确定其是第4个交换芯片。
3、拓扑构建
基于上述48端口的交换芯片,构建无阻塞全互连拓扑大端口交换机, 规定交换芯片的1到24号端口作为交换芯片间连接端口连接其他24个交 换芯片,而25到48号端口用于连接24个节点。
此外,如图1所示,48端口交换芯片全互连构建的大端口交换机,交 换芯片的1到24号端口用于互连其他24个交换芯片,25到48号端口用 于连接24个节点。因此,该交换系统或大端口交换机包括:25个交换芯 片,且每个交换芯片连接24个节点,从而系统规模为600节点。同时,图1中为简化结构,其只画出交换芯片之间的连接关系,没有画出每个交换芯片连接的节点。
4、大端口交换机的交换芯片间端口连接关系
根据上述命名后的交换芯片和节点之间的连接关系,可构造如下表1 所示的48端口交换芯片构建全互连拓扑大端口交换机的交换芯片间端口 的连接关系表。同时,如下表1所示,以第一行,第二列为例,1:1--->2: 24说明是1号交换芯片的1号端口连接交换芯片2的24号端口,从而按 下表1的方法连接即可完成交换芯片间的拓扑连接。
表1
5、全互连拓扑大端口交换机构建方法
根据全互连拓扑的结构特征,构建大端口交换机的方法如下:1块交 换页板(或交换主板)部署5颗交换芯片,从而5块交换页板可部署25颗 交换芯片,此外,5块交换页板通过交换背板(或背板)连接起来,构成 全互连拓扑,具体如图2所示。
此外,由于各端口间连接密度较大,为清晰起见,这里仅在图2中画 出了1个交换芯片与其他交换芯片的连接关系。如图2所示,大端口交换 机由一块背板和5块交换页板构成,背板负责5块交换页板间的连接,每 块交换页板连接5颗交换芯片,同时,每个端口间的连接关系如表1所示, 即可构建可连接600节点的全互连拓扑大端口交换机。
另外,虽然图2中示出了每块交换主板上设置5颗交换芯片,但本领 域的人员应当理解,每块交换主板上的交换芯片的个数可根据实际需求进 行设置,本发明对此不作限定。
6、大端口交换机前面板端口布局
大端口交换机前面板端口结构如图3所示,每个交换芯片的其余24个 端口用于对外连接节点,25个交换芯片即可互连600节点。交换机前面板 的布局和内部的交换页板相对应,由5块端口模块构成,每个端口模块对 应5个交换机芯片的端口,分为5行,每行24端口,对应一个交换芯片的 25至48端口,其自上而下每行对应1个交换芯片,共25行。
根据本发明的实施例,还提供了一种应用于上述通过交换芯片构建的 交换系统的路由算法。
如图4所示,根据本发明实施例的应用于上述通过交换芯片构建的交 换系统的路由算法包括:步骤401,确定数据的输入端口的类型;步骤403, 根据数据的输入端口的类型,选择相应的路由算法。
根据本发明的一个实施例,根据数据的输入端口的类型,选择相应的 路由算法包括:在确定数据的输入端口的类型为交换芯片的端口的情况下, 确定当前交换芯片为中转交换芯片;根据数据的包头信息,确定目标节点 的地址;查询线性转发表,直接确定目标节点所处的交换芯片和中转交换 芯片的连接端口,从而进行数据的转发。
根据本发明的一个实施例,还包括:根据预设的命名规则,对交换芯 片和节点进行命名;根据命名后的交换芯片和命名后的节点的连接关系, 构建交换芯片和节点的连接关系表;根据连接关系表,直接构建线性转发 表。
根据本发明的一个实施例,根据数据的输入端口的类型,选择相应的 路由算法包括:在确定数据的输入端口的类型为节点的端口的情况下,确 定当前交换芯片为源交换芯片;根据数据的包头信息,确定目标节点的地 址;根据目标节点的地址,从源交换芯片的多个端口中,随机选择其与其 他交换芯片的连接端口,从而进行数据的发送。
根据本发明的一个实施例,根据数据的输入端口的类型,选择相应的 路由算法包括:在确定数据的输入端口的类型为节点的端口的情况下,确 定当前交换芯片为源交换芯片;根据数据的包头信息,确定目标节点的地 址;根据目标节点的地址,从源交换芯片的多个端口中,确定其与其他交 换芯片连接的输出端口中最空闲的输出端口,从而进行数据的发送。
根据本发明的一个实施例,还包括:将交换芯片之间的物理链路的通 信资源分离为两条虚通道,其中一条虚通道用于交换芯片和节点之间的通 信,另外一条虚通道用于交换芯片之间的通信。
为了更好的描述本发明的技术方案,下面通过具体的实施例进行详细 的描述。
7、在上述交换系统的基础上,设置适用于该交换系统的路由算法
路由算法决定了信息的传输路径和通信效率,对系统性能有重要影响, 好的路由算法应该简单高效,易于工程实现的特点,除了具有很高的传输 带宽,很低的通信延迟还能提供较高的网络吞吐率,还要避免死锁,同时 满足无活锁,无饿死等要求。针对本发明提出的交换系统构建的全互连拓 扑结构特征,提供可配置路由算法,从而可根据应用通信特征选择最短路 径路由算法或自适应路由算法提升性能。
此外,对于负载均衡的应用,可选择最短路径路由算法,提供最低延 迟,最佳通信性能,然而对于通信集中在部分交换芯片连接的节点间的应 用,可以选择自适应路由,放宽对最短路径的限制,绕过拥塞路径,充分 利用空闲链路,提升网络吞吐率。同时,还可以根据应用的通信特征进行 配置,实现作业调度的灵活支持。
7.1、最短路径路由算法
最短路径路由算法总是选择源节点(或起始节点)到目标节点之间最 短距离的路径,其具有通信延迟低,传输速度快等优点。同事,该最短算 法设计思想简单,易于硬件编程实现,简单高效,有利于数据的快速转发, 从而实现传输速率高、低延迟的数据通信。而且,在本发明提出的全互连 拓扑的基础上,各交换芯片间具有直连链路,最短路径只有一跳,因此, 其天然的可以采用最短路径路由算法。
此外,上述最短路径路由算法包括:如果通信节点分布在相同交换芯 片内部,交换芯片可直接转发;如果节点分布在不同交换芯片,选择与目 标交换芯片直接连接的链路输出,路由一跳可达,由于拓扑连接关系明确, 无需代价矩阵即可构建LFT表(或线性转发表)。
另外,根据如表1所述的交换芯片端口连接关系表可直接构建LFT表。 首先,如前所述,根据目标节点的DLID(目标节点的LID号)可计算目 标节点所连接的交换芯片编号以及与之连接的端口号,然后根据表1可查 到与其连接的本地交换芯片端口号,该端口即为输出端口,从而可直接构 建LFT表,该LFT表的结构为<目的节点DLID:输出端口>,如下表2,该LFT表的具体结构详见表2。
目的节点DLID号 | 输出端口 |
1 | 3 |
2 | 6 |
3 | 2 |
…… | …… |
600 | 8 |
表2
此外,在交换芯片收到数据后,检查数据包头的目标节点DLID字段, 查找线性转发表LFT,选择与其对应的端口作为输出端口进行转发。
7.2、自适应路由算法
最短路径路由算法是确定性算法,确定性路由算法不受网络状态影响, 具有简单高效,易于实现的优点,但容易出现资源竞争的情况,特别是对 于一些存在通信“热点”,负载不均衡的应用,性能会受到较大影响。
然而,自适应路由可根据网络状态提供多种路径选择,灵活适应网络 变化,有利于提高链路带宽的利用率并且具有一定容错能力。因此,在确 定性最短路径路由算法的基础之上提出一种自适应路由路由算法,可根据 应用的负载特征和网络特征灵活选择路由策略,最大限度的发挥网络性能, 从而在实际应用中根据并行应用的通信特征和网络规模可以灵活采取不同 的路由算法来实现快速、灵活的路由策略,以实现高效的网络通信。
此外,全互连拓扑由于拓扑结构决定路由一跳可达,因此具有最小通 信延迟,对于绝大部分应用,诸如FFT这类全局通信应用网络性能最好。 但是,对于某些负载极度不均衡的应用,比如通信主要集中在2个不同交 换芯片所连接的节点之间,如果采用最短路径路由算法,通信将集中在这 2台交换芯片直连连接的链路间进行,会造成链路拥塞,进而导致通信性 能下降。
因此,针对这种极端恶劣的通信情况,基于全互连大端口交换机的结 构特征,提出一种自适应路由算法,可以根据链路拥塞状态,动态选择路 由,达到无阻塞通信的目的。放宽最短路径路由的限制条件,允许非最短 路径,可选择一个中转交换芯片进行转发,绕开拥塞链路,全局跳数也仅 为2跳,因此,一对交换芯片间可以提供24条路径选择,其中一条直达链 路,23条路径2跳可达,因此网络平均通信距离优于胖树拓扑,具有更低 的通信延迟,更高的网络性能。
此外,根据中转交换芯片的选择方式提供2种不同的自适应路由算法:
“贪心”自适应路由:中转交换芯片的选择是根据输出端口的链路资 源占用情况来选择的,优先选择链路资源占用最轻的,可有效利用空闲链 路,有利于提升网络利用率;
“随机”自适应路由:中转交换芯片的选择是根据随机算法任意选择 的,尽管每次的选择是随机的,但从统计平均的角度来说,可较好的解决 负载均衡问题,有利于提高网络吞吐率。
另外,由于任意交换芯片间都有直达链路,因此,无需构建代价矩阵, 对于任意目标节点DLID通过交换芯片间连接端口都可以最终到达,因此, 每个交换芯片的端口转发组都包含全部24个交换芯片间连接端口。交换芯 片根据指定的路由算法是“随机”或“贪心”选择输出端口:对于“贪心” 算法,根据输出端口的链路资源占用情况选择最空闲的端口输出,例如, 根据本发明的一个实施例,对于“贪心”自适应路由,如图5所示,交换 芯片S连接的源节点内部的节点和交换芯片D连接的目标节点组内的节点 进行通信,可以通过图中粗线标注的4条路径进行,其具体会根据输出端 口的链路资源占用情况选择最空闲的端口输出;对于“随机”算法,任意 选择输出端口,例如,根据本发明的一个实施例,对于“随机”自适应路 由,如图6所示,交换芯片S连接的源节点内部的节点和交换芯片D连接 的目标节点组内的节点进行通信,源交换芯片随机的选择输出端口,可能 发给中转交换芯片A或者B,然后中转交换芯片再将数据发往目的交换芯 片,最终完成路由。
此外,高性能互连网络的通信机制决定了数据包头只包含目的节点的 DLID号和QOS(Quality of Service,服务质量)服务等级(SL)等基本信 息,不包含路由的历史信息,因此,当前交换芯片在接到数据包后,仅从 数据包头并不能判断出数据被转发了几次,有可能再次选择到目标交换芯 片为2跳的路径端口输出,这种情况不加以限制有可能经历多个交换芯片 转发才能到达目标节点,也可能又重新转发会源节点,造成无限循环,导 致网络拥堵甚至崩溃,例如,根据本发明的一个实施例,如图7所示,数 据经过4次转发最后又回到了源交换芯片,这种情况必须避免。
另外,为避免这种多次转发的情况,规定自适应路由算法最多转发2 次,确保2跳可达,即从源节点的交换芯片发出的数据可以根据链路资源 占用情况选择链路资源较为空闲的端口转发,中间节点转发只选择最短路 径转发,即一条可达路径转发,确保最多2跳完成路由。
但是,交换芯片如何判断当前路由该选择最短路径还是可以自适应选 择合适的路由呢?由于当前交换芯片是知道数据的输入端口的,因此,可 将交换芯片的输入端口进行分类:用于连接节点的节点端口NodePort(节 点端口)和连接交换芯片的交换芯片间连接端口SwitchPort(交换机端口), 同时,根据拓扑构建方法是通过交换芯片的1到24端口为交换芯片间连接 端口,而25到48端口用于连接节点,因此,交换芯片可以简单的判断输入端口类型:如果输入端口号大于24,则为节点端口,否则是交换芯片间 连接端口。
此外,如图8所示,根据输入端口的类型进行判断,如果从节点端口 NodePort输入,说明当前交换芯片是源交换芯片,则可根据DLID在 SwitchPort选择合适的输出端口,并通过“随机”算法或“贪心”算法进行 数据的发送;如果输入端口是交换芯片间连接端口SwitchPort,说明当前交 换芯片是中转交换芯片,则根据DLID选择直达的最短路径,如果端口拥 塞则等待,直至链路空闲,再转发给目标交换芯片,进而到达目标节点。
7.3、死锁避免算法
自适应路由算法可以根据网络状态灵活选择路径,具有较好的连通度 并有利于负载均衡,但是会引入死锁,同时,死锁是影响系统性能的关键 问题,而死锁避免又最难解决,因此死锁避免是需要重点解决的问题。
此外,全互连拓扑天然的存在环路,因而会导致死锁,例如,根据本 发明的一个实施例,这里通过选取全互连拓扑中的4个交换芯片为例,阐 述如何造成死锁的,如图9a所示,假设有4个交换芯片间的数据传输是单 向逆时针的,从SW0(或交换芯片SW0)到SW2(或交换芯片SW2); SW1(或交换芯片SW1)到SW3(或交换芯片SW3);SW2到SW0;SW3 到SW1,如果同时发生数据传输,则交换芯片SW0会占用数据通道C01 发送数据给交换芯片SW1,而交换芯片SW1会请求数据通道C12,因此, C01和C12间具有相关性。交换芯片SW1会占用数据通道C12发送数据给 交换芯片SW2,而交换芯片SW2会请求数据通道C23,因此,C12和C23 间具有相关性。交换芯片SW2会占用数据通道C23发送数据给交换芯片 SW3,而交换芯片SW3会请求数据通道C30,因此,C23和C30间具有相 关性。交换芯片SW3会占用数据通道C30发送数据给交换芯片SW0,而 交换芯片SW0会请求数据通道C01,因此,C30和C01间具有相关性。此 外,根据Duato定理,如果通道扩展相关图连接成环,说明存在环回链路, 则拓扑存在死锁,否则,拓扑是无死锁的,如图9b所示,通道扩展相关图 成环,因此,存在死锁。
另外,本发明通过将物理链路分离为多个虚通道可以去除通道间的循 环依赖关系,是死锁避免的有效手段,因此,考虑增加虚通道来实现死锁 避免,打破通道间的循环依赖关系,而且还可以减少物理链路空闲时间, 提高网络吞吐率。
此外,本发明通过采用2条虚通道即可避免死锁,具体地:将物理链 路的通信资源分离为2条虚通道VL0和VL1,同时,规定从节点端口 NodePort输入到交换芯片间链路端口SwitchPort输出或从交换芯片间链路 端口SwitchPort输出到节点端口输出NodePort从虚通道VL0输出;从交换 芯片间链路端口SwitchPort输入到交换芯片端口输出NodePort从虚通道 VL1输出才,这样可去除通道间的循环依赖关系,避免死锁,如图10a和10b所示。
下面以前面描述的4个交换芯片间通信情况为例,说明如何去除死锁 的,如图10a所示,对于从交换芯片SW0到SW2的路由,根据自适应路 由算法规定,首先交换芯片SW0会通过虚通道VL0_01发送数据,而对应 的交换芯片SW1会请求虚通道VL1_12,因此,虚通道VL0_01和VL1_12 具有相关性;对于从交换芯片SW1到SW3的路由,首先交换芯片SW1会 通过虚通道VL0_12发送数据,而对应的交换芯片SW2会请求虚通道 VL1_23,因此,虚通道VL0_12和VL1_23具有相关性;对于从交换芯片 SW2到SW0的路由,首先交换芯片SW2会通过虚通道VL0_23发送数据, 而对应的交换芯片SW3会请求虚通道VL1_30,因此,虚通道VL0_23和VL1_30具有相关性;对于从交换芯片SW3到SW1的路由,首先交换芯片 SW3会通过虚通道VL0_30发送数据,而对应的交换芯片SW0会请求虚通 道VL1_01,因此,虚通道VL0_30和VL1_01具有相关性。同时,对应的 扩展通道相关图如图10b所示,可见并不成环,因此,根据Duato定理, 网络不存在死锁。
7.4、测试结果
本发明已经在Intel公司商用高性能互连网络模拟器Fabric_Sim上通过 测试验证,测试全互连拓扑结构,验证路由算法正确,不存在死锁。
8、本发明的效果
基于商用交换芯片构建的交换系统可显著降低系统成本和功耗,以 Intel商用高性能48端口OPA交换芯片为例,表3给出了全互连和二层胖 树构建600端口规模交换机所需的成本和功耗比较情况。本发明通过将48 端口OPA交换芯片全互连,每个交换芯片连接24个计算节点,其余24个 端口连接其他24个交换芯片,可互连25组,系统可连接24x25=600节点, 而胖树拓扑相同规模需24个边界交换芯片和12个骨干交换芯片互连576 节点,同时,该交换系统成本仅为胖树的75.2%%,具体数值见下表3,由 此可见,采用交换系统可有效降低网络成本和功耗,而通信性能却优于胖 树网络。
此外,如果和市场主流高性能大端口交换机进行比较则更体现出本发 明的优势,例如,根据本发明的一个实施例,intel的192口交换机的市场 价格是1,055,448元,768口的大端口交换机更是高达4,073,449元,本发 明的全互连大端口交换机芯片成本仅为其价格的10%。
表3
综上所述,借助于本发明的上述技术方案,通过将每个交换芯片的N 个端口分别与其他的交换芯片连接,以及每个交换芯片剩余的N个端口分 别与节点连接,从而通过构建这种全互连网络,其能够显著降低系统成本 和功耗。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在 本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包 含在本发明的保护范围之内。
Claims (8)
1.一种通过交换芯片构建的交换系统,其特征在于,包括:多个所述交换芯片,每个所述交换芯片具有2N个端口,
其中,每个所述交换芯片的N个端口分别与其他的所述交换芯片连接,以及每个所述交换芯片剩余的N个端口分别与节点连接,其中,N为正整数。
2.根据权利要求1所述的交换系统,其特征在于,包括:多个交换主板,每个交换主板上设置有预设数量的所述交换芯片;以及
多个所述交换主板设置在背板上,从而将多个所述交换主板连接。
3.一种应用于权利要求1-2任一项所述的通过交换芯片构建的交换系统的路由算法,其特征在于,包括:
确定数据的输入端口的类型;
根据所述数据的输入端口的类型,选择相应的路由算法。
4.根据权利要求3所述的路由算法,其特征在于,根据所述数据的输入端口的类型,选择相应的路由算法包括:
在确定所述数据的输入端口的类型为所述交换芯片的端口的情况下,确定当前交换芯片为中转交换芯片;
根据所述数据的包头信息,确定目标节点的地址;
查询线性转发表,直接确定所述目标节点所处的交换芯片和所述中转交换芯片的连接端口,从而进行所述数据的转发。
5.根据权利要求4所属的路由算法,其特征在于,还包括:
根据预设的命名规则,对所述交换芯片和所述节点进行命名;
根据命名后的交换芯片和命名后的节点的连接关系,构建所述交换芯片和所述节点的连接关系表;
根据所述连接关系表,直接构建所述线性转发表。
6.根据权利要求3所述的路由算法,其特征在于,根据所述数据的输入端口的类型,选择相应的路由算法包括:
在确定所述数据的输入端口的类型为所述节点的端口的情况下,确定当前交换芯片为源交换芯片;
根据所述数据的包头信息,确定目标节点的地址;
根据所述目标节点的地址,从所述源交换芯片的多个端口中,随机选择其与其他交换芯片的连接端口,从而进行所述数据的发送。
7.根据权利要求3所述的路由算法,其特征在于,根据所述数据的输入端口的类型,选择相应的路由算法包括:
在确定所述数据的输入端口的类型为所述节点的端口的情况下,确定当前交换芯片为源交换芯片;
根据所述数据的包头信息,确定目标节点的地址;
根据所述目标节点的地址,从所述源交换芯片的多个端口中,确定其与其他交换芯片连接的输出端口中最空闲的输出端口,从而进行所述数据的发送。
8.根据权利要求3所述的路由算法,其特征在于,还包括:
将所述交换芯片之间的物理链路的通信资源分离为两条虚通道,其中一条所述虚通道用于所述交换芯片和所述节点之间的通信,另外一条所述虚通道用于所述交换芯片之间的通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711483949.1A CN108337196B (zh) | 2017-12-29 | 2017-12-29 | 一种通过交换芯片构建的交换系统及其路由算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711483949.1A CN108337196B (zh) | 2017-12-29 | 2017-12-29 | 一种通过交换芯片构建的交换系统及其路由算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108337196A true CN108337196A (zh) | 2018-07-27 |
CN108337196B CN108337196B (zh) | 2021-04-23 |
Family
ID=62923672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711483949.1A Active CN108337196B (zh) | 2017-12-29 | 2017-12-29 | 一种通过交换芯片构建的交换系统及其路由算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108337196B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109246006A (zh) * | 2018-08-15 | 2019-01-18 | 曙光信息产业(北京)有限公司 | 一种通过交换芯片构建的交换系统及其路由算法 |
CN111901257A (zh) * | 2020-08-10 | 2020-11-06 | 曙光信息产业(北京)有限公司 | 一种交换机、报文转发方法及电子设备 |
CN112039703A (zh) * | 2020-08-28 | 2020-12-04 | 迈普通信技术股份有限公司 | 路径确定方法、装置、设备及可读存储介质 |
CN113595935A (zh) * | 2021-07-20 | 2021-11-02 | 锐捷网络股份有限公司 | 数据中心交换机架构及数据中心 |
WO2023071324A1 (zh) * | 2021-10-29 | 2023-05-04 | 华为技术有限公司 | 报文转发方法及装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998016084A1 (en) * | 1996-10-09 | 1998-04-16 | Valentin Morozov | Contention free global interconnection |
CN1787478A (zh) * | 2004-12-09 | 2006-06-14 | 电子科技大学 | 一种多维交换结构中的无死锁自适应路由方法 |
CN101262355A (zh) * | 2008-04-18 | 2008-09-10 | 北京锐安科技有限公司 | 一种数据交换处理板及其相应交换处理系统 |
US7522541B2 (en) * | 2004-10-11 | 2009-04-21 | International Business Machines Corporation | Identification of the configuration topology, existing switches, and miswires in a switched network |
US7809006B2 (en) * | 2007-08-16 | 2010-10-05 | D. E. Shaw Research, Llc | Routing with virtual channels |
CN102075394A (zh) * | 2011-01-14 | 2011-05-25 | 清华大学 | 基于P2i互连结构的数据中心 |
CN102298418A (zh) * | 2011-08-17 | 2011-12-28 | 艾诺通信系统(苏州)有限责任公司 | 基于MicroTCA标准的AMC板卡及其连接方法 |
CN102394782A (zh) * | 2011-11-15 | 2012-03-28 | 西安电子科技大学 | 基于模块扩展的数据中心网络拓扑系统 |
US20140133493A1 (en) * | 2012-11-15 | 2014-05-15 | Compass Electro Optical Systems Ltd. | Distributed switchless interconnect |
CN103973564A (zh) * | 2013-01-31 | 2014-08-06 | 清华大学 | 互连网络系统及自适应路由方法 |
WO2015196461A1 (en) * | 2014-06-27 | 2015-12-30 | Tsinghua University | Deadlock-free adaptive routing of interconnect network |
-
2017
- 2017-12-29 CN CN201711483949.1A patent/CN108337196B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998016084A1 (en) * | 1996-10-09 | 1998-04-16 | Valentin Morozov | Contention free global interconnection |
US7522541B2 (en) * | 2004-10-11 | 2009-04-21 | International Business Machines Corporation | Identification of the configuration topology, existing switches, and miswires in a switched network |
CN1787478A (zh) * | 2004-12-09 | 2006-06-14 | 电子科技大学 | 一种多维交换结构中的无死锁自适应路由方法 |
US7809006B2 (en) * | 2007-08-16 | 2010-10-05 | D. E. Shaw Research, Llc | Routing with virtual channels |
CN101262355A (zh) * | 2008-04-18 | 2008-09-10 | 北京锐安科技有限公司 | 一种数据交换处理板及其相应交换处理系统 |
CN102075394A (zh) * | 2011-01-14 | 2011-05-25 | 清华大学 | 基于P2i互连结构的数据中心 |
CN102298418A (zh) * | 2011-08-17 | 2011-12-28 | 艾诺通信系统(苏州)有限责任公司 | 基于MicroTCA标准的AMC板卡及其连接方法 |
CN102394782A (zh) * | 2011-11-15 | 2012-03-28 | 西安电子科技大学 | 基于模块扩展的数据中心网络拓扑系统 |
US20140133493A1 (en) * | 2012-11-15 | 2014-05-15 | Compass Electro Optical Systems Ltd. | Distributed switchless interconnect |
CN103973564A (zh) * | 2013-01-31 | 2014-08-06 | 清华大学 | 互连网络系统及自适应路由方法 |
WO2015196461A1 (en) * | 2014-06-27 | 2015-12-30 | Tsinghua University | Deadlock-free adaptive routing of interconnect network |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109246006A (zh) * | 2018-08-15 | 2019-01-18 | 曙光信息产业(北京)有限公司 | 一种通过交换芯片构建的交换系统及其路由算法 |
CN111901257A (zh) * | 2020-08-10 | 2020-11-06 | 曙光信息产业(北京)有限公司 | 一种交换机、报文转发方法及电子设备 |
CN111901257B (zh) * | 2020-08-10 | 2022-02-25 | 曙光信息产业(北京)有限公司 | 一种交换机、报文转发方法及电子设备 |
CN112039703A (zh) * | 2020-08-28 | 2020-12-04 | 迈普通信技术股份有限公司 | 路径确定方法、装置、设备及可读存储介质 |
CN112039703B (zh) * | 2020-08-28 | 2022-04-22 | 迈普通信技术股份有限公司 | 路径确定方法、装置、设备及可读存储介质 |
CN113595935A (zh) * | 2021-07-20 | 2021-11-02 | 锐捷网络股份有限公司 | 数据中心交换机架构及数据中心 |
WO2023071324A1 (zh) * | 2021-10-29 | 2023-05-04 | 华为技术有限公司 | 报文转发方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108337196B (zh) | 2021-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108337196A (zh) | 一种通过交换芯片构建的交换系统及其路由算法 | |
CN104247341B (zh) | 分布式交换机及其多播树层次结构的动态优化方法 | |
Costa et al. | R2C2: A network stack for rack-scale computers | |
CN105450555B (zh) | 一种片上网络系统,及片上网络通信链路的建立方法 | |
CN104380672B (zh) | 用于802.1aq的三级折叠Clos优化 | |
CN108259387A (zh) | 一种通过交换机构建的交换系统及其路由算法 | |
TWI516957B (zh) | 用於多維網目拓樸結構的系統、方法及裝置 | |
CN106165356A (zh) | 在分布式直接互连网络中路由分组的方法 | |
CN104184676B (zh) | 一种数据中心网络及其流量均衡方法和控制器 | |
CN102986172A (zh) | 虚拟集群交换 | |
CN103222236B (zh) | 网络中继系统和通信装置 | |
CN108353026A (zh) | 用于链路聚合组中的高级分布的方法、系统和计算机可读介质 | |
Guay et al. | vFtree-A fat-tree routing algorithm using virtual lanes to alleviate congestion | |
CN104486237B (zh) | clos网络中无乱序分组路由及调度方法 | |
CN102185772B (zh) | 数据中心网络系统的路由方法 | |
CN107959643A (zh) | 一种通过交换芯片构建的交换系统及其路由算法 | |
CN104683242B (zh) | 一种二维片上网络的拓扑结构以及路由方法 | |
CN105022717A (zh) | 附加请求数优先级的片上网络资源仲裁方法及仲裁单元 | |
CN101917333A (zh) | 基于区域的光电双层片上网络系统及路由方法 | |
CN105515993B (zh) | 一种光电混合交换内部路径映射方法 | |
Cui et al. | Wireless link scheduling for data center networks | |
CN109561034A (zh) | 三维网络拓扑结构及其路由算法 | |
CN109246006A (zh) | 一种通过交换芯片构建的交换系统及其路由算法 | |
TW201728130A (zh) | 網路通訊系統、軟體定義網路控制器及其路由方法 | |
US20140177648A1 (en) | Tagging and synchronization for fairness in noc interconnects |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220720 Address after: 100089 building 36, courtyard 8, Dongbeiwang West Road, Haidian District, Beijing Patentee after: Dawning Information Industry (Beijing) Co.,Ltd. Patentee after: DAWNING INFORMATION INDUSTRY Co.,Ltd. Address before: 100193 No. 36 Building, No. 8 Hospital, Wangxi Road, Haidian District, Beijing Patentee before: Dawning Information Industry (Beijing) Co.,Ltd. |