CN1954637A - 用于计算和数据存储管理的可升级网络 - Google Patents
用于计算和数据存储管理的可升级网络 Download PDFInfo
- Publication number
- CN1954637A CN1954637A CNA2005800151301A CN200580015130A CN1954637A CN 1954637 A CN1954637 A CN 1954637A CN A2005800151301 A CNA2005800151301 A CN A2005800151301A CN 200580015130 A CN200580015130 A CN 200580015130A CN 1954637 A CN1954637 A CN 1954637A
- Authority
- CN
- China
- Prior art keywords
- controlled switch
- message
- request
- devices
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims description 13
- 238000013500 data storage Methods 0.000 title claims description 5
- 238000004891 communication Methods 0.000 claims abstract description 12
- 238000000034 method Methods 0.000 claims description 27
- 230000005540 biological transmission Effects 0.000 claims description 26
- 230000006870 function Effects 0.000 claims description 22
- 230000015654 memory Effects 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 230000008878 coupling Effects 0.000 claims 21
- 238000010168 coupling process Methods 0.000 claims 21
- 238000005859 coupling reaction Methods 0.000 claims 21
- 239000012634 fragment Substances 0.000 claims 2
- 241001269238 Data Species 0.000 claims 1
- 230000008676 import Effects 0.000 claims 1
- 238000003032 molecular docking Methods 0.000 claims 1
- 230000004044 response Effects 0.000 claims 1
- 238000005728 strengthening Methods 0.000 claims 1
- 238000005516 engineering process Methods 0.000 description 22
- 238000013461 design Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000003780 insertion Methods 0.000 description 6
- 230000037431 insertion Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 230000009191 jumping Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 239000000571 coke Substances 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 238000006386 neutralization reaction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- ODAOZWTYNWZSBY-SPIKMXEPSA-N (z)-but-2-enedioic acid;6-[2-(1h-imidazol-5-yl)ethylamino]-n-[4-(trifluoromethyl)phenyl]heptanamide Chemical compound OC(=O)\C=C/C(O)=O.OC(=O)\C=C/C(O)=O.C=1N=CNC=1CCNC(C)CCCCC(=O)NC1=CC=C(C(F)(F)F)C=C1 ODAOZWTYNWZSBY-SPIKMXEPSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000004387 environmental modeling Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- XOFYZVNMUHMLCC-ZPOLXVRWSA-N prednisone Chemical compound O=C1C=C[C@]2(C)[C@H]3C(=O)C[C@](C)([C@@](CC4)(O)C(=O)CO)[C@@H]4[C@@H]3CCC2=C1 XOFYZVNMUHMLCC-ZPOLXVRWSA-N 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 239000002210 silicon-based material Substances 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
Images
Classifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/254—Centralised controller, i.e. arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/50—Overload detection or protection within a single switching element
- H04L49/501—Overload detection
- H04L49/503—Policing
Abstract
通信设备包含能够传送受调度消息并与多个器件对接的受控交换器和能够传送不受调度消息并与多个器件对接的不受控交换器。不受控交换器生成调度受控交换器中的消息的信号。
Description
相关专利和专利申请
本发明公开的系统和操作方法涉及在如下专利和专利申请中公开的主题,特此全文引用以供参考:
1.美国专利第5.996.020号,发明名称为“多级最小逻辑网络(A MultipleLevel Minimum Logic Network)”,发明人为Coke S.Reed;
2.美国专利第6,289,021号,发明名称为“用在互连结构中的可升级短等待时间交换器(A Scalable Low Latency Switch for Usage in an Inter-conncet Structure)”,发明人为John Hesse;
3.美国专利申请第09/693,359号,发明名称为“多路虫孔互连(MultiplePath Wormhole Interconnect)”,发明人为John Hesse;
4.美国专利申请第09/693,357号,发明名称为“可升级虫孔路线选择集中器(Scalable Wormhole-Routing Concentrator)”,发明人为John Hesse和Coke Reed;
5.美国专利申请第09/693,603号,发明名称为“用于并行计算和并行存储器存取的可升级互连结构(Scalable Interconnect Structure forParallel Computing and Parallel Memory Access)”,发明人为John Hesse和Coke Reed;
6.美国专利申请第09/693,358号,发明名称为“利用服务质量管理的可升级互连结构(Scalable Interconnect Structure Utilizing Quality-of-Service Handing)”,发明人为Coke Reed和John Hesse;
7.美国专利申请第09/692,073号,发明名称为“在利用数条控制线的多级最小逻辑网络中提高吞吐量的可升级方法和设备(Scalable Method andApparatus for Increasing Throughput in Multiple Level Minimum LogicNetworks Using a Plurality of Control Lines)”,发明人为Coke Reed和John Hesse;
8.美国专利申请第09/919,462号,发明名称为“用于带有智能控制的可升级无拥塞切换系统的装置和设备(Means and Apparatus for a ScalableCongestion Free Switching System with Intelligent Control)”,发明人为John Hesse和Coke Reed;
9.美国专利申请第10/123,382号,发明名称为“受控共享存储器智能切换系统(A Controlled Shared Memory Smart Switch System)”,发明人为Coke S.Reed和David Murphy。
背景技术
互连网技术是范围从超级计算机到网格状计算交换器再到数量越来越多的路由器的计算和通信产品的基础部分。但是,现有互连技术的特性导致依赖于该技术的系统的升级受到严重限制。
例如,即使过去十年在超级计算机方面取得一些进步,超级计算机互连网的等待时间继续限制着在成本方面有效地满足在基本物理学、气候和环境建模、DND序列中的模式匹配等领域中产生的高强度数据传输计算问题的要求的能力。
例如,在Cray T3E超级计算机中,处理器以三维双向圆形环的方式互连。由于结构的等待时间,对于涉及高强度数据传输的一类计算内核,平均来说,95%到98%的处理器在等待数据的时候是闲着的。此外,在这种结构中,计算机中的大约一半线路板是网络线路板。因此,个人计算机上的浮点运算可以比在这种机器上进行的浮点运算昂贵高达100倍。
随着微处理器的计算能力和并行计算的成本两者的增加,逐渐形成了提供可替代并行处理平台的联网高端工作站的概念。对群集计算的成本有效解决方案的基础是带宽宽和等待时间短的可升级互联网。到目前为止,这些解决方案依赖于诸如Myrinet和QsNet之类的专用硬件。
利用Myrinet和QsNet的小型切换系统具有合理宽的带宽和适度短的等待时间,但是,就成本和等待时间而言,系统的升级遭遇到在超级计算机网络中发现的相同问题,因为两者都基于连接在多节点配置,譬如,Clos网络、胖树或圆形环中的小型纵横交换器结构。由纵横交换器组成的大型互连基本上受到限制。
随着线路速度增加到OC192,在最多32个端口已成惯例的当今因特网协议(IP)路由器中已经达了类似的升级极限。
在探寻满足许多产业中的下一代应用的不断提高要求的“可升级”互连结构方面,人们已经花了许多年时间来研究和开发。但是,即使这些年来在结构的能力方向已经取得明显的渐变进步,现有的结构仍然不能以成本有效的方式满足逐渐提高的要求。
发明内容
本发明的通信设备包含能够传送受调度消息并与多个器件对接的受控交换器和能够传送不受调度消息并与多个器件对接的不受控交换器。不受控交换器生成调度受控交换器中的消息的信号。
附图说明
通过参照如下描述和附图可以最好地理解与结构和操作方法两者有关的例示性系统和相关技术的实施例。
图1A是例示与受调度网络和不受调度网络两者连接的多个计算和数据存储器件的示意性方块图;
图1B是示出外加与不受调度交换器相联系的控制线的描绘在图1A中的系统和示意性方块图;
图1C是描绘带有分解成一组小型交换器(例如,交叉交换器(crossbarswitch))的辅助交换器的如图1A和1B所示的系统的方块图。本发明涉及为了在所有器件之间传递数据互连多个器件的方法和装置。该器件包括:1)诸如工作站之类的计算单元;2)超级计算机中的处理器;3)位于单个芯片上的处理器和存储器模块;4)存储区网络中的存储器件;和5)与广域网、局域网、或因特网的入口,但不局限于这些。本发明还涉及通过互连结构对数据传递的管理。
图2是示出适合用在传送不受调度业务中的交换器的示意性方块图;
图3是示出适合用于传送受调度业务的交换器的示意性方块图;
图4是例示将数据从受调度网络传送到受调度网络外部的器件的连线的示意图;
图5A是例示用多个芯片上的交换器取代单个交换器芯片,导致每个芯片的引脚数减少的方块图;
图5B是例示在具有至少一个单独交换器芯片不接收来自每个器件的数据的特性的系统中,用多个芯片上的交换器取代单个交换器芯片的示意性方块图;和
图6A到6D是例示带有以“立体扭绞(twisted cube)”配置连接的多个MLML网络的系统的示意性方块图。所示的网络适合用在受调度或不受调度配置中。图6B例示了利用外加调度消息的逻辑单元的如图6A所示的拓扑结构的网络。图6C示出了从作出数据请求的器件到数据发送器件的消息分组路径。图6D例示了从数据发送器件通过调度逻辑单元到请求数据的器件的消息返回路径。
详细描述
在各种各样的计算和通信系统中,处理器和存储器件通过网络通信。当短的等待时间和宽的带宽很重要时,在引用的相关专利和同时待审申请中所述的互连结构可用于互连大量器件。例示的互连具有自选路线的特性,从而使性能得到提高。网络同时将多个分组传送给特定网络输出端口的能力也是有用的。
参考文献1、2、3、4、6和7讲述了创新的互连结构的变体的拓扑结构、逻辑和使用。这种结构在参考文献1被称为“多级最小逻辑(MLML)”网络,而在其它地方被称为“数据旋涡(data vortex)”。参考文献8示出了如何可以将数据旋涡用于构建包括路由器在内的下一代通信产品。混合技术多线程(HTMT)千万亿次浮点计算机使用了MLML网络的光学形式。在那种结构中,所有消息分组具有相同的长度。参考文献5讲述了网络内并行计算和并行存储器存取的方法。
因特网协议(IP)路由器技术规范基本上与计算和存储区网络(CASAN)技术规范不同。在路由器环境下,由于到达交换器的消息分组以输出端口为目标,所以网络主要是“输入驱动的”。输入驱动系统的一个任务是仲裁以同一输出端口为目标的消息。如果比系统能够管理的消息多的消息以给定输出端口为目标,就丢弃一些消息。路由器可以用于丢弃优先级低的消息,并发送优先级高的消息。在利用“请求处理器”的参考文献8中讲述了对可升级下一代路由器的有效仲裁和网络调度管理。给定请求处理器仲裁以那个请求处理器管理的输出端口为目标的所有消息。在CASAN系统中,网络主要是“输出驱动的”,因为位于给定网络输出端上的器件请求发送数据。输出驱动端口器件不请求比可以管理的数据多的数据,以便可以避免数据的丢弃。
为了在所述器件之间传递数据,例示的技术和结构能够互连多个器件。这些器件包括:1)诸如工作站之类的计算单元;2)超级计算机中的处理器;3)位于单个芯片上的处理器和存储器模块;4)存储区网络中的存储器件;和5)进入广域网、局域网、或因特网的入口,但不局限于这些。这些技术进一步涉及对通过互连结构的数据的管理。
公开在上文引用的专利和专利申请中的系统、器件和功能可以用在超级计算、群集计算和存储区网络中。本公开描述了可以利用公开的系统、器件和功能实现的计算和存储区网络(CASAN)中的结构和方法。
按照一些实施例,系统能够响应来自网络输出端口器件的长消息请求和不中断地传送由多个分组或记录组成的长消息。系统操作包括两个部分,即,“受调度或受管理”输出驱动部分和“不受调度或不受管理”部分。受调度或受管理系统操作部分包括将数据传送到位于输出端口上的请求器件。不受调度或不受管理部分包括将数据发送到输出端口的请求。在网络中许多应用含有比不受调度业务多的受调度业务。公开的系统可以对互连结构进行空间-时间划分,以便有效地管理不受调度业务和受调度业务两者。
在一些实施例中,公开的系统可以将数条连线提供给被定位成接收来自网络的数据的器件。以器件为目标的数据可以以器件的所选端口为目标,从而方便地避免了消息重新组装。数据到达“适时”使用的处理器。“适时”计算模型消除了大型处理器高速缓冲和通过多线程微处理器结构隐藏存储器等待时间的必要性。数据以器件的给定端口为目标可以消除或缩短消息的操作码。例如,为了执行函数F(XA,XB)而向源A请求数据项XA和向源B请求数据项XB的处理器可以调度XA以输入端口PA中和调度XB以输入端口PB中,以便执行函数F的变元的到达触发将函数F应用于变量。可以将数据调度成流入某些处理器端口中和可以将数据调度成流出其它处理器端口,导致流畅的和非常有效的数据传输。在带有计算内核的应用中,流特征可用在线性代数、付里叶分析、搜索、分类和涉及繁重数据移动的大量其它计算任务中。在给定处理器芯片包含多个存储器内处理模块(PIM芯片)的情况下,可以配置不同数据路径,以便通过不同数据路径将数据传送给系统的不同模块。流可以以各种形式到来。例如,在一个应用中,可以将端口PA调度成在偶数时间接收来自第一处理器的数据和在奇数时间接收来自第二处理器的数据。网络的特性使计算的时间共享形式成为可能,因为,在通过数据接收端口调度数据以防系统过载的情况下,在给定周期进入网络的数据被调度成未来在固定时间周期离开网络。
公开在引用的相关专利和申请中的网络拓扑结构和控制系统的非常有用能力是,从源S流到目的地D的数据不使用从S到D建立的专用路径。事实上,由于在不同源和目的地对之间不断地和动态地建立和删除其它数据流,从S到D的数据将从路径移动到路径。在例示的数据网络中,从S到D的流将既不干扰也不接受来自网络中的其它数据流的干扰。
公开的系统可以被配置成具有加强服务质量的能力。
在各种各样实施例中,公开的是可以通过作为在所列相关专利和申请中所述的网络的变体的网络发送受调度数据和不受调度数据。在一个简单实施例中,受调度消息和不受调度消息经过分立的网络。一个特定示范性实施例包括两个网络:第一网络U传送不受调度消息分组和第二网络S传送受调度消息分组。所列参考文献8含有用作请求和回答交换器的不受调度网络。相反,数据交换器用作受调度网络。不受调度消息网络U可以是公开在相关参考文献2中那种类型的“平稳等待时间(flat latency)”或“双向下(doubledown)”网络。受调度网络S可以是使用例示成和用作数据交换器那种类型的“步进”设计的“平稳等待时间或双向下”网络。
对于在给定消息分组插入时间将多个消息插入网络U中,和N个消息以同一输出端口P为目标并穿过网络U到输出端口P存在不到N条的数据线的情况,一次最多N个消息从网络U传递到输出端口P。于是,一些消息回绕着圆柱体,和在一次或多次经过端口P之后移入输入端口P中。受调度网络是这样设计的:与输出端口P相对应,如果在给定消息调度时间从各种各样输入端口发送整数Pmax个或更少个消息,那么,所有消息不绕圆柱体运动地退出端口P,以便作出不止一次的尝试,在适当输出端口退出。为了保证Pmax个消息可以在输出端口P退出,将端口P设计成带有Pmax条或更多条与网络S的连线。
系统起如下作用:与不受调度消息网络U连接的器件可以自由地在任何消息发送时间将消息分组发送到网络U,但与受调度消息网络S连接的器件只可以在以前调度的时间将消息插入组合网络S中。一种操作方法,以及利用两种网络U和S的例子如下。
在第一个例子中,器件DA和DB每一个都与两种网络S和U连接。器件DA通过网络U将分组RP发送到器件DB和分组RP请求来自器件DB的所选数据。在带有从网络S到器件DA的数条连线和设计成将数据从网络S传送到器件DA的连线的实施例中,器件DA可以指定所选输入端口接收数据。请求分组RP也可以包括有关发送数据的一个或多个可接受时间的信息。在器件DB能够完成请求的情况下,从预定时间窗开始发送,依次将数据从器件DB发送到器件DA。在器件DB在分配的时段内不能发送所请求数据的情况下,该器件将回答消息分组发送到器件DA,指示不可能完成请求和可能对不同时间帧内的交替发送时间表作出建议。在器件DB能够完成请求的情况下,在所请求时间将数据发送到所请求端口。在一些情况下,例如,当器件DB可以根据多种时间选择发送数据时,器件DB将回答分组发送到器件DA。请求可以是发送包括从指定时间T开始的多个分组的数据组。如果是,数据将以连续流的形式和以相继的顺序到达,直到满足整个请求。器件DB的逻辑能够加强使用QoS的系统的服务质量(QoS)。QoS方法公开在相关参考文献8中。例如,在数条线路从器件DS连接到顶部交换器的情况下,可以为高QoS消息保留一条或多条线路。在许多网络应用中,系统能够加强服务质量的能力是非常有用的。
在第二个例子中,三个器件DA、DB和DC与两种网络S和U连接。器件DA可以请求器件DB在可以传输时将分组P0、P1、P2、...、Pk发送到器件DA的输入端口PT0,还可以请求器件DC在可以传输时将分组Q0、Q1、Q2、...、Qk发送到器件DA的输入端口PT1。器件DA使端口PT0和PT1保持打开,直到传输完成,完成可以通过使用一个或多个计数器、通过最后分组令牌、或通过其它技术或方法表示。器件DB和DC的每一个在可以时开始传输,和在K个相继分段传送插入时间内以依次的顺页序发送分组。
在第三个更复杂的例子中,三个器件DA、DB和DC以与在第二个例子中所述相同的方式与两种网络S和U连接。在时间T,器件DA请求器件DB在时间T+100+2*0、T+100+2*1、T+100+2*2、...、T+100+2*(K-1)将所选一组分组P0、P1、P2、...、Pk发送到器件DA的输入端口PT0。器件DA还请求器件DC在时间T+100+(2*0+1)、T+100+(2*1+1)、T+100+(2*2+1)、...、T+100+(2*K+1)将分组Q0、Q1、Q2、...、Qk发送到器件DA的输入端口PT0。于是,器件DA接收两种交织序列。调度考虑可以推断几个不受调度消息在器件DA、DB和DC之间的发送,直到受调度事件出现。序列的到达可能与器件DA调度函数F(P,Q)到又一个器件DX的发送一致,与在函数计算期间发生的F(P,Q)的发送一致。于是,器件DA可以借助于不用存储的通过计算函数的数据流,不用存储器地接收、计算和发送数据。
第四个例子综合了来自第二和第三个例子的特征。与前面一样,三个器件DA、DB和DC与两种网络S和U连接。在时间T,器件DA请求器件DB在时间T+100、T+100+1、T+100+2、...、T+100+(K-1)将分组P0、P1、P2、...、Pk发送到器件DA的输入端口PT0。器件DA还请求器件DC在时间T+100、T+100+1、T+100+2、...、T+100+(K-1)将分组Q0、Q1、Q2、...、Qk发送到器件DA的输入端口PT1。注意,器件DA的请求规定两组分组同时和同步到达,但到达不同输入端口。正如在第三个例子中注意到的那样,传输的调度只有通过可以重新协商第1分组的到达时间(T+100)、多个不受调度消息在器件DA、DB和DC之间的通信才有可能。器件DA请求分组P和Q形成有关每个分组的函数(function)F(P,Q)和将结果发送到器件DX。一旦到达器件DA的预期输入端口,器件DA就直接对分组对执行函数F(P,Q),当完成计算时,将结果转发到器件DX。
在可以在比接收分组经过的时间短的时间内执行函数F(P,Q)的情况下,可以在时间T+100到T+100+(K-1)上依次将序列传送到器件DA的输入端口PT0,和可以与P到PT0的传送同时地将序列Q传送到器件DA的输入端口PT1。在同一时间帧内,随着函数被计算,器件DA可以将序列F(P,Q)传送到DX。
在在预定器件的预先指定端口上调度N种流使之同时到达器件DX的情况下,总是有效的一种技术是使请求调度的器件将请求分组发送到N个不同处理器。请求分组包含开始发送的可用时间。接收请求的每个处理器发送应答分组,应答分组列出与在请求分组中规定的时间一致的处理器可用的时间。可用时间都包括[K,∞]形式的半条线集合。半条线的交点是接收节点以及所有发送节点可接受的最小成员。调度器件发送指示什么时候开始发送的另一个确认分组。接收原请求分组的器件保持一条线路在包括在回答分组中的时间上自由地传送数据,直到接收到确认分组。一旦接收到确认分组,发送器件就修改它们包含可用时间的表格。整个过程通过请求器件发送N个请求分组,让N个应答分组返回该器件,和最后,让请求器件发送N个确认分组来完成。
如果将所选个数的分组接收时间用于执行,例如,字母J代表的函数F(P,Q),可以指定J个处理器来执行任务,J个处理器的每一个适时地接收数据以便进行计算。随着结果被计算出来,J个处理器的每一个将结果发送到器件DX,以便器件DX通过预定指定输入端口以流的形式接收结果。
在这些例子中,利用了经过受调度网络的等待时间是固定常数的事实。固定等待时间是由在受调度网络的一些实施例中除去缓冲器造成的,和使处理器输入和输出队列的缓存得到避免。因此,数据流过受调度网络使数据可以数据到达适时出现地流过处理器,以便得到处理。
例示的例子例示了数据处理系统的一些能力。
参照图1A,该公开描述了含有包括网络U110和网络S120的多个网络,以及网络S和U与多个器件130连接的系统100。器件120可以包括能够计算的器件;能够存储数据的器件;能够用于计算和数据存储两者的器件;和形成到其它系统的网关的器件,这些系统包括因特网协议入口、局域和广域网、或其它类型的网络,但不局限于这些。一般说来,器件130可以包括能够发送和接收数据的所有类型的器件。
不受调度或不受控交换器
不受调度或不受控制网络交换器U通过线路112接收来自器件130的数据。交换器U通过线路114将数据发送到器件。受调度或受控制网络交换器S120通过线路122接收来自器件的数据,和通过辅助交换器AS140将数据发送到外部器件。数据通过线路124从网络S120传递到辅助交换器140,和通过线路126从辅助交换器140传递到器件D。
与图2结合在一起地参照图1B,该示意性方块图示出了在公开在合并到本公开中以供参考的相关参考文献2中那种类型的“平稳等待时间交换器”中的节点NA 202的阵列的互连。网络110包含按行列排列的节点阵列202。网络110相当好地适合用在不受调度网络U中和用在例示的实施例中。网络110是自选路线的,和能够同时将多个消息传送到所选输入端口。此外,网络110具有宽的带宽和短的等待时间,和可以以适合放在单个集成电路芯片上的尺寸实现。在单列上通过线路112将数据从网络110外部的器件D130发送到交换器,和通过线路114离开以器件为目标的交换器。线路114被定位成通过多个列将数据从网络U110传送到器件130。除了数据传送线之外,控制线118用于阻止消息进入到网络U110的最高级上的节点的结构。控制线118用在互连顶级上的消息分组被定位成在与消息分组从网络U110结构的外部进入互连结构相同的时间进入同一节点的情况下。在在集成电路芯片上实现互连结构的情况下,可以将控制信号118从顶级节点发送到将消息发送到网络U110的器件130。
一个实施例含有将控制信号传送到外部器件的N个引脚,一个引脚对应于一个器件。在其它实施例中,更少或更多的引脚可以专用于传送控制信号的任务。
在未示出的另一个实施例中,长度大于N的先进先出器件(FIFO)和单个引脚,或在应用微分逻辑的情况下一对引脚用于将控制信号传送到D0、D1、...、DN-1。在时间T0,引脚将控制信号传送到器件D0。在时间T0+1,引脚为器件D1传送控制信号,以此类推,以便在时间T0+k,引脚为器件DN+K传送控制信号。将控制信号传送给未示出的控制信号分散器件,控制信号分散器件再将信号传送给适当的器件。
在也未示出的第三实施例中,将数据从线路112传送到网络U110的引脚也将控制信号从网络U传递到外部设备。在第三实施例中,定时是这样安排的,用时间间隔将一个消息的最后一位与下一个消息的第一位分开,使引脚沿着相反方向传送数据。第二和第三实施例减少了引脚数。
除了从网络U到外部器件的控制信号之外,还将控制信号从外部器件传送到网络U。控制信号的用途是保证外部器件输入缓冲器不会溢出。在缓冲器没有足够的容量接受来自网络U的另外分组的情况下,外部器件130通过线路118将信号发送到网络U,以指示这种状况。在一个简单的实施例中,当器件D的输入缓冲器没有足够的容量容纳从网络U110到器件D130的可以通过所有线路114在单个周期内接收的所有数据时,发送包含,例如,单个位的信号。如果发送阻止信号,向定位成通过线路114发送数据的所有节点广播信号。减少出自网络U的控制信号的引脚数的两种技术可以用于减少进入网络U的控制信号的引脚数。
受控交换器
参照图3,该示意性方块图示出了传送受调度数据的受控制或受调度交换器或网络S120的实施例。交换器120包含作为描述在参考文献2中的“平稳等待时间交换器”的一个子集的交换器中的互连节点阵列202。该交换器包含所公开平稳等待时间交换器的一些节点阵列,但不是全部。省略的节点阵列是多余的,因为交换器的流入得到调度,使得根据Monte Carlo(蒙特卡罗)模拟,即使留在结构中,消息也决不会进入省略的节点中。该交换器作为交换器S120的中心,是非常有用的,并且,因此用在应用一个或多个交换器的实施例中。
数据通过线路122单列地从器件130传送到交换器120,和通过线路124多列地从交换器120退出,进入如图1A和1B所示的辅助交换器AS140。如图1C所示,辅助交换器140由多个较小的交叉交换器组成。在图3中,示出了从受控交换器120接收数据的一个交叉交换器150。数据通过线路126从辅助交换器140传递到交换器外部的器件130。交换器S120可以没有控制信号或控制信号传送线地工作,万一几个消息进入交换器120,就警告外界发生消息冲突,因为消息不回绕交换器120的顶级。由于相同的原因,受调度交换器S120可以没有先进先出器件(FIFO)或其它缓冲器地工作。
控制通过交换器S120的业务的一种方法是通过交换器U110发送请求分组,这是许多应用,包括存储阵列网络(SAN)应用的有效方法。在涉及并行计算,包括群集计算的另一种应用中,通过交换器S的数据由管理计算的编译器调度。系统具有使一部分受调度网络由网络U来控制和使一部分受调度网络由编译器来控制的灵活性。
辅助输出交换器
参照图4,该示意性方块图示出了通过辅助交叉交换器XS 150从网络S的输出行到外部器件130的互连。交换器S的输出行包含节点422和连线420,而辅助交叉交换器XS 150由如图5A所示的多个较小交换器XS 150组成。从交换器S到目标器件的输出连线比从交换器U到目标外部器件的输出连续复杂。
图4例示了交叉XS交换器模拟基本功能。该交换器被例示成6×4个交换器,六条输入线124从传输线420上的多个节点422到外部器件D130的四个输入缓冲器B0、B1、B2和B3。在六条输入线当中,在发送周期内,不多于四条可以是有信号的(hot),例如,传送数据。由于每个请求处理器确保没有两个以同一引脚为目的地的分组可以在任何周期内到达输出行,交换器XS可以是简单交叉交换器。由于每个消息分组以外部器件130中的分立引脚为目标,所以没有冲突地设置交换器。逻辑单元414设置定义通信路径的交叉点。由于每个单元控制纵横交换器的单个列,可以避免逻辑单元之间的通信。延迟FIFO 410可以用于使到交换器的分段的输入同步。由于分段的首标位从一个节点行进到下一个节点要消耗掉两个时钟周期,和两个极端节点是相隔11个节点,22个周期的延迟FIFO用于最左边节点。其它FIFO值反映了含有到交换器的输入线的线路上节点离最后节点的距离。在例示的例子中,交换器U,S和辅助交换器具有固定尺寸和在第0级输出行上输出端口的位置是预定的。给出尺寸和位置数据只是为了例示的目的,和关于尺寸公开的概念可应用于其它尺寸的系统。
在图4的例示性例子中,节点的单个底行供给单个器件D130。在其它例子中,单行可以供给多个器件。在别的其它例子中,多行可以供给单个器件。于是,系统支持不同尺寸和类型的器件。更有效的设计包括从网络的底行到辅助交换器的线路比从辅助交换器到外部器件的线路多。该设计以非常有效的方式从网络中除去数据,以便不会产生消息回绕。
许多控制算法可与例示的结构一起使用。这些算法可以用硬件、软件、或硬件和软件的组合实现。
使用多个交换器来减少引脚数
与图3和图4结合在一起地参数图1A,该示意性方块图例示了与N个外部器件D130连接的MLML网络120。对于每个外部器件D,如图1A所示的系统100含有从器件D到网络的一条线路和从网络到器件D的四条线路。在带有处在与多级最小逻辑(MLML)网络相同的集成电路芯片上的辅助交换器AS140的实施例中,网络S120的网络芯片含有N条输入线和4*N条输出线。
图5A例示了网络S140由分布在四个集成电路芯片上的四个相同网络S0 *、S1 *、S2 *和S3 *520组成的配置。单个辅助交换器AS140与四个网络520相联系。图5A示出了带有外部器件Dn的配置。与器件Dk的输入和输出连线被详细例示出来。器件Dk的含有四条输出线112,使数据可以发送到四个网络芯片S0 *、S1 *、S2 *和S3 *520的每一个。例示的网络芯片每一个都含有被定位成将数据发送到与器件Dk相联系的辅助交叉交换器XSK的三条数据线。交换器XSK含有12条输入线124和8条输出线126。用在本例中的线数只是为了例示的目的。用在实际器件中的线数是任意的。如图5A所示的四个S*网络的每一个都含有N个输入端口和3*N个输出端口。因此,将3N与4N相比,每个S*网络含有比参照图1到4所述的网络S140稍微少一些的端口。S*网络可以是N+1级双向下MLML网络。与S*网络连接的器件D130含有两倍于与网络S连接的器件的输入端口和四倍于它的输出端口。因此,该配置增加了外部器件的输入/输出(I/O)能力,却减少了网络集成电路芯片的I/O。
调度传输的器件D,尤其,接收器件存取与器件D输入缓冲器的可用性有关的信息。在如图5A所示的实施例中,接收器件D还使用与从S*网络到与器件D相联系的交叉XS交换器的线路124的未来状态有关的信息。请求分组包含与输入缓冲器的可用性和状态有关的信息。发送器件返回指示将得到使用的S*交换器的回答分组。信息由数据接收器件保存,用在阐述线路124的可用性的未来请求分组中。于是,请求器件指定接收消息分组的输入缓冲器和发送器件指定要应用的S*器件。由于器件请求数据可以给予发送器件选择可用S*交换器的权利,发送器件找出自由输出端的概率增加了。
该设计减少了集成电路芯片上的总引脚数,却增加了外部器件的输入端口数和输出端口数。在许多技术中,MLML网络技术受到引脚限制,因为,对于特定设计和特定集成电路芯片,由于做成这样的硅材料充沛,级数可以加倍。但是,在许多情况下,考虑到封装问题,集成电路芯片上的引脚数不能加倍。使用多个S*交换器可以使器件数增加到超过单个集成电路芯片可以供应的器件数。由于MLML芯片的功率的相当大一部分消耗在输出端口上,取决于特定集成电路设计,网络分布在多个集成电路芯片上也可以减少每个芯片的功率使用和生成的热量。
在如图5A所示的实施例和例子中,可以用单个芯片取代四个集成电路芯片。但是,例示的技术是通用的,和在配置中可以使用任意数量的集成电路芯片。该技术甚至可以推广到如图5B所示的情况,在这种情况下,器件不能接收到每个S*交换器的输入数据,而只能接收到一小组交换器的输入数据。该技术使进一步减少每个外部器件的交换器引脚数成为可能。这样,通过加倍集成电路芯片上的网络的尺寸,可以加倍器件的数量,但不会增加芯片上的引脚数。
多种方案都可以用于将功能设置在多个集成电路芯片上。例如,可以在单个芯片上放置多个交叉XS交换器,每个XS交换器能够接收来自每个S*交换器的数据。在另一个实施例中,可以将单个XS交换器放置在与单独S*芯片相同的芯片上。图5A和相关描述讲述了如何用多个网络S*取代单个S,以便减少引脚数和增加吞吐量。用多个网络U*取代单个U的技术类似,但稍微简单一些,可以由本领域的普通技术人员具体实施。
本领域的普通技术人员应该认识到,这里,可以实现以多种配置在各种芯片上分布功能的广泛的实施例。
连接多个网络构建大型系统
使用多个交换器减少引脚数的公开技术使以每个消息分组只经过单个芯片的方式,利用多个集成电路芯片构造超大型网络成为可能。该技术减少了功耗,缩短了等待时间,和简化了逻辑。
为了构建支持数万个,甚至数十万个主机的网络,可以使用消息经过不止一个集成电路芯片的其它结构。如图6A所示的网络示范了可以用作不受控制和受调度网络的那种类型配置。在如图6A所示的网络中,消息经过两个交换器芯片。在单个集成电路芯片设计允许互连2N个器件的情况下,该设计可以使用2N个这样的交换器芯片互连2N个器件。该配置被描述成立体扭绞结构和公开在相关参考文献2中。如图6A到6D所示的立体扭绞设计的一个特性是,对于每个底部交换器BX,下标最小的器件通过线路610与交换器T0连接,下标次最小的器件通过线路610与交换器T1连接,以此类推,以便相对下标最大的最后器件通过线路610与交换器TM-1连接。一般地说,器件DXM被连接成从交换器BX接收数据和将数据发送到交换器T0。器件DXM+1被连接成从交换器BX接收数据和将数据发送到交换器T1。器件DXM+2被连接成从交换器BX接收数据和将数据发送到交换器T2,以此类推,直到最后,器件DXM+M-1被连接成从交换器BX接收数据和将数据发送到交换器TM-1。
如图6A所示的网络利用如图2所示那种类型的交换器传送不受调度消息。在图6A中未例示出控制线。受调度消息利用如图3所示那种类型的交换器。
如图6B所示的网络传送一个目的是调度通过如图6A所示的网络的其它消息的不受调度消息。如图6B所示的例示性网络是如图6A所示那种类型的立体扭绞网络,但外加了逻辑单元650。如图6B所示那种类型的网络用于调度如图6A所示那种类型的网络中的消息。
在图6A的设计中,从第一外部器件D1传递到第二外部器件DK的消息分组P通过数据传送线610从D1发送到第一或顶部MLML交换器TX620。顶部交换器将K的二进制表示的前N个位用于通过线路618将出自N个输出端口组之一的消息分组P发送到与目标器件DK连接的底部交换器BY630。顶部交换器不含有辅助交换器,但可以,例如,以如图4所示的FIFO的方式使用各种长度的FIFO移位寄存器,使一个周期内的所有数据同时离开移位寄存器和同时进入底部交换器。在不受控制实施例中,底部交换器以在与图2有关的描述中所述的方式与外部器件连接。在受控制实施例中,底部交换器以在与图3有关的描述中所述的方式与外部器件连接。
在如下的讨论中,如图6A所示的受调度网络可以被当作网络或交换器S,和如图6B所示的不受调度网络可以被当作网络或交换器U。交换器U可以用于调度通过交换器S的消息分组。为了调度通过网络S从发送器件DS到接收器件DR的包括多个分组的消息,可以通过网络U将请求分组RP从器件DR发送到器件DS。该请求分组用于发起时通过网络S从DS到DR的数据的调度。当器件DS接收到请求时,器件DS处理该请求,然后,将回答分组AP发送回到器件DR。
该方法照上文的描述来做,一种例外是,除了当器件DS自由地发送数据和器件DR自由地接收数据时安排时间间隔之外,时间间隔被安排成从与器件DS连接的适当顶部交换器到与器件DR连接的底部交换器的带宽足够宽。这种安排受处在适当数据路径上的逻辑单元650控制。器件DR将请求分组发送到识别请求数据的器件DS,和时间器件DR可以接收该数据。数据接收时间受如下限制:1)输入线616并与器件DR的相关输入端口的未来受调度使用;和2)器件DR输入缓冲器的未来受调度使用。请求分组首标包含器件DS的地址和指示分组可以不受逻辑单元检查地通过的标志。有效负载信息阐述请求的数据大小和发送到器件DR的可用时间的列表。
从器件DR到器件DS的路径例示在图6C中。虽然器件DR和DS的选择是完全任意的,但在图6C中,器件被指定成R=0和S=M+1。分组RP通过线路610行进到顶部交换器,举例来说,交换器T0。在一个简单实施例中,数条线从器件DR延伸到顶部交换器。分组RP沿着虚线经过顶部交换器和沿着通过逻辑单元650与连接到器件DS的底部交换器连接的线路612退出顶部交换器。因为设置了标志,请求分组RP不受逻辑单元检查地经过逻辑单元,举例来说,单元L1。分组PR在逻辑单元中可能被延迟,在逻辑单元发送时间退出逻辑单元。分组RP向下前进到线路614,再前进到底部交换器,举例来说,交换器B1。用于路由分组的地址位被顶部交换器丢弃,和用于路由分组RP经过底部交换器的位处在适合路由的位置。分组RP沿着虚线经过底部交换器。然后,分组RP经过线路616到达器件DS。
根据输出线的未来受调度使用,器件DS逻辑确定可以发送数据的一个或多个时间间隔。器件DS可以没有与发送的数据有关的信息地起作用。器件DS将指示所选时间的回答分组AP发送到器件DR。如果没有与请求分组时间一致的时间可用,器件DS在回答分组AP中发送拒绝消息。
请求格式取决于整个系统操作。在一个例子中,请求涉及在时间窗[T,T+Δ]内发生的长度为δ的时间保留,Δ≥δ。请求可以规定数据只以一种流的方式到来,或请求可以允许数据以几种流的方式到来,在流与流之间存在时间间隔。只要器件在时间窗[T,T+Δ]内存在自由输出端时间,器件DS就可以接受请求。相关参考文献8公开了在请求和回答分组中交换调度时间的方法。与在单个芯片网络S中一样,器件DS的逻辑可以加强利用QoS的系统中的服务质量(QoS)。QoS方法公开在相关参考文献8中。例如,在数条线610从器件DS延伸到顶部交换器的情况下,可以为高QoS消息保留一条或多条线。系统加强服务质量的能力促进了有效通信,甚至对于超大型系统。在回答分组传送拒绝消息的情况下,回答分组AP含有指示数据可以不受逻辑单元检查地经过的标志。在一个或多个时间可用的情况下,在回答分组AP中指示时间,和设置分组要受逻辑单元检查的标志。在拒绝或接受的情况下,器件DS都将回答分组发送到器件DR。
在图6D中示出了回答分组AP从器件DS到器件DR的路径,其中,器件DS被例示成DM+1和器件DR被例示成D0。通过线路610将回答分组AP从器件DS发送到顶部交换器620,和根据首标信息,例示成T1的顶部交换器将回答分组AP路由到例示成B0的底部交换器,例示成B0的底部交换器将数据发送到器件DR。从顶部交换器到底部交换器的线路经过逻辑单元650的所选逻辑单元652。从顶部交换器到底部交换器的交换器U中的路径包含:1)将顶部交换器中的虚线与带阴影逻辑单元连接的线路612;2)逻辑单元652;和3)将带阴影逻辑单元与底部单元中的虚线连接的线路614。该路径对应于如图6A所示的交换器S中的单条线路618。
利用经过逻辑单元652的回答分组AP调度被调度成向下到达网络U中的相应线路的所有数据。在该例子中,利用经过逻辑单元652的回答分组AP调度被调度成使用从交换器T1的输出端口0到交换器B0的线路614的所有数据。逻辑单元652跟踪经过逻辑单元652的交换器U中的所有数据的未来可用性。于是,逻辑单元652可以从在请求数据从交换器S中的器件DS行进到器件SR的回答分组中指定的一组可用时间中选择一个时间间隔或多个时间间隔。
如果回答分组指示没有时隙可用,逻辑单元使回答分组不加改变地经过。如果回答分组带有与逻辑单元可用时间不一致的器件DS可用时间地到达逻辑单元,那么,逻辑单元将回答分组从接受改变成拒绝。当请求分组时间与逻辑单元可用时间一致时,逻辑单元选择和调度要发送分组的时间,和改变回答分组AP以指示受调度时间。逻辑单元通过从可用时间列表中删除受调度时间更新时间可用表,和终止与这个调度过程有关的活动。
器件DR将指示接受或拒绝,和在接受的情况下,调度的时隙的修改回答分组发送到器件DS。如果器件DS发送多个时间,但只有一个时间被逻辑单元接受,在器件DR通过器件DS从逻辑单元接收到回答分组之前,器件DR不能指定所选时隙。如果器件DS含有数条输出线610,则器件DR在回答分组中发送的一组时间不限于可用时间列表。
如果器件DS正在等待接收来自逻辑单元652的修改回答分组,在回答请求返回之前,器件DS可能将一个或多个请求分组保存在存储器中。由逻辑单元改变的回答分组含有设置成指示分组可以不受另一个逻辑单元检查地经过的值的标志。器件DR可以通过在稍后时间重新提交请求,或者,如果所需数据处在不止一个的位置上,通过向第二位置请求数据,对接收的拒绝作出响应。可以将不受调度网络过设计(over-engineered)成流畅地运行。可选地,可以将不受调度数据线设计成具有与受调度数据线不同的带宽。
如果不能为发送调度数据,可以将数据复制到与不同底部交换器连接的器件上。这些器件可以存取便于网络控制的一群请求和回答分组。
控制通过交换器S的业务的一种方法是通过交换器U发送请求分组,这是许多应用(包括SAN应用)的有效方法。例如,在包括群集计算的并行计算应用的例子中,通过网络S传送的数据由管理计算的编译器调度。可以简单地用与进行群集计算的所选一小组底部交换器连接的所有器件划分网络S,而与其它底部交换器连接的另一组器件用作其它计算和数据移动的目的。
可替代多网络方案
大型系统互连方案的第二个例子将器件安排成多维阵列。首先处理二维情况。将器件排列成行和列。一行中处理器的数量可以与一列中处理器的数量不同。每行和每列包含M个处理器。器件D(0,0)、D(0,1)、...、D(0,M-1)可以处在第1行中,器件D(1,0)、D(1,1)、...、D(1,M-1)可以处在第2行中,和器件D(M-1,0)、D(M-1,1)、...、D(M-1,M-1)可以处在第最后一行中。每个器件与两个不受调度网络和两个受调度网络连接。M个不受调度网络的每一个与一列中的M个器件连接。M个受调度网络的每一个也与一列中的M个器件连接。每行包含通过不受调度网络和也通过受调度网络连接的M器件。器件与网络之间的双向连线包括数据线、控制线、交换器和FIFO。这些互连线与如图1A到图4所示的连线相同。互连线包括传送数据的线路和将控制信号从器件传送到不受调度网络的线路116。线路还可以包括传送数据的线路114和将控制信号从不受调度网络传送到器件的线路118。互连线可以在器件与不受调度网络之间传送数据。数据通过线路122从器件行进到受调度网络。数据通过线路124(和可能通过FIFO 410)从受调度网络行进到辅助交换器140(由较小的交换器150组成),然后,通过线路126从辅助交换器行进到器件130。另外,对于给定器件,数据可以无需经过外部器件通过线路直接从一个受调度网络行进到其它受调度网络。为了使数据从受调度网络中的发送交换器的底环上的不同列在适当数据插入时间到达接收受调度网络,数据可以经过与如图4所示的对准FIFO 410相似的对准FIFO。
在2M个网络的每一个处在分立芯片上的情况下,在同一行的节点之间或在同一列的节点之间行进的数据只穿过一个网络交换器。事实上,对于这样的数据,系统的操作就像基本单芯片网络系统的操作那样。当两个器件不在同一行或列上通信时,数据将穿过两个芯片。假设第A行和第B列上的器件D(A,B)将不受调度消息分组发送到第X行和第Y列上的器件D(X,Y)和假设A≠X和B≠Y。那么,D(A,B)将消息发送到D(A,Y)或D(X,B)和请那个器件将消息转发到D(X,Y)。这里考虑D(A,B)将消息发送到D(X,B)的例子。实际上,消息从D(A,B)到D(X,Y)可以采用多种跳段,但那些跳段中只有一种使用了芯片到芯片移动。在不受调度网络中,如果到D(X,B)的输入过载,在控制信号允许消息退出第一网络和进入器件D(X,B)之前,消息可能绕网络行进一次或多次。当机会到来时,D(X,B)将消息转发给D(X,Y)。D(X,Y)处在将服务质量准则强加给经过消息的位置上。不受调度消息可以是调度包括多个分段的较长消息M的请求。在那种情况下,D(A,B)将可接受时间提交给D(X,B)。此外,D(X,B)将D(A,B)和D(X,B)两者都可接受的一组时间提交给D(X,Y)。D(X,Y)选择发送器件和中间器件两者都可接受的时间间隔,和通过在安排的时间上保留带宽的中间器件返回定时消息T。将这个定时消息T从D(X,B)发送到D(A,B),此后,D(A,B)在可接受时间上发送消息M。系统应该被设计成这样,接受消息有很高的概率在发送时间之前到达D(A,B)。如果不是,那么,D(A,B)安排另一个时间来发送消息。在D(A,B)未接收到通过D(X,B)发送消息的接受消息的情况下,D(A,B)可以尝试通过联系D(A,Y)调度消息。
在受调度网络中,从D(A,B)行进到D(X,Y)的消息实际上不经过中间器件D(X,B),而事实上通过互连线从与第A行上的器件连接的受调度网络行进到与第Y列上的器件连接的受调度网络。两个受调度网络之间的互连线可能不经过中间器件。受调度网络的底环上的节点可以利用线路连接。在在包括参考文献2在内的合并参考文献中描述的互连线中,消息在两个时钟周期内从一个节点移动到同一级上的另一个节点。因此,离开最左边节点的消息比离开右边数二个节点的消息,即,下一个可能退出时间早四个周期退出。各种长度的FIFO重新对准从第一网络退出的消息分组,以便当进入接收交换器的输入列上的节点时,这些消息在时间上是对准的。正如在合并参考文献中所述的那样,数据现在处在通过线路马上移入同一级上的受调度接收交换器中或通过线路前进到较低级的位置上。另外,FIFO将该消息与从将数据输入交换器中的器件130进入接收交换器的其它消息对准。在方便的实施例中,这样从器件进入的消息在不直接从另一个受调度交换器接收数据的节点上进入接收交换器。
在这个部分中描述的系统可以与在标题为“使用多个交换器来减少引脚数”的部分中描述的系统结合在一起,以便可以在多个芯片上实例化每个网络。在那种情况下,从芯片的底行上的节点退出的消息可以到达拥有第二网络的不同芯片。
在这个部分的例子中,将器件130安排成二维阵列。在将器件130安排成三维阵列的例子中,每个器件130与六个网络连接,每个包括每维的受调度和不受调度网络。注意,从D(A,B,C)行进到D(X,Y,Z)的消息可以采取六条路径,每一条包括两个跳段,包括从D(A,B,C)到D(A,Y,C)到D(A,Y,Z)和最后到达D(X,Y,Z)的路径。外部器件处在N维阵列中的例子含有与每个器件相对应的2N个网络。
在单个网络中多路复用受调度S和不受调度U功能
如图2所示的网络具有当在同一列上和在同一时间上将一组消息插入网络中时,随着消息绕结构循环,消息的第1位保持列对准。网络可以配有适当长度的FIFO移位寄存器,以便输入消息的第1位与已经在系统中的消息的第1位对准。于是,该网络可以用在支持多种消息长度的模式中。对于包括长度L的长分组和长度S的短分组的两种分组长度的情况,可以这样调整FIFO长度,使插入的短消息与也相互对准的插入长消息分开地相互对准。
可以推广这个概念,以便在插入列上出现重复过程。将一个短消息插在N个长消息之后,以便受调度和不受调度消息使用相同的结构,但利用时分多路复用分开和区分。长消息如果被指定成受调度消息,决不会进入FIFO结构,一种通过实现短FIFO开拓的状况。短FIFO使请求和回答分组能够进入,但在为长消息进入保留的时段内不会反向循环。FIFO的行为可以通过在数据适合重新进入系统带有逻辑节点的部分之前循环地移位短消息达到。
利用附加网络的实施例
图1A例示了每个外部器件D与两种网络连接的系统,可以将这个概念推广到器件可以与进一步的附加网络结构连接。所列参考文献中的技术使这些推广变得切实可行,因为除了具有宽的带宽和短的等待时间之外,该技术定义了廉价构筑的结构。一些实施例含有两个或更多个不受调度网络,一些不受调度网络被指定成只管理请求和回答分组,和一些不受调度网络被指定成管理除请求和回答分组之外那些类型的不受调度业务。
在另一个实施例中,每个器件与如图6A和图6B所示那些类型的一个或多个大型系统连接,和另外与如图1A所示那种类型的网络连接,以便与同一底部交换器连接的器件可以通过单跳段网络局部地进行通信,以及通过多跳段结构全局地进行通信。
利用PIM结构的实施例
所列参考文献中的技术在利用如图1A、图2或图3所示那种类型的结构的程序在存储器中(PIM)结构中是非常有用的。包括处理器在内的PIM结构器件可以构筑在单个集成电路芯片上。这些器件也可以与利用本文所述的技术的较大型网络连接。分组可以被调度成进入所选引脚、光学端口、或所选器件的另一种类型的端口中,以便数据可以以PIM芯片上的特定处理器为目标,或以这样芯片上的存储区为目标。该技术具有极大地扩大计算能力的潜力。
虽然本公开描述了各种各样的实施例,但这些实施例应该理解为例示性的,而不是限制权利要求的范围。所述实施例的许多改变、修改、附加和提高都是可能的。例如,本领域的普通技术人员可以容易地实现提供本文公开的结构和方法所需的步骤,并且,应该明白,给出处理参数、内容和维数只是为了举例说明。可以改变这些参数、内容、部件和维数,以实现所需的结构,以及在权利要求书的范围之内的变体。还可以对本文公开的实施例作出改变和修改,而仍然在所附权利要求书的范围之内。
Claims (39)
1.一种通过网络将形成多分组消息的数据传送到输出端口的方法,包含:
通过不受调度或不受管理传输将发送数据的请求传送到输出端口;和响应请求,通过受调度或受管理传输,将数据传送到输出端口。
2.根据权利要求1所述的方法,进一步包含:
用不中断序列传送消息的多个分组。
3.根据权利要求1所述的方法,进一步包含:
用不中断序列传送消息的多个分组。
4.一种通信装置,包含:
能够传送受调度消息并与多个器件对接的受控交换器;和
能够传送不受调度消息并与多个器件对接的不受控交换器,其中,不受控交换器生成调度受控交换器中的消息的信号。
5.根据权利要求4所述的装置,进一步包含:
与包括受控交换器和不受控交换器的多个交换器多线连接的器件。
6.根据权利要求4所述的装置,进一步包含:
包含与受控交换器和不受控交换器耦合的多个输入/输出端口的器件,其中,受控交换器和不受控交换器能够将消息对准多个端口的特定端口。
7.根据权利要求4所述的装置,进一步包含:
包含与受控交换器和不受控交换器耦合的多个输入/输出端口的器件,其中,受控交换器和不受控交换器能够将来自多个源的消息对准多个端口的特定端口并且时间上多路复用来自多个源的消息。
8.根据权利要求4所述的装置,进一步包含:
包含与受控交换器和不受控交换器耦合的多个输入/输出端口的器件,其中,受控交换器和不受控交换器能够适时地将消息传送到特定目标端口。
9.根据权利要求4所述的装置,进一步包含:
与受控交换器和不受控交换器耦合和含有加强消息的服务质量优先级的逻辑的器件。
10.根据权利要求4所述的装置,进一步包含:
与受控交换器和不受控交换器耦合的多个器件,包括:
含有包括所选第一输入端口和所选第二输入端口的多个输入端口的请求器件;
由请求器件指定并当可传送时被请求将多个消息分组发送到第一输入端口的第一发送器件;和
由请求器件指定并当可传送时被请求将多个消息分组发送到第二输入端口的第二发送器件,其中,请求器件使第一和第二输入端口保持打开,直到传送完成。
11.根据权利要求4所述的装置,进一步包含:
与受控交换器和不受控交换器耦合的多个器件,包括:
含有包括所选输入端口的多个输入端口的请求器件;
由请求器件指定并被请求将多个消息分组发送到输入端口的第一发送器件;和
由请求器件指定并被请求将多个消息分组发送到输入端口的第二发送器件,其中,请求器件控制从第一和第二发送器件发送消息分组的定时,从而使消息分组得到交织。
12.根据权利要求4所述的装置,进一步包含:
与受控交换器和不受控交换器耦合的多个器件,包括:
含有包括所选第一输入端口和所选第二输入端口的多个输入端口的请求器件;
由请求器件指定并被请求将多个消息分组发送到第一输入端口的第一发送器件;
由请求器件指定并被请求将多个消息分组发送到第二输入端口的第二发送器件;和
由请求器件指定的接收器件,其中,请求器件使第一和第二发送器件分别将第一和第二分组流发送到第一和第二输入端口的发送同步,对来自第一和第二分组流的分组逐个分组地执行函数,并将函数结果流传送到接收器件。
13.根据权利要求4所述的装置,进一步包含:
与受控交换器和不受控交换器耦合的多个器件,包括:
请求器件;
多个处理器件;
由请求器件指定并被请求将多个消息分组发送到请求器件指定的处理器件的多个发送器件;和
由请求器件指定的接收器件,其中,请求器件针对关于多个分组流的逐个分组函数的执行来使指定发送器件分别发送到指定处理器件的该多个分组流的发送同步,并将函数结果流传送到接收器件。
14.根据权利要求4所述的装置,进一步包含:
与受控交换器和不受控交换器耦合的多个器件,包括:
含有多个输入端口的请求器件;和
由请求器件指定并被请求将多个消息分组发送到多个输入端口中的指定部分的多个发送器件,其中,请求器件通过发送标识开始传输的可用时间的请求分组,使指定发送器件分别将多个分组流发送到指定输入端口的发送同步,从识别发送器件可接受的发送时间的指定发送器件中接收认可消息,并发送标识受调度发送时间的确认分组。
15.根据权利要求4所述的装置,进一步包含:
与受控交换器和不受控交换器耦合的多个器件,多个器件包括由如下组成的一个组中的至少一种器件类型:计算器件、数据存储器件、综合计算和存储器件、接口器件、路由器、桥接器、通信网关、因特网协议(IP)入口、局域网、广域网、其它网络和互连器件。
16.根据权利要求4所述的装置,其中:
受控交换器和不受控交换器能够结合在一起工作,使消息同时从第二所选器件的第二指定输出端口流入第一所选器件的第一指定输入端口中。
17.根据权利要求4所述的装置,其中:
受控交换器和不受控交换器能够结合在一起工作,使多个消息分组连续流入指定输入端口中,直到整个通信请求完成。
18.根据权利要求4所述的装置,进一步包含:
通过多个数据路径管理数据传送的与受控交换器和不受控交换器耦合的存储器中处理模块。
19.根据权利要求4所述的装置,其中:
不受控交换器是平稳等待时间交换器和受控交换器是步进配置平稳等待时间交换器。
20.根据权利要求4所述的装置,其中:
与不受控交换器耦合的器件可以在任何消息发送时间上将消息分组发送到不受控交换器;和
与受控交换器耦合的器件只能在受调度时间上将消息插入受控交换器中。
21.一种包含如下的系统:
多个器件;
与多个器件对接并能够将受调度消息传送到器件中的所选部分的受控制器件;和
与多个器件对接并能够将不受调度消息传送到器件中的所选部分的不受控制器件,其中,不受控交换器生成调度受控交换器中的消息的信号。
22.根据权利要求21所述的系统,其中:
该多个器件包括由如下组成的一个组中的至少一种器件类型:计算器件、数据存储器件、综合计算和存储器件、接口器件、路由器、桥接器、通信网关、因特网协议(IP)入口、局域网、广域网、其它网络和互连器件。
23.根据权利要求21所述的系统,进一步包含:
耦合在受控交换器和多个器件之间的辅助交换器。
24.根据权利要求21所述的系统,进一步包含:
从该多个器件中的一个器件耦合到不受控交换器的至少一条控制线,该至少一条控制线用于传送在消息冲突状况下可以阻止消息输入不受控交换器中的信号。
25.根据权利要求21所述的系统,进一步包含:
从不受控交换器耦合到该多个器件中的一个器件的至少一条控制线,该至少一条控制线用于传送可以控制信息流入器件中的信号。
26.根据权利要求21所述的系统,其中:
该多个器件中的一个器件通过发送经过不受控交换器的请求分组控制经过受控交换器的消息业务。
27.根据权利要求21所述的系统,进一步包含:
能够调度经过受控交换器的消息业务的、与受控交换器耦合的编译器。
28.根据权利要求21所述的系统,进一步包含:
通过发送经过不受控交换器的请求分组控制经过受控交换器的第一部分的消息业务的该多个器件中的一个器件;和
能够调度经过受控交换器的第二部分的消息业务的与受控交换器耦合的编译器。
29.根据权利要求21所述的系统,其中,辅助交换器进一步包含:
至少一个交叉交换器;
与至少一个交叉交换器的几个耦合和能够设置交叉点的多个逻辑单元;和
耦合在逻辑单元和交叉交换器之间的多个延迟先进先出(FIFO)缓冲器,FIFO缓冲器能够使消息分段的定时与交叉交换器同步。
30.根据权利要求21所述的系统,其中:
辅助交换器进一步包含:
至少一个交叉交换器;
从至少一个交叉交换器的几个到至少一个器件的数条输出线;
与至少一个交叉交换器的几个耦合和能够设置交叉点的多个逻辑单元;
从受控交换器到相应多个逻辑单元的数条输入线;和
耦合在逻辑单元和交叉交换器之间的多个延迟先进先出(FIFO)缓冲器,FIFO缓冲器能够使消息分段的定时与交叉交换器同步;和输入线的条数大于输出线的条数。
31.根据权利要求21所述的系统,进一步包含:
耦合在受控交换器和该多个器件之间的辅助交换器;和
对接在该多个器件和辅助器件之间的多个受控交换器。
32.根据权利要求21所述的系统,进一步包含:
耦合在受控交换器和多个器件之间的辅助交换器;
对接在该多个器件和辅助器件之间的多个受控交换器;
含有多个输入端口的该多个器件的请求器件;和
该多个器件的发送器件,其中,请求器件指定输入端口群的一个输入端口来接收消息分组,并发送器件指定受控交换器群的受控交换器以便传送消息分组。
33.根据权利要求21所述的系统,进一步包含:
与该多个器件对接的多个受控交换器。
34.根据权利要求21所述的系统,其中,多个器件包括:
含有多个输入端口的请求器件;和
由请求器件指定和被请求成将多个消息分组发送到请求器件的至少一个发送器件,其中,请求器件将经过不受控交换器的请求分组发送到至少一个发送器件,请求分组启动通过受控交换器从至少一个发送器件到请求器件的数据发送的调度。
35.根据权利要求34所述的系统,其中:
当至少一个发送器件可以发送数据和请求器件可以接收数据时,请求器件和至少一个指定发送器件安排时间间隔,该时间间隔容纳通过受控交换器的足够宽带宽以发送数据。
36.根据权利要求34所述的系统,其中:
请求器件将标识要发送的数据和请求器件可以接收数据的时间间隔的请求分组发送到至少一个发送器件。
37.根据权利要求21所述的系统,其中,不受控交换器包含:
与来自多个器件的数条输入线耦合的多个输入交换器;
与到多个器件的数条输出线耦合的多个输出交换器;和
有选择地耦合在多个输入交换器的几个和多个输出交换器的几个之间的多个逻辑单元。
38.根据权利要求37所述的系统,其中:
逻辑单元群的一个逻辑单元跟踪经过逻辑单元的不受控交换器中的所有数据线的未来可用性,使从数据线可用和器件可用于发送和接收数据的零个或多个间隔当中的选择成为可能;
逻辑单元根据所选间隔有选择地修改定时选择分组;和
逻辑单元在可用于发送和接收数据的器件之间传送有选择修改定时选择分组,或可替代地,在没有定时间隔可用的状况下,传送拒绝分组。
39.根据权利要求38所述的系统,其中:
在没有定时间隔可用的状况下,逻辑单元可以有选择地将数据发送到可替代器件。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/798,526 US20040264369A1 (en) | 2003-03-11 | 2004-03-11 | Scalable network for computing and data storage management |
US10/798,526 | 2004-03-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1954637A true CN1954637A (zh) | 2007-04-25 |
Family
ID=34976235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2005800151301A Pending CN1954637A (zh) | 2004-03-11 | 2005-03-08 | 用于计算和数据存储管理的可升级网络 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20040264369A1 (zh) |
JP (1) | JP2007532052A (zh) |
CN (1) | CN1954637A (zh) |
WO (1) | WO2005086912A2 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104486237A (zh) * | 2014-12-18 | 2015-04-01 | 西安电子科技大学 | clos网络中无乱序分组路由及调度方法 |
CN105229976A (zh) * | 2013-01-14 | 2016-01-06 | 联想企业解决方案(新加坡)有限公司 | 数据中心使用的低延迟无损交换结构 |
CN116996359A (zh) * | 2023-09-26 | 2023-11-03 | 中国空气动力研究与发展中心计算空气动力研究所 | 一种超级计算机的网络拓扑构建方法及网络拓扑结构 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2544319A1 (en) * | 2003-10-29 | 2005-05-12 | Interactic Holdings, Llc. | Highly parallel switching systems utilizing error correction |
US7505457B2 (en) * | 2004-04-22 | 2009-03-17 | Sony Computer Entertainment Inc. | Method and apparatus for providing an interconnection network function |
JP4611901B2 (ja) * | 2006-01-16 | 2011-01-12 | 株式会社ソニー・コンピュータエンタテインメント | 信号伝送方法、ブリッジユニット、および情報処理装置 |
CN102394782B (zh) * | 2011-11-15 | 2013-11-20 | 西安电子科技大学 | 基于模块扩展的数据中心网络拓扑系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5546391A (en) * | 1993-03-04 | 1996-08-13 | International Business Machines Corporation | Central shared queue based time multiplexed packet switch with deadlock avoidance |
US6240073B1 (en) * | 1997-11-14 | 2001-05-29 | Shiron Satellite Communications (1996) Ltd. | Reverse link for a satellite communication network |
US6539026B1 (en) * | 1999-03-15 | 2003-03-25 | Cisco Technology, Inc. | Apparatus and method for delay management in a data communications network |
US6982953B1 (en) * | 2000-07-11 | 2006-01-03 | Scorpion Controls, Inc. | Automatic determination of correct IP address for network-connected devices |
US7154885B2 (en) * | 2001-12-31 | 2006-12-26 | Stmicroelectronics Ltd. | Apparatus for switching data in high-speed networks and method of operation |
US7289525B2 (en) * | 2002-02-21 | 2007-10-30 | Intel Corporation | Inverse multiplexing of managed traffic flows over a multi-star network |
US7072352B2 (en) * | 2002-02-21 | 2006-07-04 | Intel Corporation | Inverse multiplexing of unmanaged traffic flows over a multi-star network |
-
2004
- 2004-03-11 US US10/798,526 patent/US20040264369A1/en not_active Abandoned
-
2005
- 2005-03-08 WO PCT/US2005/007940 patent/WO2005086912A2/en active Application Filing
- 2005-03-08 CN CNA2005800151301A patent/CN1954637A/zh active Pending
- 2005-03-08 JP JP2007503002A patent/JP2007532052A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105229976A (zh) * | 2013-01-14 | 2016-01-06 | 联想企业解决方案(新加坡)有限公司 | 数据中心使用的低延迟无损交换结构 |
CN105229976B (zh) * | 2013-01-14 | 2018-11-09 | 联想企业解决方案(新加坡)有限公司 | 数据中心使用的低延迟无损交换结构 |
CN104486237A (zh) * | 2014-12-18 | 2015-04-01 | 西安电子科技大学 | clos网络中无乱序分组路由及调度方法 |
CN104486237B (zh) * | 2014-12-18 | 2017-10-27 | 西安电子科技大学 | clos网络中无乱序分组路由及调度方法 |
CN116996359A (zh) * | 2023-09-26 | 2023-11-03 | 中国空气动力研究与发展中心计算空气动力研究所 | 一种超级计算机的网络拓扑构建方法及网络拓扑结构 |
CN116996359B (zh) * | 2023-09-26 | 2023-12-12 | 中国空气动力研究与发展中心计算空气动力研究所 | 一种超级计算机的网络拓扑构建方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2007532052A (ja) | 2007-11-08 |
US20040264369A1 (en) | 2004-12-30 |
WO2005086912A2 (en) | 2005-09-22 |
WO2005086912A3 (en) | 2006-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100454885C (zh) | 流水线调度方法和调度装置 | |
US4623996A (en) | Packet switched multiple queue NXM switch node and processing method | |
CN1954637A (zh) | 用于计算和数据存储管理的可升级网络 | |
US6721271B1 (en) | Rate-controlled multi-class high-capacity packet switch | |
EP0197103B1 (en) | Load balancing for packet switching nodes | |
US20080069125A1 (en) | Means and apparatus for a scalable congestion free switching system with intelligent control | |
US5367642A (en) | System of express channels in an interconnection network that automatically bypasses local channel addressable nodes | |
US5875190A (en) | Asynchronous transfer mode switching system | |
Yechiali | Analysis and control of polling systems | |
CN101416446A (zh) | 利用误差校正的高度并行交换系统 | |
CN1149223A (zh) | 具有可指定的多种分组丢失概率的Tbit/s级分组交换机 | |
CN1149222A (zh) | 具有多信道广播带外控制的atm分组交换机 | |
WO1992020177A1 (en) | Routing technique for a hierarchical interprocessor-communication network between massively-parallel processors | |
CN1010539B (zh) | 混合式分组交换的方法和设备 | |
WO1997019407A9 (en) | A method and apparatus for switching | |
Li et al. | Parallel computing using optical interconnections | |
CN1788500A (zh) | 时分多路复用电路交换路由器 | |
US20090262744A1 (en) | Switching network | |
US20130083793A1 (en) | Scalable 3-stage crossbar switch | |
Kavaldjiev | A run-time reconfigurable Network-on-Chip for streaming DSP applications | |
Park et al. | NN based ATM cell scheduling with queue length-based priority scheme | |
CN100568810C (zh) | 用于突发调度的装置 | |
Rahman et al. | Dynamic communication performance of a TESH network under the nonuniform traffic patterns | |
JP4613296B2 (ja) | スケーラブルな多重経路ワームホール相互接続網 | |
Arango et al. | Staged circuit switching |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20070425 |