CN104185999A - 分组流互联架构 - Google Patents
分组流互联架构 Download PDFInfo
- Publication number
- CN104185999A CN104185999A CN201380013081.2A CN201380013081A CN104185999A CN 104185999 A CN104185999 A CN 104185999A CN 201380013081 A CN201380013081 A CN 201380013081A CN 104185999 A CN104185999 A CN 104185999A
- Authority
- CN
- China
- Prior art keywords
- node
- stream
- port
- framework
- module
- 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
- 239000004744 fabric Substances 0.000 title description 7
- 238000004891 communication Methods 0.000 claims abstract description 47
- 238000000034 method Methods 0.000 claims abstract description 42
- 230000003287 optical effect Effects 0.000 claims description 43
- 230000005540 biological transmission Effects 0.000 claims description 21
- 239000000835 fiber Substances 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 10
- 230000008878 coupling Effects 0.000 claims description 5
- 238000010168 coupling process Methods 0.000 claims description 5
- 238000005859 coupling reaction Methods 0.000 claims description 5
- 230000002457 bidirectional effect Effects 0.000 abstract description 12
- 238000007726 management method Methods 0.000 description 42
- 239000000872 buffer Substances 0.000 description 34
- 238000004422 calculation algorithm Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 20
- 238000009826 distribution Methods 0.000 description 20
- 230000008901 benefit Effects 0.000 description 18
- 230000001965 increasing effect Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 16
- 238000005520 cutting process Methods 0.000 description 15
- 238000013461 design Methods 0.000 description 15
- 230000000875 corresponding effect Effects 0.000 description 14
- 230000014509 gene expression Effects 0.000 description 13
- 239000013307 optical fiber Substances 0.000 description 13
- 238000009434 installation Methods 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 11
- 238000003860 storage Methods 0.000 description 11
- 230000011664 signaling Effects 0.000 description 10
- 230000015654 memory Effects 0.000 description 9
- 229920006395 saturated elastomer Polymers 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 230000001276 controlling effect Effects 0.000 description 8
- 230000008520 organization Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 238000013459 approach Methods 0.000 description 6
- 230000002708 enhancing effect Effects 0.000 description 6
- 230000015572 biosynthetic process Effects 0.000 description 5
- 230000000903 blocking effect Effects 0.000 description 5
- 238000001914 filtration Methods 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 230000001537 neural effect Effects 0.000 description 5
- 230000000414 obstructive effect Effects 0.000 description 5
- 241000219739 Lens Species 0.000 description 4
- 210000000695 crystalline len Anatomy 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 4
- 230000012010 growth Effects 0.000 description 4
- 230000000670 limiting effect Effects 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000005728 strengthening Methods 0.000 description 4
- 230000009897 systematic effect Effects 0.000 description 4
- 238000004804 winding Methods 0.000 description 4
- 244000287680 Garcinia dulcis Species 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 235000013527 bean curd Nutrition 0.000 description 3
- 239000012141 concentrate Substances 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 230000006378 damage Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000005611 electricity Effects 0.000 description 3
- 230000002349 favourable effect Effects 0.000 description 3
- 238000002156 mixing Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000001052 transient effect Effects 0.000 description 3
- 241000294743 Gamochaeta Species 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 229910002056 binary alloy Inorganic materials 0.000 description 2
- 230000033228 biological regulation Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 210000000887 face Anatomy 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 241000425932 Buddleja globosa Species 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 1
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 1
- 241001515806 Stictis Species 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000000740 bleeding effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001739 density measurement Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- BTCSSZJGUNDROE-UHFFFAOYSA-N gamma-aminobutyric acid Chemical group NCCCC(O)=O BTCSSZJGUNDROE-UHFFFAOYSA-N 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000006317 isomerization reaction Methods 0.000 description 1
- 239000012464 large buffer Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 210000004218 nerve net Anatomy 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000005549 size reduction Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 241000894007 species Species 0.000 description 1
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000010937 topological data analysis Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/62—Wavelength based
-
- 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/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/356—Switches specially adapted for specific applications for storage area networks
- H04L49/357—Fibre channel switches
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)
Abstract
一种方法,包括操作包含多个端口的分组流模块,多个端口中的每一个包含至少一对双向且逻辑独立的通信信道。一种装置,包括包含多个端口的分组流模块,多个端口中的每一个包含至少一对双向且逻辑独立的通信信道。
Description
技术领域
本发明总体上涉及用于计算机系统和/或它们的子系统以及网络和/或它们的子系统的互连的领域。更特别地,本发明涉及用于构建(2)用于非常大的计算机系统的分组流互联架构的(1)分组流模块。
背景技术
大多数计算机互连当前服务于有限数量的节点或端点。一般通过以树、胖树和以各种不同的拓扑(topology)配置的交换机(switch)的其它网络(称为交换架构)的形式相互接合互连模块而从诸如Ethernet和Infiniband的分组交换机构建更大的互连。
这种网络中的各交换机可与一个或更多个主机计算机连接并与一个或更多个存储装置连接。另外,可存在交换机到交换机连接以及交换机到集中器连接。交换机到交换机连接一般具有比交换机到主机或交换机到存储器连接高的带宽,以减轻不同的主机之间的通信瓶颈。也称为水平2交换机的集中器从一个或更多个交换机取得输入,从而在一个或更多个交换架构与到其它分组网络的诸如网关的其它装置之间形成桥路。在下一更高的水平,这样的交换架构通过水平3交换机结合在一起。必须在内部通过关于数据路径以及封装用于交换机到交换机流量的消息和解封这些消息以分布到各单个端点(主机计算机或存储装置)的全局算法管理这些实现中的数据的流动。
发明内容
需要本公开的以下的实施例。当然,本公开不限于这些实施例。
根据本公开的实施例,处理包括:操作包含多个端口的分组流模块,所述多个端口中的每一个包含至少一对双向且逻辑独立的通信信道。根据本公开的另一实施例,机器包括:包含多个端口的分组流模块,所述多个端口中的每一个包含至少一对双向且逻辑独立的通信信道。
当结合以下的描述和附图考虑时,将可以更好地领会和理解本公开的这些和其它实施例。但应理解,以下的描述,虽然指示本公开的各种实施例及其大量具体的细节,但这是出于解释的目的给出的并且不意味着限制。可在本公开的实施例的范围内提出许多替代、修改、添加和/或重新布置,并且,本公开的实施例包含所有这些替代、修改、添加和/或重新布置。
附图说明
包括伴随本说明书并形成其一部分的附图,以示出本发明的某些方面。通过参照在附图中示出的示例性、非限制性的实施例,将变得更容易理解本发明以及具有本发明的系统的部件和动作的更清楚的概念。参照与这里给出的描述组合的这些附图中的一个或更多个,可以更好地理解本发明。应当注意,在附图中示出的特征未必按比例绘制。
图1示出作为现有技术的完全互连n个节点的直播光学互连。
图2示出作为现有技术的互连交换机的“pod”。
图3示出用于获得分组流模块的图1的变更例。
图4示出用于获得基于分组流模块的pod拓扑的图2的变更例。
图5示出基于分组流模块的Clos网络。
图6示出基于分组流模块的pod的Clos网络。
图7示出基于分组流模块或分组流模块的pod的规则网格网络。
图8示出布置为3级树的三个切换层。
图9示出通用二进制树拓扑。
图10示出具有12端口f节点的整个胖树。
图11是具有双向链接的对称Clos拓扑的示图。
图12是增强对称Clos拓扑的示图。
图13是表示修改的Clos网络的示图。
图14是表示修改的Clos网络的p3性能的示图。
图15示出分隔于规则二维网格上的网互连。
图16示出规则网格上的3维网。
图17示出修改为光学入出系统的DBOI互连。
图18示出具有双向且逻辑独立信道(端口)的修改的Clos网络。
图19示出表1。
图20示出表2。
图21示出表3。
图22示出表4。
图23示出表5。
图24示出表6。
图25示出表7。
图26示出表8。
图27示出表9。
图28示出表10。
图29A~29F示出式(1)~式(6)。
图30A~309F示出式(7)~式(12)。
图31A~31G示出式(13)~式(19)。
具体实施方式
参照在附图中示出并在以下的说明书中详述的非限制性的实施例,更完整地解释在本公开中给出的实施例及其各种特征和有利的细节。省略公知的开始材料、处理技术、部件和设备的描述,以避免不必要地混淆本公开的实施例的细节。但应理解,详细的描述和具体的例子是作为解释而不是限制给出的。对于本领域技术人员来说,参照本公开,基本的发明概念的范围内的各种替代、修改、添加和/或重新布置将变得十分明显。
设想用于数据中心、云计算、用于电信中的分组切换系统和高性能计算应用的当前的计算群要服务于数以千计乃至数百万的端点。当前的互连扩展的方法利用各种装置,以通过分层的方式确保许多节点系统中的各节点可与任何其它节点连接,通常在该分层的方式中,多组的服务器或最终节点与水平1交换机连接,水平1交换机的触排与水平2交换机连接,并且,多组的水平2交换机与水平3交换机连接。未必永久建立任何给定的节点到节点连接的可能性,并且可能在希望时不能建立这种连接。例如,这些交换机网络内的交换机和相关的路由硬件及其控制软件可能通过竞争的分组路径中的消息流量变得在内部被阻塞(block)。该管理需要用于控制架构内的交换机图案并监视架构的全局状态的大路由表和专用软件。除了交换网络内的分组拥塞以外,数据必须常常以离散的中继段(hop)的形式从交换机转送到交换机,从而使得节点到节点通信在一系列的阶段中出现,这里,会在各阶段出现延伸和阻塞,而给定的消息可能需要等待交换机打开(open)。
众所周知,在服务器农场(server farm)和其它大型计算机系统的领域中,交换机的这种切换架构中的不同硬件元件的异构本质对于构建和维持数据中心、计算或存储云、或者超计算机群集产生附加的复杂性和成本。
本发明使得不需要切换架构中的异质硬件元件并且不需要在互连架构中一起切换。同一发明允许基于单个、均匀互连模块构建单个互连架构以服务于范围从几千到几十万到几百万乃至再多的多个端点或节点。在各对最终节点之间,多个潜在的数据路径是可能的,并且,在不借助于表、跨越树或其它架构范围的控制机构的情况下路由分组或消息。
本公开给出前面公开的互连(例如,参见美国专利7970279)的修改,该修改用光学连接(在优选实施例中)替代主机计算机接口((诸如PCI特快或类似的接口装置)并且重新布置电气-光学网络接口控制器(EONIC)的路由逻辑以容纳来自现有广播功能的分组流和分布功能。
在以下的讨论中,“架构”或“互连架构”是大致用于指的是用于互连大量的计算节点和/或存储节点的广泛的硬件配置的常见的术语。作为技术术语,“架构”已变为常与“互连”同义的常用术语。
“构架”指的是通信网络的设计,并且包含物理部件、功能组织、数据格式和操作过程。“拓扑”指的是网络的各种节点之间的互连的图案。物理拓扑指的是电缆和网络节点的配置。拓扑是包含节点、链接、可达性的图形理论概念,而构架指的是工程。这两个术语常常被不正确地互换使用。
互连架构的“直径”是任意对之间的最短路径的所有端点对上的最大值。直径是当从一个节点向另一个发送数据时可能遇到的数据中继段的数量的度量。“对切带宽”是将架构分成两个相同且独立的部分所必须切断(sever)的双向连接的数量。“可达性”是任何两个架构节点之间的潜在路径(没有回路)的数量。可能存在最大和最小可达性。“pod”是p个相同的交换机或者广播模块的二层全连接组,这里,每个模块包含p个端口且每个层包含p/2个模块。
参照在附图中示出并在以下的说明书中详述的非限制性的实施例,更完整地解释在本发明及其各种特征和有利的细节。省略公知的开始材料、处理技术、部件和设备的描述,以避免不必要地混淆本发明的细节。但应理解,详细的描述和具体的例子虽然指示本发明的优选实施例,但是是作为解释而不是限制给出的。对于本领域技术人员来说,参照本公开,基本的发明概念的精神和/或范围内的各种替代、修改、添加和/或重新布置将变得清楚。
这里引用的美国专利公开了在预期的目的上令人满意的实施例。在这里出于所有的目的通过引用明确加入美国专利No.7450857、No.7630648、No.7796885、No.7970279和No.8081876的全部内容。另外,用于交换机的“pod”概念由Vahdat等开发,并且在在2010年1月28日公开的美国专利申请U.S.2010/0020806、在2007年11月29日公开的U.S.2007/0276872和在2011年12月8日公开的U.S.2011/0302346中被参照。在这里出于所有的目的通过引用明确加入在2010年1月28日公开的U.S.2010/0020806、在2007年11月29日公开的U.S.2007/0276872和在2011年12月8日公开的U.S.2011/0302346的全部内容。
Pod概念实际上是由Widrow开发的二层神经网络的变体(参见“20Year of Adaptive Neural Networks”by Widrow and Lehr,Proc.IEEE,78(9),1990,具体而言,其图11和以下的讨论),这里,外部操作的路由交换机替代通过反馈处理“学习”的一组自适应权重。神经网学习处理直接与根据存储的图案确定交换机位置的预先确定的路由表类似;这些交换机位置然后等同于一组二进制神经网络权重(处于“打开”或“关闭”状态)。
虽然pod和二层神经网络的拓扑是等同的且等同于分组流pod的拓扑,但后一种概念明显不同且可容易地通过其内部构架与切换pod及其二层神经网络前辈区分。在分组流pod中,各输入上的数据同时分配给每个pod输出并且可能存在于其上面。数据分组或消息结构包含将消息引向适当的输出并且从到达的不适当的输出过滤消息的标题。
一般地,本发明的语境可包含通过光学信号、光学和电(数字)信号的混合、以及纯电(数字)信号分布和收集数据。本发明的语境还可包含通过不相干光和/或相干光传输来传送数据。本发明的语境可甚至包含通过声学传输来传送数据。本发明的物理语境可包含网络、节点、电路板和/或调制解调器,特别是用于多个端点、计算机、计算装置和/或存储装置之间的高速和大容量数据传送。
本发明可包含使用精确定时的脉冲宽度调制和解调以实现非常高速的传送。本发明可包含用于RF的自由空间传送或共轴电缆或数据总线或导线、以及用于光的自由空间传送或光导管或光纤。
本发明可包含通过位流的载波的高速调制,所述调制任选地在所有的数字处理中出现。本发明可包含用于恢复位流的载波的高速解调,所述解调任选地在所有的数字处理中出现。
本发明可包含调制和检测如上面描述的那样编码的载波的全数字处理。如果存在的话,调制器和解调器的模拟部分是典型的相位、频率和振幅装置,这是本领域技术人员公知的。
本发明可包含互连架构节点的几种拓扑中的任一种,这里,架构节点是作为本发明的主题的分组流模块;或这种分组流模块的pod、或这种分组流模块的pod之pod(等等,以递归的方式)。
图1(现有技术)示出最近在美国专利7970279(“N向串行信道互连”)中描述的基于广播光的典型的n向(或n*n)互连。该图给出从输入(一般从n个节点或端点)到输出(一般到同样n个节点或端点)的全连接n*n互连。
参照图1,来自n个主机计算机的n个输入100(由粗双向箭头表示,在两个端箭头之间有连续的点线)上的电气数据在标为EONIC的电光学网络接口控制器模块110中通过激光器(在优选实施例中)转换成调制光。调制的光在沿n个单模光纤125(由带有空心箭头的方向箭头表示)的n个出口120(由虚线表示)上离开EONIC110。这些光纤125在输入130(由虚线表示)处进入光学模块140(对于直播光学互连,标有“DBOI”)。各光学信号通过传播或分离组件被分布(广播),使得相同的信号到达模块140的所有部分。该广播分布由标为150的多个扇入和扇出线指示,这意味着代表光在模块140的分布空腔内的连续传播或分布。在优选实施例中,这些线150示意性示出光广播从输入130中的每一个的分布以及向输出线160中的每一个的收集。在本说明书中使用“光”不意味着将本发明限于光学组件,原因是,能够以图1所示的方式被操作的信息的任何载体在本发明的语境中是有效的。在通过以上参照的专利描述的互连的光学版本中,来自几个输入的光广播被透镜收集并且聚焦于输出160上,这些输出160是多模光纤(由带有空心箭头的方向箭头表示)的集束,每个在光学的情况下具有n个单个光纤,或者,在电气的情况下具有n个单个传送线或电缆。
四个收集点中的每一个(箭头160的尾部)包含n个信号作为n个输入130的输入数据流的四个重复。在DBOI互连的原始实现中,n是32,并且每个输入流通过光学扇出装置一分为四以分别提供32个数据流的拷贝。这些光学信号然后被组合到四个检测器阵列或光纤光学束中,每个包含原始32输入数据流的拷贝。由此,示出离开广播分布模块140的4个数据流160。在以上参照的专利中解释了这些细节。仅出于解释的目的解释该具体例子,这里n=32且光学扇出为4。其它的选择是可能的。例如,72向互连可具有9倍的光学或电气扇出,从而导出标有160的9个输出束,而不是图1所示的四个。
特别注意的是,在模块110或模块140内不存在交换机或路由机构。即,分组在转换到光学脉冲之后自由地从n个输入100中的任一个没有任何阻碍地流向模块140的4n个输出中的任一个。换句话说,不会在图1所示的组件内存在数据拥塞。
四个集束160与四组的n个光学检测器(包含于模块110内且没有被示出)连接,这里,光学脉冲被重新转换成电气数字数据。实际上,模块110包含附加的用于根据编码的目的地收集、存储和过滤各种数字数据流的组件以及解决EONIC模块110的输出110处的潜在端口争用所需要的流动控制电路,这些信号是适于沿双向链接100的出口连接传送的电信号。经滤波的电气信号然后沿输出100转送到主机端点。在以上参照的美国专利、特别是美国专利No.7970279中包括这些事项,由此不需要在这里描述电路的精确的配置和精确的功能。
图2(现有技术)示出在将p个交换机组合成每行p/2个交换机的两个全连接行的常见方法。P个交换机中的每一个具有p个全多路复用通信端口。图中,p=6,因此,在两个行中每行存在3个交换机。每个p端口交换机的连接的一半被用于全连接两个行并且一半是pod外面的连接,使得p2/2个连接用作对于来自架构结构中的低水平的pod的输入(一般是与计算节点或端点的连接),而剩余的p2/2个连接在概念上被称为pod向架构中的下一更高水平的“输出”。当然,pod是全对称的,原因是它可上下颠倒使得输出变为输入,反之亦然。
参照图2,六个交换机200分别具有由小圆表示的p个全多路复用端口220(图中的每个交换机200具有p=6个这种端口,每个交换机200的“顶部”有p/2或3个端口,且在每个交换机的“底部”有3个端口)。示图意味着表示数据沿“正方向”或向上的方向从各交换机200的底部通向各交换机200的顶部;由于端口220和交换机元件210的全多路复用本质,因此,信号也可在不改变一组交换机元件210的闭合模式的情况下以相同的方式从顶部通向底部。如上所述,各交换机200的下半部分上的各端口220通过交换机元件210(一般在外部由架构的路由表中的全局交换机图案控制)与各交换机200的上半部分上的端口220中的一个或更多个连接。多路复用连接225(在图的底部,表示为一行双向箭头,用于表示全多路复用通信)和多路复用连接240(在图的顶部,表示为一行双向箭头,用于表示全多路复用通信)与用作pod的“输入”和“输出”的交换机或端子端点(未示出)连接,该指定与信号移动的实际方向无关。两行的交换机之间的连接230(表示一行双向箭头,用于表示全多路复用通信)提供内部连接以产生全连接的二层网络,这在神经网络和互连的文献中是公知的。
注意,给定的交换机图案可防止或阻止存在于一个层上的任何端口220上的给定信号到达另一层或同一层上的任何选择的端口220。另外,对于同一pod内的通信,交换机图案可允许底部(顶部)行端口220通过从一行交换机200通过并然后返回到另一行与另一底部(顶部)行端口220连接,而不必沿多路复用信道225或240中的任一个离开pod。可在标准n*n交叉交换机中发现实现这些图案的交换机210的具体情况,这里,在示出的情况下,n=3。
作为由全多路复用交换机提出的限制的例子,考虑标有A的端口250,该端口可以是另一交换机上的端口或端点端口。假定交换机图案使得A与标有251的端口B连接,该端口B可以是另一交换机上的端口或端点端口,并且,正在从A向B传送消息或一系列的分组。假定消息同时从标有C的端口252出现,该端口252可以是另一交换机上的端口或者端点端口,其目的地是标有250的第一端口A,那么该消息将被阻止,直到完成从A到B的消息。该阻止是由于交换机的多路复用本质,并且只能通过使每组用于数据移动的每个方向的两组架构交换机具有不通常完成的项目来避免。
图3是图1所示的构成的重新布置的表现,这里,现在不存在来自或者通向主机端点的电连接。根据上述的各单个消息分组的动态路由,该配置意在代表从任何输入信道到任何和全部的输出通信的光学流动。
参照图3,包含来自其它这种广播分布模块或者最终来自适当的EONIC(诸如图1中的光学输出120)处的跟随电气光学转换的主机端点的光学信号的n个单模光学输入光纤310(在优选实施例中)被呈现给光学模块300的输入侧。模块300以上面描述且由线320表示从而示意性地指示广播分布动作的广播方式分布其输入310中的每一个。如上所述,以由多模光纤330(在优选实施例中)指示的四个物理分区中的每一个的方式收集分布的光学信号,每个束包含所有的n个输入信号310的拷贝。(如上所述,该具体的示图使用四个分区,但本发明在其实现中不限于此)。
各单独的EONIC模块340接收光纤束330中的n个单独的光学信号。这n个光学信号通过检测器和电子器件(未示出,但在参照的专利中被描述)被转换成电信号。电信号然后根据现在处于电气形式的几条消息的目的地标题通过逻辑电路被分布和收集(未示出的处理,但在参照的专利中被描述)。然后向各EONIC模块340中的n/4调制器和激光器中的任一个或全部呈现适当的电气数据流。然后在存在于单模输出光纤350上的n个光学外出数据流之间分布n个到来的光学数据流310。
如上所述,包含中间和暂时存储、用于一定的路由决定以及用于寻址流动控制的逻辑的附加电路可被加入到任何实际的实现中,不需要改变本发明的范围或目的或者实质改变甚至在功能上增强图3所示的分组流模块。
注意,包含对于光学模块300的输入的光纤310独立于包含EONIC340的输出的光纤350。即,虽然图3所示的分组流模块的端口的数量为p,这里,p在这里与上述的n相同,但各端口实际上是一对双向(且逻辑独立)的通信信道。这与交换机模块相反,在该交换机模块中,一对p端口中的每一个在逻辑上结合在一起,使得该对作为单元被切换(当然,除非存在用于每个方向的完整的切换架构)。正是由于这种基本的构架差异,分组流模块在功能上与切换模块明显不同。
图4是在图2中引用的pod拓扑的表现,但这里通过以上给出的分组流模块实现(构建)它。为了清楚起见,端口的数量减少为6个;实际上,在图4中表现的各网络节点的端口的数量是图3中的分组流模块的双向通信对的数量。该数量在现有的实现中一般是32个或72个。
参照图4,六个分组流模块400分别具有p个由小圆表示的双向且独立的端口420。该拓扑与图2相同,但模块的构成和功能及其pod相当不同。通过在附图中不存在任何图案或符号指示并且通过指向各模块400的空心内部部分的箭头410指示各模块400的全连接、连续广播本质。在模块400的顶部行的顶部或者底部行的底部处的其它端口420中的每一个上同时存在(原则上,如果不实际,则根据进入pod的消息的标题)由指向pod的空心箭头表示的经由双向线425或440中的任一个经由模块400的顶部行的顶部或底部行的底部处的端口420流向pod的光学信号(在优选实施例中)。如远离pod的空心箭头所示,这些信号然后可沿双向线425或440中的任一个离开pod(同样,根据进入pod的消息的标题)。
如以上的图2所示,所述拓扑要求通过由方向相反的各对空心箭头表示的双向线430进行连接的全互连的二层系统。
注意,特别地,不存在使得该分组流pod从其进入端口420中的任一个到其离开端口420中的任一个分布信号所需要的交换机设定的全局图案。注意,同样,沿pod的顶部或底部行或者沿包含pod的模块的顶部或底部行来自任意对的端口的虚拟连接不需要相反方向的虚拟连接。即,端口和广播分布机构的双向本质意味着分组流路径是独立的,并且该独立性意味着pod以及通过这种分组流模块或分组流pod构建的任何架构的全带宽是潜在可用的。
作为双向端口的多功能性的例子,考虑标有A的端口450,该端口可以是另一pod上的端口或端点端口,并且假定端口450处于将消息或一系列的分组中转到标有B的端口451的过程中,该端口451可以是另一pod上的端口或端点端口。假定可以是另一pod上的端口或者端点端口的标有C的端口452需要向端口450中转消息,那么这种传送不被从A到B的消息阻塞;即,任何给定的端口可在从不同的端口接收数据的同时向一个或更多个端口传送数据。将该行为与假定交换机的全多路复用本质则带宽的约一半没有实际用途的交换机模块或pod的情况对比。
图5是对称Clos架构的示图(Charles Clos,“A study ofnon-blocking switching networks,”Bell System Technical Journal32(2),pp.406-424,1953),这里,每个输入(底部行)模块的输入端口的数量等于三个行中的每一个中的模块的数量,并且每个输出(顶部行)的输出端口的数量类似地等于三个行中的每一个中的模块的数量。在图5所示的情况下,分组流模块与端点之间的连接是双向的,从而意味着底部上的端点与顶部上的端点不同,从而有效地将服务的端点的数量加倍。
参照图5,几个端点500由图的顶部和底部行处的小圆代表。架构节点510、520和530是图3所示的分组流模块;这里,由图5代表的架构中的各封装流模块具有p=8个双向端口。在本例子中,节点510的行具有与16个端点500的p/2或4个双向连接540、以及与节点520的中间行的p/2个双向连接550。分组流模块520的中间行也分别具有与分组流模块530的底部行的p/2个双向连接,这些分组流模块530也分别具有p/2个端口,这些端口具有与端点500的底部行的p/2个双向连接540。以这种方式,在示图中,3p个分组流模块的全饱和组提供用于(p/2)2个端点或者32个端点的全互连非阻塞架构。能够增加中间行的数量以超出单个行520。该增加允许在任意两个端点之间有更大的路径冗余度。(这里使用的“饱和”意味着所有端口均具有连接。)
使L为对称Clos拓扑中的行或水平的数量,分析表明,该拓扑服务的端点的数量为(p/2)2个并且需要L(p/2)个分组流模块,因此,对于各分组流模块存在p(/2L)个端点;这在架构硬件上不是特别有效的构架,但它用作下一图的背景。
图6是从分组流模块的pod构建的对称Clos架构的图示。仅有的与图5的不同是架构的结构,它各自基于p2/2端口的分组流pod而不是各自基于p个端口的分组流模块。(这里,以及在本公开的任何地方,p是用于构建互连架构的分组流模块的端口的数量。)
参照图6,拓扑与图5相同,但在本例子中每个分组流模块的端口的数量现在是p=4而不是在图5中使用的p=8。图中的要素具有与以上相同的功能,具有端部节点600、以及三个行610、620和630中的分组流模块。端点600与架构节点610和630的外部行之间的双向连接由线640表示。中间行620与两个外部行610和630之间的双向连接分别由线650和660表示。
分析表明,由该拓扑服务的端点的数量为(p/2)4个并且需要2L(p/2)3个分组流模块,因此,每个分组流模块的少量的端口p可服务非常多的端点(对于p=32,为65536个端点端点,对于p=72,为1679616个端点)。
各分组流模块610、620和630在该图中是由气泡670代表的分组流pod,它包含四个分别包含具有8个端口的pod的4端口分组流模块。
这两个图的目的是表示对于大量的端点构建互连架构时的分组流pod的幂的概念。
图7是以分组流模块或分组流模块的pod为架构节点的二维规则网络架构的示图。
参照图7,9个分组流模块700被示为布置在一边3个的规则网格中。4个双向连接720分别由各模块700与其4个最近的邻居形成。假定各分组流模块具有p个双向端口,那么,对于与端点(例如,计算节点、服务器、存储节点等)的双向连接,在每个架构节点(也由700表示)处保持(p-4)个端点端口710。从网格阵列引出的双向连接730被用于(1)附连行或列的形式的更多的模块700(在二维的情况下)或者(2)将开放网格拓扑变换成花托(torus)拓扑。增加架构节点700的数量也增加架构直径(任意两个架构节点之间的最远的中继段距离)并由此增加最大网络消息延迟期(latency)。
上述的结构的变更例是,使双向连接720和730中的两个或三个(或更多)致力于节点到节点通信并相应地较少用于端部节点710。因此,可如希望的那样增加节点间带宽。
注意,更高维度的规则网格架构也是可能的。例如,Cray的Gemini互连和Fujitsu的Tofu互连均是具有形成三维花托的缠绕连接的三维网格。环形配置加倍分切带宽并减半网络直径,同时大大增加任意两个架构节点之间的潜在路径的数量。
当然,任意的分组流节点700可被分组流模块的pod替代(在图6中这样建议)。该pod扩展对于每个架构节点产生具有任意的希望的带宽的分组流架构和任意希望的数量的端点。
在图5、图6和图7中给出的拓扑以及隐含的可能在大型数据中心(诸如树、胖树、花托和由Vahdat引入的Clos/胖树)中可用的其它这种拓扑的不是新颖的。并且,通过使用pod概念扩展这些拓扑中的任一个虽然是新颖的且在这里第一次被明确给出,但是,给定上面引用的Vahdat等的工作,不能要求这是意想不到的。但是,通过上述的分组流模块或者通过这种分组流模块的pod实现的这些拓扑中的任一个和全部的结构一定是新颖的,且不能从过去的关于交换架构或交换机互连的工作想出也不能从其导出。即,以上给出的分组流架构以及隐含的基于任何其它的拓扑的任何分组流架构代表了创新,这种创新在不将直播光学互连转换成不同的唯一的内部构架的分组流模块的情况下在以前是不可能的。
这种结论的原因有两点:(1)分组流模块的双向本质;(2)由这些互连服务的大量的潜在端点。虽然可明显以上述的方式扩展交换架构且48或更高的端口的交换机可被构建为服务数以百万计的计算节点,但这种大的架构的外显的自上向下的管理变为即便不是不可能也十分困难的任务。众所周知,路由表的结构和修整包括不稳定的算法,并且,当今的工作利用补偿用于产生、保持、搜索和共享需要的非常大的路由表的不令人满意的方案的妥协。
本发明的关键优点在于,通过消除架构中的交换机,不再需要复杂的路由方案。消息路由变为各架构节点内的局部确定的处理,不需要全局的自上而下的架构控制和监视。
本发明的另一优点在于,由于全多路复用端口和连接的本质,全架构带宽现在是可用的,而该带宽的约50%在交换架构中被有效地阻塞。
关于用于大型计算机系统的互连的其它细节
本公开的本部分探索扩展用于寻址大量的端点的Lightfleet直播互连的问题。特别地,讨论云计算、服务器农场、超计算、存储农场和电信安装中的连接问题。这里使用的几种方法被比较,并与通过Lightfleet互连启用的类似的方法对比。
寻址可以是服务器、高性能计算节点、存储节点、网关或通信点的端点的大型系统的核心问题是可扩展性:互连可容易地扩展为包含更多的节点?典型的物品互连基于具有有限数量的连接端口的交换机,因此,(水平)可扩展性的问题变为互连大量的端口有限模块的问题。某些拓扑(节点的配置)与作为网型、星型和树型的最常用的拓扑共用。也使用混合版本(例如,网的树)。
引言后面的第一部分讨论表示不同的拓扑具有不同的结构和弱点的网络拓扑的问题;通常在可扩展性、节点之间的带宽、服务的网络的数量、网络直径(节点之间的路径距离的测量)和可达性或路径冗余度(两个节点之间的可用路径的数量)之间存在权衡。两个关键的参数是直径(确定节点之间的延迟期)和带宽。评价直径与带宽或直径与可扩展性之间的权衡。因此,本文的第一部分的目的是,表明如何基于相同的架构模块选择架构拓扑。
第二部分关于架构管理,并对比交换机系统中的分组流量的控制与基于对于Lightfleet互连的修改的分组流系统中的可能的控制。该新的分组路由方法跨着所有规模上的互连动作,从几百个服务器的小型企业到非常大的服务器农场与具有几百万的节点的分组路由系统。提出的路由方法避免交换架构流行的规模的问题。类似性是,与需要整个系统的全局管理的铁道或航空交通相比的不受调度且在局部控制的汽车交通。
引言
背景
Lightfleet公司发明、保护和开发了在计算节点之间提供紧密的耦合的新颖的互连架构。基本的发明允许完全互连多达128个乃至更多计算节点(c节点或端点),而不可能有架构内拥塞。即,c节点之间的所有路径严格地不受阻塞,并且各端点可在不需要路径路由的软件控制的情况下同时向所有其它的端点广播。
本公开的称为DBOI的Lightfleet的直播光学互连的性能部分讨论这种互连架构的性能,表明Lightfleet装置在8种基本的互连性能(带宽、程度、直径、延迟期、容量、拥塞、数据偏移和路径自由度)上是最佳的。由于DBOI严格地不受阻塞,因此,它没有架构内拥塞,因此其根据Amdahl可扩展性定律的具有附加的通信开销的行为几乎是理想的。
本公开的DBOI性能特性部分讨论互连架构的附加的特性,展示互连的功能优点,并讨论其即使与先进的通信技术相比也具有的竞争性的优点。位率、带宽以及如何提高DBOI系统内的消息的响应时间变化方面均被覆盖。另外,给出几个编程模型。
本公开的本部分的目的是,表示如何可使用基本的DBOI以互连几百到几百万的端点,同时保持许多基本的理想的性能,这使其成为用于紧簇的有效的方案。该基本的思想是形成DBOI模块的网络,这里,各DBOI模块可同时用作网络架构中的节点(或f节点),同时,用作在逻辑上驻留于各f节点处的计算节点或端点(c节点)的紧簇的广播互连。这与当前构建路线数据中心的方式具有一定的类似性。
虽然广播能力得到保持,但架构直径将增加而超出理想的一个单元,从而意味着,当消息在f节点之间行进时,两个任意的c节点之间的消息延迟期将增加。但是,如下所示,DBOI f节点的得到的架构的许多希望的性能得到保持。DBOI的网络优于交换机互连的网络(称为交换架构)的优点也被讨论。以这种方式构建的DBOI架构可被称为数据或分组流架构,以使其与普通的交换架构区分开。
“架构”或“互连架构”是大致用于表示用于互连大量的计算节点和/或存储节点的广泛的硬件配置的常用的术语。作为技术术语,“架构”已变为与“互连”同义的常用术语。
问题声明
主要问题:可扩展性和管理
数据中心(服务器农场、存储农场、“云”计算安装)以及HPC或高性能计算(科学、研究、政府应用)、企业计算(专用于诸如数据库、自动化、订单处理、调度、会计和信息管理的具体的商业应用的大型系统)和用于电信中的大规模分组切换系统均受到推动,以在连贯地访问和控制可用于给定安装的整组计算资源的单个均匀组件下利用越来越多的计算资源。例如,数据中心需要当前超过100000个服务器标记,更专业的HPC装置也是如此。虽然企业安装还没有达到这样多,但它们的需求也在增长,并且常常受限于安装成本而不是缺少扩展计算资源的愿望。
基于商品交换机(例如,基于Ethernet的硬件)和市售InfiniBand交换机的研究正尝试应对有效且廉价地将非常多的计算资源集成到相干系统中的问题。研究实验室(例如,包含于数据中心和云计算中的商业企业)花费的大部分努力主要着眼于通过使用软件创新扩展交换架构的能力,同时,提出新的联网拓扑和结构。例如,超出约36或48个端口的InfiniBand和Ethernet交换机基于以下讨论的三层Clos网络。不管多少售主要求,该结构实际上在某些容易发现的流量图案下受阻。
将当前的互连架构从几万个服务器扩展到几十万个中心的主要问题是可扩展性(在服务的带宽和节点数量上)、互连管理(用于路由、跨树维护、控制和监视架构的状态的软件和硬件)和困难或不灵活的通信协议等。即使通过将带宽容量增加到“聚集”和“芯”水平的高端的交换机和路由器,最佳的拓扑也仅支持在c节点或“边缘”水平发现的一部分的聚集带宽。得到的在架构中可用的不均匀的带宽限制系统性能并使用户水平上的软件管理复杂化。另外,各级交换机或路由一般需要其自身的控制和监管软件,由于保持越来越大的路由表以使路由冲突最小化,这可随水平增加复杂性。这进一步构成软件管理问题。
“可缩放性”在“水平”或“外出”的意义上以及在“垂直”或“向上”的意义上被使用,并且,该术语即使被频繁使用仍没有固定或确切的定义。水平缩放意味着添加更多的计算节点;垂直缩放只意味着向现有的节点添加更多的能力。有时数据中心的可缩放性仅被定义为任何主机可在其全端口带宽下与任何其它主机通信的能力。在更精确的术语上,可扩展系统是性能与添加的硬件成比例地提高的系统。在定量使用该术语时,可缩放性可指示c节点的数量如何随f节点端口的数量增加而增加。术语“可扩展性”常常表示可缩放性的该后一种使用。
因而,满足当前中心的要求的主要问题是:
如何将几千个c节点缩放到几十万或几百万;以及
如何有效地管理这种大型系统。
第二问题:延迟期、带宽和可达性
影响大型系统的有效和高效集成的其它问题包括延迟期和路径可达性(两个端点可通信的潜在可用路径的数量)和冗余度(故障情况下的可用硬件)以及水平和垂直可缩放性。对于许多应用,延迟期没有节点之间的带宽那样重要,原因是延迟期常常可从路由表或者从两个通信端点之间的树或其它节点结构中的已知距离预测。
虽然在小到中尺寸的安装中已令人满意地解决这些问题,但是,对于下一代的安装,当架构及其管理扩展到几百万个c节点时,常常很少或者没有可用的令人满意的方案满足这些限制。本公开的本部分的目的是,表明可如何通过基于DBOI互连从分组流架构的观点观看该问题实现简单且实惠的方案。
在交换机结构中,出于利用高可达性增加拥塞的可能性的简单原因,可达性没有延迟期或带宽那样重要。当拓扑提供高可达性时,一组潜在的路径选择常通过软件被修整到可管理的数量,从而导致路由比结构可能少的次最佳跨树。
对于高性能计算(HPC),带宽常常是首要问题,延迟期扮演第二角色。从在Top500.org站点列出的互连拓扑,这是很明显的。顶部性能HPC具有3D环形拓扑,与树结构相比,它具有优异的可达性和带宽,但拓扑延迟期差。(常常可通过包含高速电路和各种动态算法路由组件的结构选择改善差的拓扑延迟期以改善总消息延迟期,通常以增加硬件和软件为代价。)
高可达性在提供路径冗余度和用于在f节点故障的情况下保持c节点之间的通信基础的同时会是太好的事情。路由表应反映最佳的路径,使得可进行确保有效的传输的选择。对于高可达性,这种表的尺寸可增加以占用大量的存储器并且增加良好路径的搜索时间,由此增加消息延迟期。常用的方案是将表修整到可管理的尺寸,从而有效地减小可达性。另外,在当前的互连中使用的交换机通常具有专门的硬件以检测和控制拥塞。常常通过遮蔽数据面的控制面补充超出简单的交换功能的这种管理硬件。
在没有路由表的可交换架构中,存在几种利用可达性的方式:当到达各节点时简单地在所有可能的正向路径上广播,或者将消息引向最近的不繁忙的f节点。在网格或3D花托上,最佳路径是节点之间的最短Manhattan距离。对于其它拓扑,类似地存在简单的局部算法以实现有效的分组流路由。
数据中心例子
数据中心互连一般包含作为叶子布置于具有服务器或计算节点的二层或三层树中的交换机和路由模块(以上称为f节点)的网络。常见方法用于要与多端口“托架顶”(TOR)交换机互连的服务器的托架。在常见的配置中,托架包含40个服务器且TOR交换机具有48个端口,其中的8个与层2交换机连接。托架按行布置,这里,“行端”(EOR)交换机串接来自TOR交换机的流量。EOR交换机常具有96或128个端口。多个行馈送常称为“芯”交换机的层3交换机,该层3交换机可最多具有288个端口(一般包含三层的24端口交叉交换机,每行12个交换机)。注意,树的各层存在带宽瓶颈,使得托架到托架通信受层2和层3交换机的带宽限制。另外,该拓扑在树中的各更高的层处逐步要求更专业和昂贵的交换机模块。
与这一点类似的结构作为例子由Al-Fares等[1]给出,在该文献中,描述了包含12个托架的24行的互连,每个托架用于具有11520个服务器的数据中心。图15将在参照文献1中给出的例子再现为“常见数据中心互连拓扑。”这代表实际数据中心使用的简化,原因是,如前面的段落描述的那样,各边缘交换机当前支持约40个服务器。
图15示出布置为3级树的三个交换机层。主机到交换机链接(绿色)是千兆位Ethernet,而交换机(红色)之间的链接是10千兆位Ethernet。
虽然树结构提供良好的延迟期(与级数的算法成比例),但级之间的带宽实际上增加,从而导致带宽可缩放性的欠缺(即,如果如以上的例子那样存在40个服务器,那么仅存在8个等同的与树中的下一级的链接)。另外,管理复杂性随着级增加,从而需要更大的路由表。尽管几个交换机的外层一般使用数据集中器并使用更高带宽端口,但顶级的带宽是到端点或树叶的总带宽的小部分。虽然这对于许多互连拓扑、切换等成立,但树结构可能随着节点到节点距离增加在减少带宽上是最差的。使用胖树(以下)减轻带宽问题,但不根治它。以上的例子示出带宽与延迟期之间的权衡,这主要是网络拓扑的结果,不是具体结构(硬件)的结果。
“结构”指的通信网络的设计,并且包含物理部件、功能组织、数据格式和操作过程。“拓扑”指的是网络的各种节点之间的互连的图案。物理拓扑指的是电缆与网络节点的构成。拓扑是包含节点、链接和可达性的图形理论概念,而结构指的是工程。常常互换使用这两个术语。
高性能计算例子
常在高性能计算机(HPC)或超级计算机中使用的方法是使用f节点的规则网格,这里,各f节点与其最近的邻居连接。常常f节点被加入其主机中或者是主机信道适配器(HCA)的一部分。Cray的Gemini[2]和Fujitsu的Tofu[3]利用三维花托,该三维花托是各f节点沿东西方向、南北方向和上下方向与其最近的邻居连接的f节点的网格。即,各f节点具有6个双向或复合连接,每个可承载多个数据信道以增强带宽。为了形成花托,3D网格的顶表面(向上方向)上的f节点缠绕以与底部(向下的方向)上的相应的f节点连接;类似地,与结构的其它面连接。
如在基于InfiniBand的花托那样,流量是常通过交换机路由的f节点的规则网格或花托。一般地,数据以有效的方式从f节点流向f节点,从而在进行需要的数量的节点中继之后到达规定的目的地。架构直径和消息延迟期大致与c节点的数量的立方根(在3D架构中)成比例。
在高性能计算中,结构常包含用于f节点之间的通信连接和从f节点到c节点的连接的专用硬件。尽管具有超带宽性能,但这些方案对于用于数据中心和云计算来说太昂贵,原因是它们常被设计为用于具体的机器而不是用于广阔的商业市场。
当前的方案
当前正在开发由于增加数据中心尺寸而遇到的这些中心问题的方案,希望在给定低延迟期和高带宽的约束的情况下找到关于可缩放性和架构管理的具体问题的令人满意的答案。已在“可缩放性Ethernet”结构[4]的领域以及在将InfiniBand扩展到更大的系统上进行了工作。尽管InfiniBand具有其自身的固有问题,诸如Cisco和Hewlett-Packard的主要玩家中的一些希望扩展他们的私有InfiniBand产品以应对大型数据中心的需求。
除了HPC方案以外,看起来业界在很大程度上确定了,任何方案应包括基于InfiniBand或Ethernet的现有硬件,因此,大部分努力集中于软件工作,以克服管理交换机的大架构的问题。从参考文献1和以下提到的其它文章可以清楚地看出,当前很多努力集中于使Ethernet进入大型数据中心中。作为例子,The Internet ProtocolJournal的最近的议题讨论表面上瞄准云的Ethernet路由的一些具体的进展,这里,它“允许以平坦的地址空间产生相当大的层2云”[5]。
由于对Ethernet及其协议的广泛的熟悉性以及Ethernet装置和模块的“商品”本质,期望放在商品硬件上的这种希望。本公开的该部分在于,这些熟悉的方案已超出合理的极限,并且希望以下的材料能够找到在满足延迟期、可达性和带宽的约束的情况下解决中心问题的简单且低廉的方案。
由于高度有效的VLSI设计,因此当前的Ethernet和InfiniBand交换机基于交换机元件的简单的交叉(横梁、交点)或矩阵。连接n个点的这种交换机具有连接n个输入线与n个输出线的n^2个交换机元件,并由此具有缩放到大的n的问题。任何输入线可与任何单个输出线连接或者不与输出线中的任一个连接。由于没有路径干涉任何其它路径,因此这种交换机是严格非阻塞的。交换机模块一般通过输入信道缓冲器、输出信道缓冲器、路由和端口仲裁逻辑包围横梁。总体由用于拥塞识别、流动控制和其它管理功能的单独的管理模块控制。
延迟期方案
由于大多数的交换机互连模块在开始被设计为服务有限数量的c节点,因此通过来自这些装置的f节点构成较大的网络一般包括延迟期、带宽、可缩放性、硬件成本和软件管理之间的妥协。一般通过以可按各种不同的拓扑配置的交换机的网络的形式使一个模块与另一模块接合,从较小的互连模块构建较大的互连。最常用的配置是服务存储节点、计算节点和通向其它这种网络的网关的异构混合的交换机的未构建网的配置。未构建网既不是f节点的有效配置,它也不针对大量的c节点形成容易管理的网络。
这种网络中的各交换机可与一个或更多个主机计算机连接并与一个或更多个存储装置连接。另外,存在交换机到交换机连接和交换机到集中器连接。交换机到交换机连接一般具有比交换机到主机或交换机到存储器连接高的带宽。通过在一个或更多个交换架构与诸如通向其它数据网络的网关的其它装置之间设置桥路,常加入高级交换机中的集中器从一个或更多个交换机取得输入。考虑现有的流量,通过这些系统的数据的传送必须关于目的地在内部被管理。在树中的较高的水平除,例如,消息必须被封装以用于较高带宽的交换机到交换机通讯,并且被解封以供分布到各单个端点(主机计算机或存储装置)。
如上所述,研究人员尝试用商品交换机、特别是InfiniBand和Ethernet品种的商品交换机解决互连问题。他们的声明的目标通常是“可缩放性、容易管理、容错和有效”以及成本有效的数据中心。这些问题的一种方案看起来在于拓扑的选择。但是,某些拓扑虽然在服务大量的c节点时是有效的,但导致增加较大路由信息基站(RIB)的形式的架构管理的困难、增加软件复杂性或导致影响系统性能的附加的管理流量。
超计算机安装一般有利于附着于这些类中的一个上的计划互连。另一方面,数据中心常包含通过专业交换机结合且通过网关扩展的互连的异质混合。出于允许在不将结构重新设计或将节点重新配置成较大的网络的情况下扩展c节点的数量的目的,互连和网关均以未构建的网被连接。该未计划的有机生长导致广播期间的数据偏移(到达不确定)、不可预测和大的延迟期、以及损失消息的拥塞网络,从而需要重新传送,导致系统性能的劣化。
带宽中心或延迟期中心网络-哪一个更重要?这是网络设计的核心问题。例如,在使用较高带宽成分或通过复制架构中的各f节点来复制通信信道时,节点带宽是结构问题,并且,对于给定节点,常常是增加硬件资源的事项。对于延迟期的网络直径贡献总是依赖于物理拓扑。例如,延迟期对于3维网作为m^(1/3)生长,但对于树结构仅作为logm生长,这里,m是f节点的数量。
当前尝试解决大型数据中心提出的问题的困难源自交换机的使用,不管它们是Ethernet、InfiniBand还是私有的。虽然新的架构拓扑解决这些问题中的一些,但使用交换机仍带来与架构内的消息的自上而下路由相关的严重问题。如必须使用的特殊努力所表明的那样,过去的架构管理方案常常不可缩放到大量的端点。
当前的方案不能解决以下的三个方面:
异质硬件,具有越来越多的复杂和昂贵的交换机的体系结构、
除了端口争用以外,各水平的交换机处的拥塞、和
需要跨树算法和分布路由表以获得有用的性能。
较新的拓扑虽然解决可缩放性问题和异质问题,但在扩展到非常多的c节点时带来架构管理的问题。即使对于相对小的安装,使用跨树和路由表也变得十分麻烦;对于较大的安装,较大的可达性和较低的延迟期的约束下的架构管理问题仍是困难的。
以下关于网络拓扑的部分应阐明这些问题中的一些,并且,给定无交换机DBOI f节点的分组流本质,指向针对这些困难的令人满意的方案,同时满足重要的约束。
网络拓扑
引言
虽然基于常用的分类[6]存在大量的可能的网络拓扑,但本公开的本部分将集中于在服务器农场、云计算和高性能计算中最常见的几种拓扑。具体而言,考虑的拓扑将是树结构、规则网、花托结构的变体以及1953Clos网络[7]的修改。
这些各种互连的下层的结构基于交换机模块的网络,这里,交换机模块一般是诸如Ethernet[8]或InfiniBand[9]交换机的市售的多端口装置。除了在使用异质模块的文献中发现的例子的几个解释以外,以下的大多数的例子将考虑所有的f节点可交换从而包含具有相同的功能的等价硬件模块的均匀结构。其原因是安装简单和成本有效以及便于架构管理和维护。
本公开的本部分的主要目的是,表明如何使互连结构基于以上引入的DBOI模块并且给出DBOI优于Ethernet、InfiniBand和私有方案的优点。为了避免异质结构的高成本和额外复杂化,讨论的架构将具有相同的f节点。即,关注的结构将均基于均匀设计和功能的可交换的模块结构。
选择的拓扑
用于选择在以下的部分中分析哪个架构的准则依赖于两个因素:
架构同质;和
拓扑简化。
架构同质意味着结构是均匀的,这在于在整个架构中使用相同的f节点以及f节点之间的连接。这与以上根据图15描述的结构形成鲜明对比。拓扑的简化意味着要避免诸如通过网关接合的架构的混合拓扑。通过遵守这两种准则,得到的架构对于分析人员将更简单并且构建和维护起来更容易和更低廉。
树拓扑
简单的树拓扑是关于直径和可缩放性的最佳选项中的一个。对于n个叶子或c节点,水平的数量与logn成比例。对于图9所示的两个链接向下用于各节点的树,水平的数量为log2n。
图9示出一般的二进制树拓扑。f节点为蓝色且叶子或c节点是绿色。各双向链接具有相同的带宽且各f节点具有两个通向下一较低水平的向下链接和一个向上与下一较高水平连接的端口。根节点可具有与网关的连接,叶子中的任一个也会。在子树可替代叶子的意义上结构是递归的,从而产生新的树。整个树是各水平的子树相同的树。
c节点的数量
对于基于具有p个端口的模块的树,这里,端口中的k个被保留为用于树内的双向通讯且各叶子节点使用一个端口,作为树中的水平的函数的c节点的数量由下式给出:
式(1)
这里,l是树中的水平的数量。例如,在图9中,左枝具有3个水平、7个f节点和8个c节点,p=3且k=1。树的元数是p/k-1或2(即,二进制)。
对于用于各f节点的24个向下链接和8个向上链接的32端口模块,7水平树的可能的节点的数量从而是17496。各f节点会与三个(元数3)下水平f节点和一个高水平f节点连接。该数量随水平呈指数生长,而直径与水平成比例地增加,具体而言,为2l-1。有关的量即两个节点之间的距离是必须横穿的链接的数量;换句话说,该距离是包含两个通信节点的子树的直径。
可缩放性(1)
通过添加子树以替代叶子中的一个,c节点的数量增加p-k-1,而f节点的数量增加1。该关系在任何水平上成立。由于树的底部的各f节点与p-k个c节点相关,因此单节点可缩放性会是这两个数的比,或者,
式(2)
它总是略小于1。1附近的可缩放性是有利于树拓扑的强点。
延迟期和直径
由于网络直径是2l-1(延迟期与直径加恒定开销成比例),因此树结构的延迟期也相当好,这里,直径是
式(3)
该小的直径是有利于树拓扑的要点。
f节点的数量
分别具有p个端口的模块的数量m通过加算树中各水平的模块被发现的,并且为:
式(4)
密度
这里,密度是c节点的数量与f节点的数量的比,并且是添加附加c节点的成本的度量。完整的表达如下:
式(5)
这里,a是以上定义的元数。该式对于许多水平的树接近p-2k,并且,当该数量是2或更大时,对于树结构是另一种增强。
分切带宽
分切带宽是必须断开以将树切成两个相同的部分的连接的数量。参照图,容易看到,该值只是进入根节点的连接的一半:
式(6)
分切带宽的该相当差的值是针对树结构的主要争论。
总端口和连接
双向端口的数量由下式给出:
式(7)
在架构中,各端口通过用于交换架构的多路复用连接和用于DBOI基模块的双向连接与另一端口连接。树的叶子上的端口与c节点连接。
可达性(在两个节点之间的路径中)
考虑任意两个f节点之间的路径的多重性,可通过计数消息在横穿树时可采取的可能的连接来发现任意两个c节点之间的可能的路径的数量:
式(8)
l*是连接两个c节点的子树中的水平的数量。注意,对于同一水平上的两个节点,可达性相当小。由于两个接近的节点之间的流量不因重度架构流量严重受损,因此这不原样限制,当通信节点之间的距离增加时,这变为严重的问题。常常有用的有关测量是具体可达性或路径密度(潜在路径的数量除以c节点的数量)。
可缩放性(2)
通过将树加倍并且将两半都连接到新的根节点,树的尺寸可加倍。被定义为网络资源的数量与用于这种加倍的计算资源的数量的比的加倍可缩放性或S由下式给出:
式(9)
它在f节点的水平或数量增加时接近1。并且,该接近的理想可缩放性是有利于树拓扑的良好的论点。
总结
表1是从p端口模块构建的树的性能的总结。注意,架构可缩放性接近1,这是在用于本公开的该部分中的定义中可能的最大值。
对于树拓扑的主要缺点在于其带宽特性。当更多的节点尝试跨着子树通信时,特别是不同的子树上的节点之间的节点到节点流量在链接上放置更严格的需求。较高水平的链接可迅速变得流量拥塞,从而有效地关断子树,直到流量被清除。
评价:在水平之间具有多个链接的树拓扑具有接近最佳的可缩放性,使得节点的数量随水平呈指数生长。直径和延迟期小;节点可达性在不同的子树上的节点之间低,并且随子树尺寸减小。另外,节点密度(每个f节点的c节点的数量)合理地好,从而比每个f节点的端口的数量略少。由于当多个远距离节点需要同时通信时出现的带宽瓶颈,节点之间的带宽受到限制。分切带宽类似地差,从而基本上最小化。当良好的可缩放性、低的延迟期和大量的c节点重要时,树拓扑是最有用的。
胖树拓扑
引言
最初由Leiserson[10]讨论的胖树具有水平之间的链接的带宽增加以更好地处理c节点之间的流量的优点。在理想情况下,从叶子或c节点水平开始,总带宽会在水平之间是恒定的。该条件对于诸如图15所示的胖树的使用当前的商业交换机(不管是InfiniBand还是Ethernet)的树结构是不可行的。由于通过连接两个节点的任何子树的附加的潜在的路径,胖树的节点可达性与简单的树相比明显提高。对于胖树,与简单的树相同,低消息延迟期的优点成立。
由于通过用几个f节点替代选择的f节点处的c节点实现可缩放性,因此简单的树的可缩放性优点在胖树中丢失。在胖树中,所有的端口被链接用于c节点或其它的f节点,从而使得架构饱和。可总是通过f节点替代c节点,但这破坏随水平增加的链接的数量的结构。得到的树结构事实上会具有树拓扑,但不是胖树的结构。出于这种原因,严格意义上的可缩放性必须为零。
胖树常常是用于InfiniBand群的优选拓扑,但是,当水平增加时,交换机胖树的缺点是高成本以及交换机和集中器的复杂性。出于这种原因,基于更简单的交换机构建架构的其它组件是研究的主题(见下)。在本部分的引言中,阐明了在理想情况下应从相同的f节点构建架构的目标。
双重胖树
具有良好的可达性、带宽和小的直径的胖树的具体实例是“双重”胖树,这里,f节点之间的连接的数量在各水平加倍(或者以一些其它的常数乘法器增加)。各c节点具有一个与f节点的底部行的连接;各底部行f节点具有两个与f节点的下一行中的每一个的连接,等等。一般地,双重意味着由各f节点处理的端口的数量为2的幂。由于不是所有的多端口互连基于2的幂,因此考虑一般的情况是有益的。对于每个f节点的端口(例如,7个端口)的主数p,在树中仅存在一个节点-换句话说,树只包含附连p个c节点的互连。图10示出f节点端口的数量p具有几个主要因素的更一般的情况。注意,f节点的元数从叶子到根减少。
图10是具有12端口f节点的整个胖树的示图。f节点为蓝色且叶子或c节点是橙色,这里,仅示出c节点的一个分支。边缘或叶子的带宽对于c节点被归一化为单位。来自各f节点的带宽以因子2增加(在这种情况下)。12的因子是3、2、2、1,因此根水平处的子树的数量是第一因子或3。从较低的水平以及到较高的水平的连接的数量总是总计为可用端口的数量。该例子具有3个水平。
与简单的树同样,P不是主数也不必是2的幂的一般情况变得导致具有良好的延迟期的架构,并且与简单的树相比,提高带宽和路径可达性。各种性能的值的闭合形式的表达不仅仅是有益的,原因是它基于端口的数量p的主要因素的积和差。附录提供双重胖树的构建的算法,表2给出p的几个不同的值的一些具体的例子。
在表2中,标有12端口的列与以上的图10对应。32端口列与32向DBOI互连对应,而48端口模块常在Ethernet和InfiniBand装置中被发现。72端口入口代表DBOI族的另一成员。
因子化的胖树(如上所述)可通过将首先的两个因子加到根水平中被平坦化。因此,通过因式分解4*2*2*2,具有23个端口的f节点可被用于用与上表所示的5水平结构相同的c节点数量构建4水平树。密度仅稍低,但直径减小1个单位,这对于少量的水平可能是十分明显的。注意,因子不是2的幂的树中的瓦解水平总是导致更少的c节点。
总结
由于使用所有的端口(树饱和),因此,胖树架构是不可缩放的,并且,即使在保持拓扑的同时,用f节点替代c节点也会“破坏”结构。即,拓扑仍会是树的拓扑,但胖树的结构在这种添加之后不再成立。
虽然胖树与简单的树相比表现明显的带宽提高,但带宽仍是问题,特别是对于到来的请求需要包含所有节点的并行搜索的应用(例如,数据库通过使用一般存在于所有c节点处的反转指数搜索,或者网页搜索检索需要来自大量的服务器的信息)。这些访问约束的结果是许多c节点将需要频繁的通信,可能跨着整个树,并由此产生拥塞和瓶颈。如上所述,节点到节点流量可迅速地压倒(overwhelm)架构。
评价:胖树拓扑支持大量的c节点,同时具有小的直径(由此具有低的延迟期)。即使对于远距离的节点,在简单的树上有限提高的节点可达性保持小。节点密度(每个f节点的c节点的数量)保持与前面大致相同。虽然带宽与简单的树相比表现提高,但它受当多个远距离节点需要同时通信时出现的带宽瓶颈限制。分切带宽仍差。虽然胖树与简单的树相比得到提高,但它仍缺少带宽和可达性。任何树结构的最佳的论点保持其低的延迟期。
Clos拓扑
Clos拓扑(参见参考文献7)最初包含通过交换机的三个层与输出层耦合的节点的输入层。在输入层和输出层中均存在n个节点。第一交换机层具有r个交换机,每个具有n个输入和m个输出;中间层具有m个,每个具有r*r个交换机,而第三层具有r个,每个具有m*n个交换机。对称的Clos网络可由设定r=m=n限定。将c节点的数量加倍的变体在所有节点之间具有双向链接。图11表示每个f节点具有双向链接和8个端口的对称Clos网络。(具有p个端口的单个f节点确切地支持p个c节点)。以下表示的Clos网络也通过使用仅具有p个双向端口的f节点支持2(p/2)^2个c节点。
图11是具有双向链接的对称Clos拓扑的示图。该例子由8端口模块构建。
表3概括对称Clos拓扑的性能,表示值的符号表达。
与树拓扑(具有不使用的端口或根水平处的端口)不同,不存在用于扩展c节点的数量的可用节点:即,Clos网络不是可缩放的。事实上,由于所有可用的端口被使用,因此它可被称为“饱和的”。仅有的增加c节点的数量的方式是使用具有更多端口的f节点。当然,可通过通向另一网络的网关替代一个或更多个c节点,但这会破坏拓扑并导致会在整个系统上波动的问题,从而影响消息通过、路由表和算法等。
IBM在其RISC SP系统中使用与图11相同但去除中间层的架构[11]。但是,容易看到,得到的二层网络是阻塞性的。虽然它类似于Clos网络,但二层系统不被视为Clos族的二层系统,特别是由于,已知,在某些轻度条件下,Clos网络以可重新布置的方式不具有阻塞性。(如参考文献7讨论的那样,以上的m=n的网络以可重新布置的方式不具有阻塞性。)但是,路径重新布置所需要的时间在分组网络中是禁止的且很少使用。因此,三层Clos必须被视为阻塞性的网络,基于Clos拓扑切换的任何层也是。
如果端口被配置为单向,那么,在所有的端口变得饱和之前,网络以f节点的二倍数量支持c节点的两倍数量。在这种情况下,架构的底部行包括对于p2个端点的输入,而顶部行包含从架构到相同的端点的输出。
该网络在严格的意义上不具有可缩放性,原因是所有的端口被使用且用f节点替代c节点会“破坏”拓扑。
评价:在所有的端口之间具有双向链接的对称Clos拓扑具有小的直径(由此具有低的延迟期)、良好的密度(与树拓扑相当)和良好的分切带宽。添加附加的中间层大大增加可达性或c节点之间的路径冗余度以及分切带宽。可缩放性是非存在的,原因是所有的端口完全被占据。Clos拓扑对于较小的安装(少于约5000个c节点)来说是好的选择,在该较小的安装中,低的延迟期、高的可达性和高的分切带宽是重要的。
增强Clos网络
如果保持与以上相同的Clos拓扑但重新构建f节点以包含在参考文献1中限定的“pod”,那么获得如p^4那样缩放的网络,由此将该增强架构扩展到更多的c节点。该新结构与规则Clos网络相比具有更高的带宽和路径可达性,同时使延迟期增加2l个单位,这里,水平的数量l如上面定义的那样。尽管不存在Clos拓扑的严格的架构可缩放性,仍可能通过使用相同的f节点的该方法构建非常大的网络(与本公开的整个本部分同样,具有p个端口)。图19示出该构成。
图12是增强对称Clos拓扑的示图。该拓扑与以上的图11相同,但它完全由4端口f节点构成。pod或合成f节点在扩展示图中示为处于Clos架构的右面。
表4概括该基于pod的结构的性能。
图12右面所示的合成节点中的f节点中的每一个包含p端口模块,在本例子中,p=4。合成f节点模块或pod构成为具有两个完全连接的行的子架构,每个行具有p/2个f节点。该构成使得拓扑不变,使得f节点被f节点的pod替代。注意,c节点的数量现在增加为p4,有效地远远快于简单的对称Clos架构。但是,密度(每个f节点的c节点的数量)为f节点端口的相同数量的一半,原因是许多端口在pod内被消耗并且不专用于端点。当然,用于支持更多c节点的代价增加架构硬件。
评价:在所有端口之间具有双向链接的增强Clos拓扑具有小的直径(由此具有低的延迟期)。其分切带宽与对称Clos架构相比大大提高,但是密度降低。如上所述,附加的中间层大大增加可达性或者c节点之间的路径冗余度,代价是更低的密度。增强Clos拓扑对于具有约50万到1000万c节点的大的安装是好的选择。仅仅通过架构的部分占据,更少的c节点是可能的。
修改的Clos拓扑
Vahdat和合作者[12]和参考文献1给出Clos网络的变体,该变体虽然在以上限定的严格意义上不具有可缩放性,但允许以可重新布置的方式不阻塞任意两个节点之间的连接。作者从参考文献1注明,“[修改Clos]拓扑的优点在于,所有的交换机元件是相同的,从而使得平衡通信结构中的所有交换机的廉价商品部分。并且,[该架构]以可重新布置的方式不阻塞,从而意味着,对于任意的通信图案,存在将使得可用于拓扑中的最终主机的所有带宽饱和的一些组路径”。
图13是表示提出的修改的Clos网络的示图。
该非阻塞断言是在没有证据的情况下提出的,从而依赖于其与Clos网络的部分类似性,如果如在参考文献7中解释的那样第一水平上的出口端口的数量大于或等于主机或边缘水平上的出口端口的数量,那么可证明它以可重新布置的方式不阻塞。注意,实际上,“以可重新布置的方式”修改器一般需要复杂的软件、缓冲器并且支持包括泛滥和消息重新排序的表或路由方法。
为了解释该拓扑如果随每个模块的端口的数量缩放,考虑每个模块具有6个端口的图14。注意,在顶部或芯层中存在9个模块,并且在6个pod中的每一个中具有6个模块(在图13中,在4组中的每一个中存在4个模块,并在芯层中存在4个)。
图14是表示修改的Clos网络的p^3性能的示图。在本例子中,f节点具有6个双向端口(c节点和它们的连接均没有被示出。)
总结
从这两个图(13和14),推断通过使用具有p个端口的模块允许的端点、模块和连接的数量是简单的。在通过计数阶段之后,分切带宽和可达性也变得明显。作为替代方案,可从端口的数量、pod结构和端口饱和度的约束和边缘或c节点水平之上的水平的数量推断所述值。与任何树状结构同样,直径保持等于小于水平的数量的两倍的一个。表5给出修改的Clos拓扑的总结。
该网络不具有可缩放性,原因是所有的端口被使用并且用f节点替代c节点会“破坏”拓扑。但是,如上所述,存在在不修改拓扑的情况下将该架构增强到大量的c节点的方式。
评价:修改的Clos拓扑在许多方面与对称Clos拓扑类似。最有意思的背离是其p^3c节点可缩放性。另外,该拓扑具有小的直径(由此具有低的延迟期)、适度的密度(计算机硬件与网络硬件的比)和良好的分切带宽。该拓扑在密度和随f节点端口的数量的水平缩放上位于前部分的两个Clos网络之间。
增强的修改Clos拓扑
正如对称Clos架构可增强为随端口数量缩放为(p^4),因此修改Clos架构可随pod概念增强以随端口数量缩放为(p^6)。当然,pod可被递归嵌套,以即使通过仅包含几个端口的模块也实现非常大的架构。通过该拓扑,服务几亿个c节点、具有非常高的分切带宽和可达性、具有适度的延迟期和良好的计算资源与架构硬件的比的架构是可能的。
当应对包含互连模块的子网络的pod时,保持术语“f节点”以表示具体网络中的拓扑节点是十分方便的。为了区分架构节点或f节点与包含该节点的互连或交换机模块,将这种模块称为“p模块”,从而表示使用具有p个端口的相同尺寸的模块以构建pod。该术语仅在增强Clos网络和f节点是p模块的pod的任何架构上有意义。注意,在参考文献1中给出的修改Clos架构的定义利用p端口模块,因此在这种情况下将保持指定“f节点”。
修改Clos网络中的各f节点被pod替代(pod然后变为pod的pod),并且,每个pod分别包含p模块,这明显是递归结构,原因是,构建pod的pod的等从而导致随p迅速缩放的架构同时提高密度、带宽和可达性是简单的。表6显示pod增强、修改Clos网络的性能。
评价:增强修改Clos拓扑具有修改Clos拓扑的所有特征,但具有较低的密度、远远更多的c节点、多得多的分切带宽和可达性,这均以直径的2*增加(小1)为代价。对于非常大的网络,该拓扑是最有希望的一个,但由于低的c节点密度而具有高的成本。
网/网格
一般认为,网是最昂贵的拓扑,原因是它一般需要高成本的光纤信道交换机。看起来即使对于规则网格拓扑的具体情况也存在这种观点。网可缩放性也可被认为是最佳的,并且网具有良好的带宽可缩放性(以下)。从后面的部分可以看出,对于光纤信道交换机的需要在网结构中不是固有的。
规则网格拓扑的性能使得对于高可达性、分切带宽和可扩展性(水平可缩放性)重要的许多超计算机设计来说是清楚的选择。
图15示出在规则二维网格上分开的网互连。在由双向箭头表示的节点中的每一个之间存在双向连接。未连接的箭头端可与其它类似的f节点/c节点组合连接,或者缠绕以与其最远的网格伙伴连接,从而形成花托。
图15是规则网格上的二维网的示图。9个f节点被示出(蓝色圆),具有相应的9个c节点复杂体(同心橙色圆)。各f节点通过高带宽、双向连接(实心双向箭头)沿南北方向和东西方向与其最近的邻居连接。c节点复杂体包含至少一个、可能十二个或更多的单个c节点。
可达性
二维中的路径的可达性或数量由作为在两个格子点之间的格子上行走的可能的方式的数量的二项式系数给出。这些路径中的每一个代表两个点之间的最短Manhattan距离;即,这些路径均具有相同的长度,从而提供多个路径选择,每个选择具有相同的延迟期。该数量的导出给出以下的2D网格的表达式:
式(10)
这里,Δx和Δy是x方向和y方向的网格距离。通过多项式系数,这通过明显的方式一般化到3维或更高维。在3维中,可能的路径的数量为
式(11)
可缩放性
通过链接自由连接中的一个处的附加的f节点,p-k个c节点均被添加到架构上。该添加增加自由连接的数量,除非沿整个边缘(在2D情况下)或者在整个面上(在3D情况下)添加f节点。密度保持恒定,并且,可缩放性因此在单位处是最佳的。
总结
表7概括规则网拓扑的性能。在表7中,带宽的单位是f节点之间的链接的数量。如果各链接具有多个信道,那么真实带宽数量必须乘以信道乘数。即,如果各链接包含q个平行连接,那么连接和分切带宽的数量必须以q的因子增加。因此,2dm→2dqm,并且,D1D2…Dd-1→qxD1 D2…Dd-1。
与在本公开的本部分中讨论的其它架构类似,可通过使用pod概念(合成f节点)增强规则网。如果各p模块具有p个端口,那么,如架构模块中的每一个那样,水平一pod或f节点将具有p2/2个端口。即,在以上的表中,用p2/2替代p以获得增强的架构。用于架构模块之间以及架构模块与c节点之间的通信的可用端口的数量从p增加到p2/2,从而允许通信端口与c节点之间的不同的分隔。即,网中的链接的带宽可增加,或者,支持的c节点的数量增加,或者两个都增加。pod概念简单地在规则网架构中提供更多的灵活性。
花托
通过规则网拓扑的边缘或面的“缠绕”实现花托拓扑。边缘上(或面)上的f节点与相对的边缘(或面)上的那些f节点连接。在图15中,右面的f节点与左面的f节点结合,并且,顶部与底部接合。该拓扑在HPC世界中的私有互连中是常见的。以上提到花托和Gemini3D互连。
给定缠绕结构,花托的分切带宽为相应的规则网格网的两倍,而直径被切半,从而使得花托是规则网的有效实现。花托拓扑保持1的可缩放性,并且密度不受影响。
超立方是花托的子集。特别地,d维超立方互连是确切具有2d个节点的d维的花托。这种超立方常用作f节点中的每一个内的c节点的局部互连结构。作为例子,在花托互连[参考文献3]中,f节点网格具有3维花托拓扑,而各f节点在4维超立方布置中包含12个c节点(c节点中的4个被去除,以使数量减少到12)。该布置大致被称为“6维”拓扑,这里,事实上它是具有位于各f节点处的c节点的减少的4D超立方的f节点的3维架构。
图16表示具有27个f节点的三维中的规则网或网格。存在于6个面中的每一个上的连接被用于在三个维度中的每一个中将网扩展到更大的尺寸,并且缠绕到相反的面以提供花托拓扑。
图16是规则网格上的三维网的示图。蓝色球代表f节点,橙色球代表与c节点的连接,而绿色管代表f节点之间的双向连接。各f节点具有6个双向连接,每个与其最接近的网格邻居中的每一个连接。6个面上的悬空连接被用于扩展3D网格或者用于“缠绕”以形成3D花托。
在DBOI互连的情况下,c节点中的每一个可在各f节点处通过不用于与相邻的f节点连接的那些端口互连。这对于一组c节点来说是比上述的超立方更有效的互连,由此是具有单位直径的单发送多播互连,由此具有最小的延迟期。
带宽可缩放性
尽管多维网格的相当大的直径,但在高端超计算机中的大多数中发现花托配置。其原因之一在于,各f节点可包含多个p端口通信模块或交换机,从而有效地根据需要增加带宽。例如,在3维花托中,各f节点具有6个与其最近的网格邻居的连接,并且,如上所述,具有p-2d个与与网节点相关的c节点的连接。72端口互连模块可用作该拓扑中的f节点,在6个网格链接中的每一个具有6个信道,并且使得留下的36个端口与局部c节点通信。该网节点可然后支持1~36个c节点,使得可用的带宽转移到单个c节点或者在多个c节点之间均匀分布。
可通过向各f节点分配这72个端口互连中的两个实现带宽的加倍,使得144个通信端口在架构通信和计算资源中根据需要分布。该灵活性和带宽可缩放性是在超计算中使用花托拓扑的原因之一。借助于没有交换机、DBOI互连,花托拓扑应在HPC共同体外面变得可用。
可达性
由于缠绕的可能性,因此花托上的可能的路径的数量远远多于以上对于规则网格发现的。在缠绕的情况下,路径未必具有与直接的路径相同的Manhattan距离或者延迟期;根据两个通信f节点的位置,它们可能更短或更长。在二维的情况下,要考虑四种可能性:
没有缠绕的直接距离;
沿x方向直接,沿y方向缠绕;
沿y方向直接,沿x方向缠绕;和
沿两个方向缠绕。
这些路径中的每一个可具有不同的Manhattan距离,并由此具有不同的延迟期。在二维中,可能的路径的数量的表达式为
式(12)
这里,*指的是缠绕,Dx和Dy是x方向和y方向的网格的长度。可能的路径的总数是括号中的四个表达式的总和。三个维度中的相应的表达式具有8种可能的路径表达式;不对显示结果进行讨论,但是,以与上述的方式相同的方式导出数量。简言之,可能的路径距离的数量大致变为上升到维数的2。因此,如果可能的路径的数量是重要的,那么高维花托可能是选择的拓扑。
评价:花托拓扑具有加倍的分切带宽,并且明显大于相应的网格拓扑的可达性的两倍。花托主要被用于HPC中,在这里,架构的缩放性能允许在使用简单、现有f节点连接时生长网格。带宽可缩放性可证明在将来的数据中心有用。
架构拓扑的总结
基于用具有有限数量的通信端口的市售互连解决大型数据中心的需要的目的,在本部分中给出的拓扑的分析被端口驱动。主要约束是在整个架构中使用相同的模块的设计的同质性的约束。
可以考虑其它的拓扑。例如,在Connection Machine中在19世纪80年代使用的“超树”互连是一种这种可能性。但是,超树与胖树有关,并且不常使用,因此,此时不必进行单独的分析。
各种拓扑的性能的总结
表8概括以上分析的三种基本拓扑(树、Clos、以及网格或花托)的相关性能。由于复杂形式表达,因此不在该表中包括胖树(在以下的表中的数值例中包括胖树)。各种条目(例如,c节点的数量)的形式清楚地表明,实际存在显示的三种拓扑族(基于树的拓扑、基于Clos的拓扑和基于网格的拓扑)。拓扑中的每一个基于作为架构结构的单位的p模块,并且,各种网络中的节点是架构节点或f节点。
表8虽然出于设计目的在比较这些拓扑的基本性能时是有用的,但当归于包含的大小时可能不是有益的。以下的部分将可与32端口互连一起可用的实际数量中的一些显示为基本构建块。
本表8的主要用途是设计互连架构以能够在密度、直径(延迟期)和带宽之间进行优先选择。单个表达式指示可能的基本的权衡。例如,六度Clos结构(“增强、修改Clos”)具有远比第二度Clos结构高的带宽,但具有更大的直径。
数值表
表9显示通过32端口p模块构建的各种架构的数值。树例子和网格例子不饱和,从而意味着它们可扩展到大得多的系统(或者减小到更小的系统)。如在胖树中那样,Clos拓扑的四种风格饱和,这在于,所有可用的p模块端口被p模块之间或者从边缘p模块到c节点的光纤连接占据。
表10是基于72端口p模块的类似的表。包括增强Clos和增强M-Clos条目,尽管数量是天文数字,没有很少的实际意义。通过72个端口,更多的带宽可在花托例子中的f节点之间分配,从而如表所示的那样增加分切带宽。很显然,增强的修改Clos拓扑所需要的隐含的连接的数量变得不合理,并且,这些表中的相应的列仅出于解释的目的。
比较7种情况中的每一个中的路径(可达性)的数量,很显然,胖树和花托(也可能是树和增强的修改Clos)架构将需要一些仔细的路由管理以限制搜索必需路由表的交换机结构中的一组可能的路径。
评论:
不必构建出Clos架构以饱和(部分架构可能可用)。
网格或花托拓扑最容易扩展到更大的架构。
互连架构端口和端点与架构所需要的连接(电缆、光纤等)的数量是以上的表中的端口的数量的一半加上c节点的数量。
关于选择拓扑的注释
两个树拓扑具有最低的分切带宽和最高的密度以及中间的延迟期(直径)。这是拓扑选择的基本权衡:带宽是否重要?可达性(路径)看起来良好,但每个节点的路径相当差,从而指示树具有拥塞问题。如果架构节点之间的带宽是关键问题,那么在f节点之间具有多个端口的花托拓扑会是优选的选项。三维花托拓扑看起来仅在超计算机安装中被发现,可能是由于其高实现成本和通过私有交换机的管理。当架构模块没有交换机时(这是下一部分的主题),这些问题不再关键,并且,花托有望更多地用于将来的数据中心。
路径密度(潜在路径的数量除以c节点的数量)对于树拓扑来说相当低,但对于Clos拓扑来说是一半(0.5),并且对于花托可相当大。该路径密度是架构中的潜在拥塞的测量以及用于自愈的容限的测量,从而使得能够覆盖拓扑选择中的因子。架构管理变为具有大的路径密度的系统的关键考虑。交换机图案必须考虑路径的多重性,一般通过路径修整和构建跨树。这种路径减少在无交换架构不是必要的。
以上的两个表可被用于拓扑和架构模块或具体的f节点结构的第一遍选择。例如,如果高密度(相对于计算成本的低架构成本)十分重要,那么可选择胖树或网格拓扑。如果分切带宽重要,那么很显然,修改或Clos拓扑更好。如果可扩展性和节点带宽重要,那么花托具有优势。如果延迟期重要但带宽不重要,那么树拓扑会是更好的选择。
注意,这种拓扑选择方法不考虑通过更高的可达性(路径)和分切带宽获得的计算效率,也不考虑由增加c节点数量导致的架构管理的成本和复杂性的增加。
以上的两个表允许以比以上更确定的方式进行一些统计推理。这种基于数值表的关联比比较符号表达式更容易解释。基于该少量的架构类型和p模块端口的两个值,某些相关性大致统一,从而意味着可直接以确定方式从表8得到结论。例如,p模块和c节点的数量之间的明显的相关性非常接近单位,正如p模块与分切带宽之间;如期望的那样,对于32端口模块和72端口模块,这均成立。
可借助于这种相关性得到关于拓扑的选择的几个结论。特别地,可得到关于带宽、冗余度或可达性(路径)和延迟期的结论。
带宽:由架构硬件的量确定
可从以上的表推断分切带宽与p模块的数量之间的相关性基本上是统一的。由此,增加带宽的代价是添加用于增加f节点的数量的硬件。换句话说,如果高分切带宽重要,那么架构需要大量的f节点,从而增加安装的成本。这是无疑的,但是表8中的定量表达在比较潜在设计时是有用的。
延迟期:通过拓扑确定
从上表可清楚地看出,树Clos和修改Clos拓扑具有最低的延迟期。在可缩放的树状拓扑中,直径和延迟期随节点数量的对数生长,从而意味着,对于大量的节点,树结构表现比Clos拓扑多的延迟期。Clos拓扑的直径随f节点端口的数量保持恒定,原因是所有Clos拓扑具有恒定的3个层(增强情况基于内部子网络,因此,当嵌套pod时,关于p模块的直径增加)。花托的直径随f节点的数量生长到1/3幂(在三维中)以及在二维中随平方根生长。因此,对于大量的节点,Clos拓扑具有最低的直径,并由此具有最低的延迟期。但是,从下面可以看出,架构结构也在消息延迟期中扮演重要角色。
可达性:由拓扑确定
在在上表中的最左栏中列出的一组剩余性能上,两个端点之间的可能的路径之间的相关性低或者为负。但是,两组端口值(例如,32和72)的路径之间的相关性高于90%,从而意味着路径的数量与拓扑而不是各单个性能中的任一个相关。
可缩放性:由拓扑确定
Clos拓扑不是可缩放的,原因是架构尺寸由f节点或pod中的端口的数量确定。但是,Clos架构可对于最多的节点被设计,并然后如上面提到的那样被部分占据;与胖树拓扑类似。
两个可缩放拓扑是树和花托,两个都具有单位的可缩放性,这里,添加另一f节点成比例地增加c节点的数量。花托的缺点在于其较大的直径,而树与花托相比具有差的分切带宽和路径冗余度。
阻塞
树拓扑一般是无条件阻塞的,原因是端节点的数量大于从最低(边缘)水平到树中的下一水平的链接的数量。其它的拓扑是条件阻塞的,例如,找到阻塞其它路径的对称Clos的流量图案是不重要的。可通过加倍中间层中的模块的数量克服该缺点,但得到的架构不再由相同的模块构建。
可通过增加Clos架构中的水平的数量大大扩展路径的数量。得到的网络具有较低的阻塞概率,但代价是增加架构硬件和增加直径。
如果维度小于p/4,那么花托是阻塞性的,原因是附连的端点的数量然后会大于架构链接的数量。这表明高维花托拓扑会具有优于Clos拓扑的相异的优点。
对于给定的应用选择最佳拓扑依赖于许多因素,从而必需多种权衡。
分组流架构
引言
从以上关于拓扑的讨论,主要权衡在于每个c节点的f节点的数量(“密度”或架构硬件开销)与每个c节点的潜在路径的数量(“具体”可达性或路径密度)以及分切带宽和密度之间:高节点密度与低路径密度和低分切带宽相关(各相关性系数为负)。跨树的需要减少可用路径密度,结果是树拓扑看起来更有利、具有更高的路径密度,并由此表现更低的拥塞。即,如果潜在路径的数量可完全被利用,那么Clos和花托拓扑可被视为优于树拓扑。换句话说,如果潜在路径的数量通过跨树算法被限制,那么树变为优选的拓扑。节点密度和分切带宽变为决定因素,使得树和胖树结构主导节点密度测量,尽管它们均具有差的带宽和高的拥塞。由路径管理提出的这些二次问题驱动拓扑的选择,代价是延迟期和带宽的一次设计考虑。
当将数据中心扩展到大量的端点时,由于有效流量管理和交换机控制所需要的路由表的大量和尺寸,因此交换架构趋于变为不可管理。这在InfiniBand实现中特别明显。并且,众所周知,跨树算法不稳定[参考文献5]并且需要所有交换机“学习”在在参考文献12中提到的路由表的多个拷贝中反映的拓扑。
在广播或多播动作下,多个信道必须依次或者并行地打开。因此,在较小的部分中,但对于较长的整个周期,广播或多播动作同时或依次协作架构的大部分,从而导致时间和空间高流量条件,该高流量条件在分层的交换机中可导致拥塞。这些问题不能在基于DBOI f节点的分组流架构中出现。
在本部分中,描述了产生支持分组流的架构节点所需要的DBOI修改,并且表示如何产生基本性能优于交换架构的非常大且有弹性的网络。分组流模块的两个主要特性是:
1.没有交换机;和
2.没有路由和转送信息基站,
并且,对于在不相应地增加管理架构内的消息流动的困难的情况下构建可扩展到非常多的节点的架构是关键的。
下面的部分讨论这两个主要特性如何提供可构建这种大且有效的架构的必要的结构。
可通过基于在初始的背景技术部分中引入的光学互连使用分组流模块克服在交换架构中遇到的困难中的许多,诸如可缩放性、流量管理、输入和输出队列管理、拥塞管理和低分切带宽。
分组流f节点
分组流f节点是初始DBOI的简单的修改,也导致优于交换架构的许多优点。
初始DBOI模块
当初始设计和构建时,DBOI系统包含光学模块和四个电光学模块(在32向版本中)。来自8个不同的主机、一般来自PCI-Express接口的串行形式的电子信号被输入到四个电光学模块或电光学网络接口控制器(EONIC)。激光器驱动器和激光器位于各EONIC板的第一部分中,在这里,电子信号被转换成单模激光中的串行光脉冲的流。这些光学数据在单模光纤上被发送到DBOI光学模块,在这些光纤上,4*8光束中的每一个扩展并分成四个相同的射束。32个射束中的每一个的四个拷贝中的每一个被发送到不同的收集透镜并且聚焦于32个球透镜的四个出射阵列上,这些球透镜分别将四组的32个射束中的每一个耦合到多模光纤的四个捆束中。各捆束然后包含原始32个电子信号但处于调制光的形式的拷贝。
32个光纤的各捆束与四个相同的EONIC模块中的每一个连接,这里,光学信号被检测并被转换成串行电子信号。在各EONIC模块中,32数据流通过逻辑被过滤,使得只有用于被该具体的模块服务的八个端点中的任一个的那些信号被转送到扇出装置上,该扇出装置进一步将各信号(允许通过)分成八个拷贝,每个潜在地用于由具体的EONIC模块服务的八个端点中的每一个。在将信号转换成例如适于主机计算机的PCIe格式之前,在出射点中的每一个上出现前面是过滤逻辑的另一阶段的扇入。扇入阶段过程中的逻辑过滤32个信号中的每一个,从而仅允许这些信号通过用于目标端点的那些。
几个过滤站中的每一个还利用以先入先出方式瞬间存储电数据分组的数据缓冲器。另外,各缓冲器具有监视存在的数据量的逻辑。如果任何缓冲器的填充速度比接收端点主机能够腾空该缓冲器的速度快(例如,在多个流被同时引向同一端点的情况下),那么EONIC中的逻辑从与讨论中的端点对应的激光器产生广播的控制分组。该机构通过通过通向潜在溢出缓冲器的优先分组通知具体的端点的任何发送者停止发送,在相应的缓冲器中提供关于潜在的溢出的流动控制。这种流动控制消息短,几个字节长,并且可通过相应的EONIC迅速地回注到DBOI中,这里,它们迅速地被其意图的收件人接收和处理。
本质上,初始DBOI是利用用于分布信息的光学器件的电气到电气分布装置。光学段允许在诸如DBOI的容量的较大的距离上并且沿着过量电容会延迟电信号的光纤实现快速和可靠的广播分布。随后的电气处理在EONIC中的较短的路径上出现。
用于分组流结构的修改
为了使得DBOI用作在单模光纤上承载输入和输出的光学领域中的分组流模块(例如,以容纳数据中心中的托架之间的必要的距离),EONIC被修改,而光学模块保持不变。这允许例如在整个数据中心中使用同一光学模块并由此导致大规模产生、高度可交换的部分,从而降低成本。当然,存在两种EONIC模块,一种被设计为用于与c节点连接,一种用于与f节点连接。
图17示出分组流配置中的DBOI。如上所述,该DBOI f模块包含两个相异的部分。光学器件或DBOI模块1710具有可源自数据中心中的任意点的32个单模光纤输入1720,而四个EONIC模块1730分别具有可具有到数据中心中的任何地方的目的地的八个单模输出光纤1740。短多模光纤允许通过EONIC模块中的每一个分布和收集在广播模式下在光学DBOI模块中起源的光学分布信号(同样,各EONIC模块接收32个输入中的每一个的相同的拷贝)。
图17是表示作为仅具有外部光纤连接的光学入出系统修改的DBOI互连的示图。修改仅在电气光学模块(EONIC)中出现,使得光学模块(DBOI)不被触摸。为了清楚起见,对于16到16分布模块,示图表示16个输入和四组的4输出。现有的实现是32到32分布信道和72到72分布信道。输入中的每一个可在逻辑上与输出中一个配对,从而导致(这里)16个双向光学信道。图17未示出的反射镜在物理上允许DBOI输入处于模块的输出的同一面上并且使模块的长度减半。
根据在分组的标题中包含的目的地信息,呈现给DBOI f模块的输入中的任一个的数据可在输出中的任一个、所有的输出上离开或者不在任何输出上离开。相反,进入交叉点或矩阵交换机的分组可存在于单个离开端口上或者不存在于任何离开端口上。这意味着,交换机中的多播必须由添加到交叉点(交换机)上的主机或专用硬件中的数据结构管理。DBOI中的多播由目的地或组地址确定,并且并行发生在会自然出现分叉的那些结点处。
由于以上表示的分布模块允许将任意类型的光学信号分布为广播、多播或者甚至点对点,因此,术语“光学数据流”看起来是自然描述;但是,由于基于分组标题进行跟随内部广播的过滤决定,因此,更好的术语是光学分组仅出于转送、过滤和放大的目的被转换成电信号的“光学分组流”。“分组流”的速记看起来是更好的选择,尽管该术语在过去不经常使用。
分组流结构的优点
分组流结构表现优于交换机结构的性能和管理优点。
作为物理层的DBOI
在最简单的功能形式中,DBOI模块与其物理层相同。由于所有发送和所有接收信道相互独立、完全连接并且可独立地同时发送和接收消息,因此得到的网络架构很容易地支持任意类型的网络协议和用户希望的架构管理。假定给定的应用或并行操作系统期望具体的协议、消息通过接口或者支持交换架构管理(路由表、跨树等),那么DBOI系统可直接替代交换架构并且仍通过将各种命令翻译成DBOI具体命令(诸如目的地规范)或简单的协作(用于的路由请求)的简单的包装支持消息和控制结构不变。直接替代DBOI与原始结构相比将更快更有效。通过重写通信代码以利用DBOI的强度,获得更高的效率。
全带宽利用
交换架构一般比如通过对于数据传送的持续期固定状态的交换机的网络打开从节点a到节点b的路径。该路径的多路复用本质很少被完全利用,但其双向性的可能性是必要的,原因是可能在发送从b回到a的通知的传送中有时需要它。除非存在许多小的同时双向的消息,否则不使用交换架构的大致一半的带宽。需要多路复用消息的容量,但下层的硬件在接近50%的比率下被利用。
这看起来不是严重的问题,原因是必须对于相反的路径出现这种可能性,不管是否使用。但是,注意,一旦建立多路复用路径,发送节点a就也保留其到来端口。即,a不能在向具体的节点发送的同时从任何其它节点接收消息。将该效果应用于许多或所有节点建立路径,同时不能接收,并且,达一半的架构带宽变得不可用,这一点变得很清楚。在这种情况下,估计减少达50%的交换架构的理论分切带宽,这是十分可能的。
作为分组流模块的双向的多用性的例子,考虑以上讨论的修改Clos架构。图18示出基于具有四个双向端口1820的f节点1810的这种架构。考虑图18的左下方的端点1。红色箭头表示该c节点在繁忙地向c节点13传送数据。即使这些数据正在横穿选择的路径,例如,c节点10也可向同一c节点1传送数据。该双向是DBOI f模块的大大增强分组流架构的效率的结构特征。
在任何消息传送中对于反向的需要,不管是长还是短,是用于承认或通知不适当的到达、不良消息、消息损失和其它潜在有用的管理任务。但是,这种薄记消息(bookkeeping message)的长度一般是几个字节,常常是比一次消息短的量级的大小。当然,在大多数的架构中,反向路径实际上包含零的流以简单地保持多路复用信道同步化。因此,虽然可存在双向传送的实际位,但多路复用信道从与处理节点相关的信息的观点看是高度不对称的。
分组流架构允许完全使用可用的带宽。
改善的延迟期
在交换架构中,对于数据传送建立的实际路径是两个架构节点或端部节点之间的暂时连接。出于这种原因,必须每当关闭路径时建立位串行同步化,或者必须以同步的方式操作整个架构。第一技术(数据导出方法)向消息添加附加的延迟期,原因是消息开始次序必须被传送以允许用于在消息位到达之前出现同步化的时间。第二技术(领航频率方法)需要硬件的附加层以向架构中的所有端点传播同步化信号。
低延迟期是高效率的必要条件:
高速缓存一致性消息;
共享存储器数据交换;
握手;和
障碍同步化。
重新同步化延迟期可以是节点之间的微第二水平上或下面的总体延迟期的主要贡献者。除了增加的延迟期以外,重新同步化有助于数据偏移,原因是它影响接收同一消息的拷贝的端点之间的不同的延迟期。即使多播可与传送侧的很少的偏移同步化或者不与其同步化,这也成立。一般通过障碍同步化克服这种偏移的危险,这补偿更长的延迟,从而增加有效的延迟期。
由于DBOI包含单独的、单一发送的广播信道,因此,即使当不存在实际的消息时,当发送零次序时,所有接收路径也保持与其位流的同步化。这意味着,例如,在接收消息所需要的锁相环中不存在附加的获取时间。该同步化在各EONIC内的DBOI结构内出现,不需要辅助领航信号。这些零次序被忽略,同时通过宣告消息的开始的短标题次序识别有效的分组。
延迟期的所有其它的来源相同,分组流结构表现较低的延迟期和比交换架构少的偏移。
增强流动控制
通过具有独立双向信道的分组流结构变得可能的附加的特征是,用于发送和接收短、高优先级控制消息的有效机构的可能性。c节点之间的流动控制是原始DBOI实现的特征。将流动控制概念扩展到f节点允许有效地共享最近邻居状态信息,用于检测故障节点的心跳消息、握手分组和有效且快速的同步化消息。
通过构建,分组流结构中的离开端口与进入端口无关。只有离开端口具有包含离开缓冲器、缓冲器监视逻辑和分组流产生和传送逻辑的流动控制能力。在EONIC中产生的控制分组具有先于标准分组的外出优先。通过与存在于离开端口中的每一个上的正常离开缓冲器并行操作的优先缓冲器实现这一点。当离开端口完成当前帧的发送时,优先缓冲器被检查,从而允许任何优先帧优先于下一消息帧。分组包含64B66B个帧并且优先消息取得单个帧。因此,优先分组流经历的最大延迟是单个帧。
当接收优先分组时,更多地包含这种情况,原因是可对于f节点或c节点意味着优先分组。在识别之后,c节点优先分组使其通过跟随正常逻辑的EONIC,直到它到达适当的离开缓冲器。这里,它被引向在从标准消息缓冲器去除下一分组之前检查的优先离开缓冲器。如果在输出缓冲器中存在优先帧,那么在标准缓冲器的任何内容上选择并且通过c节点读取它。
如果对于另一f节点意味着优先分组,那么它遵从上述的正常逻辑并被放在适当的优先缓冲器中,从而等待向目的地f节点的下一次传送。如果它意味着用于接收的f节点,那么它在正常分组处理逻辑之前在检测器缓冲器上被标注并被发送到适当的f节点控制逻辑,在这里,它可被用于:
1.更新局部最近的节点状态表(诸如“可用”、“故障”等),
2.提供用于停止或继续来自离开端口中的任一个的传送的控制信号,
3.向监视系统收集和传送使用和状态数据,或者,
4.提供关于f节点在架构中的位置的信息(诸如树或Clos水平、pod ID、网指数),以及其它的可能性。
通常出现缓冲器尺寸的问题,没有通用的答案。大的缓冲器可在流动控制机构负责之前将大量的分组排队。但是,尺寸必须足够大,以在流动控制在来源上切断之前在传送中接收消息。该较低的界限依赖于网络的尺寸、标准分组的长度、跨着架构的优先消息的延迟期和架构直径。在一些情况下,可能需要架构的模拟及其消息流量。
与标准消息相比,优先分组一般十分短,并且它们在EONIC中的处理绕过内部逻辑中的许多。在10千兆位/第二数据信道内的架构中,对于节点之间的传送、检测、识别和接收f节点内的处理,优先帧的典型的端对端延迟期为几十纳秒的量级。
冗余路径的完全使用
任意两个c节点之间的一组可能的路径在局部拥塞的情况下提供通信冗余的组件,这是f节点故障的情况下的“自愈”的基础,并且一般确保系统越稳健则该组变得越大。但是,在必须在各f节点处保持大的路由表的交换架构中,跨树算法一般将可用路径的数量修整到可管理的尺寸,由此通过去除所有的附加的连接性将交换架构的响应限制到拥塞和节点故障的问题。
在各转送决定是局部决定的分组流架构中,不需要路径修整或者综合路由表。简言之,只需要跨树管理系统。
还应注意,交换架构对于路径修整的需求使拓扑的选择偏离Clos网络和花托,原因是这两个拓扑产生非常大的路径冗余:如果不使用冗余,为什么支付硬件以带来它?
整组的冗余路径可用于分组流架构中。
分组流架构管理
中心问题
架构管理中的中心问题是,尽管存在可能的端点争用和架构拥塞,仍确保任何具体的消息到达其目的地。应有效地且在源和目的地之间以最小的延迟完成这种管理。如上所述,交换架构的管理是大型计算机系统的设计和实现的中心问题,并且提出超出架构硬件和维护的成本。随着参与节点的数量增加,架构管理变得更复杂、难以实现且成本高昂。问题是用在整个架构上分布的更新拷贝保持更大的路由表。
当选择防止任何其它消息使用建立第一路径的交换机中的任一个的路径时,在交换机互连中出现“拥塞”。良好的类比是流量光允许流量通过停止跨流量前进的流量控制。当多个消息被引向同一端点或架构端口时,在互连或架构的边缘上出现“争用”。类比是所有的旅行者尝试同时由同一门离开飞机。这些架构问题均是路径阻塞的结果。
作为由交换架构的本质提出的结构问题的解决方案,存在被设计为增强对于服务器农场中的数据项的访问的协议中的许多。类似地,一般访问方法的实现细节(与架构结构无关)常指示具体拓扑和结构的选择与选择的协议很好地一起起作用的工作,几乎没有最佳的设计方法。
与交换架构(交换机和路由器的网络)相反,基于DBOI的架构是分组流架构,从而意味着不需要交换机和硬件增强路由,这种路由增强系统性能也不。在这些架构中不存在与交换机网络的交换机和管理相关的硬件,从而补偿更简单和更易于保持的系统。
通过交换在相邻节点之间通过并且在与f节点离开端口对应的小的表中局部保持的关于局部拥塞的状态信息,实现基于节点局部决定的有源分组流架构管理的实现。各f节点具有关于其在架构中的具体位置的信息(诸如Clos网络内的行和列、树网络内的水平和次序和三维花托中的xyz指数等)。在关于节点位置的该架构范围知识以外,通过在相邻的架构节点之间交换状态数据,获得分组路由所需要的信息。
在一些阶段中,在进入架构之前,或者可能在通向多处理器系统自身的网关中,诸如IP地址或数据库指针的标准地址被翻译或通过互连架构内的目的地地址被封装。这种地址需要至少包含对于目的地f节点的物理位置的参照连同目的地c节点和任何目标处理器的指示或位于该c节点处的计算芯。对于自由形式的数据库或者内容可寻址系统,仅仅关于寻求什么信息(例如,散列指数的形式)的规范可能是足够的。仅仅知道分组流系统中的分组不均是与交换架构中的分组不同的分组,在该点上未必解决可靠的消息通过系统所需要的许多附加的细节,诸如来自位流的分组的帧化和校验和和误差校正代码的问题。简单地假定进入架构的分组以遵从传送之前的位流上的帧化动作的通常方式被构建。伴随编码目的地地址存在通常的校验和和误差校正代码。特别地,目的地地址会包含规定目的地f节点的位置的指数。两种方法之间的基本不同在于,交换机分组通过全局路由表被引向它们的目的地,而流动分组通过使用采取的具体路径中的各f节点本地的信息找到通向其目的地的自身的路径。在各步骤中,分组在从源到目的地的进展中被转送或者拒绝。
节点故障和恢复
任何具体的f节点会出现故障。节点故障必须通过节点的邻居被识别,一般通过优先心跳分组或者通知没有对握手中的询问的响应(例如,通过ACK/NACK机构)。从这种故障的恢复一般被称“自愈”。
“自愈能力使得基于路由的网络能够在一个节点破坏或者连接变坏时动作。结果,网络一般相当可靠,原因是常常在网络中的源与目的地之间存在多于一个的路径。
通过引入分组流模块,路由决定变为局部动作,从而不需要全局管理结构。局部上,在具有目的地标题的接收的分组上动作的架构节点中的简单的状态机可引至自管理和自愈的架构。简言之,可获得自组织和自路由系统。
花托路由
网格或花托中的自路由是最简单的情况,并且首先被描述。其它的拓扑利用在本部分中讨论的特征中的一些,特别是流动控制和优先分组。
跨树路由(交换架构)
给定网格或花托中的相异的节点之间的大量的可能的路径(没有绕道或环路)(参见式11),修整跨树变为管理这种架构的中心问题。注意(对于网格),只要距离测量遵从Manhattan度量,所有适当地选择的路径就是等距离的。对于花托,8个可能的组的路径中的至少一个是最小的,因此适当的修整算法会需要识别最小组并舍弃其它。但是,该最小组依赖于两个端点之间的相对距离,该相对距离在架构上改变并且对于典型的分组呈现非常多的选择。
必须在各节点处存储巨量的跨树,从而反映可从该节点(即所有)到达的所有可能的目的地,或者,每当分组进入节点时,跨树必须通过(不稳定)跨树算法被重新计算和修整。
分组流路由(分组流架构)
考虑各f节点具有其在架构中的自身位置的内部表现的f节点的二维网络。这种位置的表现会成对{nx,ny},这里,n是索引网格内的f节点的整数,并且下标指的是两个网格维度或方向。例如,{0,0}可指的是图15中的网格的左下角中的f节点。假定节点{x,y}接收具有目的地标题{a,b}的分组。存在四种可能的路径,由此,分组可留下任何f节点(除了架构的边缘或角上的节点的特殊情况,这是要处理的简单的特殊情况)。在目的地处于与起源c节点相同的f节点中的特殊情况下,简单地离开适当的c节点路径上的f节点。
通过形成当前位置与目的地之间的差值的绝对值,计算路径差Δx=|x-a|和Δy=|y-b|。如果Δx和Δy均为零,那么分组处于其目的地f节点处,并且可被转送到包含于分组标题的第二部分中的目的地c节点。如果Δs中的一个是零且另一个不是,那么仅存在用于分组的离开选择(除了以下讨论的例外)。为了识别该单一选择,假定Δx不为零而Δy为零,形成两个差值|x-a-1|和|x-a+1|,这计算两个相邻的f节点与目的地之间的路径的x方向的距离。具有较小的差值的部分被选择,而另一选择会远离目的地。
如果两个差值均为非零,那么存在用于离开端口的两个均等有效的选择,并且可通过如上面那样对于x方向并且以类似的方式对于y方向形成±1内的差值发现两个选择。具有较小的差值的x端口被选择,具有较小的差值的y也是。指示的x端口或指示的y端口是有效的离开端口,原因是两个均引向目标且可提出它们之间的任意的选择。以这种方式,分组通过仅使用局部信息找到其沿一组最短路径的一个成员通向适当的目的地的路径。特别的路径是不可预测的,原因是“任意”选择可依赖于以下描述的外部因素。
通过与上述相同的离开算法,但对于三个差值和六个可能的方向,三维网格具有规定f节点位置和目的地地址的三个数。边缘差值被自动设为-1,从而指示不正确的离开端口,并且花托的情况下的算法以相应的网尺寸的长度为模(当然,以f节点的数量测量)。
该基本路由方法被保证在分组流网格或花托内工作。但是,存在可能的改善,当在架构中存在可能引起下游f节点处的拥塞的重度流量时,这变得重要。这种拥塞,会在找到其路径时作为可用于给定分组的一组离开端口的争用表现自身,将在下一部分所描述的路由算法中被考虑。
注意,该算法是各f节点本地的,并且,在要在状态机而不是通用处理器中实现的执行中是足够的。
可根据指示接收节点的繁忙状态的离开端口表进行另外两个或三个(在3D情况下)等同选择之间的决定。这些小的表(根据维度,每个4位或6位)通过上述的优先分组被保持。
对于分组流路由算法的增强
各离开端口具有相关的缓冲器,这里,当该端口的到来分组速度超过其离开速度时,分组蓄积。在通常的流量条件下,一旦各分组进入就从该离开缓冲器取得各分组,因此,存在最小的延迟或延迟期滞后(缓冲器用作先入先出队列,并且简单地在接收时传送分组)。但是,在高流量条件下,任何离开缓冲器可能比它可被腾空快地填充。如果要达到缓冲器的容量,那么流动控制机构参与,并且优先消息被发送到上述的适当的相邻的节点。
任何优先消息如在前面的部分中讨论的那样被检查,并且,如果其目的地是局部c节点,那么简单地被转送。如果它是用于接收f节点的流动控制消息,那么它触发相应的离开队列中的“停止发送”事件,并且设定该缓冲器的控制机构中的“繁忙”或锁定位。任何其它的优先消息简单地在适当的离开端口上被转送。
一旦目标节点中的离开缓冲器开始清出,就发送另一优先消息,从而指示路径被清空。以这种方式,可在不损失任何数据的情况下管理重度流量负载。在离开缓冲器中,或者,通过从先前的f节点的离开缓冲器转送分组时的延迟或者最终通过延迟来自起源c节点的未决的传送,某些分组可很好地延迟。
节点故障和架构稳健性
任何具体的f节点会出现故障。假如出现这种情况,路由能力以及对于局部c节点的访问丢失。架构范围的心跳机构或偶尔的对于相邻的f节点的询问可被用于识别非响应或者故障的f节点。(可通过类似的方式识别故障的c节点)。
当分组尝试访问故障的节点时,路由算法增加以上的差值中的一个并且选择与描述的可用状态信息一致的绕行路由。一旦提出一个绕行步骤,分组就从其新的架构位置前进,条件是,作为针对分组回路的保护,从一组可能路径暂时去除重新引导绕行的起源的f节点。
网格或花托中的分组流路由可能很好地是最简单且最有效的使用的局部机构,从而使得花托在一些意义上是优选的拓扑。
Clos路由
由于通过这种情况的扩展处理较高水平架构,因此这里仅考虑三水平的架构。存在用于三水平Clos架构的三种情况。通信c节点是(参照图11):
1.在相同的f节点处;
2.在相同的行;或者
3.在架构的相对侧。
驻留于同一列中的通信c节点处于相同的f节点(情况1)上或者架构的相对侧(情况3)。在情况1中,具有处于与起源c节点相同的f节点中的目的地的分组简单地离开适当的c节点出口上的f节点,并且,通过上述的流动控制机构处理任何端口争用。
具有处于与起源c节点相同的行中的目的地的分组(情况2)仅在三水平结构中具有单个可能的f节点出口。该出口必须被取得,并且,通过流动控制机构处理端口争用,不管这种端口争用是处于中间层中的f节点处,还是起源层上。
在情况3中,假定各f节点获知其在架构中的位置(水平或行指数和列指数)。目的地1~1/4p2处于底部的一半上,并且,1/4p2+1~1/2p2处于上部的一半上,这里,如前面的部分那样,p是f节点中的端口的数量。因此,包含发送节点指数和目的地节点指数的简单的计算确定哪种情况正在上演。
最简单的管理情况3情况的方式是以随机或比对的方式选择出口端口,并使得流动关注在通向目的地的路径上遇到的可能的争用。虽然对于许多应用可能令人满意,但该方法的缺点是,出口端口的流量独立选择不是最佳的。例如,正向的争用可使得选择中的一个或更多个为次最佳并有助于最终的端口争用(可在f节点的三个水平中的任一个中出现)。
选择离开端口的更可控制的方法是具有一组的表,每个表用于各f节点的各侧。这些表基本上是包含与具有繁忙的离开端口的目的地路径中的f节点对应的单位存储器单元的地图。通过反映相邻的f节点中的各端口的状态的变化的优先分组完成这些表的更新。
注意,只有传送f节点中的相应的离开端口繁忙,接收f节点中的给定的入口端口才是繁忙的,因此,不必提供用于入口端口的表和策略。
修改的Clos路由
修改的Clos网络仅表现前两种情况,原因是所有的c节点处于同一侧或行(参见图13),并且在很大程度上通过上述的方式被处理。
基于pod的路由
使用pod的(在前面的部分中描述)基本上乘以必须保持的端口地图的数量,原因是pod内的各分组流节点必须保持用于其出口端口的表。在该变化以外,局部路由方法在很大程度上如与以上对Clos架构描述的那样。
树和胖树路由
由于Clos和树拓扑均是多水平系统,因此树和胖树结构中的分组流路由的处理与以上的Clos描述类似。如果选择该方法,关键的不同在于,出口端口状态表的构建和维护。否则,优先流动控制分组流通过各种子树流回,从而中止或延迟分组离开识别的端口或者根据需要强制选择替代性的端口。
广播路由和分组标识符
通过使c节点任务专用于对于在系统内产生的各非优先分组产生依次或者单调增加的标识符(ID),基于f节点的固有广播能力的路由系统是可能的。不可否认,这种方法的最佳的用途是不将网络流量推向饱和点的情况,但其实现是简单的并且它潜在地解决大类的问题,诸如数据库访问和维护和电信网络中的路由。
ID产生器在将用于传送的分组组装成架构中的处理中从任何c节点通过优先分组接收对于新的ID的请求。分组传送会延迟,直到新的ID通过产生器(一般通过增加计数器)被计算并且通过另一优先消息通过请求任务被接收。并且,优先消息又小又快,从而使得该方法不但是可能的,而且是有吸引力的替代方案。
通过使用具有不同的开始数的不同的计数器,或者,通过具体的产生器,通过ID的指示位前缀,多个产生器是可能的。因此,某些c节点会将它们的询问引向它们的自身的产生器,从而减少使单个产生器过载的可能性。作为替代方案,ID产生器可作为分布的服务嵌入架构中。
广播路由的思想是简单的:简单地从f节点处的出口端口中的每一个广播接收的分组流(当然,除非它意味着用于该f节点,在这种情况下,它被传输到目的地c节点)。可在文献中作为“泛滥”找到类似的方法,并且一般将其与路由对比[参照参考文献16]。
一旦分组在其目的地上被接收,其ID就位于ID缓冲器中,使得随后的分组可被检查,并且如果它们在以前被看到,则被舍弃。搜索作为分组的ID缓冲器是在前面的部分中描述的过滤处理的一部分。根据架构尺寸,ID缓冲器具有一定的预设的长度,并且,当新的到达时,ID从端部下落。以这种方式,ID具有一定的有限的持久性,又使得甚至过滤经历延迟的那些分组。
为了减少必然的多个拷贝分组,各广播应仅在由目的地地址和广播f节点的架构内地址确定的“正”方向上被发送。
总结
本公开的本部分给出了基于直播光学模块的大规模计算机互连的新的概念。被修改为用作互连架构中的节点的该模块具有32或72个(在本实现中)双向和独立的端口连同基于目的地规范提供用于分组的过滤逻辑的电-光学部分。引言部分给出了Lightfleet互连的简短背景,并且讨论扩展当前的数据中心以满足将来的需要的主要问题。当前的方案的简短的评论在拓扑和具体分组流模块上设定用于以下部分的阶段。为了概括,当前的方案归结于以下的三个领域:
异构硬件,具有越来越复杂和昂贵的交换机的层次;
除了端口争用以外,(分层交换机)中的各水平的交换机处的拥塞;和
为了获得有用的性能,对于跨树算法和动态路由软件的需求。
为了提供用于在大规模互连中使用提出的分组流模块的背景,讨论服务达数百万的端点和更多的几种网络拓扑。在网络拓扑的部分中给出的各种拓扑的性能的详细的开发可被用作设计和比较工具的基础(例如,以试算表的形式,或者作为小的独立的应用)。这种工具可显著帮助数据中心设计和硬件选择。本部分的结论在于,如果相同的简单的互连模块在整个架构中被使用,那么架构可很容易地被缩放以服务非常大的数据中心。
关于分组流架构的第三部分给出对于初始Lightfleet互连的修改,并且表示它如何变为用作任意通信架构中的节点的理想的光学分布模块。分组流概念的具体的优点被详细讨论,并且其优于基于交换机的架构的主要优点被强调。这些优点包括:
均匀的、大规模制造的无交换机广播模块
对于局部流量控制使用优先分组
架构带宽的完全潜在利用
与由交换机提供的相比,提高延迟期和减少偏移
局部水平上的架构流量管理(不需要管理者)
节点故障恢复(自愈)
本第三部分中的最后的子部分在高水平上给出对于在第二部分中讨论的几种拓扑优化的算法。这些算法允许分组仅以用于解码标题的轻微的延迟“流”过架构以获得目的地规范。通过短优先分组,在局部架构节点水平上,架构拥塞和端口争用的问题被有效和迅速地管理。结果是,可在不需要局部路由表和跨树算法的情况下局部管理非常大的架构。分组流架构的该后一种性能意味着,对于在本公开的本部分中提出的架构,当前的关于向大型系统缩放架构管理的困难不是问题。
胖树算法
用于如表9和表10那样向各种性能分配值的算法从以降序排序p的主要因素(基本模块中的端口的数量)开始,1被排除。水平的数量l是主要因素的列表的长度。使主要因素为:
式(13)
根节点具有等于第一主要因素p1的分支的数量,并且存在l个水平。与树中的各节点的连接的数量必须总计为p,因此,p1分支中的每一个承载p/p1个连接。在下一水平中,存在p1个节点,并且各节点具有p1p2-p2分支,在各分支中具有p/p1/p2个连接。该积和差的系统继续,直到在从节点的底部行到c节点的叶子的各分支中以p/(p1…pl)=1个连接到达边缘。具体而言,从第k个水平,存在由下式表示的数量的分支:
式(14)
这里,k=2,…,l,并且,存在由下式表示的数量的第k个水平和下一低水平的连接。
式(15)
注意,k=1代表根水平,并且b1=p1,c1=p/p1;并且,作为检查,分支的数量乘以每个分支的连接数量加上从节点到下一较高水平的每个分支的连接数量等于端口的数量,或者,
式(16)
c节点的数量仅是所有分支值的积,如下式所示:
式(17)
并且,f节点的数量为部分分支上的和,如下式所示:
式(18)
不在相同的子树上的任意两个c节点之间的路径的数量是向上横穿的可能的路径的数量乘以沿树向下的数量的积,或者
式(19)
并且,分切带宽仅为p/2。
例如,如果如图10那样p=12,那么主要因素的列表是{3,2,2},并且,存在从根节点的三个分支,每个分支包含12/3或4个连接。从根水平开始的分支的列表从而是{3,4,10},并且,从各水平的分支中的连接的数量是{4,2,1}。c节点的数量是3×4×10或120,并且,f节点的数量是1+3+12或16。路径的数量是(4×2×1)2或64,并且分切带宽是12/2或6。
注意,如果p是2的幂,那么连接的数量在各水平处加倍。对于任意的p,如式15所示的主要因素的部分积那样,连接增加。
描述的实施例和例子仅是解释性的,并且不是要限制。虽然本公开的实施例可被单独地实现,但本公开的实施例可集成到与它们相关的系统中。可鉴于本公开在没有不当的实验的情况下实施和使用在这里公开的本公开的所有实施例。本公开的实施例不被在这里给出的理论的陈述限制(如果有的话)。本公开的实施例的各单个步骤不需要以公开的方式被执行或者以公开的次序被组合,而可按任何和所有的方式被执行并且/或者以任何和所有的次序被组合。本公开的实施例的各单个部件不需要以公开的配置被组合,而可按任何和所有的配置被组合。在不背离基本的发明概念的范围的情况下,可提出本公开的实施例的特征的各种替代、修改、添加和/或重新布置。各公开的实施例的所有公开的要素和特征可与每个其它公开的实施例的公开的要素和特征组合或者替代它,除非这些要素或特征是相互排斥的。由所附的权利要求和它们的等同限定的基本的发明概念的范围包括所有这些替代、修改、添加和/或重新布置。
所附的权利要求不应被解释为包括组件加功能限制,除非通过使用短语“用于…的组件”、“用于…的机构”和/或“用于…的步骤”在给定的权利要求中明确陈述这种限制。本发明的亚属实施例由所附的独立权利要求和它们的等同划界。本发明的具体的实施例由所附的权利要求和它们的等同区分。
参考文献
1.Mohammad Al-Fares,Alexander Loukissas,and Amin Vahdat,"A Scalable,Commodity Data Center Network Architecture,"SIGCOMM'08,August17-22,2008,Seattle,Washington,USA.
2.See,for example,http://www.theregister.co.uk/2010/05/25/cray_xe6_baker_gemini/
3.Yuichiro Ajima,Shinji Sumimoto,Toshiyuki Shimizu,"Tofu:A6D Mesh/Torus Interconnect for Exascale Computers,"Computer,vol.42,no.11,pp.36-40,Nov.2009,doi:10.1109/MC.2009.370.
4.Changhoon Kim,Matthew Caesar,Jennifer Rexford,"Floodless in SEATTLE:A Scalable Ethernet Architecture for LargeEnterprises,"SIGCOMM'08,August17-22,2008,Seattle,Washington,USA.
5.Radia Perlman and Donald Easterlake,"Introduction toTRILL,"The Internet Protocol Journal,14(3),2011pp.2,Ai20.
6.See,for example,http://en.wikipedia.org/wiki/Network_topology
7.See,for example,http://en.wikipedia.org/wiki/Clos_network
8.See,for example,http://en.wikipedia.org/wiki/Ethernet_switch
9.See,for example,http://en.wikipedia.org/wiki/InfiniBand
10.Charles E.Leiserson,"Fat-Trees,Universal Networks forHardware-Efficient Supercomputing,"IEEE Trans.Comp.,V c-34,N10,pp.892-901,Oct.1985.
11.Stefan Goedecker and Adolfy Hoisie,Performanceoptimization of numerically intensive codes,Society for Industrial andApplied Mathematics,Philadelphia,2001.(Available from GoogleBooks.)
12.Radhika Niranjan Mysore,Adreeas Pamboris,NathanFarrington,Nelson Haung,Pardis Mirim,Sivasankar Radhakrishnan,Vikran Subramanya,and Amin Vahdat,"PortLand:A ScalableFault-Tolerant Layer2Data Center Network Fabric,"SIGCOMMO9,August17-21,2009,Varcelona,Spain.
Claims (18)
1.一种方法,包括:操作包含多个端口的分组流模块,所述多个端口中的每一个包含至少一对双向且逻辑独立的通信信道。
2.根据权利要求1的方法,其中,操作分组流模块包含操作直播光学互连以及操作与直播光学互连耦合的电气-光学网络接口控制器。
3.根据权利要求2的方法,其中,操作电气-光学网络接口控制器包含通过多个光学输入接收数据以及通过多个光学输出传送数据。
4.根据权利要求3的方法,其中,通过所述多个光学输入中的每一个传送包含通过单模光纤传送。
5.根据权利要求3的方法,其中,通过所述多个光学输出中的每一个接收包含通过单模光纤接收。
6.根据权利要求1的方法,还包括在分组流模块与f节点之间传送数据。
7.根据权利要求1的方法,还包括在分组流模块与c节点之间传送数据。
8.一种装置,包括:包含多个端口的分组流模块,所述多个端口中的每一个包含至少一对双向且逻辑独立的通信信道。
9.根据权利要求8的装置,其中,分组流模块包含直播光学互连和与直播光学互连耦合的电气-光学网络接口控制器。
10.根据权利要求9的装置,其中,电气-光学网络接口包含多个光学输入和多个光学输出。
11.根据权利要求10的方法,其中,i)所述多个光学输入中的每一个和ii)所述多个光学输出中的每一个包含单模光纤。
12.根据权利要求8的装置,还包括与分组流模块耦合的f节点。
13.根据权利要求8的装置,还包括与分组流模块耦合的c节点。
14.一种分组流pod,包括多个权利要求8的装置。
15.一种通信网络互连架构,包括多个权利要求14的分组流pod。
17.一种基本上如这里描述的装置/方法。
18.一种包括操作分组流模块的方法。
19.一种包括分组流模块的装置。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261685657P | 2012-03-21 | 2012-03-21 | |
US61/685,657 | 2012-03-21 | ||
US201261622093P | 2012-04-10 | 2012-04-10 | |
US61/622,093 | 2012-04-10 | ||
PCT/US2013/033390 WO2013142742A1 (en) | 2012-03-21 | 2013-03-21 | A packet-flow interconnect fabric |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104185999A true CN104185999A (zh) | 2014-12-03 |
Family
ID=48083637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380013081.2A Pending CN104185999A (zh) | 2012-03-21 | 2013-03-21 | 分组流互联架构 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9674116B2 (zh) |
EP (1) | EP2829078A1 (zh) |
JP (1) | JP2015512584A (zh) |
KR (1) | KR20140139032A (zh) |
CN (1) | CN104185999A (zh) |
WO (1) | WO2013142742A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105634953A (zh) * | 2015-12-30 | 2016-06-01 | 中国人民解放军国防科学技术大学 | 一种基于可见光通信的混合数据中心组网与路由方法 |
CN112039786A (zh) * | 2019-06-04 | 2020-12-04 | 清华大学 | 基于Torus网络的广播方法 |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9253248B2 (en) * | 2010-11-15 | 2016-02-02 | Interactic Holdings, Llc | Parallel information system utilizing flow control and virtual channels |
US8804523B2 (en) * | 2012-06-21 | 2014-08-12 | Microsoft Corporation | Ensuring predictable and quantifiable networking performance |
US9344383B2 (en) * | 2012-11-07 | 2016-05-17 | Dell Products L.P. | Event driven network system |
JP6191401B2 (ja) * | 2013-11-01 | 2017-09-06 | 富士通株式会社 | 並列計算機システム、制御装置、並列計算機システムの制御方法及び制御装置の制御プログラム |
WO2015080749A1 (en) * | 2013-11-29 | 2015-06-04 | New Jersey Institute Of Technology | Management of bandwidth efficiency and fairness in cloud computing |
WO2015107067A1 (en) * | 2014-01-15 | 2015-07-23 | Telefonaktiebolaget L M Ericsson (Publ) | Processing of data files |
US9674118B2 (en) * | 2014-03-19 | 2017-06-06 | xCelor LLC | System and method for low-latency network data switching |
US9813301B2 (en) * | 2014-08-20 | 2017-11-07 | Nec Corporation | Optimization framework for multi-tenant data centers |
US10348428B2 (en) * | 2014-12-23 | 2019-07-09 | Intel Corporation | Techniques for synchronized execution of a command at network fabric nodes |
CA2923769C (en) * | 2015-03-12 | 2019-09-10 | Maged E. Beshai | A contiguous network for cloud communications |
US20160342887A1 (en) * | 2015-05-21 | 2016-11-24 | minds.ai inc. | Scalable neural network system |
US11184290B2 (en) * | 2015-09-10 | 2021-11-23 | Lightfleet Corporation | Priority-based arbitration for parallel multicast routing with self-directed data packets |
US11343197B2 (en) * | 2015-09-10 | 2022-05-24 | Lightfleet Corporation | Packet-flow message-distribution system |
US10284465B2 (en) | 2015-12-28 | 2019-05-07 | Mellanox Technologies Tlv Ltd. | Efficient algorithmic forwarding in fat-tree networks |
US9893950B2 (en) * | 2016-01-27 | 2018-02-13 | International Business Machines Corporation | Switch-connected HyperX network |
WO2017196821A1 (en) | 2016-05-09 | 2017-11-16 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for the industrial internet of things |
US11507064B2 (en) | 2016-05-09 | 2022-11-22 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for industrial internet of things data collection in downstream oil and gas environment |
US11327475B2 (en) | 2016-05-09 | 2022-05-10 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for intelligent collection and analysis of vehicle data |
US10983507B2 (en) | 2016-05-09 | 2021-04-20 | Strong Force Iot Portfolio 2016, Llc | Method for data collection and frequency analysis with self-organization functionality |
US11774944B2 (en) | 2016-05-09 | 2023-10-03 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for the industrial internet of things |
US11237546B2 (en) | 2016-06-15 | 2022-02-01 | Strong Force loT Portfolio 2016, LLC | Method and system of modifying a data collection trajectory for vehicles |
US11252488B2 (en) * | 2017-10-09 | 2022-02-15 | Telescent Inc. | Incrementally scalable, two-tier system of robotic, fiber optic interconnect units enabling any-to-any connectivity |
WO2018071341A2 (en) | 2016-10-10 | 2018-04-19 | Telescent Inc. | System of large scale robotic fiber cross-connects using multi-fiber trunk reservation |
CN108234310B (zh) * | 2016-12-12 | 2021-06-15 | 清华大学 | 多层次互连网络、自适应路由方法及路由设备 |
US10862755B2 (en) * | 2017-06-30 | 2020-12-08 | Oracle International Corporation | High-performance data repartitioning for cloud-scale clusters |
CN109327409B (zh) * | 2017-07-31 | 2020-09-18 | 华为技术有限公司 | 数据中心网络dcn、dcn中传输流量的方法和交换机 |
CN110073301A (zh) | 2017-08-02 | 2019-07-30 | 强力物联网投资组合2016有限公司 | 工业物联网中具有大数据集的数据收集环境下的检测方法和系统 |
US11442445B2 (en) | 2017-08-02 | 2022-09-13 | Strong Force Iot Portfolio 2016, Llc | Data collection systems and methods with alternate routing of input channels |
US10587997B2 (en) | 2017-12-01 | 2020-03-10 | At&T Intellectual Property I, L.P. | Facilitating wireless machine to machine communication solutions in 5G or other next generation networks |
US11431773B2 (en) * | 2019-06-13 | 2022-08-30 | Caffeine Inc. | Multicast broadcast network architcture |
US11531621B2 (en) | 2020-01-30 | 2022-12-20 | Microsoft Technology Licensing, Llc | Selective endpoint isolation for self-healing in a cache and memory coherent system |
US11698878B1 (en) * | 2020-04-12 | 2023-07-11 | Peraton Labs Inc. | Highspeed shared-memory optical network interfaces and topology |
CN111555830B (zh) * | 2020-04-30 | 2022-03-04 | 江苏中协智能科技有限公司 | 一种网络广播系统多音源组网方法 |
US11455575B1 (en) * | 2020-04-30 | 2022-09-27 | Marvell Asia Pte Ltd | System and methods for mesh architecture for high bandwidth multicast and broadcast network |
RU2753147C1 (ru) * | 2020-11-20 | 2021-08-12 | Федеральное государственное бюджетное учреждение науки Институт проблем управления им. В.А. Трапезникова Российской академии наук | Способ организации оптимальных отказоустойчивых многомерных торов на основе малопортовых маршрутизаторов и разветвителей дуплексных каналов |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6665495B1 (en) * | 2000-10-27 | 2003-12-16 | Yotta Networks, Inc. | Non-blocking, scalable optical router architecture and method for routing optical traffic |
CN1773958A (zh) * | 2004-09-01 | 2006-05-17 | 因特莱科迪克控股有限公司 | 用于可扩缩无拥塞交换系统的方法和装置 |
US20100020806A1 (en) * | 2008-07-22 | 2010-01-28 | Amin Vahdat | Scalable Commodity Data Center Network Architecture |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5898801A (en) * | 1998-01-29 | 1999-04-27 | Lockheed Martin Corporation | Optical transport system |
US5901260A (en) * | 1997-04-01 | 1999-05-04 | Lockheed Martin Corporation | Optical interface device |
US6728486B1 (en) * | 1999-06-09 | 2004-04-27 | Alcatel Communications, Inc. | Communication system and method with optical management bus |
US6735393B1 (en) * | 1999-09-24 | 2004-05-11 | Telenor, As | All-optical network with passive wavelength routers |
EP1102428A1 (en) * | 1999-11-19 | 2001-05-23 | BRITISH TELECOMMUNICATIONS public limited company | Optical communications system |
EP1137306A1 (en) * | 2000-03-24 | 2001-09-26 | BRITISH TELECOMMUNICATIONS public limited company | Optical signalling system |
US6631019B1 (en) * | 2000-07-05 | 2003-10-07 | Sri International | Reconfigurable multichannel transmitter for dense wavelength division multiplexing (DWDM) optical communication |
US6992980B2 (en) * | 2000-06-20 | 2006-01-31 | International Business Machines Corporation | System and method for enabling a full flow control down to the sub-ports of a switch fabric |
US6763191B1 (en) * | 2000-07-25 | 2004-07-13 | Eci Telecom Ltd. | Optical switching apparatus and methods |
CA2329098A1 (en) * | 2000-12-20 | 2002-06-20 | Nortel Networks Limited | Apparatus and method for control messaging in an optical network |
US6567576B2 (en) * | 2001-02-05 | 2003-05-20 | Jds Uniphase Inc. | Optical switch matrix with failure protection |
US6594045B2 (en) * | 2001-05-23 | 2003-07-15 | Tropic Networks, Inc. | Flexible optical network architecture and optical add/drop multiplexer/demultiplexer therefor |
US7162155B2 (en) * | 2001-09-04 | 2007-01-09 | Doron Handelman | Optical packet switching apparatus and methods |
US7236704B1 (en) * | 2001-11-14 | 2007-06-26 | Avanex Corporation | Optical add/drop multiplexer utilizing variable optical attenuator |
US7411980B2 (en) * | 2001-12-14 | 2008-08-12 | Broadcom Corporation | Filtering and forwarding frames within an optical network |
US7126970B2 (en) * | 2001-12-20 | 2006-10-24 | Tropic Networks Inc. | Communication system with balanced transmission bandwidth |
JP3788945B2 (ja) * | 2002-02-28 | 2006-06-21 | 株式会社東芝 | 多重化光伝送装置 |
US7099587B2 (en) * | 2002-05-22 | 2006-08-29 | Doron Handelman | Apparatus and method for delaying optical signals for optical buffering and optical storage applications |
US7200342B2 (en) * | 2002-06-06 | 2007-04-03 | The Aerospace Corporation | Direct-sequence spread-spectrum optical-frequency-shift-keying code-division-multiple-access communication system |
US7970279B2 (en) * | 2002-11-05 | 2011-06-28 | Lightfleet Corporation | N-way serial-channel interconnect |
US7796885B2 (en) | 2002-11-05 | 2010-09-14 | Lightfleet Corporation | Distribution optical elements and compound collecting lenses for broadcast optical interconnect |
WO2004042965A2 (en) | 2002-11-05 | 2004-05-21 | Lightfleet Corporation | Optical fan-out and broadcast interconnect |
US7349629B1 (en) * | 2002-11-26 | 2008-03-25 | Lockheed Martin Corporation | Methods and systems for creating a digital interconnect fabric |
US20050084267A1 (en) * | 2003-09-09 | 2005-04-21 | Arizona Board of Regents, a body corporate of the state of Arizona, acting for and on behalf of | Performance enhanced single-hop WDM network with heterogeneous protection |
US7724733B2 (en) * | 2005-03-31 | 2010-05-25 | International Business Machines Corporation | Interconnecting network for switching data packets and method for switching data packets |
US7751714B2 (en) * | 2006-04-20 | 2010-07-06 | Nec Laboratories America, Inc. | Centralized resource management in wavelength selective switch based wavelength cross connect systems |
DE102007008904A1 (de) | 2006-05-08 | 2007-11-15 | Abb Technology Ag | System und Verfahren zur automatisierten und strukturierten Übernahme von technischen Dokumenten und die Verwaltung der übernommenen Dokumente in einer Datenbank |
US7773539B2 (en) * | 2006-06-01 | 2010-08-10 | Cisco Technology, Inc. | Method for separation of IP+optical management domains |
US8849110B2 (en) * | 2007-05-10 | 2014-09-30 | Telefonaktiebolaget Lm Ericsson | Optical node |
US8649370B2 (en) * | 2007-05-17 | 2014-02-11 | Ciena Corporation | Systems and methods for programming connections through a multi-stage switch fabric with blocking recovery, background rebalancing, and rollback |
CA2711390A1 (en) * | 2008-01-04 | 2009-07-16 | Nyce Technology, Inc. | System and apparatus for providing a high quality of service network connection via plastic optical fiber |
WO2010090838A2 (en) | 2009-01-20 | 2010-08-12 | The Regents Of The University Of California | Reducing cabling complexity in large-scale networks |
US9063825B1 (en) * | 2009-09-21 | 2015-06-23 | Tilera Corporation | Memory controller load balancing with configurable striping domains |
JP5588374B2 (ja) * | 2011-02-08 | 2014-09-10 | 富士通テレコムネットワークス株式会社 | 光パケット交換システム、光パケット交換装置、および光パケット送信装置 |
JP5439408B2 (ja) * | 2011-02-09 | 2014-03-12 | 富士通テレコムネットワークス株式会社 | 光パケット交換システムおよび光パケット送信装置 |
WO2013033832A1 (en) * | 2011-09-09 | 2013-03-14 | Evertz Microsystems Ltd. | Signal router |
US9325604B2 (en) * | 2013-03-15 | 2016-04-26 | Plexxi Inc. | System and method for data center optical connection |
-
2013
- 2013-03-21 KR KR1020147029544A patent/KR20140139032A/ko not_active Application Discontinuation
- 2013-03-21 US US13/848,688 patent/US9674116B2/en active Active
- 2013-03-21 JP JP2015501921A patent/JP2015512584A/ja active Pending
- 2013-03-21 WO PCT/US2013/033390 patent/WO2013142742A1/en active Application Filing
- 2013-03-21 EP EP13715528.9A patent/EP2829078A1/en not_active Withdrawn
- 2013-03-21 CN CN201380013081.2A patent/CN104185999A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6665495B1 (en) * | 2000-10-27 | 2003-12-16 | Yotta Networks, Inc. | Non-blocking, scalable optical router architecture and method for routing optical traffic |
CN1773958A (zh) * | 2004-09-01 | 2006-05-17 | 因特莱科迪克控股有限公司 | 用于可扩缩无拥塞交换系统的方法和装置 |
US20100020806A1 (en) * | 2008-07-22 | 2010-01-28 | Amin Vahdat | Scalable Commodity Data Center Network Architecture |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105634953A (zh) * | 2015-12-30 | 2016-06-01 | 中国人民解放军国防科学技术大学 | 一种基于可见光通信的混合数据中心组网与路由方法 |
CN112039786A (zh) * | 2019-06-04 | 2020-12-04 | 清华大学 | 基于Torus网络的广播方法 |
CN112039786B (zh) * | 2019-06-04 | 2021-11-19 | 清华大学 | 基于Torus网络的广播方法 |
Also Published As
Publication number | Publication date |
---|---|
US9674116B2 (en) | 2017-06-06 |
US20140314099A1 (en) | 2014-10-23 |
JP2015512584A (ja) | 2015-04-27 |
WO2013142742A1 (en) | 2013-09-26 |
EP2829078A1 (en) | 2015-01-28 |
KR20140139032A (ko) | 2014-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104185999A (zh) | 分组流互联架构 | |
Chen et al. | The features, hardware, and architectures of data center networks: A survey | |
US10693767B2 (en) | Method to route packets in a distributed direct interconnect network | |
Agrawal et al. | Simulation of network on chip for 3D router architecture | |
Guay et al. | vFtree-A fat-tree routing algorithm using virtual lanes to alleviate congestion | |
Liu et al. | PSNet: Reconfigurable network topology design for accelerating parameter server architecture based distributed machine learning | |
KR101541534B1 (ko) | 광학 네트워크 온 칩의 광 라우터 설계 장치 및 방법 | |
Bogdanski | Optimized routing for fat-tree topologies | |
Zhang et al. | Efficient all-to-all broadcast in Gaussian on-chip networks | |
Erickson et al. | An optimal single-path routing algorithm in the datacenter network DPillar | |
Wu et al. | Say no to rack boundaries: Towards a reconfigurable pod-centric dcn architecture | |
Junior et al. | ACO approach in static routing for network-on-chips with 3D mesh topology | |
US7751344B2 (en) | Computer system and method using a kautz-like digraph to interconnect computer nodes and having control back channel between nodes | |
Liu et al. | Topologies in distributed machine learning: Comprehensive survey, recommendations and future directions | |
Duan et al. | MCL: A cost-efficient nonblocking multicast interconnection network | |
Rahman et al. | Dynamic communication performance of a TESH network under the nonuniform traffic patterns | |
Gavrilovska | Attaining high performance communications: a vertical approach | |
Guo | Data Center Networking: Network Topologies and Traffic Management in Large-Scale Data Centers | |
Veeraprathap et al. | Network on chip design and implementation on FPGA with advanced hardware and networking functionalities | |
Venkateswara | Evaluation Of Robustness of Blind Wavelet-Based Image Watermarking | |
Sekhar | Network on chip design on FPGA with advanced Hardware and Networking Functionalities. | |
Rao | Contrast Enhancement Techniques for Gray Scale Images | |
Guo | State-of-the-Art DCN Topologies | |
Qin et al. | Orchid: enhancing HPC interconnection networks through infrequent topology reconfiguration | |
Guo | Data Center Networking |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20141203 |