CN109246006A - 一种通过交换芯片构建的交换系统及其路由算法 - Google Patents
一种通过交换芯片构建的交换系统及其路由算法 Download PDFInfo
- Publication number
- CN109246006A CN109246006A CN201810930757.9A CN201810930757A CN109246006A CN 109246006 A CN109246006 A CN 109246006A CN 201810930757 A CN201810930757 A CN 201810930757A CN 109246006 A CN109246006 A CN 109246006A
- Authority
- CN
- China
- Prior art keywords
- exchange
- exchange chip
- core layer
- port
- chip
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- 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
- H04L49/1507—Distribute and route fabrics, e.g. sorting-routing or Batcher-Banyan
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种通过交换芯片构建的交换系统及其路由算法,该交换系统包括:具有多个交换芯片的交换机组,每个交换芯片具有m个端口,多个交换芯片包括位于接入层的n个交换芯片和位于核心层的(m‑n)个交换芯片;其中,m、n均为正整数;其中,位于接入层的n个交换芯片中的每个交换芯片的m个端口中的n个端口分别连接于n个节点,每个交换芯片剩余的(m‑n)个端口分别连接于位于核心层的(m‑n)个交换芯片。本发明的上述技术方案,能够提高网络性能,降低网络成本和功耗。
Description
技术领域
本发明涉及通信领域,具体来说,涉及一种通过交换芯片构建的交换系统及其路由算法。
背景技术
美国国防部于2002年制定的“高效能计算系统”研究计划率先提出了以高效能作为新一代高性能计算机研制的目标。高效能代表了高性能计算机研究的新方向,其包含了高性能、可编程性、可移植性、稳定性等多个方面的要求。由于计算需求的牵引,超级计算机技术飞速发展,E级(百亿亿次/秒)计算机正成为世界各国争夺的制高点。未来的E级(百亿亿次/秒)计算系统将达到十万节点规模,如此巨大的规模对于互连网络在性能、成本和可扩展性等方面都提出了严峻挑战。
互连网络的拓扑结构和路由算法从宏观上决定了网络的通信性能。拓扑结构:合理的互连结构不但可以提供高效的通信还可以减轻并行程序的设计负担。网络拓扑的静态度量主要包括:网络的度、链路数、网络直径和等分宽度指标,这些特性决定拓扑的通信性能、规模、成本和扩展性等,是评价网络性能的重要参数。因此网络结构设计应该最小化网络直径以降低延迟、提高通信能力。最大化等分宽度以提高网络吞度率,增强系统容错能力,提高可靠性。最小化交换机数量来降低系统成本,降低系统功耗。理想的拓扑结构是全互连结构,即每个结点都与网络中的所有其它结点相邻,所以消息传递不用经过任何中间结点,网络直径只有1跳。网络规模为N的全连接结构中,路由器需要(N-1)个链路,当网络规模较大时,网络的成本非常高。因此可扩展性很差,难以单独应用在超大规模网络。CRAY最新的XC30系统,采用新颖的高带宽、低网络直径的Dragonfly拓扑,类似缩减的全互连结构。Dragonfly拓扑使用一组路由器连接成一个高维度的虚拟路由器组,组间是全互连结构,组内是2维的all-to-all结构。XC30的全局带宽是其上一代产品基于3DTorus拓扑的Gemini系统的20倍,性能有了极大的提升。但其交换芯片有48个端口,大端口路由器对于系统成本和工艺都是严峻的考验。
路由算法:路由算法决定消息的传输路径,对于大规模网络通信性能至关重要。经典的路由算法有最短路径路由和自适应路由等。最短路径路由算法:从源节点到目标节点所经过的路径距离最短,具有通信距离最短,延迟最低等特点,但通常是确定性路由,不考虑网络状态的变换,不具有容错能力,容易造成拥塞,导致网络性能下降。自适应路由算法:根据通道的拥塞情况动态选择路由,好处是路由灵活,链路利用率高,具有容错能力,不足之处是非最短路径、算法复杂、容易死锁且存在乱序的问题。
死锁避免:网络交换机需要一定的缓冲器用来存储数据包。但是缓冲器的容量是有限的。对于那些数据包头还没有到达目的节点的报文,一方面要请求缓冲器资源,同时又要占用当前缓冲报文的缓冲器,这种通道资源的循环占用就可能产生死锁。增加虚通道构建虚拟子网,通过分离流量可有效避免死锁,但是这种方法的缺点是所需资源比较多,对于采用高维度拓扑的超大规模网络会极大增加系统成本。采用逃逸虚通道也可以避免死锁,当发生拥塞时数据包进入逃逸虚通道路由,可化解拥塞情况,其不足之处在于逃逸通道的利用率比较低。
由于计算需求的牵引,高性能计算技术发展迅猛,系统规模越来越大,成本越来越高,能耗问题越来越严重,因此迫切需要构建低系统成本、低功耗、高性能的大规模互连网络。树形拓扑是以太网交换机常用的互连拓扑,但是树形拓扑存在带宽匹配问题,而胖树拓扑解除了树形结构上层链路对吞吐量的限制,并能为内部节点间通信提供多条并行链路。但是,对于E级系统的超大规模,采用胖树拓扑的互连系统面临着系统设计和工程实施等问题。大端口交换机对于系统设计和工程布线都是十分严峻的挑战,以m_port、2_tree胖树拓扑为例,当系统规模达100k节点需要678个452端口交换机,而大端口交换机价格非常昂贵。所以,为了降低成本和交换机端口数,胖树拓扑通常在接入层引入带宽缩减。但是,带宽缩减会降低系统性能。如图1所示,对于标准的16-port、3-tree胖树,饱和吞吐率能高达90%,但是当缩减比为3:1时,吞吐率降低至30%,缩减比为7:1时性能更差,吞吐率仅为15%。实际上,对于局部性应用来说,在网络的底层对缩减带宽不是一种好的选择,这样会限制机柜内的连通度。
而Cray的XC30系统所采用的互连系统Dragonfly是直接网络,每个交换机只能连接4个节点,组内2维的all-to-all结构消耗了大量宝贵的交换机端口,能耗效率较低。而且局部子网内部是2维alltoall结构,子网内部2跳可达,全局链路只有1跳,网络直径为5跳。
全互连网络由于所需端口数量较多,难以满足E级计算超大网络规模的需求。以目前主流商用48口交换机为例,构建全互连拓扑,如图2所示,最大可连接600节点(每个交换机直连24个节点,其余24个端口与其他24个交换机全互连)。
目前没有基于商用交换机构建面向E级计算需求的高能效高可扩展性互连网络的通用方法,既能满足10万节点的E级计算互连网络规模,又能提供高性能,低成本,低功耗的网络拓扑结构以及相应的路由算法。
发明内容
针对相关技术中上述的问题,本发明提出一种通过交换芯片构建的交换系统及其路由算法,能够提高网络性能,降低网络成本和功耗。
本发明的技术方案是这样实现的:
根据本发明的一个方面,提供了一种通过交换芯片构建的交换系统,包括:具有多个交换芯片的交换机组,每个交换芯片具有m个端口,多个交换芯片包括位于接入层的n个交换芯片和位于核心层的(m-n)个交换芯片;其中,m、n均为正整数;其中,位于接入层的n个交换芯片中的每个交换芯片的m个端口中的n个端口分别连接于n个节点,每个交换芯片剩余的(m-n)个端口分别连接于位于核心层的(m-n)个交换芯片。
根据本发明的实施例,其中,m=2n。
根据本发明的实施例,在交换机组中,位于接入层的m/2个交换芯片和位于核心层的m/2个交换芯片采用全交换的方式进行连接,其中,位于接入层的每个交换芯片分别通过一条直接链路与位于核心层的m/2个交换芯片连接。
根据本发明的另一方面,提供了一种通过交换芯片构建的交换系统的路由算法,包括:当源节点位于核心层、目标节点位于接入层时,或者,当源节点位于接入层、目标节点位于核心层时,通过接入层和核心层之间的直接链路直接进行数据的发送。
根据本发明的实施例,路由算法还包括:当源节点和目标节点均位于核心层时,通过位于接入层的多个交换芯片中的一个交换芯片转发;
根据本发明的实施例,当源节点和目标节点均位于接入层时,通过位于核心层的多个交换芯片中的一个交换芯片转发。
根据本发明的又一方面,提供了一种通过交换芯片构建的交换系统的路由算法,包括:
当源节点和目标节点位于不同的交换机组时,从位于接入层的交换芯片路由至位于本地核心层的交换芯片;
由位于本地核心层的交换芯片通过该全局链路路由至对端位于核心层的交换芯片;
由对端位于核心层的交换芯片路由至与目标节点连接的位于接入层的交换芯片,从而输出到目标节点。
根据本发明的实施例,根据上行端口链路占用情况,本地核心层的交换芯片通过中间跳转交换机将数据发送至对端位于核心层的交换芯片。
根据本发明的实施例,中间跳转交换机通过与目标交换机有直接链路的核心层交换芯片进行数据转发。
根据本发明的实施例,路由算法还包括:将交换芯片之间的链路的通信资源分离为两条虚通道;其中,一条虚通道用于数据从源节点发送给位于接入层的交换机、并用于数据从位于接入层的交换机发送到位于核心层的交换机;另一条虚通道用于当目标核心层交换机编号高于当前核心层交换机编号时,通过一条虚通道发送数据;当目标核心层交换机编号低于当前核心层交换机编号时,通过另一条虚通道发送数据。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术的胖树拓扑带宽缩减性能影响;
图2是现有技术的全互连拓扑系统规模和交换机连接节点数量关系;
图3是层次化拓扑HCF网络规模和交换机连接节点数量关系曲线;
图4是根据本发明实施例的大端口交换机内部的拓扑结构;
图5是根据本发明实施例的高联通度互连网络的拓扑结构示意图;
图6是根据本发明实施例的高可扩展大端口交换机内部芯片连接关系示意图;
图7是根据本发明实施例的高可扩展大端口交换机前面板端口布局示意图;
图8是根据本发明实施例的交换机内部最短路径路由算法的流程图;
图9是根据本发明实施例的HCF网络最短路径路由的示意图;
图10是根据本发明实施例的HCF网络最短路径路由算法的流程图;
图11是根据本发明实施例的HCF网络自适应路由全局4跳路径的示意图;
图12是根据本发明实施例的HCF网络自适应路由全局6跳路径的示意图;
图13是根据本发明实施例的HCF网络自适应路由算法的流程图;
图14A是根据本发明实施例的全互连拓扑路由死锁的示意图;
图14B是图14A的通道扩展相关图;
图15A是根据本发明实施例的全互连拓扑自适应路由算法死锁避免的示意图;
图15B是图15A的通道扩展相关图;
图16是各种拓扑结构可扩展性曲线的示意图;
图17是胖树拓扑、HCF拓扑和Dragonfly拓扑网络性能对比的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
为解决现有技术中的问题,基于显著降低互连系统成本和功耗的设计理念,兼顾全局负载均衡的设计考量,本发明采用基于商用交换芯片构建无阻塞的全交换拓扑结构的大端口交换机,并且提供基于该结构的大端口交换机进行级联扩展,构建高效能高联通度的大规模层次化全互连网络的方法,可充分发挥全交换拓扑无阻塞的特性,以及全互连拓扑网络直径小、通信延迟低的特点,并加强全互连网络的可扩展性,最大限度的提高网络性能,降低网络成本和功耗。即可作为大端口交换机独立提供本地无阻塞的高性能通信,也可级联构建高联通度的层次化大规模网络(HyperConnectFabric,HCF)。并提出确定性最短路径路由算法和自适应路由算法以及基于虚通道的死锁避免方法,具有低成本、低功耗、低延迟,高效能、高可扩展性等优点。
根据本发明实施例,提供了一种通过交换芯片构建的交换系统,该交换系统包括:具有多个交换芯片的交换机组,每个交换芯片具有m个端口,多个交换芯片包括位于接入层的n个交换芯片和位于核心层的(m-n)个交换芯片;其中,m、n均为正整数。其中,位于接入层的n个交换芯片中的每个交换芯片的m个端口中的n个端口分别连接于n个节点,每个交换芯片剩余的(m-n)个端口分别连接于位于核心层的(m-n)个交换芯片。
在一个实施例中,m=2n。
根据本发明的实施例,在交换机组中,位于接入层的m/2个交换芯片和位于核心层的m/2个交换芯片采用全交换的方式进行连接,其中,位于接入层的每个交换芯片分别通过一条直接链路与位于核心层的m/2个交换芯片连接。
为了更好的描述本发明的技术方案,下面通过具体的实施例进行详细的描述。
1、基于商用交换芯片构建高能效高可扩展性网络
由于受到晶体管数量和封装工艺等限制,交换机端口数量不可能做到很大,目前主流商用交换机的单芯片交换端口数量只有48端口,如果直接应用全互连拓扑,可连接的节点数量十分有限,因此,采用层次化网络结构基于全交换拓扑来扩展全互连拓扑的互连能力,既能发挥全互连拓扑网络直径低的优势,又能解决可扩展性受限,还能充分利用全交换拓扑无阻塞的特性,完全可以满足E级超大规模互连网络的需求。
可扩展性能分析:以m端口交换机为例,对于m端口的交换机,每个交换机连接n个节点,对于无阻塞全交换拓扑,则接入层交换机剩余的(m-n)个端口与(m-n)个核心层交换机互连,(m-n)个核心层交换机和(m-n)个接入层交换机之间采用全交换结构连接,构成1个虚拟交换机组。每个组内(m-n)个核心层交换机每个都剩余n个端口可用于全局链路,最大可连接(m-n)×n+1个组,每个组内连接(m-n)×n个节点,全系统可连接节点数量:
((m-n)×n)×(m-n)×n+1=n4-2m×n3+(m2-1)×n2+mn公式1
网络可连接的节点数量和交换机可用于连接节点的端口数的四次方成线性增长,具有极强的可扩展性。
所需交换机数量:2×(m-n)×((m-n)×n+1)公式2
图3给出了m=48条件下高可扩展的多层次化高联通度拓扑网络规模和交换机连接节点数量关系曲线,可见,当m一定时,按m=2n进行互连配置,系统可连接节点数最多,可扩展性最强。对于接入层交换机来说,n个端口连接节点作为输入,n个端口上行输出,是无阻塞的。
对于48口商用交换机,根据公式1,每个接入层交换机连接24个节点,系统规模最大,最多可连接332352节点,完全可满足E级计算需求。每个虚拟交换机组由24个接入层交换机和24个核心层交换机以全交换的方式互连,虚拟交换机间采用全互连的方式级联扩展,最多可扩展577个虚拟交换机全互连,每个虚拟交换机可连接576个节点,全系统最大可连接332352节点。这种层次化网络拓扑结构,即可发挥全互连拓扑网络直径小,通信延迟低,系统连通度优势高的优势,又弥补了全互连网络可扩展不足的缺点,有效降低全局链路数量,降低系统成本和工程实现难度,以期获得通信性能、系统成本和能耗效率三者的均衡。
2、基于商用交换芯片构建高能效高可扩展大端口交换机
根据4.1的分析,每个交换机组内部接入层交换机和核心层交换机间需要24x24=576条内部连接线缆,最大规模系统需要576x577=332352条链路用于内部互连,如果采用交换芯片替代交换机,构建1152端口的大端口交换机,可节省332352条内部互连线缆,而且交换芯片的价格远远低于交换机的价格。可极大的节约系统成本,提高系统可靠性。因此,本发明提出一种基于48端口OPA交换芯片构建大端口交换机的方法,可提供1152高速端口,对于中小规模网络,可支持1152节点的高速互连,对于超大规模系统,可级联构建高联通度的多层次全互连网络,最大可支持332352节点互连通信。相对于胖树拓扑,本发明具有更高性能,更低成本,更低功耗等优势。基于48端口OPA交换芯片,将24个接入层交换芯片和24个核心层交换芯片采用全交换的方式进行连接,48个OPA交换芯片可构成1152端口的大端口交换机。其中576接入层端口用于连接本地节点,576核心层端口可用于级联全局链路进行网络扩展,也可连接本地节点,作为独立大端口交换机,提供1152节点的互连能力。
首先,构建高可扩展大端口交换机。基于48端口OPA交换芯片,将24个接入层交换芯片和24个核心层交换芯片采用全交换的方式进行连接(每个接入层交换芯片都有一条连接对端核心层交换芯片的链路,反之亦然),48个48端口OPA交换芯片可构成1152端口的大端口交换机。核心层交换芯片和接入层交换芯片都需要24端口进行内部互连,因此,48个交换芯片可提供24x48=1152端口用于互连节点或其他交换机(作为独立大端口交换机全部1152端口可连接1152节点;如果进行扩展,核心层交换芯片的576端口负责网络连接,接入层交换芯片的576端口可连接576节点)。任意一对核心层交换芯片和接入层交换芯片都有1条直连链路,这样中间层只需1跳即可到达,相对Dragonfly的内部2跳,大大压缩了通信距离。组内的节点通过全交换网络可实现无阻塞通信,极大的提升了局部通信效率。
然后,大端口交换机间采用全互连拓扑结构进行级联扩展。由于现有商用交换机端口数量限制,难以直接扩展更大规模,如果采用多个交换芯片为1组,以组为单位进行全互连连接,通过这种方式可极大增加组内的交换机端口数量,有效扩展系统规模。具体到本发明是通过核心层交换芯片间按全互连拓扑的规则互相连接来实现全局扩展。例如,对于1152端口的高可扩展大端口交换机,576个(核心层交换芯片)端口用于全互连,最大可互连577个大端口交换机。
最后,再把接入层交换芯片剩余的576端口连接到相应的节点,576个接入层端口连接576个节点,全系统可互连576x577=332352个节点,网络直径只有3跳。具有极高的联通度,完全可满足E级系统的互连需求。当然,每组的全局互连端口数量就可以根据系统规模需求来设计调整。这样就可以实现采用低端口交换机(或芯片)来构造大规模互连网络。
具体的连接方式如图4所示。这里为清晰描述,以8端口交换芯片为例,给出了内部交换芯片间端口连接方式。每4个交换芯片为一组,构建核心层,每个核心交换芯片的4、5、6、7端口用于全局全互连(如果用于独立交换机,可全部用于连接节点),剩余4个端口(0、1、2、3)用于连接接入层交换芯片。对应4个接入层交换机也通过4个端口与组内核心交换机以全交换的方式进行连接,确保每对核心交换芯片和接入交换芯片都有直连链路,一跳可达。这样,8个8端口交换芯片可构建32端口的大端口交换机,内部全交换拓扑,核心层和接入层交换芯片间通信距离只有1跳。
3、高联通度层次化网络构建方法
这里仍以8端口交换芯片为例阐述构建HCF拓扑的构建方法。接入层交换芯片的其余4个端口用于连接本地节点。这样每个交换机可连接16个节点,组内有4个接入层交换芯片和4个核心层交换芯片。4个核心层交换芯片每个贡献4个端口,共16个端口可用于全互连拓扑构建,全局可互连17个交换机,可连接16x17=272节点。具体连接关系如图5所示。
而相应的基于8端口交换芯片,二层胖树拓扑仅能连接32节点,三层胖树只能连接128节点,四层胖树可连接512节点,但所需交换机数量为448,相当于每台交换机仅连接1.14个节点,可见胖树拓扑的连接效率非常低,其可扩展性极大的受到限制,而如此众多的交换机数量导致互连成本极高,相应的互连功耗也十分巨大,难以应对E级计算对系统成本和功耗的需求。
4、具体实施
图6给出了高可扩展大端口交换机内部交换芯片间的连接关系示意图,为了清晰起见,这里仅给出了1颗交换芯片到其他24颗交换芯片间的连接。大端口交换机由1块交换主板和8块交换页板构成,其中上半部4块交换页板连接24颗核心层交换芯片,每块页板连接6颗核心层交换芯片。下半部4块交换页板连接24颗接入层交换芯片,每块页板连接6颗接入层交换芯片。每颗交换芯片24个端口(0到23号端口)用于内部全交换互连,其余24个端口(24到47号端口)用于连接节点或全局扩展,因此,大端口交换机对外可提供1152端口,其中核心层交换芯片贡献的576端口可用于级联扩展,构建高联通度的大规模网络,也可作为独立交换机连接本地节点。
图7给出了高可扩展大端口交换机的前面板端口布局示意图,其中上部是核心层交换芯片对应的端口,24层,每层对应1颗核心层交换芯片的24个高速端口,可用于级联扩展,连接其他大端口交换机的核心层交换芯片端口,构建大规模网络;也可作为独立交换机连接本地节点。下部是接入层交换芯片对应的端口,24层,每层对应1颗接入层交换芯片的24个高速端口,可用于连接节点。共1152个端口。
4.1、交换机、节点编码规则
以端口为基本单元,基于4个参数可定义全部节点及其端口<T,G,S,P>,如表1所示,其中,T:节点类型;G:交换机编号;S:交换芯片编号;P:交芯片端口编号。
表1交换机、节点编码规则
如表1所示,T是节点类型,0表示交换芯片;1表示是节点。根据HCF网络拓扑结构特点,大端口交换机的编号G,其作用范围为0到576,系统最大可支持577台大端口交换机互连。内部交换芯片根据图6的布局位置关系,S从0到47唯一确定,其中,0到23表示核心层交换芯片;24到47标识接入层交换芯片,根据G和S的编号可确定交换芯片位于全局拓扑的位置。每个交换芯片的端口编号P为0到47,与物理端口一致;如果T是1,表示是节点端口,该端口是连接到对应交换芯片物理端口数。基于这些参数可以建立节点标识符LID的一一对应关系,根据T、G、S、P四个参数的编号可唯一确定网络组件所在系统的位置、节点类型、交换芯片位置以及对应的端口位置。因此,根据节点命名即可分析出节点在拓扑中的位置。
4.2、拓扑构建
基于端口为1152的高可扩展交换机,构建无阻塞全互连拓扑,规定交换机的0到575号端口(核心层交换芯片的上行端口)作为交换机间连接的级联端口,而576到1151号端口(接入层交换芯片的下行端口)用于连接576个节点。
交换机内部交换芯片端口连接关系:设核心层交换芯片的端口编号为<t,g,s,p>,则与其对应连接的接入层交换机端口编号为<t,g,(p+24),(p+s)%24>,如表2所示,这里s和p的取值范围为0到23,符号%表示取余。
表2交换机内部交换芯片端口连接关系
核心层交换芯片端口号 | 接入层交换芯片端口号 | |
节点类型 | t | t |
大端口交换机编号 | g | g |
交换机芯片编号 | s | p+24 |
交换芯片端口编号 | p | (p+s)%24 |
全互连拓扑交换机间端口连接关系:对于端口数为2N的大端口交换机,N个端口用于交换机间全连接,N个端口连接节点,则全互连拓扑的端口连接关系可以根据表3所示规则确定:
表3全互连拓扑交换机间端口连接关系
本地交换机 | 对端交换机 | |
大端口交换机编号 | g | g+p+1 |
交换机端口编号 | p | N-1-p |
这里交换机编号g的取值范围是0到N,大端口交换机的端口编号p(这里不是交换芯片的端口编号)取值范围是0到N-g,即交换机g的端口p连接交换机(g+p+1)的端口(N-1-p),按照此规则即可构建全互连拓扑结构。
4.3、HCF拓扑大端口交换机间连接方法
交换机间端口连接关系:对于交换机g的s交换芯片的级联端口p,根据表3的编码规则,其在全互连拓扑中的编号为<g,24s+p-24>,与之连接的交换机端口是<g+24s+p-24+1,575-24s-p+24>,按照这个规则,即可构建大端口交换机间的全互连网络。根据大端口交换机的内部连接规则,这里p取值范围是24到47,s的取值范围是0到23。
具体到内部核心层交换芯片的物理端口位置,对于编号为<t,g,s,p>的端口(该端口位于交换机g的s交换机芯片的p号端口,这里p是实际物理端口的24到47号端口,0到23号端口用于交换机内部连接),如表4所示,与之连接的对端大端口交换机端口是<t,(g+24s+p-23),(24-s-1),(48-p+24-1)>(该端口位于交换机(g+24s+p-23)的(23-s)交换机芯片的(71-p)号端口)。即对端交换机编号为(g+24s+p+1)的大端口交换机的(575-24s-p+24)号端口,该端口位于这个交换机的第(24-s)个交换芯片的第(48-p)个端口(注意编号是从0开始的)。
例如,对于编号为<0,1,2,31>的端口,其物理位置是位于1号大端口交换机的2号核心交换芯片的31号端口,就是1号交换机的55号端口。根据对应关系,与其连接的对端交换机端口号为:<0,1+24x2+31-24+1,23-2,71-31>,即<0,57,21,40>。该端口位于57号交换机的21号核心交换芯片的40号端口,就是57号交换机的520端口。也就是说,1号交换机的55号端口连接到57号交换机的520号端口。按照此规则,连接交换机的各个端口,即可构建全互连拓扑。
表4HCF拓扑大端口交换机间连接关系
路由算法决定了信息的传输路径和通信效率,对系统性能有重要影响。优秀的路由算法应该简单高效,易于工程实现等特点,除了具有很高的传输带宽,很低的通信延迟,并提供较高的网络吞吐率,还要避免死锁。最短路径路由算法总是选择源节点到目标节点之间最短距离的路径,具有通信延迟低,传输速度快等优点。算法设计思想简单,易于硬件编程实现,简单高效,有利于数据的快速转发,从而实现传输速率高、低延迟的数据通信。当网络存在竞争和失效部件时,自适应路由可以通过路径替换来继续完成数据的传输。
根据本发明的实施例,还提供了一种应用于上述通过交换芯片构建的交换系统的路由算法,该路由算法包括:
当源节点位于核心层、目标节点位于接入层时,或者,当源节点位于接入层、目标节点位于核心层时,通过接入层和核心层之间的直接链路直接进行数据的发送。
根据本发明的实施例,路由算法还包括:当源节点和目标节点均位于核心层时,通过位于接入层的多个交换芯片中的一个交换芯片转发;当源节点和目标节点均位于接入层时,通过位于核心层的多个交换芯片中的一个交换芯片转发。
为了更好的描述本发明的技术方案,下面通过具体的实施例进行详细的描述。
4.4、独立交换机内部路由算法
如果作为独立交换机,只连接本地节点,不进行级联扩展,则1152端口全部都可以用来连接节点。这种情况下,源节点和目标节点都位于相同的交换机内部。假设源交换机节点编号<ts,gs,ss,ps>,目标交换机节点编号<td,gd,sd,pd>,这里精确到对应节点连接到交换机的端口。因此ts=td,gs=gd。主要是在交换机内部的交换芯片间进行路由,采用最短路径路由算法,确保最低通信延迟。数据转发规则根据表2所示的交换机内部交换芯片间的连接关系唯一确定:
(1)如果源节点和目标节点恰巧位于相同交换芯片内部,则ss=sd,交换芯片的内部crossbar直接转发即可,输出端口为连接目标节点的端口pd。
(2)如果源节点和目标节点分别位于不同层交换芯片之间,由于交换机内部是全交换拓扑,则任意核心层交换芯片和接入层交换芯片之间,总有直达链路连接,1跳可达。例如,源节点在核心层,目标节点在接入层,则根据表2的对应关系,从端口(sd-24)输出即可;如果源节点在接入层,目标节点在核心层,输出端口为(ss+sd-24)%24。
(3)如果源节点和目标节点是从接入层到接入层或从核心层到核心层,则需经对端交换芯片转发,2跳可达。比如,源节点在核心层,目标节点也在核心层,首先需要发往接入层交换芯片再由该交换芯片转发到目标交换芯片,从端口(ps+24)输出即可;类似的,源节点在接入层,目标节点也在接入层,首先需要发往对端的核心层交换芯片再由该交换芯片转发到目标交换芯片,从端口(ps-24)输出。具体算法流程如图8所示。
根据本发明的实施例,还提供了一种应用于上述通过交换芯片构建的交换系统的路由算法,该路由算法包括:
当源节点和目标节点位于不同的交换机组时,从位于接入层的交换芯片路由至位于本地核心层的交换芯片;
由位于本地核心层的交换芯片通过该全局链路路由至对端位于核心层的交换芯片;
由对端位于核心层的交换芯片路由至与目标节点连接的位于接入层的交换芯片,从而输出到目标节点。
根据本发明的实施例,根据上行端口链路占用情况,本地核心层的交换芯片通过中间跳转交换机将数据发送至对端位于核心层的交换芯片。
根据本发明的实施例,中间跳转交换机通过与目标交换机有直接链路的核心层交换芯片进行数据转发。
为了更好的描述本发明的技术方案,下面通过具体的实施例进行详细的描述。
4.5、HCF网络最短路径路由算法
如果系统规模较大,单台交换机无法连接全部节点,则可根据组网规则,进行级联扩展,每跳大端口交换机有576个全局互连端口,基于全互连拓扑最大可互连577台大端口交换机,系统可连接332352节点。实际可根据系统规模确定全互连拓扑规模,例如284台交换机构建全互连网络,每个交换机间可提供2跳并发链路,可支持164160节点互连。
根据HCF网络拓扑结构特点,基于最短路径路由算法,全局只需3跳转发即可完成数据传输(这里主要考虑交换芯片间的数据转发),其路由的路径如图9所示。具有最短通信距离,最低通信延迟。
源交换机节点编号<ts,gs,ss,ps>,目标交换机节点编号<td,gd,sd,pd>,当前交换机节点编号<tc,gc,sc,pc>。消息传递的过程如下:对于源节点和目标节点位于不同的交换机的情况,ts=td,gs≠gd。基于最短路径路由算法,首先需要从接入层交换芯片路由到负责连接对端交换机的本地核心层交换芯片;再经由本地交换机gs的核心层交换芯片通过该全局链路路由到对端大端口交换机gd;对端大端口交换机gd的核心层交换芯片接收到数据后,再根据编码信息判断出目标节点在本地,则基于交换机内部路由算法转发数据到与目标节点连接的本地接入层交换芯片,最后由接入层交换芯片直接将数据输出到目标节点。
下面详细说明路由算法(这里主要分析交换芯片间的路由):
1,第一跳,从接入层交换芯片到核心层交换芯片的路由。首先需要定位从源交换机到目的交换机的级联端口:根据交换机间全互连拓扑连接关系,gd=gs+P+1(这里P是交换机端口号,不是交换芯片的端口编号),因此,首先要路由到本地交换机P号端口,必须先路由到P端口所在的s号核心层交换芯片的p号端口。P=gs-gd-1,而根据交换机内部编码规则,P=24s+p-24,因此,s=P/24=(gs-gd-1)/24,p=P%24=(gs-gd-1)%24(这里/表示整除,%表示取余)。路由到本地交换机的核心层交换芯片s,可根据交换机内部路由算法,走最短路径,从ss到s的直连链路端口路由即可。从当前接入层交换芯片的端口(((gs-gd-1)/24)+((gs-gd-1)%24)))%24输出,即可路由到核心层交换芯片s。
2,第二跳,源节点交换机的核心层交换芯片s接收到数据后,从端口p(p=(gd-gs-24sc+23))转发数据到对端大端口交换机gd。
3,第三跳,目的交换机gd的核心交换芯片s’(s’=(23-(gd-gs)/24))根据交换机内部连接关系,从端口p’(p’=sd-24)转发数据到目的交换节点连接的接入层交换芯片sd,全局3跳。具体最短路径路由算法流程如图10所示。
4.6、HCF网络自适应路由算法
最短路径路由算法通信距离最短,延迟最低。但是,是确定性路由算法,对于故障链路不具备容错能力,而且对于一些特殊通信模式的应用,比如通信主要集中在部分交换机间进行的应用,甚至所谓的“最差流量”,即每个交换机连接的节点都只和自己相邻的下一个交换机的节点进行通信,这种场景存在链路拥塞问题,会导致网络吞吐率下降。如果不局限于最短路径路由,可以采用自适应路由算法,根据网络链路的拥塞状态进行路由选择,以增加少量通信距离为代价,可有效缓解网络拥塞问题,极大的提升网络吞吐率。
自适应路由相对于最短路径路由的区别就是交换机不再局限于最短路径的直连链路进行数据转发,而是可以根据全局链路的拥塞状态进行路径选择,允许中间跳转交换机进行数据转发,选取链路负载最轻的链路进行转发,可有效缓解网络拥塞状态,提升链路利用率,还可绕开故障路径,提供网络容错能力,提高网络吞吐率。基于HCF层次化网络的特殊拓扑结构,自适应路由的路径不同,所需要路由的距离是不同的:如果中间跳转交换机恰好具有和目标交换机直连的全局链路,则只需增加1跳的全局链路,全局4跳即可,其路由路径如图11所示;否则,中间跳转交换机必须在内部增加路由,需要接入层交换芯片将转发到与目标交换机具有直连链路的核心层交换芯片,代价是额外增加内部2跳,全局最多6跳,其路由路径如图12所示。
全局4跳路由过程说明:
第一跳,首先,本地交换机的接入层交换芯片接收到源节点发送来的数据包,从数据包头提取出源节点信息和目标节点信息,根据编码规则,可得到源交换机节点编号<ts,gs,ss,ps>,目标交换机节点编号<td,gd,sd,pd>,以及当前交换机节点编号<tc,gc,sc,pc>。此时有gs==gc≠gd(这里主要考虑源和目的交换机不同的情况,相同的见交换机内部路由算法部分),接入层交换芯片可根据上行端口(与核心层交换芯片直连端口)的链路占用情况自适应的进行数据转发。输出端口可以是任何与本地核心层交换芯片连接的端口。
第二跳,本地的核心层交换芯片接收到本地接入层交换芯片发送来的数据,首先比较目的交换机编号,判断自身是否存在连接目标交换机的直连链路:如果存在,则从该端口转发数据可直接将数据发往目标交换机;否则,可根据上行端口(连接大端口交换机的链路端口)链路占用情况,自适应选择输出端口,将数据发往中间跳转交换机。
第三跳,中间跳转交换机的核心层交换机芯片接收到对端源交换机发来的数据后,比较目标交换机号,可判断出自己是否存在连接目标交换机的直连链路,如果存在,则经对应的上行端口将数据转发到目标交换机。(否则,需要进行二次转发,先发送给本地交换机的接入层交换芯片,在由该芯片转发给与目标交换机存在直连链路的核心层交换芯片)。
第四跳,目标交换机接收到对端交换机转发来的数据,其核心层交换芯片根据目标交换机编号判断出自己是目标交换机,再根据目标交换芯片编号sd来判断从哪个下行端口(连接本地接入层交换芯片的端口)转发数据给目标接入层交换芯片sd。
最后,目标交换芯片将数据从连接目标节点的端口输出到目标节点。
全局6跳路由过程说明:
第一跳,首先,本地交换机的接入层交换芯片接收到源节点发送来的数据包,从数据包头提取出源节点信息和目标节点信息,根据编码规则,可得到源交换机节点编号<ts,gs,ss,ps>,目标交换机节点编号<td,gd,sd,pd>。以及自身的编号,即当前交换机节点编号<tc,gc,sc,pc>。此时有gs==gc≠gd(这里仅考虑源和目的交换机不同的情况,相同的见交换机内部路由算法部分),接入层交换芯片可根据上行端口(与核心层交换芯片直连端口)的链路占用情况自适应的进行数据转发。输出端口可以是任何与本地核心层交换芯片连接的端口。
第二跳,本地的核心层交换芯片接收到本地接入层交换芯片发送来的数据,首先比较目的交换机编号,判断自身是否存在连接目标交换机的直连链路:如果存在,则从该端口转发数据可直接将数据发往目标交换机;否则,可根据上行端口(连接大端口交换机的链路端口)链路占用情况,自适应选择输出端口,将数据发往中间跳转交换机。
第三跳,中间跳转交换机的核心层交换机芯片比较目标交换机号,可判断出自己是否存在连接目标交换机的直连链路,如果存在,则经对应的上行端口将数据转发到目标交换机。不存在,无法直接转发数据到目标交换机,必须经由本地接入层交换芯片转发至与目标交换机有直连链路的本地核心层交换芯片,需要进行二次转发,先发送给本地交换机的接入层交换芯片,可根据下行端口(连接接入层交换芯片的端口)链路占用状态自适应选择较为空闲的端口输出。
第四跳,中间跳转交换机(根据源交换机编号和当前交换机编号可判别)的接入层交换芯片收到核心层交换芯片转发来的数据后,不再进行自适应路由选择,而是基于最短路径进行数据转发,判断出于目标交换机有直连链路的核心层交换芯片编号,通过与其直连的链路端口进行数据转发。
第五跳,中间跳转交换机的核心层交换芯片接收到数据后,根据目标交换机号和当前交换机编号,可判断出与其直连链路的端口编号,从该端口进行数据转发至目标交换机。
第六跳,目标交换机的核心层交换机根据接收到数据的目标交换机编号和当前交换机编号可判断其自身就是目标交换机(gc==gd),于是根据目标交换机的sd编号计算连接目标节点的接入层交换芯片编号,经由与之直连的端口进行数据转发。
最后,目标交换机的接入层交换芯片根据目标交换机的交换芯片编号sd来判断从哪个下行端口转发数据给目标节点。
HCF网络自适应路由算法具体流程如图13所示。
4.7、死锁避免算法:
根据本发明的实施例,路由算法还包括:将交换芯片之间的链路的通信资源分离为两条虚通道。其中,一条虚通道用于数据从源节点发送给位于接入层的交换机、并用于数据从位于接入层的交换机发送到位于核心层的交换机;另一条虚通道用于当目标核心层交换机编号高于当前核心层交换机编号时,通过一条虚通道发送数据;当目标核心层交换机编号低于当前核心层交换机编号时,通过另一条虚通道发送数据。
自适应路由算法可以根据网络状态灵活选择路径,具有较好的连通度并有利于负载均衡,但是会引入死锁。交换机需要一定的缓冲器用来存储数据包。但是缓冲器的容量是有限的。对于那些数据包头还没有到达目的节点的报文,一方面要请求缓冲器资源,同时又要占用当前缓冲报文的缓冲器,这种通道资源的循环占用就可能产生死锁。死锁是影响系统性能的关键问题,而死锁避免又最难解决,因此死锁避免是需要重点解决的问题。交换机内部是全交换拓扑,1跳可达,不会引入死锁,但是全互连拓扑天然的存在环路,自适应路由由于需要中间跳转交换机进行数据转发,因而会引入死锁。这里选取全互连拓扑中的4个核心层交换机为例,阐述如何造成死锁的。如图14A所示,假设有4个核心层交换机间的数据传输是单向逆时针的,这种场景数据流只需考虑从Node0发送数据给Node2;同理,Node1发送数据给Node 3;Node2发送数据给Node 0;Node3发送数据给Node 1。
如果同时发生数据传输,则节点Node0会经由通道NL0发送数据给接入层交换机L-SW0,接入层交换机L-SW0会占用数据通道LC0发送数据给交换机C-SW0,因而,通道NL0和LC0之间具有相关性,而核心层交换机C-SW0收到数据会请求数据通道C01将数据发送C-SW1,因此,LC0和C01间具有相关性,C-SW1会请求通道C12将数据发往目标核心层交换机C-SW2,因此通道C01和C12具有相关性(C-SW2为连接目标节点Node2的核心层交换机,经由与其连接的接入层交换机L-S2即可传输数据到Node2,但走的数下行反向链路,不会对上行链路的死锁造成影响,这里只需考虑上行单向链路,因此,只需分析到与目标节点最近的核心层交换机即可,后续几个例子也是如此);
节点Node1会经由通道NL1发送数据给接入层交换机L-SW1,接入层交换机L-SW1会占用数据通道LC1发送数据给交换机C-SW1,因而,通道NL1和LC1之间具有相关性,而核心层交换机C-SW1收到数据会请求数据通道C12将数据发送C-SW2,因此,LC1和C12间具有相关性,C-SW2会请求通道C12将数据发往目标核心层交换机C-SW3,因此通道C12和C23具有相关性;
节点Node2会经由通道NL2发送数据给接入层交换机L-SW2,接入层交换机L-SW2会占用数据通道LC2发送数据给交换机C-SW2,因而,通道NL2和LC2之间具有相关性,而核心层交换机C-SW2收到数据会请求数据通道C12将数据发送C-SW3,因此,LC2和C23间具有相关性,C-SW3会请求通道C30将数据发往目标核心层交换机C-SW0,因此通道C23和C30具有相关性;
节点Node3会经由通道NL3发送数据给接入层交换机L-SW3,接入层交换机L-SW3会占用数据通道LC3发送数据给交换机C-SW3,因而,通道NL3和LC3之间具有相关性,而核心层交换机C-SW3收到数据会请求数据通道C30将数据发送C-SW0,因此,LC3和C30间具有相关性,C-SW0会请求通道C02将数据发往目标核心层交换机C-SW2,因此通道C30和C01具有相关性。
根据Duato定理,如果通道扩展相关图连接成环,说明存在环回链路,则拓扑存在死锁,否则,拓扑是无死锁的。如图14B所示,通道扩展相关图成环,因此,存在死锁。
死锁避免:将物理链路分离为多个虚通道可以去除通道间的循环依赖关系,是死锁避免的有效手段。因此,考虑增加虚通道来实现死锁避免,打破通道间的循环依赖关系,而且还可以减少物理链路空闲时间,提高网络吞吐率。本发明采用Duato死锁避免算法,将物理链路的通信资源分离为2条虚通道V0和V1,基于2条虚通道来避免死锁。数据从源节点发送给接入层交换机走低虚通道V0,从接入层交换机传输到核心层交换机走虚通道V0,对于核心层交换机间数据传输,当目标核心层交换机编号高于当前核心层交换机编号时数据从低虚通道V0通过;反之,数据从高虚通道V1通过。这样即可去除通信链路间的循环依赖关系,去除死锁。以前面描述的4个核心层交换机间通信情况为例,说明分离虚通道是如何去除死锁的。如图15A所示,对于从节点Node0到Node2的路由,根据自适应路由算法规定,首先Node0的数据从接入链路的V0虚通道NL0-V0输入,接入层交换机L-SW0收到数据后通过虚通道LC0-V0发送数据到核心层交换机C-SW0,虚通道NL0-V0和LC0-V0具有相关性。由于目标节点Node2对应的核心层交换机编号是C-SW2,高于当前交换机C-SW0,因此,核心层交换机C-SW0会请求全局链路的低虚通道C01-VO将数据发送C-SW1,因此,虚通道LC0-V0和C01-VO具有相关性;核心层交换机C-SW1收到数据后检查到目标核心层交换机的编号高于当前交换机编号,选择从低虚通道C12-VO将数据发往C-SW2,因而,通道C01-V0和C12-VO具有相关性。
对于Node1到Node3的路由路径,Node1将数据从接入链路的低虚通道NL1-V0输入,接入层交换机L-SW1收到数据后通过虚通道LC1-V0发送数据到核心层交换机C-SW1,虚通道NL1-V0和LC1-V0具有相关性。由于目标节点Node3对应的核心层交换机编号是C-SW3,高于当前交换机C-SW1,因此,核心层交换机C-SW1会请求全局链路的低虚通道C12-VO将数据发送C-SW2,因此,虚通道LC1-V0和C12-VO具有相关性;核心层交换机C-SW2收到数据后检查到目标核心层交换机的编号高于当前交换机编号,选择从低虚通道C23-VO将数据发往C-SW3,因而,通道C12-V0和C23-VO具有相关性。
对于Node2到Node0的路由路径,Node2将数据从接入链路的低虚通道NL2-V0输入,接入层交换机L-SW1收到数据后通过虚通道LC2-V0发送数据到核心层交换机C-SW1,虚通道NL2-V0和LC2-V0具有相关性。由于目标节点Node0对应的核心层交换机编号是C-SW0,低于当前交换机C-SW2,因此,核心层交换机C-SW2会请求全局链路的高虚通道C23-V1将数据发送C-SW3,因此,虚通道LC2-V0和C23-V1具有相关性;核心层交换机C-SW3收到数据后检查到目标核心层交换机的编号C-SW0低于当前交换机编号,选择从高虚通道C30-V1将数据发往C-SW0,因而,通道C23-V1和C30-V1具有相关性。
对于Node3到Node1的路由路径,Node3将数据从接入链路的低虚通道NL3-V0输入,接入层交换机L-SW3收到数据后通过虚通道LC3-V0发送数据到核心层交换机C-SW3,虚通道NL3-V0和LC3-V0具有相关性。由于目标节点Node1对应的核心层交换机编号是C-SW1,低于当前交换机C-SW3,因此,核心层交换机C-SW3会请求全局链路的高虚通道C30-V1将数据发送C-SW0,因此,虚通道LC3-V0和C30-V1具有相关性;核心层交换机C-SW0收到数据后检查到目标核心层交换机的编号C-SW1高于当前交换机编号,选择从低虚通道C01-V0将数据发往C-SW1,因而,通道C30-V1和C01-V0具有相关性。
对应的扩展通道相关图如图15B所示,可见并不成环,因此,根据Duato定理,网络不存在死锁。
5、测试结果
本发明已经在高性能互连网络模拟器HiNetSim上通过测试验证,测试拓扑结构构建,验证路由算法正确,不存在死锁。
6、本发明的效果
HCF大端口交换机具有1152端口,单台交换机可提供1152节点的互连通信,基于HCF大端口交换机,系统最大可支持332352节点互连。目前,国际上最主流的高性能互连网络设备提供商Mellanox最大端口交换机也只有800端口。根据Intel的技术发展规划,到2020年才发布1152端口的大端口交换机,因此,本发明具有国际领先意义。
HCF网络具有极强的可扩展性能,在交换机端口数一定的条件下,具有最佳的可扩展性能,具体如表5所示。这里可扩展性定义为系统可互连的节点数量与网络直径的比值,表征系统的通信能力,相同规模下网络直径越低,通信性能越好。
表5各种拓扑结构的可扩展比较
图16给出了胖树网络、HCF网络和全互连网络的可扩展性曲线,描述了随着交换机端口数量的增加,网络可连接节点数量的增长情况,在相同交换机端口数量的条件下,HCF网络所能容纳的节点数量最多,可见HCF网络的可扩展性最强,优于胖树拓扑和全互连拓扑。
HCF网络成本很低,而性能几乎和胖树不相上下,图17给出了基于高性能网络模拟器HiNetSim在100K节点网络规模下,均匀随机流量,胖树拓扑、HCF拓扑和Dragonfly拓扑的网络性能模拟,可以看出HCF网络在网络饱和之前和胖树以及Dragonfly网络性能几乎相同,只有到网络接近饱和时才略有差距。
基于48端口交换机最大可互连332352节点。而且对于每个接入层交换机,24端口是连接节点的输入端口,其余24端口作为上行输出端口,可实现无阻塞传输。所需交换机数量为(24+24)x(24x24+1)=27696。所需链路数量为(24x24+1)x(24x24)/2+2x(24x24)x(24x24+1)=830880。相应的,基于48端口交换机,采用2层胖树拓扑仅能互连1152节点,3层胖树结构最多可连接27648节点,即使采用4层胖树,可扩展至332352节点,而且4层胖树的网络直径高达6跳,HCF拓扑的网络直径仅3跳。4层胖树连接相同数量的节点需要交换机48468台,是HCF的1.75倍,所需链路数量1329408,是HCF的1.6倍。如表6所示,HCF网络成本仅为胖树拓扑的60.5%,极大的降低了网络成本和功耗。基于商用交换芯片构建大端口交换机,极大的减少内部全交换网络的线缆数量,可进一步降低系统成本和功耗。基于48端口OPA交换芯片构建大规模网络,HCF网络的交换芯片成本仅为胖树的57%。
表6高联通度HCF网络成本与胖树对比
拓扑类型 | 系统规模 | 交换机数量 | 链路数量 | 网络成本 |
胖树 | 332352 | 48468 | 1329408 | 6411624000 |
HCF | 332352 | 27696 | 830880 | 3877440000 |
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种通过交换芯片构建的交换系统,其特征在于,包括:具有多个所述交换芯片的交换机组,每个所述交换芯片具有m个端口,多个所述交换芯片包括位于接入层的n个所述交换芯片和位于核心层的(m-n)个所述交换芯片;其中,m、n均为正整数;
其中,位于接入层的n个所述交换芯片中的每个所述交换芯片的m个端口中的n个端口分别连接于n个节点,每个所述交换芯片剩余的(m-n)个端口分别连接于位于核心层的(m-n)个所述交换芯片。
2.根据权利要求1所述的通过交换芯片构建的交换系统,其特征在于,其中,m=2n。
3.根据权利要求2所述的通过交换芯片构建的交换系统,其特征在于,在所述交换机组中,位于接入层的m/2个交换芯片和位于核心层的m/2个交换芯片采用全交换的方式进行连接,其中,位于接入层的每个交换芯片分别通过一条直接链路与位于核心层的m/2个交换芯片连接。
4.一种应用于权利要求1-3任一项所述的通过交换芯片构建的交换系统的路由算法,其特征在于,包括:
当源节点位于所述核心层、目标节点位于所述接入层时,或者,当源节点位于所述接入层、目标节点位于所述核心层时,通过所述接入层和所述核心层之间的直接链路直接进行数据的发送。
5.根据权利要求4所述的路由算法,其特征在于,还包括:当源节点和目标节点均位于所述核心层时,通过位于所述接入层的多个所述交换芯片中的一个交换芯片转发;
当源节点和目标节点均位于所述接入层时,通过位于所述核心层的多个所述交换芯片中的一个交换芯片转发。
6.一种应用于权利要求1-3任一项所述的通过交换芯片构建的交换系统的路由算法,其特征在于,包括:
当源节点和目标节点位于不同的交换机组时,从位于接入层的交换芯片路由至位于本地核心层的交换芯片;
由位于本地核心层的交换芯片通过该全局链路路由至对端位于核心层的交换芯片;
由对端位于核心层的交换芯片路由至与目标节点连接的位于接入层的交换芯片,从而输出到目标节点。
7.根据权利要求6所述的路由算法,其特征在于,根据上行端口链路占用情况,本地核心层的交换芯片通过中间跳转交换机将数据发送至对端位于核心层的交换芯片。
8.根据权利要求7所述的路由算法,其特征在于,所述中间跳转交换机通过与目标交换机有直接链路的核心层交换芯片进行数据转发。
9.根据权利要求6所述的路由算法,其特征在于,还包括:
将所述交换芯片之间的链路的通信资源分离为两条虚通道;
其中,一条虚通道用于数据从源节点发送给位于接入层的交换机、并用于数据从位于接入层的交换机发送到位于核心层的交换机;
另一条虚通道用于当目标核心层交换机编号高于当前核心层交换机编号时,通过所述一条虚通道发送数据;当目标核心层交换机编号低于当前核心层交换机编号时,通过另一条虚通道发送数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810930757.9A CN109246006B (zh) | 2018-08-15 | 2018-08-15 | 一种通过交换芯片构建的交换系统及其路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810930757.9A CN109246006B (zh) | 2018-08-15 | 2018-08-15 | 一种通过交换芯片构建的交换系统及其路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109246006A true CN109246006A (zh) | 2019-01-18 |
CN109246006B CN109246006B (zh) | 2022-10-04 |
Family
ID=65069628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810930757.9A Active CN109246006B (zh) | 2018-08-15 | 2018-08-15 | 一种通过交换芯片构建的交换系统及其路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109246006B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110620965A (zh) * | 2019-09-14 | 2019-12-27 | 无锡江南计算技术研究所 | 一种576端口交换机的互连结构及设置方法 |
CN111901257A (zh) * | 2020-08-10 | 2020-11-06 | 曙光信息产业(北京)有限公司 | 一种交换机、报文转发方法及电子设备 |
CN115225589A (zh) * | 2022-07-17 | 2022-10-21 | 奕德(广州)科技有限公司 | 一种基于虚拟分组交换的CrossPoint交换方法 |
CN115955396A (zh) * | 2022-12-07 | 2023-04-11 | 篆芯半导体(南京)有限公司 | 以太交换网络流量产生方法、系统、设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101741664A (zh) * | 2009-12-21 | 2010-06-16 | 中兴通讯股份有限公司 | 以太网接口系统实现方法及实现装置 |
CN201976134U (zh) * | 2011-04-15 | 2011-09-14 | 成都贝尔通讯实业有限公司 | 一种小容量ptn设备 |
CN102368727A (zh) * | 2011-09-14 | 2012-03-07 | 杭州华三通信技术有限公司 | 跨ip网络的trill网络通信方法、系统和设备 |
CN102394782A (zh) * | 2011-11-15 | 2012-03-28 | 西安电子科技大学 | 基于模块扩展的数据中心网络拓扑系统 |
CN102420775A (zh) * | 2012-01-10 | 2012-04-18 | 西安电子科技大学 | 基于模块扩展的数据中心网络拓扑系统的路由方法 |
WO2014090149A1 (en) * | 2012-12-11 | 2014-06-19 | Hangzhou H3C Technologies Co., Ltd. | Forwarding multicast data packets |
CN104065582A (zh) * | 2013-03-22 | 2014-09-24 | 杭州华三通信技术有限公司 | 一种报文传输方法和网关设备 |
CN107959643A (zh) * | 2017-12-29 | 2018-04-24 | 曙光信息产业(北京)有限公司 | 一种通过交换芯片构建的交换系统及其路由算法 |
CN108259387A (zh) * | 2017-12-29 | 2018-07-06 | 曙光信息产业(北京)有限公司 | 一种通过交换机构建的交换系统及其路由算法 |
CN108337196A (zh) * | 2017-12-29 | 2018-07-27 | 曙光信息产业(北京)有限公司 | 一种通过交换芯片构建的交换系统及其路由算法 |
-
2018
- 2018-08-15 CN CN201810930757.9A patent/CN109246006B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101741664A (zh) * | 2009-12-21 | 2010-06-16 | 中兴通讯股份有限公司 | 以太网接口系统实现方法及实现装置 |
CN201976134U (zh) * | 2011-04-15 | 2011-09-14 | 成都贝尔通讯实业有限公司 | 一种小容量ptn设备 |
CN102368727A (zh) * | 2011-09-14 | 2012-03-07 | 杭州华三通信技术有限公司 | 跨ip网络的trill网络通信方法、系统和设备 |
CN102394782A (zh) * | 2011-11-15 | 2012-03-28 | 西安电子科技大学 | 基于模块扩展的数据中心网络拓扑系统 |
CN102420775A (zh) * | 2012-01-10 | 2012-04-18 | 西安电子科技大学 | 基于模块扩展的数据中心网络拓扑系统的路由方法 |
WO2014090149A1 (en) * | 2012-12-11 | 2014-06-19 | Hangzhou H3C Technologies Co., Ltd. | Forwarding multicast data packets |
CN104065582A (zh) * | 2013-03-22 | 2014-09-24 | 杭州华三通信技术有限公司 | 一种报文传输方法和网关设备 |
CN107959643A (zh) * | 2017-12-29 | 2018-04-24 | 曙光信息产业(北京)有限公司 | 一种通过交换芯片构建的交换系统及其路由算法 |
CN108259387A (zh) * | 2017-12-29 | 2018-07-06 | 曙光信息产业(北京)有限公司 | 一种通过交换机构建的交换系统及其路由算法 |
CN108337196A (zh) * | 2017-12-29 | 2018-07-27 | 曙光信息产业(北京)有限公司 | 一种通过交换芯片构建的交换系统及其路由算法 |
Non-Patent Citations (2)
Title |
---|
GUOYUE JIANG等: ""Mapping of embedded Applications on Hybrid Networks-on-Chip with Multiple Switching Mechanisms"", 《IEEE》 * |
郑德任等: ""基于多输出端口的简单高效的交换结构"", 《计算机工程》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110620965A (zh) * | 2019-09-14 | 2019-12-27 | 无锡江南计算技术研究所 | 一种576端口交换机的互连结构及设置方法 |
CN110620965B (zh) * | 2019-09-14 | 2021-10-29 | 无锡江南计算技术研究所 | 一种576端口交换机的互连结构及设置方法 |
CN111901257A (zh) * | 2020-08-10 | 2020-11-06 | 曙光信息产业(北京)有限公司 | 一种交换机、报文转发方法及电子设备 |
CN111901257B (zh) * | 2020-08-10 | 2022-02-25 | 曙光信息产业(北京)有限公司 | 一种交换机、报文转发方法及电子设备 |
CN115225589A (zh) * | 2022-07-17 | 2022-10-21 | 奕德(广州)科技有限公司 | 一种基于虚拟分组交换的CrossPoint交换方法 |
CN115955396A (zh) * | 2022-12-07 | 2023-04-11 | 篆芯半导体(南京)有限公司 | 以太交换网络流量产生方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109246006B (zh) | 2022-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109246006A (zh) | 一种通过交换芯片构建的交换系统及其路由算法 | |
CN106936645B (zh) | 基于排队论的树形网络拓扑结构的优化方法 | |
CN109561034B (zh) | 三维网络拓扑结构及其路由算法 | |
Koibuchi et al. | L-turn routing: An adaptive routing in irregular networks | |
CN102739407A (zh) | 捆绑式交换机、网络及在该网络上传输数据的方法 | |
Ludovici et al. | Assessing fat-tree topologies for regular network-on-chip design under nanoscale technology constraints | |
CN108259387A (zh) | 一种通过交换机构建的交换系统及其路由算法 | |
CN101917333A (zh) | 基于区域的光电双层片上网络系统及路由方法 | |
Wang et al. | SprintNet: A high performance server-centric network architecture for data centers | |
Ascia et al. | Neighbors-on-path: A new selection strategy for on-chip networks | |
CN107959643A (zh) | 一种通过交换芯片构建的交换系统及其路由算法 | |
CN108337196A (zh) | 一种通过交换芯片构建的交换系统及其路由算法 | |
Liu et al. | An encapsulated packet-selection routing for network on chip | |
Chang et al. | ACO-based cascaded adaptive routing for traffic balancing in NoC systems | |
CN103546397A (zh) | 支持乱序的自路由Omega网络结构 | |
Lei et al. | Galaxyfly: A novel family of flexible-radix low-diameter topologies for large-scales interconnection networks | |
Touati et al. | FACARS: A novel fully adaptive congestion aware routing scheme for network on chip | |
Dana et al. | Congestion aware routing algorithm for mesh network-on-chip platform | |
Cai et al. | Design and OPNET implementation of routing algorithm in 3D optical network on chip | |
Pande et al. | The (low) power of less wiring: Enabling energy efficiency in many-core platforms through wireless noc | |
Garcia et al. | On the Performance of Shortest Path Routing Algorithms for Modeling and Simulation of Static Source Routed Networks--an Extension to the Dijkstra Algorithm | |
Zhu et al. | A Traffic-Balanced and Thermal-Fault Tolerant Routing Algorithm for Optical Network-on-Chip | |
Su et al. | A novel virtual-cluster based architecture of double-layer optical networks-on-chip | |
Zhu et al. | Making path selection faster: a routing algorithm for ONoC | |
CN101383759A (zh) | 一种光网络中划分管理区域的保护方法 |
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 |