一种通过交换机构建的交换系统及其路由算法的制作方法

文档序号:14879589发布日期:2018-07-07 09:22阅读:139来源:国知局
本发明涉及通信领域,具体来说,涉及一种通过交换机构建的交换系统及其路由算法。
背景技术
:在现有技术中,美国国防部于2002年制定的“高效能计算系统(highproductivitycomputingsystems,简称hpcs)”研究计划率先提出了以高效能作为新一代高性能计算机研制的目标。高效能代表了高性能计算机研究的新方向,其包含了高性能、可编程性、可移植性、稳定性等多个方面的要求,同时,高效能计算机研究领域主要包括:高带宽、低延迟分级存储系统;平衡好处理器、存储器、网络带宽、系统软件与开发语言的均衡系统结构;健壮性策略;新的度量准则和基准测试程序;系统自适应性;节能以及简化管理复杂性等诸多内容。此外,大数据、云计算、人工智能等技术蓬勃发展,大规模计算快速向超级计算机和数据中心聚集。计算机技术及科学技术的发展使得高性能计算机技术得到了广泛的应用,而在技术应用加深的过程中,也对高性能互连网络提出了更高的要求。另外,高性能互连网络作为数据中心的重要基础设施,也需要在新的技术形态下,因势而变,不断提升性能和可扩展性,提高安全性和可管理性,以及支持软件定义,实现多协议、多网络的深度融合,提高集成密度,支持快速部署。同时,数据中心还面临多方面挑战,比如能耗、散热问题,如何让数据中心更加高效、绿色、可靠、智能成为当前面临的问题。此外,2012年我国数据中心总数已超64万个,80%以上是小于500平米的微型数据中心,因此,数量多规模小是我国数据中心的特征。同时,世界各地正在建造的数据中心正继续增长,根据idc(互联网数据中心)统计的数据显示,全球数据中心数量在2015年达到了855万座。此外,数据中心市场从客户可分为hyperscale、enterprises和smb(servermessageblock,它是一个协议名)三个层级,其中,hyperscale的成长超过了60%,同时,据idc预测,来自enterprises的需求的年增长率将达到20%,其中中小型客户的数据中心总量非常庞大。同时,中小型企业数据中心规模在100台服务器到500台服务器之间,因此,如果构建互连网络拓扑结构,针对这样的应用场景和系统规模,提供低成本,低功耗,高性能的互连网络具有非常重要的现实意义和社会价值。高性能互连网络该如何发展来应对这些挑战呢?互连网络的拓扑结构和路由算法从宏观上决定了网络的通信性能。此外,拓扑结构是指合理的互连结构,其不但可以提供高性能的通信,还可以减轻并行程序的设计负担。同时,网络拓扑的静态度量主要包括:网络的度、链路数、网络直径和等分宽度,这些特性决定拓扑的通信性能、规模、成本和扩展性等,其是评价网络性能的重要参数,因此,网络结构设计应该最小化网络直径以降低延迟、提高通信能力,以及最大化等分宽度以提高网络吞度率,增强系统容错能力,提高可靠性,以及最小化交换机数量来降低系统成本,降低系统功耗。另外,超级计算机之父cray最新的xc30系统,其采用新颖的高带宽、低网络直径的dragonfly(蜻蜓)拓扑,类似缩减的全互连结构。同时,dragonfly拓扑使用一组路由器连接成一个高维度的虚拟路由器组,组间是全互连结构,组内是2维的all-to-all(多对多)结构,该xc30系统的全局带宽是其上一代产品基于3dtorus拓扑的gemini系统的20倍,性能有了极大的提升,但其交换机有48个端口,大端口路由器对于系统成本和工艺都是严峻的考验。此外,percs系统是ibm应对darpa(defenseadvancedresearchprojectsagency,美国国防部高级研究计划局)挑战所设计的高效能、高性能计算机系统。该percs系统通过两级全互连拓扑将数万颗power7芯片连接起来,提供高等分带宽和低延迟通信,但是由于功耗和成本的问题,perch系统很难做到超大系统规模。另外,通过路由算法决定消息的传输路径,从而该路由算法对于大规模网络通信性能至关重要,同时,经典的路由算法有最短路径路由和自适应路由等。其中,最短路径路由算法是指从源节点到目标节点所经过的路径距离最短,其具有通信距离最短,延迟最低等特点,但通常是确定性路由,不考虑网络状态的变换,不具有容错能力,容易造成拥塞,导致网络性能下降;自适应路由算法是根据通道的拥塞情况动态选择路由,好处是路由灵活,链路利用率高,具有容错能力,不足之处是非最短路径、算法复杂、容易死锁且存在乱序的问题。此外,网络交换机需要一定的缓冲器用来存储数据包,但是,缓冲器的容量是有限的,对于那些数据包头还没有到达目的节点的报文,一方面要请求缓冲器资源,同时又要占用当前缓冲报文的缓冲器,这种通道资源的循环占用就可能产生死锁。目前,通过增加虚通道构建虚拟子网,从而通过分离流量可有效避免死锁,但是这种方法的缺点是所需资源比较多,对于采用高维度拓扑的超大规模网络会极大增加系统成本;以及还可采用逃逸虚通道也可以避免死锁,当发生拥塞时数据包进入逃逸虚通道路由,可化解拥塞情况,其不足之处在于逃逸通道的利用率比较低;以及还可采用日期变更线(dateline)方法也可有效避免死锁,对于通道资源的循环循环占用而发生的死锁,可以通过设置ddateline来破坏这种循环占用来避免死锁,从而对于每个循环依赖的环,选定一个节点作为时间线,网络包首先在虚通道0中传输,当进入时间线后,强制切换至虚通道1中传输,即可避免环路死锁,但是这种方法会导致部分通道资料利用率不高,负载不均衡。综上,目前没有基于商用交换机构建全互连拓扑的通用方法,同时,最短路径路由算法可以直接用于全互连网络,但是对于通信负载不均衡的应用,链路资源竞争情况比较严重,会导致网络拥塞,性能严重下降的问题。针对相关技术中的问题,目前尚未提出有效的解决方案。技术实现要素:针对相关技术中的问题,本发明提出一种通过交换机构建的交换系统及其路由算法。本发明的技术方案是这样实现的:根据本发明的一个方面,提供了一种通过交换机构建的交换系统。该通过交换机构建的交换系统包括:多个交换机,每个交换机具有2n个端口,其中,每个交换机的n个端口分别与其他的交换机连接,以及每个交换机剩余的n个端口分别与节点连接,其中,n为正整数。根据本发明的一个实施例,每个交换机的1到n号端口与其他的交换机连接。根据本发明的一个实施例,每个交换机的n+1至2n号端口与节点连接。根据本发明的另一方面,提供了一种应用于上述通过交换机构建的交换系统的路由算法。该路由算法包括:确定数据的输入端口的类型;根据数据的输入端口的类型,选择相应的路由算法。根据本发明的一个实施例,包括:在确定数据的输入端口的类型为交换机的端口的情况下,确定当前交换机为中转交换机;根据数据的包头信息,确定目标节点的地址;查询线性转发表,直接确定目标节点所处的交换机和中转交换机的连接端口,从而进行数据的转发。根据本发明的一个实施例,还包括:根据预设的命名规则,对交换机和节点进行命名;根据命名后的交换机和命名后的节点的连接关系,构建交换系统。根据本发明的一个实施例,还包括:分别计算距离每个节点所处的交换机的通信距离为一跳的交换机,从而构建代价矩阵;根据代价矩阵,构造线性转发表。根据本发明的一个实施例,包括:在确定数据的输入端口的类型为节点的端口的情况下,确定当前交换机为源交换机;根据数据的包头信息,确定目标节点的地址;根据目标节点的地址,查询端口组转发表,以得到与目标节点相对应的多个输出端口,并且在多个输出端口中,选择最空闲的输出端口,从而进行数据的发送。根据本发明的一个实施例,还包括:分别计算距离每个节点所处的交换机的通信距离为一跳或两跳的交换机,从而构建代价矩阵;根据代价矩阵,构造端口组转发表。根据本发明的一个实施例,还包括:将交换机之间的物理链路的通信资源分离为两条虚通道,其中一条虚通道用于交换机和节点之间的通信,另外一条虚通道用于交换机之间的通信。本发明的有益技术效果在于:本发明通过将每个交换机的n个端口分别与其他的交换机连接,以及将每个交换机剩余的n个端口分别与节点连接,从而构建这种全互连网络,其具有低成本、低功耗、低延迟,高性能等优点。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据本发明实施例的拓扑网络直径与系统规模的关系曲线图;图2是根据本发明实施例的拓扑等分宽度(或链路数量)与系统规模的关系曲线图;图3是根据本发明实施例的交换系统的示意图;图4是根据本发明实施例的路由算法的示意图;图5是现有技术中的胖树拓扑的通信示意图;图6是根据本发明实施例的自适应路由示意图;图7是根据本发明实施例的全互连拓扑路由多次转发的示意图;图8是根据本发明具体实施例的路由算法的具体流程图;图9a和图9b是现有技术中的路由死锁示意图;图10a和图10b是根据本发明实施例的交换系统自适应路由死锁避免示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。根据本发明的实施例,提供了一种通过交换机构建的交换系统。如图3所示,根据本发明实施例的通过交换机构建的交换系统包括:多个交换机,每个交换机具有2n个端口,其中,每个交换机的n个端口分别与其他的交换机连接,以及每个交换机剩余的n个端口分别与节点连接,其中,n为正整数。此外,当然可以理解,虽然图3中示出的具体的交换机的个数以及使用的交换机的端口,但本领域的技术人员应当理解,选择的交换机的端口的个数和交换机的个数可根据实际需求进行设定,从而保证一个交换机上连接节点的端口数和连接其他交换机的端口数相等,即保证输入端口和输出端口的个数相等即可。借助于本发明的上述技术方案,通过将每个交换机的n个端口分别与其他的交换机连接,以及将每个交换机剩余的n个端口分别与节点连接,从而构建这种全互连网络,其具有低成本、低功耗、低延迟,高性能等优点。根据本发明的一个实施例,每个交换机的1到n号端口与其他的交换机连接。根据本发明的一个实施例,每个交换机的n+1至2n号端口与节点连接。为了更好的描述本发明的技术方案,下面通过具体的实施例进行详细的描述。为解决现有技术中存在的问题,本发明采用基于商用交换机(或交换机)构建全互连网络(或交换系统),并提出最短路径路由算法和自适应路由算法以及基于虚通道的死锁避免方法,从而使得该交换系统和相关的路由算法具有低成本、低功耗、低延迟,高性能的特点。1、基于商用交换机构建全互连网络对于具有2n个端口的交换机,n个端口可以连接节点,另外n个端口作为交换机之间连接的链路端口,从而可连接(n+1)台交换机,因此,系统规模为(n2+n)个节点。同时,还基于最短路径路由算法即可实现无阻塞网络,其网络直径仅一跳,具有最低通信延迟,网络性能最佳,例如,根据本发明的一个实施例,基于48端口的商用交换机,每台交换机连接24个节点,其余24个端口可连接24台交换机,全互连网络可连接24x(24+1)=600个节点,从而在面向中小规模系统,其最大可连接600节点,从而该交换系统具有低成本、低功耗、高性能、绿色环保等优点,特别适合中小型企业数据中心规模。2、全互连拓扑结构特性分析表1描述了本发明的全互连网络(或全互连拓扑)、mesh拓扑、torus拓扑、dragonfly拓扑的各种直接网络拓扑结构的节点度、链路数量、网络直径和等分宽度等静态参数,表1中的n代表交换机数量。其中,链路数量表示了构造网络的成本和网络的复杂度,当节点数增加时,为了使连接代价达到最小,总链路数应当按照线性规律增加。如表1所示,在相同系统规模情况下,全互连拓扑的链路数量随系统节点数的平方级别快速增长;dragonfly拓扑也相应的随系统规模呈指数级增加;而标准mesh拓扑/torus拓扑的链路数量是于系统规模线性增长。此外,网络直径表示网络最长距离,其是衡量网络通信性能的重要指标,随着系统规模的不断扩大,其影响越来越大,从减少通信延迟的观点看来,网络直径应该尽量小。如表1所示,2dmesh拓扑的网络直径最大,其是系统节点数量开平方的2倍,相应的torus拓扑会减少一半;dragonfly拓扑的网络直径是5跳;而本发明公开的全互连拓扑的网络直径最低,只有1跳,因而通信距离最短,延迟最短,网络性能最好。另外,等分宽度是说明沿等分网络最大通信带宽的性能指标,其对于网络吞吐率具有重要影响。如表1所示,本发明所公开的全互连拓扑的等分宽度最好,其是与系统规模的平方成正比增长,可提供最佳的网络吞吐率;dragonfly拓扑仅全局链路影响等分宽度,与系统规模成线性增长;mesh拓扑/torus拓扑是与系统规模的开平方/三次方同比增长的。表1此外,图1描述的是网络直径随网络规模的增长情况的示意图,该图的横坐标是交换机数量,以及该图的纵坐标是对应的网络直径,从图1可以看出mesh拓扑和torus拓扑的网络直径呈指数级增长,全互连的网络直径最低仅为1跳,dragonfly为5跳,而层次化拓扑随着规模的扩展缓慢增长,而3dtorus的网络直径达32跳,因此,本发明公开的全互连网络具有最低延迟,最佳通信性能。另外,图2描述的是网络等分宽度与系统规模的关系曲线图,该图2的横坐标是交换机数量,以及该图的纵坐标是对应拓扑等分宽度(以链路数量)全互性拓扑的等分宽度最好,随规模呈指数增长,因此可以提供最强的系统连通性能,然而,现有的标准mesh拓扑和torus拓扑是呈指数开方的速度增长,而dragonfly拓扑相对全互连还是具有较大差距的。3、交换机、节点的编码规则根据全互连拓扑的结构特点,交换机标号为0到n,其中,交换机的1到n号端口用于连接其他n台交换机,交换机的n+1到2n号端口连接节点,因此通过与交换机连接的端口号可以直接区分节点,节点编号为与之连接的交换机编号和对应连接的端口号:<交换机号,连接交换机的端口号-n>,例如,根据本发明的一个实施例,<0,7>是于0号交换机的n+7号端口连接的节点,从而可根据节点命名即可分析出节点在拓扑中的位置。4、拓扑构建基于2n端口的交换机,构建无阻塞全互连拓扑,规定交换机的1到n号端口作为交换机间连接端口,而n+1到2n号端口连接n个节点,例如,根据本发明的一个实施例,下面以18端口的交换机为例,构建如图3所示的全互连拓扑,交换机的1到9号端口用于互连其他9个交换机,10到18号端口用于连接9个节点,从而该交换系统具有10个交换机,每个交换机连接9个节点,系统规模为90节点,此外,这里为简化结构,每个交换机只画出了4个连接的节点。此外,交换机间连接关系端口命名:<交换机号,端口号>,例如,根据本发明的一个实施例,<0,7>是0号交换机的7号端口。同时,交换机间端口连接关系:对于交换机i的端口j:<i,j>,与之连接的端口是<i+j,n+1-j>,即对端交换机(i+j)的端口(n-j)。另外,下面给出了构建全互连拓扑交换机间端口连接方法,此方法可以快速部署全互连拓扑。foriinrange(0,n+1);forjinrange(1,n+1-i);connect<i,j><---><i+j,n+1-j>此外,这里以12端口交换机构建全互连拓扑为例,给出交换机间端口的具体连接关系。如下表2所示,以第一行,第二列为例,1:1--->2:6说明是1号交换机的1号端口连接2号交换机的6号端口,从而按下表2的方法连接即可完成交换机间的拓扑连接。表2根据本发明的实施例,还提供了一种应用于上述通过交换机构建的交换系统的路由算法。如图4所示,根据本发明实施例的应用于上述通过交换机构建的交换系统的路由算法包括:步骤s401,确定数据的输入端口的类型;步骤s403,根据数据的输入端口的类型,选择相应的路由算法。根据本发明的一个实施例,包括:在确定数据的输入端口的类型为交换机的端口的情况下,确定当前交换机为中转交换机;根据数据的包头信息,确定目标节点的地址;查询线性转发表,直接确定目标节点所处的交换机和中转交换机的连接端口,从而进行数据的转发。根据本发明的一个实施例,还包括:根据预设的命名规则,对交换机和节点进行命名;根据命名后的交换机和命名后的节点的连接关系,构建交换系统。根据本发明的一个实施例,还包括:分别计算距离每个节点所处的交换机的通信距离为一跳的交换机,从而构建代价矩阵;根据代价矩阵,构造线性转发表。根据本发明的一个实施例,包括:在确定数据的输入端口的类型为节点的端口的情况下,确定当前交换机为源交换机;根据数据的包头信息,确定目标节点的地址;根据目标节点的地址,查询端口组转发表,以得到与目标节点相对应的多个输出端口,并且在多个输出端口中,选择最空闲的输出端口,从而进行数据的发送。根据本发明的一个实施例,还包括:分别计算距离每个节点所处的交换机的通信距离为一跳或两跳的交换机,从而构建代价矩阵;根据代价矩阵,构造端口组转发表。根据本发明的一个实施例,还包括:将交换机之间的物理链路的通信资源分离为两条虚通道,其中一条虚通道用于交换机和节点之间的通信,另外一条虚通道用于交换机之间的通信。为了更好的描述本发明的技术方案,下面通过具体的实施例进行详细的描述。5、在上述交换系统的基础上,设置适用于该交换系统的路由算法针对全互连拓扑结构特征,可提供可配置路由算法,可根据应用通信特征选择最短路径路由算法或自适应路由算法提升性能。5.1、路由算法可配置,支持最短路径路由和自适应路由。对于负载均衡的应用,可选择最短路径路由算法,提供最低延迟,最佳通信性能。对于通信集中在部分交换机连接的节点的应用,可以选择自适应路由,放宽对最短路径的限制,绕过拥塞路径,充分利用空闲链路,提升网络吞吐率,同时也可以根据应用的通信特征进行配置,实现作业调度的灵活支持。5.2、拓扑规模可配置拓扑规模可根据应用需求调整,可调整交换机连接节点的数量,增加或减少互连交换机的数量,减少互连交换机数量,可用于增加交换机间连接链路的数量,提高并发通道,提升系统通信性能。5.3、最短路径路由算法路由算法决定了信息的传输路径和通信效率,其对系统性能有重要影响,好的路由算法应该简单高效,易于工程实现的特点,除了具有很高的传输带宽,很低的通信延迟还能提供较高的网络吞吐率,还要避免死锁,同时满足无活锁,无饿死等要求。当网络存在竞争和失效部件时,自适应路由可以通过路径替换来继续完成数据的传输。同时,对于处理器集成网络的情况,还应考虑尽量少的占用宝贵的片上资源,这就要求路由器控制逻辑简单,使用的端口数量、通道数量和缓存容量都最小化。此外,最短路径路由算法总是选择源节点到目标节点之间最短距离的路径,具有通信延迟低,传输速度快等优点,该算法设计思想简单,易于硬件编程实现,简单高效,有利于数据的快速转发,从而实现传输速率高、低延迟的数据通信。而全互连拓扑交换机间具有直连链路,最短路径只有一跳,因此,本发明所公开的交换系统天然的可以采用最短路径路由算法。此外,最短路径路由算法是指如果通信节点分布在相同交换机内部,交换机可直接转发,然而如果节点分布在不同交换机,选择与目标交换机直接连接的链路输出,路由一跳可达,基于代价矩阵构建线性转发表(lft表)。同时,构建线性转发表是基于交换机的代价矩阵,从代价矩阵中选择到达目标节点dlid(目标节点的lid号,其中,每个节点或交换机的lid号可据按照以下内容构建:lid=交换机编号x24+端口号,例如,根据本发明的一个实施例,节点<0,7>的lid号为7)距离最短(跳数最小,将两个交换机之间传输一次数据作为一跳)的端口作为到目的节点的输出端口,从而构建线性转发表。同时,该线性转发表的结构为目的节点dlid:输出端口,具体结构详见表3,从而每个目标节点dlid对应表中的一项,因此,对于系统规模为(n2+n)个节点的全互连网络,线性转发表具有(n2+n)个表项。目的节点dlid输出端口132632…………n2+n8表3另外,该最短路径路由算法是在交换机收到数据后,检查数据的包头的目标节点dlid字段,查找线性转发表lft,选择与其对应的端口作为输出端口进行转发。5.4、自适应路由确定性最短路径路由算法不受网络状态影响,具有简单高效,易于实现的优点,但容易出现资源竞争的情况,然而,自适应路由可根据网络状态提供多种路径选择,灵活适应网络变化,有利于提高链路带宽的利用率并且具有一定容错能力。因此,在确定性最短路径路由算法的基础之上,还提出一种自适应路由路由算法,可根据应用的负载特征和网络特征灵活选择路由策略,最大限度的发挥网络性能,从而在实际应用中根据并行应用的通信特征和网络规模可以灵活采取不同的路由算法来实现快速、灵活的路由策略,进而实现了高效的网络通信。此外,全互连拓扑由于拓扑结构决定路由一跳可达,因此具有最小通信延迟,对于绝大部分应用,诸如fft这类全局通信应用网络性能最好。但是,对于某些负载极度不均衡的应用,比如通信主要集中在2个不同交换机所连接的节点间,根据最短路径路由算法的规则,通信将集中在这2台交换机直连连接的链路间进行,会造成链路拥塞,进而导致通信性能下降。然而,胖树拓扑由于具有大量冗余链路,因此,即使面对这种极端通信情况,也不会出现通信流量拥塞到一条链路的情况,例如,根据本发明的一个实施例,如图5所示,交换机sw1连接的节点组内与交换机sw3连接的节点组进行通信,采用自适应路由可以将路由通过交换机sw9、交换机sw10、交换机sw11、交换机sw12进行转发,分成4条不同的路径,将流量分配带不同的路径,不会造成链路拥塞。因此,针对这种极端恶劣的通信情况,基于全互连拓扑的结构特征,还提出了一种自适应路由算法,其可以根据链路拥塞状态,动态选择路由,达到无阻塞通信的目的。对于这种负责极端不均衡的通信场景,设计自适应路由,取消最短路径路由的限制条件,允许非最短路径,可选择一个转发交换机进行转发,绕开拥塞链路,全局跳数也仅为2跳,因此,一对交换机间可以提供n跳路径选择,其中一条直达链路,n-1条2跳路径,因此,网络平均通信距离优于胖树拓扑,具有更低的通信延迟,更高的网络性能。此外,构建代价矩阵是采用最短路径路由算法的方法构建的。同时,构建端口组转发表(或pgft表)是基于最短路径路由算法的方法构建代价矩阵,选择从当前交换机到目标节点的dlid的最短距离为1跳和2跳的路径端口作为输出端口portgroup(输出端口组),因此,每个目标节点的dlid会有多个不同输出端口,形成输出端口组,具体结构详见表4。同时,每个目标节点的dlid对应表中的一项,因此,对于系统规模为n2+n个节点的全互连网络,pgft具有n2+n个表项。目的节点dlid输出端口13、4、522、3、636、8…………n2+n8表4因此,基于端口组转发表,从源节点到目标节点间可以提供多条不同的通信路径,例如,根据本发明的一个实施例,如图6所示,交换机s连接的源节点内部的节点和交换机d连接的目标节点组内的节点进行通信,可以通过图6中粗线标注的4条路径进行,4对节点间的流量被分配到4条不同路径,每条流量都不会拥塞,可以达到无阻塞通信的目的。此外,高性能互连网络的通信机制决定了数据包头只包含目的节点的dlid号和qos(qualityofservice,服务质量)服务等级(sl)等基本信息,不包含路由的历史信息,因此,当前交换机在接到数据包后,仅从数据包头并不能判断出数据被转发了几次,有可能再次选择到目标交换机为2跳的路径端口输出,这种情况不加以限制有可能经历多个交换机转发才能到达目标节点,也可能又重新转发会源节点,造成无限循环,导致网络拥堵甚至崩溃,例如,根据本发明的一个实施例,如图7所示,数据经过5次转发最后又回到了源交换机,这种情况必须避免。另外,为避免这种多次转发的情况,规定路由算法最多转发2次,确保2跳可达,即从源节点交换机发出的数据可以根据链路资源占用情况从pgft表中选择链路资源较为空闲的端口转发,中间节点转发只选择最短路径转发,即一条可达路径转发,确保最多2跳完成路由。但是,交换机如何判断当前路由该选择最短路径还是可以自适应选择合适的路由呢?由于交换机是知道数据的输入端口的,因此,可将交换机的输入端口进行分类:用于连接节点的节点端口nodeport(节点端口)和连接交换机的交换机间连接端口switchport(交换机端口)。同时,根据拓扑构建方法可确定,交换机的1到n端口为交换机间连接端口,而n+1到2n端口用于连接节点,因此,交换机可以简单的判断输入端口类型:如果输入端口号大于n,则为节点端口,否则是交换机间连接端口。另外,如图8所示,可根据输入端口判断,如果从节点端口nodeport输入,说明是当前交换机是源交换机,则可根据dlid在pgft表选择合适的输出端口;如果输入端口是交换机间连接端口switchport,说明当前交换机是中转交换机,则根据dlid在lft表选择最短路径,如果端口拥塞则等待,直至链路空闲,再转发给目标交换机,进而到达目标节点。5.5、死锁避免算法:自适应路由算法可以根据网络状态灵活选择路径,具有较好的连通度并有利于负载均衡,但是会引入死锁。交换机需要一定的缓冲器用来存储数据包,但是,缓冲器的容量是有限。对于那些数据包头还没有到达目的节点的报文,一方面要请求缓冲器资源,同时又要占用当前缓冲报文的缓冲器,这种通道资源的循环占用就可能产生死锁。同时,死锁是影响系统性能的关键问题,而死锁避免又最难解决,因此死锁避免是需要重点解决的问题,此外,全互连拓扑天然的存在环路,因而会导致死锁,例如,根据本发明的一个实施例,这里选取全互连拓扑中的4个交换机为例,阐述如何造成死锁的,如图9a所示,假设有4个交换机间的数据传输是单向逆时针的,从交换机sw0到交换机sw2;交换机sw1到交换机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输出,这样去除通道间的循环依赖关系,去除死锁。下面以前面描述的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定理,网络不存在死锁。6、测试结果本发明已经在intel公司商用高性能互连网络模拟器fabric_sim上通过测试验证,测试全互连拓扑结构,验证路由算法正确,不存在死锁。7、本发明的效果基于商用交换机构建全互连网络可显著降低系统成本和功耗,以intel商用高性能48端口opa交换机为例,表5给出了本发明公开的全互连网络和二层胖树构建600节点规模网络所需的成本和功耗比较情况。48端口opa交换机全互连,每个交换机连接24个计算节点,其余24个端口连接交换机,可互连25组,系统可连接24x25=600节点,线缆数量nx(n-1)/2接入线缆24x25=600,交换机间线缆25x(25-1)/2=300;然而胖树拓扑相同规模需24个边界交换机和12个骨干交换机互连576节点,接入线缆24x24=576,交换机间线缆24x24=576,因此,全互连网络的功耗为胖树拓扑的69.5%,并且全互连网络系统成本仅为胖树的75.2%%,具体数值见表5,由此可见,采用全互连拓扑可有效降低网络成本和功耗,而通信性能却优于胖树网络。表5综上所述,借助于本发明的上述技术方案,通过将每个交换机的n个端口分别与其他的交换机连接,以及将每个交换机剩余的n个端口分别与节点连接,从而构建这种全互连网络,其具有低成本、低功耗、低延迟,高性能等优点。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1