CN116346521A - 网络系统及数据传输方法 - Google Patents
网络系统及数据传输方法 Download PDFInfo
- Publication number
- CN116346521A CN116346521A CN202111601063.9A CN202111601063A CN116346521A CN 116346521 A CN116346521 A CN 116346521A CN 202111601063 A CN202111601063 A CN 202111601063A CN 116346521 A CN116346521 A CN 116346521A
- Authority
- CN
- China
- Prior art keywords
- network
- group
- type
- network devices
- groups
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
公开一种网络系统,涉及互联网领域。网络系统包括多个网络设备,多个网络设备被划分为多个组;多个组中每组包括第一类网络设备和第二类网络设备。其中,第一类网络设备分别通过第一方式与同一组的第二类网络设备连接,以及,分别通过第二方式与不同组的第一类网络设备连接。第一方式用于实现组内不同类别网络设备的无阻塞连接。第二方式用于实现组间网络设备按空间维度全连接。第二类网络设备分别通过第三方式与应用设备连接,第三方式用于实现不同应用设备间通过网络系统进行数据传输。在网络设备的端口数量较少的情况下,实现了大规模集群组网,扩大了组网规模,并有效地缩短线缆长度,降低了物理布线复杂度。
Description
技术领域
本申请涉及互联网领域,尤其涉及一种网络系统及数据传输方法。
背景技术
随着数据中心算力不断提升,数据中心中应用设备(例如,计算设备、存储设备等)的种类和数量也随之增加。通常以计算机集群形式,利用网络设备(例如,交换机或路由器)将多个应用设备进行网络连接,进而进行设备和数据的统一管理和调度。而同一集群中应用设备与网络设备,以及不同集群间网络设备的网络连接方式,往往受设备间距离、物理线缆等因素的影响。例如,随着设备越来越多,物理布线也越来越复杂。因此,如何降低物理布线的复杂度是亟待解决的问题。
发明内容
本申请提供了网络系统及数据传输方法,由此来降低物理布线的复杂度。
第一方面,提供了一种网络系统,网络系统包括多个网络设备,多个网络设备被划分为多个组;多个组中每组包括第一类网络设备和第二类网络设备。其中,第一类网络设备分别通过第一方式与同一组的第二类网络设备连接,以及,分别通过第二方式与不同组的第一类网络设备连接。第一方式用于实现组内不同类别网络设备的无阻塞连接。第二方式用于实现组间网络设备按空间维度全连接。第二类网络设备分别通过第三方式与应用设备连接,第三方式用于实现不同应用设备间通过网络系统进行数据传输。
相对于任意两个组之间需要两两直连,本申请实施例提供的组间连接方式将每个组与网络系统中的部分组连接,在网络设备的端口数量较少的情况下,实现了大规模集群组网,扩大了组网规模,并有效地缩短线缆长度,降低了物理布线复杂度。
在一种可能的实现方式中,多个组构成多维矩阵,多个组中一个组对应多维矩阵中一个元素;多个组包括第一组,通过第二方式与第一组连接的不同组包括与第一组属于同一维度且同一行的组。
示例一,多个组构成二维矩阵;第一组内第一类网络设备分别连接第一组所属的x维且同一行以及y维且同一行的不同组内第一类网络设备。
示例二,多个组构成三维矩阵;第一组内第一类网络设备分别连接第一组所属的x维且同一行以及y维且同一行以及z维且同一行的不同组内第一类网络设备。
示例三,多个组构成四维矩阵;第一组内第一类网络设备分别连接第一组所属的x维且同一行以及y维且同一行以及z维且同一行以及w维且同一行的不同组内第一类网络设备。
在另一种可能的实现方式中,第一类网络设备分别通过第一方式与同一组的第二类网络设备连接,包括:同一组内每个第一类网络设备与每个第二类网络设备连接。从而,实现扩大组内网络带宽,实现无阻塞数据传输。
例如,第一类网络设备包括N个物理端口,N个物理端口中M个物理端口用于连接同一组的M个第二类网络设备,N个物理端口中K个物理端口用于连接K个不同组的第一类网络设备,M和K之和等于N,N、M和K均为正整数。
在另一种可能的实现方式中,与同一组内第二类网络设备连接的不同应用设备间通过同一组内第二类网络设备进行数据传输;或者,与同一组内第二类网络设备连接的不同应用设备间通过同一组内第二类网络设备和第一类网络设备进行数据传输。
在另一种可能的实现方式中,与不同组内第二类网络设备连接的不同应用设备间通过不同组内第二类网络设备和第一类网络设备进行数据传输。
第二方面,提供了一种数据传输方法,第一应用设备和第二应用设备分别与上述第一方面或第一方面任意一种可能的实现方式中所述的网络系统中第二类网络设备连接,方法包括:与第一应用设备连接的第二类网络设备根据静态路由或动态路由基于网络系统向第二应用设备传输数据。
在一种可能的实现方式中,与第一应用设备连接的第二类网络设备根据静态路由或动态路由基于网络系统向第二应用设备传输数据,包括:若第一应用设备与第二应用设备与同一组内两个第二类网络设备连接,通过连接两个第二类网络设备的同一组内第一类网络设备向第二应用设备传输数据。
在另一种可能的实现方式中,与第一应用设备连接的第二类网络设备根据静态路由或动态路由基于网络系统向第二应用设备传输数据,包括:若第一应用设备与第二应用设备与不同组内第二类网络设备连接,通过连接两个第二类网络设备的不同组内第一类网络设备向第二应用设备传输数据。
第三方面,提供了一种数据传输装置,所述装置包括通信模块和处理模块;通信模块,用于接收第一应用设备发送的数据,处理模块用于根据静态路由或动态路由基于网络系统向第二应用设备传输数据。关于数据传输的具体过程可以参考执行第二方面或第二方面任一种可能设计中的数据传输方法。
第四方面,提供一种网络设备,该网络设备包括至少一个处理器和存储器,存储器用于存储一组计算机指令;当处理器作为第二方面或第二方面任一种可能实现方式中的执行设备执行所述一组计算机指令时,执行第二方面或第二方面任一种可能实现方式中的数据传输方法的操作步骤。
第五方面,提供一种计算机可读存储介质,包括:计算机软件指令;当计算机软件指令在网络设备中运行时,使得网络设备执行如第二方面或第二方面任意一种可能的实现方式中所述方法的操作步骤。
第六方面,提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得网络设备执行如第二方面或第二方面任意一种可能的实现方式中所述方法的操作步骤。
第七方面,提供一种芯片系统,该芯片系统包括处理器,用于实现上述第四方面的方法中处理器的功能。
在一种可能的设计中,所述芯片系统还包括存储器,用于保存程序指令和/或数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1为本申请实施例提供的一种数据传输架构示意图;
图2为本申请实施例提供的一种组内网络拓扑示意图;
图3为本申请实施例提供的一种组间网络拓扑示意图;
图4为本申请实施例提供的另一种组间网络拓扑示意图;
图5为本申请实施例提供的又一种组间网络拓扑示意图;
图6为本申请实施例提供的一种组间连接方式的示意图;
图7为本申请实施例提供的网络系统的拓扑示意图;
图8为本申请实施例提供的一种数据传输路径示意图;
图9为本申请实施例提供的另一种数据传输路径示意图;
图10为本申请实施例提供的又一种数据传输路径示意图;
图11为本申请实施例提供的一种数据传输装置的结构示意图;
图12为本申请实施例提供的一种网络设备的结构示意图。
具体实施方式
计算机集群,也可以简称集群,是一种基于互联技术连接多个计算机的系统。计算机集群中的单个计算机可以称为节点。节点可以包括计算节点(例如,服务器)和存储节点(例如,存储设备)。互联技术,例如可以是无限带宽(InfiniBand,IB)、基于以太网使用远程直接内存访问(Remote Direct Memory Access over Converged Ethernet,RoCE)或以太网。
除上述示例集群形式外,本申请实施例所涉及的集群还可以是人工智能(artificial intelligence,AI)集群或一体化数据中心等场景下的集群。相比单个计算机,计算机集群提高了计算速度和/或可靠性。按照计算机集群的功能和结构,计算机集群可以分为以下几类:高可用性集群(High-availability clusters,HAC)、负载均衡集群(Load balancing clusters,LBC)、高性能计算集群(High-performance clusters,HPC)、网格计算(Grid computing,GC)。
下面结合附图对计算机集群进行数据传输的架构进行说明。
图1为本申请实施例提供的一种数据传输架构的结构示意图。数据传输架构100包括至少一个计算集群110和至少一个存储集群120。计算集群110包括一个或多个计算节点111。计算节点111可以是一种计算设备,如服务器、台式计算机或者具备计算功能的芯片等。存储集群120包括一个或多个存储节点121。存储节点121可以包括一个或多个控制器、网卡与多个硬盘。计算节点111与计算节点111之间通过网络系统130传输数据。计算节点111与存储节点121之间通过网络系统130传输数据。存储节点121与存储节点121之间通过网络系统130传输数据。网络系统130包括大量的网络设备(如:交换机或路由器)。网络设备间通过物理端口连接,以便于使计算集群110和/或存储集群120之间进行数据传输。在实际应用中,根据业务需求设置网络系统包含的网络设备的数量,以及网络系统连接的计算集群的规模和存储集群的规模。例如,根据大量的计算需求网络系统中的网络设备可以连接较多的计算集群,或者根据大量的存储需求网络系统中的网络设备可以连接较多的存储集群。
网络系统130包含多个网络设备。多个网络设备被划分为多个组。每个组包含的网络设备的数量可以相同也可以不同。例如,第1组包含K1个网络设备,第2组包含K2个网络设备。K1可以与K2相同,或者,K1不等于K2。多个组中每组包括第一类网络设备131和第二类网络设备132。第一类网络设备131分别通过第一方式与同一组的第二类网络设备132连接,第一方式用于实现组内不同类别网络设备的无阻塞连接。无阻塞是指树形网络中从叶子节点到根节点的网络带宽不收敛。例如,每组内第一类网络设备131和第二类网络设备132采用无阻塞胖树(Fat-tree)方式连接。具体地,每组包括的网络设备可以划分为两个网络层,第一网络层包含第一类网络设备131,第二网络层包含第二类网络设备132。
第一网络层包含的第一类网络设备131用于连接同一组的第二类网络设备132和不同组的第一类网络设备131。第一网络层中的第一类网络设备131包含的物理端口的数量决定了连接同一组的第二类网络设备132的数量和不同组的第一类网络设备131的数量。
第一类网络设备131的物理端口中用于连接不同组的第一类网络设备131的物理端口可以称为上行端口。第一类网络设备131的物理端口中用于连接同一组的第二类网络设备132的物理端口可以称为下行端口。
第一类网络设备131的物理端口中上行端口的数量决定了连接不同组的第一类网络设备131的数量。第一类网络设备131的物理端口中下行端口的数量决定了连接同一组的第二类网络设备132的数量。
第二网络层包含的第二类网络设备132用于连接同一组的第一类网络设备131和应用设备(如:计算节点111或存储节点121)。第二网络层中的第二类网络设备132包含的物理端口的数量决定了连接同一组的第一类网络设备131的数量和应用设备的数量。
第二类网络设备132的物理端口中用于连接同一组的第一类网络设备131的物理端口可以称为上行端口。第二类网络设备132的物理端口中用于连接应用设备的物理端口可以称为下行端口。
第二类网络设备132的物理端口中上行端口的数量决定了连接同一组的第一类网络设备131的数量。第二类网络设备132的物理端口中下行端口的数量和第一类网络设备131的物理端口中上行端口的数量决定了连接应用设备的数量。
例如,第一类网络设备131包括N个物理端口。N个物理端口中M个物理端口用于连接同一组的M个第二类网络设备132,N个物理端口中K个物理端口用于连接K个不同组的第一类网络设备131,M和K之和等于N,N、M和K均为正整数。
第二类网络设备132包括N个物理端口。N个物理端口中M个物理端口用于连接同一组的M个第一类网络设备131,N个物理端口中K个物理端口用于连接K个应用设备,M和K之和等于N,N、M和K均为正整数。
示例地,如图2所示,假设组内包含12个网络设备,每个网络设备具有12个物理端口。组内网络设备的阻塞比为6:6,6个网络设备作为第一网络层的第一类网络设备131,6个网络设备作为第二网络层的第二类网络设备132。6个第一类网络设备131共72个物理端口,每个第一类网络设备131分出6个上行端口和6个下行端口,6个第一类网络设备131共分出36个上行端口和36个下行端口。6个第一类网络设备131的36个上行端口用于连接不同组的第一类网络设备131,6个第一类网络设备131的36个下行端口用于连接6个第二类网络设备132。6个第二类网络设备132共72个端口,每个第二类网络设备132分出6个上行端口和6个下行端口,6个第二类网络设备132共分出36个上行端口和36个下行端口。6个第二类网络设备132的36个上行端口用于连接6个第一类网络设备131,6个第二类网络设备132的36个下行端口用于连接36个应用设备。
除上述示例组内网络设备连接方式外,本申请实施例所涉及的组内网络设备连接方式还可以是有收敛比的胖树组网、二层以上的胖树组网、全网状组网等。
另外,第一类网络设备131还分别通过第二方式与不同组的第一类网络设备131连接。第二方式用于实现组间网络设备按空间维度全连接。第二类网络设备132分别通过第三方式与应用设备连接,第三方式用于实现不同应用设备间通过网络系统进行数据传输。
可理解的是,多个组构成多维矩阵,一个组对应多维矩阵中一个元素。属于多维矩阵中同维且同行的组通过第一类网络设备131进行全连接。例如,多个组包括第一组,通过第二方式与第一组连接的不同组包括与第一组属于同一维度且同一行的组。第一组中第一类网络设备131连接多个组中部分组的第一类网络设备131。组间网络设备按空间维度全连接是指组间网络设备按空间维度进行两两连接。
多个组构成的多维矩阵可以是指多个组包含的网络设备的逻辑分布形式。多个组包含的网络设备的物理分布形式可以不同于逻辑分布形式。多维矩阵中属于同一维且同一行的组内网络设备可以位于实际的物理空间中不同位置。在一些实施例中,多维矩阵中属于同一维且同一行的组内第一类网络设备131和第二类网络设备132可以是物理距离较近的设备。可选地,多个组包含的网络设备的物理分布形式也可以于逻辑分布形式相同。示例地,位于同一物理层面(比如:同一楼层)的机柜划分为多个组,多个组依据二维矩阵形式排列,二维矩阵中属于同一维且同一行的组内第一类网络设备131和第二类网络设备132在物理空间中也位于同一维且同一行。在实际应用中,可以根据应用需求依据本申请实施例提供网络设备连接方式对网络系统中的网络设备进行组网。本申请实施例对每行包含的组的数量不予限定。
作为一个可能的实施例,多个组构成二维矩阵。如图3所示,假设网络系统中的多个网络设备被划分为16个组。16个组构成二维矩阵,例如,16个组构成一个4行4列的二维矩阵,一个组对应二维矩阵中一个元素。x维的第一行包含第1组、第2组、第3组和第4组;x维的第二行包含第5组、第6组、第7组和第8组;x维的第三行包含第9组、第10组、第11组和第12组;x维的第四行包含第13组、第14组、第15组和第16组。
每一行中4个组之间通过第二方式连接。
例如,第一行中第1组、第2组、第3组和第4组之间两两连接。第1组分别与第2组、第3组和第4组之间两两连接。第2组分别与第1组、第3组和第4组之间两两连接。第3组分别与第1组、第2组和第4组之间两两连接。第4组分别与第1组、第2组和第3组之间两两连接。
y维的第一列包含第1组、第5组、第9组和第13组;y维的第二列包含第2组、第6组、第10组和第14组;y维的第三列包含第3组、第7组、第11组和第15组;y维的第四列包含第4组、第8组、第12组和第16组。
每一列中4个组之间通过第二方式连接。例如,第一列中第1组、第5组、第9组和第13组之间两两连接。第1组分别与第5组、第9组和第13组之间两两连接。第5组分别与第1组、第9组和第13组之间两两连接。第9组分别与第1组、第5组和第13组之间两两连接。第13组分别与第1组、第5组和第9组之间两两连接。
作为另一个可能的实施例,多个组构成三维矩阵。如图4所示,假设网络系统中的多个网络设备被划分为27个组。27个组构成三维矩阵,例如,27个组构成一个3*3*3的三维矩阵,一个组对应三维矩阵中一个元素。位于x维且同一行的组间的第一类网络设备131采用第二方式连接;位于y维且同一列的组间的第一类网络设备131采用第二方式连接;位于z维且同一行的组间的第一类网络设备131采用第二方式连接。z维的第一行包含第1组、第10组和第20组。第1组、第10组和第20组之间两两连接。第1组分别与第10组和第20组之间两两连接。第10组分别与第1组和第20组之间两两连接。第20组分别与第1组和第10组之间两两连接。
作为另一个可能的实施例,多个组构成四维矩阵。如图5所示,假设网络系统中的多个网络设备被划分为36个组。36个组构成四维矩阵,一个组对应三维矩阵中一个元素。以18个组为粒度以三维矩阵形式进行排布,18个组构成一个2*3*3的三维矩阵。两个三维矩阵进行连接,第四维表示三维矩阵的连接维度。示例地,图5中黑点表示第一个三维矩阵的组,白点表示第二个三维矩阵的组。位于w维且同一行的组间同一位置的第一类网络设备131采用第二方式连接。例如,第一个三维矩阵的第1组连接第二个三维矩阵的第1组,第一个三维矩阵的第2组连接第二个三维矩阵的第2组。
对于每个三维矩阵,位于x维且同一行的组间的第一类网络设备131采用第二方式连接;位于y维且同一行的组间的第一类网络设备131采用第二方式连接;位于z维且同一行的组间的第一网络设备采用第二方式连接。
作为另一个可能的实施例,相连的两个组间通过两个组中第一类网络设备131的至少一个物理端口连接。例如,如图6所示,组1包含6个第一类网络设备131和6个第二类网络设备132,组2包含6个第一类网络设备131和6个第二类网络设备132。组1中的任意一个第一类网络设备131和组2中的任意一个第一类网络设备131连接即可。例如,组1中第1个第一类网络设备131的一个物理端口和组2中第1个第一类网络设备131的一个物理端口连接,使得组1和组2实现连接。
本申请实施例对网络设备之间连接所使用的物理介质不予限定,例如网络设备之间的连接可以通过光纤等物理介质进行物理连接。
在网络系统中,网络设备的端口数量决定了每个组可用于互联的端口数量。相对于任意两个组之间需要两两直连,导致连线数量多,组网规模受限,物理布线复杂。本申请实施例提供的组间连接方式在网络设备的端口数量较少的情况下,也能实现大规模集群组网,扩大了组网规模,缩短线缆长度,并减少物理布线复杂度。
示例地,假设组内第一类网络设备131和第二类网络设备132的组网拓扑如图2所示。若组间采用全连接,网络系统中最多包含37个组。37个组最多分出37*36=1332个下行端口,37个组最多连接1332个应用设备。因此,组网规模受到了网络设备的端口数量的限制。
如果组间采用第二方式连接,由于组中6个第一类网络设备131分出36个上行端口,6个第二类网络设备132分出36个下行端口。由于每个组与网络系统中的部分组连接,则通过扩展网络设备实现扩大了组网规模,可以提供更多的端口连接应用设备。如图7所示,假设第1组中的6个第一类网络设备131分出36个上行端口。如果组以二维矩阵形式进行排布,18个上行端口连接x维的第1行的其他组,18个上行端口连接y维的第1列的其他组。可理解地,网络系统可以包含361个组,361个组以19*19的二维矩阵形式进行排布。361个组最多连接361*36=12966个应用设备。
如果组以三维矩阵形式进行排布,36个上行端口中13个上行端口连接y维第1列的其他组,13个上行端口连接z维第1列的其他组,13个上行端口连接x维第1行的其他组。可理解地,网络系统可以包含2197个组,2197个组以13*13*13的三维矩阵形式进行排布。2197个组最多连接2197*36=79092个应用设备。
如果组以四维矩阵形式进行排布,36个上行端口中10个上行端口连接y维第1列的其他组,10个上行端口连接z维第1列的其他组,10个上行端口连接w维第1列的其他组,10个上行端口连接x维第1行的其他组。可理解地,网络系统可以包含10000个组,10000个组以10*10*10的四维矩阵形式进行排布。10000个组最多连接10000*36=360000个应用设备。
基于本申请实施例提供的网络拓扑,网络设备间进行数据传输采用两种方式:静态路由和动态路由。路由表可以由集中式计算得到或者分布式计算得到。集中式例如通过网络管理器发现网络拓扑,集中计算路由表,再下发给各个网络设备。分布式例如由各个网络设备计算路由表或通过某种哈希算法实现数据转发。
静态路由:网络设备间的数据传输采用基于最短路径的路由算法,存在多条最短路径的,通过全局负载均衡算法进行选路,路由确定后,对于任意一对收发网络设备组,在网络拓扑不发生变化的情况下,传输路径不会发生改变。
其中,与同一组内第二类网络设备132连接的不同应用设备间通过同一组内第二类网络设备132进行数据传输。与同一组内第二类网络设备132连接的不同应用设备间通过同一组内第二类网络设备132和第一类网络设备131进行数据传输。与不同组内第二类网络设备132连接的不同应用设备间通过不同组内第二类网络设备132和第一类网络设备131进行数据传输。
下面以不同场景下的计算设备1向计算设备2传输数据为例说明数据传输方式。
示例一,计算设备1和计算设备2与组内同一第二类交换机连接。如图8中的(a)所示,计算设备1和计算设备2与组内第二类交换机L03连接。计算设备1和计算设备2进行数据传输时,数据在第二类交换机L03内部端口完成转发,数据传输路径为:计算设备1->第二类交换机L03->计算设备2。
示例二,计算设备1和计算设备2与组内不同第二类交换机连接。如图8中的(b)所示,计算设备1与组内第二类交换机L03连接,计算设备2与组内第二类交换机L04连接。计算设备1和计算设备2进行数据传输时,根据路由算法,通过第一类交换机进行转发。例如,数据传输路径可以为:计算设备1->第二类交换机L03->第一类交换机S04(由路由算法确定)->第二类交换机L04->计算设备2。
示例三,计算设备1和计算设备2与不组内的第二类交换机连接。计算设备1所属的组和计算设备2所属的组连接。如图9所示,计算设备1与组1内第二类交换机L03连接,计算设备2与组2内第二类交换机L04连接。计算设备1和计算设备2进行数据传输时,根据路由算法,通过第一类交换机进行跨组转发。数据传输路径满足最短路径。例如,数据传输路径可以为:计算设备1->第二类交换机L03(组1)->第一类交换机S04(组1,由路由算法确定)->第一类交换机S04(组2,由路由算法确定)->第二类交换机L04(组2)->计算设备2。
示例四,计算设备1和计算设备2与不组内的第二类交换机连接。计算设备1所属的组和计算设备2所属的组间接连接,即计算设备1所属的组和计算设备2所属的组通过其他组连接。如图10所示,计算设备1与组1内第二类交换机L03连接,计算设备2与组2内第二类交换机L04连接。计算设备1和计算设备2进行数据传输时,根据路由算法,通过第一类交换机进行跨组转发。数据传输路径满足最短路径。例如,数据传输路径可以为:计算设备1->第二类交换机L03(组1)->第一类交换机S04(组1,由路由算法确定)->中间组第一类交换机(3D组网或4D组网情况下可能会有多个中间组,由路由算法确定)->第一类交换机S04(组2,由路由算法确定)->第二类交换机L04(组2)->计算设备2。
动态路由:网络设备间的数据传输采用最短路径优先,结合基于网络拥塞的动态路由算法,在没有拥塞的情况下,基于最短路径传输数据,在有拥塞发生的下情况,根据拥塞情况,动态调整路由,可以在非最短路径下进行数据传输。
可以理解的是,为了实现上述实施例中的功能,网络设备包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本申请中所公开的实施例描述的各示例的单元及方法步骤,本申请能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用场景和设计约束条件。
上文中结合图1至图10,详细描述了根据本实施例所提供的数据传输方法,下面将结合图11,描述根据本实施例所提供的数据传输装置。
图11为本实施例提供的可能的数据传输装置的结构示意图。这些数据传输装置可以用于实现上述方法实施例中处理器的功能,因此也能实现上述方法实施例所具备的有益效果。在本实施例中,该数据传输装置可以是如图1所示的第一类网络设备或第二类网络设备,还可以是应用于网络设备的模块(如芯片)。
如图11所示,数据传输装置1100包括通信模块1110、处理模块1120和存储模块1130。通信模块1110用于接收第一应用设备发送的数据。
处理模块1120用于根据静态路由或动态路由基于网络系统向第二应用设备传输数据。
可选地,处理模块1120具体用于若第一应用设备与第二应用设备与同一组内两个第二类网络设备连接,通过连接两个第二类网络设备的同一组内第一类网络设备向第二应用设备传输数据。
处理模块1120具体用于若第一应用设备与第二应用设备与不同组内第二类网络设备连接,通过连接两个第二类网络设备的不同组内第一类网络设备向第二应用设备传输数据。
存储模块1130可以对应上述方法实施例中用于存储路由表、数据等信息。
应理解的是,本申请实施例的数据传输装置1100可以通过图形处理器(graphicsprocessing unit,GPU)、神经网络处理器(neural network processing unit,NPU)、特定应用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logic device,PLD)实现,上述PLD可以是复杂程序逻辑器件(complexprogrammable logical device,CPLD),现场可编程门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。也可以通过软件实现数据传输方法时,数据传输装置1100及其各个模块也可以为软件模块。
根据本申请实施例的数据传输装置1100可对应于执行本申请实施例中描述的方法,并且数据传输装置1100中的各个单元的上述和其它操作和/或功能分别为了各个方法的相应流程,为了简洁,在此不再赘述。
图12为本实施例提供的一种网络设备1200的结构示意图。如图所示,网络设备1200包括处理器1210、总线1220、存储器1230、内存单元1250(也可以称为主存(mainmemory)单元)和通信接口1240。处理器1210、存储器1230、内存单元1250和通信接口1240通过总线1220相连。
应理解,在本实施例中,处理器1210可以是CPU,该处理器1210还可以是其他通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
处理器还可以是GPU、NPU、微处理器、ASIC、或一个或多个用于控制本申请方案程序执行的集成电路。
通信接口1240用于实现网络设备1200与外部设备或器件的通信。在本实施例中,通信接口1240用于与第一类网络设备、第二类网络设备、计算设备或存储设备进行数据交互。
总线1220可以包括一通路,用于在上述组件(如处理器1210、内存单元1250和存储器1230)之间传送信息。总线1220除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线1220。总线1220可以是快捷外围部件互连标准(Peripheral Component Interconnect Express,PCIe)总线,或扩展工业标准结构(extended industry standard architecture,EISA)总线、统一总线(unified bus,Ubus或UB)、计算机快速链接(compute express link,CXL)、缓存一致互联协议(cache coherent interconnect for accelerators,CCIX)等。
作为一个示例,网络设备1200可以包括多个处理器。处理器可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的计算单元。处理器1210可以调用存储器1230存储的路由表,根据静态路由或动态路由基于网络系统传输数据。
值得说明的是,图12中仅以网络设备1200包括1个处理器1210和1个存储器1230为例,此处,处理器1210和存储器1230分别用于指示一类器件或设备,具体实施例中,可以根据业务需求确定每种类型的器件或设备的数量。
内存单元1250可以对应上述方法实施例中用于存储路由表等信息的存储介质。内存单元1250可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
存储器1230用于存储路由表和数据,可以是固态硬盘或机械硬盘。
上述网络设备1200可以是一个通用设备或者是一个专用设备。例如,网络设备1200可以是交换机或路由器。
应理解,根据本实施例的网络设备1200可对应于本实施例中的数据传输装置1100,并且数据传输装置1100中的各个模块的上述和其它操作和/或功能分别为了实现相应方法流程,为了简洁,在此不再赘述。
本实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于计算设备中。当然,处理器和存储介质也可以作为分立组件存在于网络设备或终端设备中。
本申请还提供一种芯片系统,该芯片系统包括处理器,用于实现上述方法中网络设备的功能。在一种可能的设计中,所述芯片系统还包括存储器,用于保存程序指令和/或数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘(solid state drive,SSD)。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (13)
1.一种网络系统,其特征在于,所述网络系统包括多个网络设备,所述多个网络设备被划分为多个组;所述多个组中每组包括第一类网络设备和第二类网络设备;
所述第一类网络设备通过第一方式与同一组的所述第二类网络设备连接,所述第一方式用于实现组内不同类别网络设备的无阻塞连接;以及,分别通过第二方式与不同组的所述第一类网络设备连接,所述第二方式用于实现组间网络设备按空间维度全连接;
所述第二类网络设备通过第三方式与应用设备连接,所述第三方式用于实现不同应用设备间通过所述网络系统进行数据传输。
2.根据权利要求1所述的网络系统,其特征在于,所述多个组构成多维矩阵,所述多个组中一个组对应所述多维矩阵中一个元素;所述多个组包括第一组,通过所述第二方式与所述第一组连接的不同组包括与所述第一组属于同一维度且同一行的组。
3.根据权利要求2所述的网络系统,其特征在于,所述多个组构成二维矩阵;所述第一组内第一类网络设备分别连接所述第一组所属的x维且同一行以及y维且同一行的不同组内第一类网络设备。
4.根据权利要求2所述的网络系统,其特征在于,所述多个组构成三维矩阵;所述第一组内第一类网络设备分别连接所述第一组所属的x维且同一行以及y维且同一行以及z维且同一行的不同组内第一类网络设备。
5.根据权利要求2所述的网络系统,其特征在于,所述多个组构成四维矩阵;所述第一组内第一类网络设备分别连接所述第一组所属的x维且同一行以及y维且同一行以及z维且同一行以及w维且同一行的不同组内第一类网络设备。
6.根据权利要求1-5中任一项所述的网络系统,其特征在于,所述第一类网络设备分别通过第一方式与同一组的所述第二类网络设备连接,包括:
同一组内每个所述第一类网络设备与每个所述第二类网络设备连接。
7.根据权利要求1-6中任一项所述的网络系统,其特征在于,所述第一类网络设备包括N个物理端口,所述N个物理端口中M个物理端口用于连接同一组的M个所述第二类网络设备,所述N个物理端口中K个物理端口用于连接K个不同组的所述第一类网络设备,M和K之和等于N,N、M和K均为正整数。
8.根据权利要求1-7中任一项所述的网络系统,其特征在于,与同一组内所述第二类网络设备连接的不同应用设备间通过所述同一组内所述第二类网络设备进行数据传输;
或者,与同一组内所述第二类网络设备连接的不同应用设备间通过所述同一组内所述第二类网络设备和第一类网络设备进行数据传输。
9.根据权利要求1-7中任一项所述的网络系统,其特征在于,与不同组内所述第二类网络设备连接的不同应用设备间通过不同组内所述第二类网络设备和所述第一类网络设备进行数据传输。
10.一种数据传输方法,其特征在于,第一应用设备和第二应用设备分别与如权利要求1-9中任一项所述的网络系统中第二类网络设备连接,所述方法包括:
与所述第一应用设备连接的第二类网络设备根据静态路由或动态路由基于所述网络系统向所述第二应用设备传输数据。
11.根据权利要求10所述的方法,其特征在于,与所述第一应用设备连接的第二类网络设备根据静态路由或动态路由基于所述网络系统向所述第二应用设备传输数据,包括:
若所述第一应用设备与所述第二应用设备与同一组内两个第二类网络设备连接,通过连接所述两个第二类网络设备的同一组内第一类网络设备向所述第二应用设备传输数据。
12.根据权利要求10所述的方法,其特征在于,与所述第一应用设备连接的第二类网络设备根据静态路由或动态路由基于所述网络系统向所述第二应用设备传输数据,包括:
若所述第一应用设备与所述第二应用设备与不同组内第二类网络设备连接,通过连接所述两个第二类网络设备的不同组内第一类网络设备向所述第二应用设备传输数据。
13.一种网络设备,其特征在于,包括存储器和处理器,所述存储器用于存储一组计算机指令;当所述处理器执行所述一组计算机指令时,执行上述权利要求10-12中任一项所述的方法的操作步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111601063.9A CN116346521A (zh) | 2021-12-24 | 2021-12-24 | 网络系统及数据传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111601063.9A CN116346521A (zh) | 2021-12-24 | 2021-12-24 | 网络系统及数据传输方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116346521A true CN116346521A (zh) | 2023-06-27 |
Family
ID=86877756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111601063.9A Pending CN116346521A (zh) | 2021-12-24 | 2021-12-24 | 网络系统及数据传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116346521A (zh) |
-
2021
- 2021-12-24 CN CN202111601063.9A patent/CN116346521A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ajima et al. | The tofu interconnect d | |
US11601359B2 (en) | Resilient network communication using selective multipath packet flow spraying | |
US9880972B2 (en) | Computer subsystem and computer system with composite nodes in an interconnection structure | |
JP4843087B2 (ja) | スイッチング帯域幅を向上させるスイッチングシステムおよび方法 | |
US10659309B2 (en) | Scalable data center network topology on distributed switch | |
US20130073814A1 (en) | Computer System | |
RU2543558C2 (ru) | Способ и усройство маршрутизации ввода-вывода и карта | |
Lebiednik et al. | A survey and evaluation of data center network topologies | |
US8438244B2 (en) | Bandwidth-proportioned datacenters | |
Guay et al. | vFtree-A fat-tree routing algorithm using virtual lanes to alleviate congestion | |
CN107959643B (zh) | 一种通过交换芯片构建的交换系统及其路由算法 | |
US10394738B2 (en) | Technologies for scalable hierarchical interconnect topologies | |
US20190243796A1 (en) | Data storage module and modular storage system including one or more data storage modules | |
WO2024016661A1 (zh) | 工作量证明芯片及电子设备 | |
Akella et al. | A universal approach to data center network design | |
Nooruzzaman et al. | Hyperscale data center networks with Transparent HyperX architecture | |
CN113438171B (zh) | 一种低功耗存算一体系统的多芯片连接方法 | |
CN116346521A (zh) | 网络系统及数据传输方法 | |
Wang et al. | Understanding node connection modes in Multi-Rail Fat-tree | |
CN114968895A (zh) | 一种异构互联系统及集群 | |
Javadi et al. | A comprehensive analytical model of interconnection networks in large‐scale cluster systems | |
Su et al. | An in-network replica selection framework for latency-critical distributed data stores | |
CN111628936B (zh) | 基于宽端口异构瓦片的端口可配置路由器设计方法及路由器 | |
CN116185641B (zh) | 融合架构系统、非易失性存储系统及存储资源获取方法 | |
Ilyadis | The evolution of next-generation data center networks for high capacity computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |