CN1269053C - 分组路由方法、系统及用于分组路由的可扩展网络交换机 - Google Patents

分组路由方法、系统及用于分组路由的可扩展网络交换机 Download PDF

Info

Publication number
CN1269053C
CN1269053C CNB02805430XA CN02805430A CN1269053C CN 1269053 C CN1269053 C CN 1269053C CN B02805430X A CNB02805430X A CN B02805430XA CN 02805430 A CN02805430 A CN 02805430A CN 1269053 C CN1269053 C CN 1269053C
Authority
CN
China
Prior art keywords
grouping
input
priority
bit vector
pseudo
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.)
Expired - Fee Related
Application number
CNB02805430XA
Other languages
English (en)
Other versions
CN1493038A (zh
Inventor
马赛厄斯A·布卢姆里奇
陈东
保罗W·科特尤斯
艾伦G·加拉
马克E·贾姆帕帕
菲利普·海德伯格
伯克哈德D·斯坦马彻-伯罗
托德E·塔肯
帕夫罗斯M·弗拉纳斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1493038A publication Critical patent/CN1493038A/zh
Application granted granted Critical
Publication of CN1269053C publication Critical patent/CN1269053C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F04POSITIVE - DISPLACEMENT MACHINES FOR LIQUIDS; PUMPS FOR LIQUIDS OR ELASTIC FLUIDS
    • F04DNON-POSITIVE-DISPLACEMENT PUMPS
    • F04D25/00Pumping installations or systems
    • F04D25/16Combinations of two or more pumps ; Producing two or more separate gas flows
    • F04D25/166Combinations of two or more pumps ; Producing two or more separate gas flows using fans
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/20Modifications to facilitate cooling, ventilating, or heating
    • H05K7/20709Modifications to facilitate cooling, ventilating, or heating for server racks or cabinets; for data centers, e.g. 19-inch computer racks
    • H05K7/20836Thermal management, e.g. server temperature control
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F04POSITIVE - DISPLACEMENT MACHINES FOR LIQUIDS; PUMPS FOR LIQUIDS OR ELASTIC FLUIDS
    • F04DNON-POSITIVE-DISPLACEMENT PUMPS
    • F04D27/00Control, e.g. regulation, of pumps, pumping installations or pumping systems specially adapted for elastic fluids
    • F04D27/004Control, e.g. regulation, of pumps, pumping installations or pumping systems specially adapted for elastic fluids by varying driving speed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17381Two dimensional, e.g. mesh, torus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17387Three dimensional, e.g. hypercubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/006Details of the interface to the display terminal
    • G09G5/008Clock recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • H04L7/033Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
    • H04L7/0337Selecting between two or more discretely delayed clocks or selecting between two or more discretely delayed received code signals
    • H04L7/0338Selecting between two or more discretely delayed clocks or selecting between two or more discretely delayed received code signals the correction of the phase error being performed by a feed forward loop
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24FAIR-CONDITIONING; AIR-HUMIDIFICATION; VENTILATION; USE OF AIR CURRENTS FOR SCREENING
    • F24F11/00Control or safety arrangements
    • F24F11/70Control systems characterised by their outputs; Constructional details thereof
    • F24F11/72Control systems characterised by their outputs; Constructional details thereof for controlling the supply of treated air, e.g. its pressure
    • F24F11/74Control systems characterised by their outputs; Constructional details thereof for controlling the supply of treated air, e.g. its pressure for controlling air flow rate or air velocity
    • F24F11/77Control systems characterised by their outputs; Constructional details thereof for controlling the supply of treated air, e.g. its pressure for controlling air flow rate or air velocity by controlling the speed of ventilators
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02BCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
    • Y02B30/00Energy efficient heating, ventilation or air conditioning [HVAC]
    • Y02B30/70Efficient control or regulation technologies, e.g. for control of refrigerant flow, motor or heating

Abstract

在一种包括按照m维配置的多个节点的大规模并行计算系统中,每个节点包括计算设备,本发明提供了一种用于将分组路由到它们的目的节点的方法,该方法包括生成至少一个包含从下行流节点导出的信息的2m个压缩位向量(115、154)。一种多级仲裁过程(116、155),其中在该压缩向量中所存储的下行流信息,诸如链路状态信息和下行流缓冲器(130、140)的充满度,被用来确定用于传送分组的优选方向和虚拟信道。优选方向范围被编码并且虚拟信道通过检查该多个压缩位向量(115、154)来加以选择。这一动态路由方法消除了路由表的必要性,因此就增强了交换机的可扩展性。

Description

分组路由方法、系统及用于分组路由的可扩展网络交换机
引用参考
本发明请求共属的且共同待审的美国临时专利申请号60/271,124的优先权,该临时专利申请于2001年2月24日提交,题目是“MASSIVELYPARALLEL SUPERCOMPUTER”(“大规模并行超级计算机”),在此将其整个内容和公开内容明确地引入以供参考,就好像在此将其完全地进行了阐述。本专利申请还涉及到以下与本申请于同一天提交的、共属的、共同待审的美国专利申请,在此将它们每个的整个内容和公开内容明确地引入以供参考,就好像在此将它们完全地进行了阐述:美国专利申请序列号(YOR920020027US1,YOR920020044US1(15270)),标题为″Class Networking Routing″(“类别联网路由”);美国专利申请序列号(YOR920020028US1(15271)),标题为″A Global Tree network forComputing Structures″(“用于计算结构的全局树形网络”);美国专利申请序列号(YOR920020029US1(15272)),题目是“GlobalInterrupt and Barrier Networks″(“全局中断和屏障网络”);美国专利申请序列号(YOR920020030US1(15273)),题目是“OptimizedScalable Network Switch”(“优化的可扩展网络交换机”);美国专利申请序列号(YOR920020031US1,YOR920020032US1(15258)),题目是“Arithmetic Functions in Torus and Tree Networks”(“在环形和树形网络中的算术函数”);美国专利申请序列号(YOR920020033US1,YOR920020034US1(15259)),题目是“Data CaptureTechnique for High Speed Signaling”(“用于高速信令的数据捕获技术”);美国专利申请序列号(YOR920020035US1(15260)),题目是“Managing Coherence Via Put/Get Windows”(“通过Put/Get视窗管理一致性”);美国专利申请序列号(YOR920020036US1,YOR920020037US1(15261)),题目是″Low LatencyMemory Access And Synchronization″(“低等待时间的存储器访问和同步”);美国专利申请序列号(YOR920020038US1(15276),题目是“Twin-Tailed Fail-Over for Fileservers Maintaining FullPerformance in the Presence of Failure”(“用于文件服务器在存在故障时保持全性能的双节点故障转移”);美国专利申请序列号(YOR920020039USI(15277)),题目是“Fault Isolation Through NoOverhead Link Level Checksums”(“通过非开销链路级校验和的故障隔离”);美国专利申请序列号(YOR920020040US1(15278)),题目是″Ethernet Addressing Via Physical Location for MassivelyParallel Systems″(“通过物理定位对大规模并行系统进行以太网寻址”);美国专利申请序列号(YOR920020041US1(15274)),题目是″FaultTolerance in a Supercomputer Through Dynamic Repartitioning″(“通过动态重划分在超级计算机中的故障容错性”);美国专利申请序列号(YOR920020042US1(15279)),题目是″CheckpointingFilesystem″(“对文件系统进行检查点操作”);美国专利申请序列号(YOR920020043US1(15262)),题目是“Efficient Implementation ofMultidimensional Fast Fourier Transform on a Distributed-MemoryParallel Multi-Node Computer″(“在分布式存储器并行多节点计算机上的多维快速傅立叶变化的有效实现”);美国专利申请序列号(YOR9-20010211US2(15275)),题目是″A novel Massively ParallelSupercomputer″(“一种新颖的大规模并行超级计算机”);以及美国专利申请序列号(YOR920020045US1(15263)),题目是″Smart FanModules and System″(“智能风扇模块和系统”)。
发明领域
本发明总体上涉及到一种在分布式存储器消息传递并行计算机中交换数据通信量的方法。更具体而言,本发明涉及到一种在大规模并行系统中通过互连网有效地提交无错消息的方法。
发明背景
一种用于大规模并行计算机数据联网系统的众所周知的拓扑,是3D环。3D环总体上是一种计算节点的立体网格,该立体网格在每一级都具有一个环形网。超级计算的大规模并行系统,诸如在临时申请序列号60/271,124中所描述的系统,使用3D环拓扑来提供最小路径路由,即,在数以百计或者数以千计的节点之间通信的最短路径。在大规模并行系统中使用这一拓扑的一个问题是在互连网络上消息的低效率提交,尤其是在使用以太网或者异步传输模式(ATM)交换机时。
更具体而言,例如,以太网或者ATM交换机一般并不提供低等待时间、高吞吐量和无错地提交分组,因为如果没有足够的缓冲器空间(即,用于输入和输出处理的保持区域)来保持分组,则这些交换机典型地会丢失分组。此外,如果该交换网络要扩展到数以万计大小的节点,则竞争问题,即,在同时作出对无法共享的资源诸如通信链路的两个或者多个请求时发生的冲突,必须要加以克服。
典型地,竞争问题已经通过应用某种类型的仲裁算法被解决了,该仲裁算法仲裁在检测到分组冲突之后网络上的哪个发送器能够传送分组。遗憾的是,相关领域还没有提出对冲突检测/仲裁方法的需要,该方法是超可扩展的,因此适合用于大规模并行系统。此外,当前路由技术还不适合扩展到大规模并行系统,因为路由器典型地具有必须要加以维护的表。当节点的数目达到数以万计时,用于维护表的开销就使负担过重。
如上所述,三维(3D)环形拓扑是周知的。例如,Cray T3E使用这种3D环形拓扑。不过,Cray机使用存储在每个交换机元件中的路由表,一种并不能很好地扩展到数以万计的节点的方法。其它已知的技术是″冒泡″式退避虚拟信道(VC),(Puente等人的″Adaptive BubbleRouter:A Design to Balance Latency and Throughput in Networksfor Parallel Computers″(″自适应冒泡式路由器:一种用于并行计算机平衡网络等待时间和吞吐量的设计方案″),参见1999年9月的关于“并行处理”的国际会议论文集ICPP的第99页),这种设计方案提供一种不需要路由表的完全的动态路由。
另一种已知的技术是使用多重虚拟信道来降低″线路-头部(head-of-line)″阻塞,例如在SP2和Cray计算机中所采用的。两阶段仲裁方法的应用已经由MIT的可靠路由器表述(William J.Dally、Larry R.Dennison、David Harris、Kinhong Kan、以及ThucydidesXanthoppulos,″Architecture and Implementation of the ReliableRouter″(“可靠路由器的体系结构和实现”),参见1994年8月的HOT互连II的会议论文集的第122-133页)。
在努力优化吞吐量和等待时间上,另一种相关领域技术使用虚拟直通路由。参阅1979年“计算机网络”,第3卷,第267-286页,P.Kermani和L.Kleinrock的″Virtual Cut-Through:A New ComputerCommunication switching Technique″(“虚拟直通:一种新的计算机通信交换技术”),在此引入以供参考。
不过,相关领域参考并未充分地解决沿着选定分组的行进方向和虚拟信道的分组冲突和队列时延问题,尤其是在交换机被扩展到用于处理数以万计的节点时。
在相关公开内容,美国临时申请序列号60/271,124,题目是“ANOVEL MASSIVELY PARALLEL SUPERCOMPUTER”(“一种新颖的大规模并行超级计算机”)中,其中描述了在多重计算机的每个节点中的一种具有两个电子处理器的半导体设备。在超级计算机中,具有多个高速内部网络,以及应用以太网的外部网络。这些网络预期要服务64,000以上个节点。
尽管还没有已知的现有技术来试图将网络交换机扩展到数以万计的节点以便快速、无误地操作,但是仍然需要一种可扩展的仲裁方法来允许无错、低等待时间、高带宽(吞吐量)的数据通信,以便增强大规模并行系统的消息传递能力。
发明内容
因此,本发明的一个目的是提供一种在大规模并行系统中仲裁分组发送器的方法,其中等待时间被减小,吞吐量被提高,并且处理能力已经提高。
本发明的另一个目的是提供一种在大规模并行系统中防止分组丢失的方法。
本发明的又一目的是提供一种数据通信的方法,该方法用于避免锁死的用户使用通信信道。
本发明的再一个目的是提供一种用于增加准确地接收分组的概率的方法。
本发明的又一个目的是将交换技术提供到作为处理器的相同的芯片上以有利于系统扩展。
本发明的再一个目的是提供一种用于路由消息而不使用路由器中的路由表的方法。
在本发明中,这些和其他目的以及优点可以通过提供一种用于在大规模并行系统中减小延迟、增加准确地接收分组的多级仲裁方法来实现。
具体而言,提供有一种分组的路由方法,该方法包括:通过将来自2m个方向(此处m是代表网络维度的整数)中的至少一个方向的分组,经由对应数目的输入链路中的至少一个输入链路输入到多个虚拟信道FIFO缓冲器中的对应的至少一个缓冲器而将分组路由到它们的目的地;生成2m个输出位向量中的至少一个,这些输出位向量包含从下行流节点导出的信息;建立通用仲裁策略,其中仲裁决策是以在该链路和在该输出状态位向量中所包含的下行流缓冲器充满度信息为基础的;根据该通用仲裁策略经由多个传输路径将分组输出到对应的输出链路,其中该分组被推向它们的目的节点。
根据本发明的一个方面,提供在一种包括按照m维配置的多个节点的大规模并行计算系统中,每个节点包括计算设备,一种用于将分组引导到它们的目的节点的方法,包括如下步骤:
a.)通过对应数目的输入链路中的至少一个输入链路将来自2m个方向中的至少一个方向上的所述分组输入到多个虚拟信道中至少对应的一个虚拟信道上;
b.)将来自所述节点的本地的本地分组输入到多个处理器注入FIFO缓冲器中的至少一个FIFO缓冲器;
c.)生成2m个输出状态位向量,所述输出状态位向量中的每个描述它的链路的可用性、下行流虚拟信道的可用性、以及与它的方向相关联的所有虚拟信道的下行流缓冲器空间指示;
d.)建立通用仲裁策略,其中仲裁决策是以所述2m个输出状态位向量的内容为基础而作出的;
e.)根据所述通用仲裁策略经由至少一条传输路径将所述分组输出到对应的输出链路,其中所述分组被送往所述目的节点;以及
f.)重复前面的步骤,直到所述分组和所述本地分组中的任何分组都可用来输入为止。
根据本发明的一个方面,提供在一种包括按照m维配置的多个节点的大规模并行计算系统中,每个节点包括计算设备,一种用于将分组路由到它们的目的节点的系统,包括:
a.)用于通过对应数目的输入链路的至少一个输入链路将来自2m个方向的至少一个方向的所述分组输入到多个虚拟信道中对应的至少一个虚拟信道上的装置;
b.)用于将来自所述节点的本地的本地分组输入到多个处理器注入FIFO缓冲器中的至少之一的装置;
c.)用于生成2m个输出状态位向量的装置,所述输出状态位向量中的每个描述它的链路的可用性、下行流动态虚拟信道的可用性、以及与它的方向相关联的所有虚拟信道的下行流缓冲器空间指示;
d.)用于建立通用仲裁策略的装置,其中仲裁决策是以所述2m个输出状态位向量的内容为基础而作出的;
e.)用于根据所述通用仲裁策略经由至少一条传输路径将所述分组输出到对应的输出链路上的装置,其中所述分组被送往所述目的节点;以及
f.)用于重读前面的步骤,直到所述分组和所述本地分组中的任何组合都可用来输入为止的装置。
根据本发明的一个方面,提供在一种包括按照m维配置的多个计算处理器节点的大规模并行计算系统中,每个节点包括计算设备,一种用于将分组路由到它们的目的地的网络交换机,包括:
a.)至少一个输入单元,用于通过对应数目的输入链路的至少一个输入链路将来自2m个方向的至少一个方向的所述分组输入到多个虚拟信道中对应的至少一个虚拟信道上;
b.)至少一条输入链路,用于将来自所述节点的本地的本地分组输入到多个处理器注入FIFO缓冲器中的至少之一;
c.)输出状态位向量生成器,用于生成2m个输出状态位向量,每个所述输出状态位向量描述它的链路的可用性、下行流动态虚拟信道的可用性、以及与它的方向相关联的所有虚拟信道的下行流缓冲器空间指示;
d.)输入仲裁器和输出仲裁器,用于建立通用仲裁策略,其中仲裁决策是以所述2m个输出状态位向量的内容为基础而作出的;
e.)至少一条输出链路,用于根据所述通用仲裁策略经由至少一条传输路径将所述分组输出到对应的输出链路上,其中所述分组被送往所述目的节点。
附图说明
以下将通过参考本发明所附的附图对本发明进行更加详细的描述。应该指出,在所附的附图中,相同的附图标记用于描述它们的相同和对应的元件。
图1展示根据本发明的优选实现的交换机体系结构;
图2展示根据本发明的优选实现的输出状态位向量;
图3展示根据本发明的优选实现的输入状态位向量的一个例子;
图4展示根据本发明的优选实现的″可能目的地″位向量;
图5展示根据本发明的优选实现带有提示位的分组报头;以及
图6展示本发明的一个实施例,即,网络交换机,位于作为处理器节点的相同芯片上。
这一发明应用到网络通信,即,在大规模并行计算系统的三维环形网络中的节点之间进行的消息传递。
首先,应该指出,对″FIFO″(先进先出)的参考在以下可与术语″FIFO缓冲器″互换地使用,就像多个″FIFO″可与术语多个″FIFO缓冲器″交换地使用一样。对位设置和位计数序列的参考仅仅是示范性的,而其它的位设置例如负逻辑,以及计数序列例如用来指示参数或者测量正增加的负计数序列也是在本发明的范围内的。
根据本发明的优选实现,如图1所示,绘制的是在诸如三维环形网络这样的处理器网络中的单一节点,该交换机体系结构对于在该网络中的所有这种节点都可以实现。此外,参考图6,它展示的是在本发明的优选实现中,交换机610还可以被集成到作为处理器615的相同芯片605上。该网络提供大小可变的数据分组,在一种优选实现中该数据分组可以是1-8个32字节大小的单元,称为″字节片″。每个分组包含描述性的分组报头510,如图5所示。新的即本地分组104,始发于本地节点105,经由处理器注入FIFO 130进入该网络,并且当到达它们的目的地时,通过将它们从处理器接收FIFO 140中删除而将它们从该网络中删除。在本发明的优选实现中,具有专用于每个输入单元诸如110、117的至少一个处理器接收FIFO 140。此外,至少一个处理器接收FIFO 140可以专用于高优先权通信量。
每个节点包括输入链路,一个用于在该环中的每个邻站。图1展示例如x+输入链路101和z-输入链路102。其余的输入链路x-、y+、y-、z+(未示出)代表在诸如本发明的3D环系统这样的系统中,可用于全局分组即从该输入链路之一达到的分组其余行进方向的例子。对应于每个输入链路的是本地输入仲裁器,诸如x+输入仲裁器116,它被包括在x+输入单元110中。x+和z-输入单元110、117是作为示范性结构加以展示的。
每个节点还包括输出链路,诸如至x+方向161的链路、以及至z-方向162的链路。如在本发明的优选方面中所实现的,存在至少一个输出链路,用于在该环中的每个邻站。该输出链路由输出单元诸如所展示的x+和z-输出单元151、152所发出。在每个输出单元中的是输出仲裁器,诸如所展示的z-输出仲裁器155。
输出单元151、152优选地包含以下子单元:
a.)令牌单元计数器153,用于计数有多少个字节片即令牌可用来被存储在下行流节点。优选地,一个令牌单元计数器用于每个方向和VC。当一个分组赢得仲裁时,该令牌单元互相协调从而使令牌被返回给在上行流节点上的合适VC。这通过发送特殊的、短的令牌消息来加以实现。
b.)输出状态位向量生成器154,用于生成如图2所示的输出状态位。
c.)输出仲裁器155,用于选择所有可能的请求分组中的哪个分组应该赢得对相应链路的控制。
输入单元诸如在输入单元110中所展示的,包括一个直通即旁路路径120、等待缓冲器即FIFO,一个用于每个VC,用于存储被阻塞的分组,即,那些无法通过旁路路径120移动的分组。每个FIFO能够保持某个最大数目的字节片。一个或多个″动态″VC被实现,诸如动态VC111和112。用于防止死锁的″退避″VC 113以及高优先权VC 114的实现是一种已知技术,如在(Puente等人的″Adaptive Bubble Router:ADesign to Balance Latency and Throughput in Networks for ParallelComputers″(″自适应冒泡式路由器:一种用于并行计算机平衡网络等待时间和吞吐量的设计方案″),参见1999年9月的关于“并行处理”的国际会议论文集的第99页)中所描述的。旁路路径120的实现允许分组被路由通过该节点而不用在缓冲器中加以存储。不过,如果由于任何原因使得在该旁路路径中的分组被阻塞了,则它就被传送到合适的FIFO缓冲器(即,对应于与该分组相关联的VC的缓冲器)中。为了防止优先权分组互相追赶,如果对应的优先权VC FIFO为非空,则在该旁路路径中的优先权分组就被视为是阻塞的。相似地,如果该对应的退避VC FIFO是非空的,则不可动态路由的正常优先权分组被视为是阻塞的。在已就绪待仲裁(假如一个分组位于FIFO的头部)之前,在该FIFO中,只有该分组的报头需要被接收。输入仲裁器,诸如输入仲裁器116包括输入状态位向量生成器115,它生成如图3所展示状态位以及在以下要加以描述的状态位。
输入仲裁器116通过选择在该输入仲裁器中的哪个分组获得优先权,以及要请求哪个输出方向和VC(或者如果该分组已经到达了它的目的地,则要请求哪个处理器接收FIFO)来提供动态路由。根据本发明的优选方面,一旦一个分组赢得了输入和输出仲裁,即,获得了传送到该输出单元或者处理器接收FIFO的优先权,则它就被传送到该输出链路,或者经由多个传输路径121之一被传送到接收FIFO。不像在仅仅具有单个的这种路径的环形网络中的现有技术交换机,多个传输路径121使得分组能够得到传送,即使它们的一个或多个正被使用。根据本发明的一个方面,一些传输路径可以被独占地保留给该接收FIFO。
此外,本发明的优选方面包括旁路路径120。与在FIFO头部的或者在该旁路路径120中的每个分组相关联的是,可能目的地VC和该分组可移动的方向的位向量。这种位向量410-415的例子如图4所示。
输出状态位
每个输出仲裁器负责建立一个输出状态位向量,该输出状态位向量描述其链路和与该方向相关联的下行流缓冲器空间(令牌)的可用性。图2绘制的是链路x+210到z-215的在时间上的某个时刻的样例输出状态位向量。每个输出状态位向量优选地包含:
a.)该链路可用(1)还是不可用(0)的链路状态位201指示。因为该链路还被用于互换控制消息,该控制消息涉及令牌的可用性和/或成功地接收的分组的确认,所以这种控制消息接收关于数据分组的绝对优先权。因此如果这样的控制消息正等待着使用该链路,或者实际上正在使用该链路,则该链路状态位就被设置为0,并且该物理链路一变空闲,该控制消息就被传送。
b.)每个动态VC的状态位202、203。最左位指示是否有足够的令牌下行流来存储最大规模的分组。另外的2位按如下加以确定。可用的下行流令牌被分解成由阈值加以规定的4个范围,例如,M>=T1>T2>T3>0,此处M是令牌的最大数。如果可用的令牌数是t,则该位向量是:如果M>=t>T1,则是00,如果T1>=t>T2,则是01,如果T2>=t>T3,则是10,以及如果T3>=t>=0,则是11。(因此,如果有更多的令牌可用,则该位向量会更小。应该理解,对于本领域普通技术人员而言,存在有一般性,即k>2个位规定了2^k个范围。)
c.)退避204和优先权205 VC的状态位。这些位遵循″冒泡插入″规则。
对于退避204和优先权205的状态字段,如果新的分组能够被注入到该VC中(这就要求至少2个满分组的令牌值),则最左位是1,并且如果已经在该VC上的分组能够继续(至少1个满分组的令牌值),则右位是1。(为了防止死锁,进入或在这些VC上的所有分组的″规模″被视为是最大的分组规模。)
例如,如图2所示,在x+方向210上,该链路是空闲的,令牌在VC1的级01是可用的,在VC2上没有可用的令牌,退避VC没有空间来插入新的分组,但是具有空间来转发已经″在泡泡中″的分组,并且高优先权VC即能够插入分组也能够转发分组。
输入状态位
每个输入单元负责建立输入状态位向量,该输入状态位向量描述它的用于每个VC的缓冲器的输入充满度,该VC和与该输入单元相关联的方向相关联。图3绘制的是链路x+310到z-315在时间上的某个时刻的样例状态输入位向量。每个位向量包含描述每个VC 301-304的3个位。如果一个分组已就绪待仲裁,则最左位301是1,否则是0。两个最右位303、304描述令牌的充满度区域,即,对于阈值T1、T2和T3,如果该FIFO包含数目为b的字节片,则如果0<=b<T1,则该位是00,如果T1<=b<T2,则是01,T2<=b<T3,则是10,以及如果T3<=b,则是11。应该理解,对于本领域普通技术人员而言,范围可以被用于描述分组的数目,而不是字节片的数目。
每个注入FIFO还有相似地定义的输入状态位向量316,如说明输入状态位向量317-321的图3所示,指示有5个注入FIFO。
可能的位向量
对于在FIFO头部或者在旁路路径上的每个分组,建立一个位向量以便指示分组可以沿着哪个方向和VC移动,即,对于给定的分组,该方向还是每个虚拟信道的路由目标。图4绘制的是能够在x+或者y-方向上移动的非优先权分组的可能的位向量。该位向量的一部分对应每个方向410-415。在这一例子中,该分组可以即在x+又在y-方向的任一动态VC上移动。因为该分组是非优先权的,所以该优先权VC的项都是0。在这一例子中,该退避方向根据标准维的次序选择,即,首先x,然后y,接着z,,从而使得该退避VC处于x+方向上。如果该可能的位向量都是零,则该分组就已经到达了它的目的地。
分组报头
分组报头510的格式如图5所示。在一个优选实施例中,该分组报头510将会相对地短些以使开销最小化,例如,8字节。在报头510中,第一字段(例如,8位)指示该分组的类型512,例如,正常或者优先权,并且可以包括一个位,指示该分组是否可以被动态地路由,或者是否可以沿着固定路由。在相关专利申请15270中,还描述了该分组类型是怎样编码″类别路由″操作的,对本发明稍做修改也能够支持该″类别路由″操作。VC字段514(例如,2位)指示该分组在哪个VC上,并且规模字段516(例如,3位)指示在该分组中的字节片数。这种报头的应用是标准的,不过,本发明的优选实现包括″提示位″520、522、以及524,它们通过允许仲裁器在比其它种可能更早时就开始选择方向来减小等待时间。在本发明的优选实现中,这些提示位是2位/维的,并且编码哪些方向对于分组移动是可行的,例如,如果x提示位518是″00″,则在x方向上的分组移动就不再需要了,如果x提示位518是″01″,则该分组可以在x+方向上移动,并且如果x提示位518是″10″,则该分组可以在该x-方向上移动。该提示位必须在目的字段524、526以及528之前,或者可以在VC和规模字段514、516之前。在大型并行机例如64×32×32个节点的环上,该目的字段必须每个都是至少6位。如果没有该提示位,则在仲裁可以开始之前,目的地址的18位就不得不被接收。因此,因为该提示位在该目的位之前,所以该提示位就有利地允许该仲裁过程在整个分组报头都被读取,即,在该目的位被读取之前就开始,由此减小等待时间。因为分组通过该网络路由,所以该提示位需要被更新。对于最小跳数的动态路由,例如,当分组到达它的目的地的x坐标时,该x提示位仅仅需要被设置为00。本发明的优选实现是通过包括与每个输出链路都相关联的寄存器来实现上述的。在该寄存器中被提供的是提供相关内容,例如,该下行流节点的x坐标。当该分组赢得仲裁时,该寄存器能够被与目的地的相关坐标比较;如果在该寄存器中的值和该目的地的相关坐标相等,则该提示位被设置为00。此外,如在本领域所周知的,为了可靠地传送消息,该报头可以包括像例如在周知的高性能并行接口(HIPPI)协议中那样的序列号以及用于确保报头被正确地接收的CRC。
输入/输出仲裁
在本发明的优选实现中,该仲裁过程包括两个阶段。首先,每个输入单元将从它的就绪-到-移动的分组(在FIFO的头部或者在旁路路径上的那些分组)中选择将试图要获得链路(或者接收FIFO)的那个分组。这些选定的分组被称为″输入赢家″。除了选择输入赢家即候选者以外,在该仲裁中还要为下一步骤,选择每个候选者的方向和每个候选者的VC。输入和输出仲裁这二者都是多级的,即,独立的仲裁处理被提供给从每个节点方向到达的分组以便增加分组在该系统中的吞吐量。分组冲突是通过在本发明的优选实现中所采用的规则所描述的通用仲裁策略而被减少的。
输入仲裁阶段:
一种由本发明的优选实现提供来选择输入赢家的方法,包括如下步骤:确定不在它们的目的地的哪些分组被完全阻塞,即,这些分组在分组需要移动的方向上没有可用的链路和VC,或者没有可用的传输路径。这些步骤还确定哪些候选分组未被阻塞。在本发明的一个方面,上面的步骤是通过执行可能的位向量410-415和输出状态位向量210-215之间的合适的逻辑与操作来加以确定的。,如果在分组的接收FIFO或者未阻塞候选者向量中没有空间,则就可以确定类似的已经到达它们的目的地的分组是阻塞的。每个未阻塞的候选者按如下被分配一个输入优先权。被本发明的优选实现提供两种类型的仲裁周期,随机周期或者最长队列周期,。交换机的预先规定的仲裁周期标准确定该仲裁周期的多少部分是随机的。在随机周期,在非优先权VC缓冲器中的每个候选分组被分配一个随机的(或者基于循环算法的)2个位的向量。在最长队列周期,这些候选分组被分配一个等于两个右输入状态位的优先权。所生成的优先权如下(从最高优先权到最低优先权)被用在综合优先权模式中:
a.)该优先权VC的头部的未阻塞候选分组。
b.)在该旁路路径上的未阻塞候选分组,假如该分组是高优先权分组,并且在该高优先权VC缓冲器中没有任何分组。
c.)在具有最高2位优先权向量的非优先权VC缓冲器中的未阻塞的候选分组(联系被诸如随机或者循环这样的仲裁机制断开)
d.)在该旁路路径中的未阻塞候选分组,假如该分组是非优先权分组。
对于非优先权分组,这一算法趋向选择在最满的FIFO的头部的分组。获胜的候选者分组然后按如下选择它的候选方向和VC。
a.)如果该分组是高优先权的,则该分组选择可能的位向量的优先权VC位被设置为1的方向和优先权VC。
b.)如果该分组是非优先权的但不可动态路由,则该分组选择可能的位向量的退避VC位被设置为″1″的方向和退避VC。
c.)如果该分组是非优先权的且可动态路由,则该分组就从那些即可用又可能的链路和动态VC中选择在输出状态位向量中具有最小右2位的方向和动态VC。
d.)如果任何这样的链路和动态VC都不存在,则该分组选择可能的位向量的退避VC位被设置为″1″的方向和退避VC。
如果目的地不是当前节点,则该输入赢家然后将它们的候选方向和VC提供到对应的输出仲裁器,否则如果目的地是当前节点,则提供到接收FIFO。然后,每个输出仲裁器/接收FIFO从所提供的输入赢家中选择一个分组以便输出。
输出仲裁阶段:
每个输出仲裁器被提供有一组候选输入赢家。此外,还可以是来自注入FIFO的候选分组。输出仲裁也具有两种类型的周期:在一种周期中,来自该注入FIFO的分组具有低优先权,而在一种周期中,来自注入FIFO的分组具有高优先权。预先规定的输出阶段仲裁周期标准例如交换机的参数,确定有多少部分的周期是属于每种类型的。如果注入FIFO在这一周期中具有低优先权,则该输出仲裁器从它的所有候选者中按如下(从最高到最低优先权)选择它的赢家。优选地,联系被随机地断开。
a.)来自具有由2位状态向量所指示的最高优先权的输入单元的高优先权获胜分组。
b.)来自具有最高2位状态向量的注入队列的高优先权分组。
c.)来自具有最高2位状态向量的输入单元的正常优先权获胜分组。
d.)来自具有最高2位状态向量的注入FIFO的正常优先权。
如果注入分组在这一周期具有高优先权,则优选地,该输出仲裁器从所有候选者中按如下(从最高到低优先权)选择它的赢家:
a.)来自具有最高2位状态向量的注入队列的高优先权分组。
b.)来自具有由2位状态向量所指示的最高优先权的输入单元的高优先权获胜分组。
c.)来自具有最高2位状态向量的注入FIFO的正常优先权。
d.)来自具有最高2位状态向量的输入单元的正常优先权获胜分组。
注入仲裁
在注入FIFO的头部的候选分组采用与获胜的输入候选分组相同的方式选择它们的候选方向和VC。这些分组也带有2位状态向量,或者是随机地生成的或者使用这2位来指示注入FIFO的长度。
接收FIFO仲裁
在交换机节点可能同时会有一个或多个分组需要被接收。为了减少冲突,独立的接收FIFO被分配给每个进入的方向。此外,在每个方向还可以有一个或多个FIFO。如果在每个节点中具有多重处理器,则本发明的优选实施例允许每个方向的多个FIFO使每个处理器能够在每个方向上具有它自己的接收FIFO。在分组报头中的位能够被用来指示对于给定的方向,这些FIFO中的哪个将被使用。此外,除了单独供高优先权分组使用之外,还可以设置具有一个或多个FIFO组。如果存在对于这些FIFO的冲突,则优先权可以使用2位状态向量来加以确定。
因为已经通过优选实施例对发明进行了描述,所以本领域普通技术人员将会想到各种修改和改进。例如,应该理解,对于本领域普通技术人员而言,本发明的候选实施例可以包括一维,或者可以包括m维,此处m是任一整数。因此,应该理解,该优选实施例是作为例子而非作为限制被提供的。本发明的范围由所附的权利要求书加以限定。

Claims (18)

1.在一种包括按照m维配置的多个节点的大规模并行计算系统中,每个节点包括计算设备,一种用于将分组引导到它们的目的节点的方法,包括如下步骤:
a.)通过对应数目的输入链路中的至少一个输入链路将来自2m个方向中的至少一个方向上的所述分组输入到多个虚拟信道中至少对应的一个虚拟信道上;
b.)将来自所述节点的本地的本地分组输入到多个处理器注入FIFO缓冲器中的至少一个FIFO缓冲器;
c.)生成2m个输出状态位向量,所述输出状态位向量中的每个描述它的链路的可用性、下行流虚拟信道的可用性、以及与它的方向相关联的所有虚拟信道的下行流缓冲器空间指示;
d.)建立通用仲裁策略,其中仲裁决策是以所述2m个输出状态位向量的内容为基础而作出的;
e.)根据所述通用仲裁策略经由至少一条传输路径将所述分组输出到对应的输出链路,其中所述分组被送往所述目的节点;以及
f.)重复前面的步骤,直到所述分组和所述本地分组中的任何分组都可用来输入为止。
2.权利要求1所请求的用于路由分组的方法,还包括使用来自所述分组的分组报头的提示位,其中所述提示位指示所述分组的每个在所述2m个方向中的哪些方向上进行移动是可行的,由此所述建立所述通用仲裁策略被更快速地完成。
3.权利要求1所请求的用于路由分组的方法,还包括:
建立所述2m个用于每个方向的多个可能的位向量,其中每个所述多个可能的位向量指示在每个所述虚拟信道的所述每个方向上任一个所述分组的进一步移动是否仍然是路由目标。
4.权利要求3所请求的用于路由分组的方法,其中执行所述建立所述通用仲裁策略的输入阶段包括:
a.)确定不在其目的地的所述分组中的哪些分组被完全阻塞;
b.)确定不在其目的地的所述分组中的哪些分组未被阻塞;
c.)确定在其目的地的所述分组中的哪些分组被阻塞;
d.)确定在其目的地的所述分组中的哪些分组未被阻塞。
5.权利要求4所请求的用于路由分组的方法,包括建立相当于所述2m个方向的所述2m个多个输入状态位向量,其中所述输入状态位向量中的每个描述就绪待仲裁的指示、以及用于所述多个虚拟信道和与所述2m个方向的一个方向相关联的所述多个处理器注入FIFO缓冲器中的每个的缓冲器输入充满度指示。
6.权利要求5所请求的用于路由分组的方法,还包括:
如果预先规定的仲裁周期标准已经被满足,则在当前仲裁周期中随机化所述输入状态位向量的所述缓冲器输入充满度指示;
如果所述预先规定的仲裁周期标准不被满足,则在所述当前仲裁周期执行最长队列优先权仲裁。
7.权利要求6所请求的用于路由分组的方法,还包括按如下从最高优先权到最低优先权为所述分组生成输入仲裁优先权;
a.)在优先权虚拟信道的头部的所述分组中的未阻塞的一个分组;
b.)在旁路路径中的所述分组中的未阻塞的一个分组,假如所述分组中的所述一个分组是高优先权分组并且在该优先权虚拟信道上没有任何所述分组;
c.)在具有最高所述缓冲器充满度指示的非优先权虚拟信道中的所述分组中的未阻塞的一个分组;
d.)在该旁路路径中的所述分组中的未阻塞的一个分组,假如该分组是非优先权分组。
8.权利要求7所请求的用于路由分组的方法,还包括按照以下步骤为每个所述未阻塞的一个分组选择输出方向和输出虚拟信道:
a.)为所述高优先权未阻塞分组选择方向和优先权虚拟信道,对于该方向和优先权虚拟信道,可能的位向量的优先权虚拟信道位指示该方向依然是所述高优先权未阻塞分组的路由目标;
b.)为不可动态路由的所述非优先权未阻塞分组选择方向和退避虚拟信道,对于该方向和退避虚拟信道,可能的位向量的退避虚拟信道位指示该方向依然是不可动态路由的所述非优先权未阻塞分组的路由目标;
c.)为可动态路由的所述非优先权未阻塞分组选择方向和动态虚拟信道,对于该方向和动态虚拟信道,可能的位向量指示该方向依然是路由目标,并且输出状态位向量指示最大的所述缓冲器空间指示,其中如果不存在任何这种信道和方向的组合,则选择方向和退避虚拟信道,对于该方向和退避虚拟信道,可能的位向量的退避虚拟信道位指示所述方向依然是路由目标。
9.权利要求8所请求的用于路由分组的方法,其中执行所述建立所述通用仲裁策略的输出阶段包括:
根据预先规定的输出阶段仲裁周期标准,为处理器注入FIFO缓冲器将当前输出阶段仲裁周期设置为高优先权;
根据所述预先规定的输出阶段仲裁周期标准,为处理器注入FIFO缓冲器将当前输出阶段仲裁周期设置为低优先权。
10.权利要求9所请求的用于路由分组的方法,还包括按照如下从最高优先权到最低优先权为所述分组生成输出仲裁优先权,其中该当前输出阶段仲裁周期对于处理器注入FIFO缓冲器是低优先权;
a.)在多个优先权虚拟信道中具有最高缓冲器输入充满度指示的所述优先权虚拟信道头部的所述分组中的所述未阻塞的一个分组;
b.)来自多个处理器注入FIFO缓冲器中具有最高缓冲器输入充满度指示的处理器注入FIFO缓冲器的高优先权分组;
c.)在多个非优先权虚拟信道中具有最高所述缓冲器输入充满度指示的非优先权虚拟信道的所述分组的未阻塞的一个分组;
d.)来自多个处理器注入FIFO缓冲器中具有最高缓冲器输入充满度指示的处理器注入FIFO缓冲器的正常优先权分组。
11.权利要求9所请求的用于路由分组的方法,还包括按如下从最高优先权到最低优先权为所述分组生成输出仲裁优先权,其中当前输出阶段仲裁周期对于处理器注入FIFO缓冲器是高优先权;
a.)来自所述多个FIFO缓冲器中具有最高缓冲器输入充满度指示的处理器注入FIFO缓冲器的高优先权分组;
b.)在所述多个优先权虚拟信道中具有最高缓冲器输入充满度指示的所述优先权虚拟信道的头部的所述分组中的所述未阻塞的一个分组;
c.)来自所述多个处理器注入FIFO缓冲器中具有最高缓冲器输入充满度指示的处理器注入FIFO缓冲器的正常优先权分组;
d.)在多个所述非优先权虚拟信道中具有最高所述缓冲器输入充满度指示的非优先权虚拟信道中的所述分组中的未阻塞的一个分组。
12.在一种包括按照m维配置的多个节点的大规模并行计算系统中,每个节点包括计算设备,一种用于将分组路由到它们的目的节点的系统,包括:
a.)用于通过对应数目的输入链路的至少一个输入链路将来自2m个方向的至少一个方向的所述分组输入到多个虚拟信道中对应的至少一个虚拟信道上的装置;
b.)用于将来自所述节点的本地的本地分组输入到多个处理器注入FIFO缓冲器中的至少之一的装置;
c.)用于生成2m个输出状态位向量的装置,所述输出状态位向量中的每个描述它的链路的可用性、下行流动态虚拟信道的可用性、以及与它的方向相关联的所有虚拟信道的下行流缓冲器空间指示;
d.)用于建立通用仲裁策略的装置,其中仲裁决策是以所述2m个输出状态位向量的内容为基础而作出的;
e.)用于根据所述通用仲裁策略经由至少一条传输路径将所述分组输出到对应的输出链路上的装置,其中所述分组被送往所述目的节点;以及
f.)用于重读前面的步骤,直到所述分组和所述本地分组中的任何组合都可用来输入为止的装置。
13.在一种包括按照m维配置的多个计算处理器节点的大规模并行计算系统中,每个节点包括计算设备,一种用于将分组路由到它们的目的地的网络交换机,包括:
a.)至少一个输入单元,用于通过对应数目的输入链路的至少一个输入链路将来自2m个方向的至少一个方向的所述分组输入到多个虚拟信道中对应的至少一个虚拟信道上;
b.)至少一条输入链路,用于将来自所述节点的本地的本地分组输入到多个处理器注入FIFO缓冲器中的至少之一;
c.)输出状态位向量生成器,用于生成2m个输出状态位向量,每个所述输出状态位向量描述它的链路的可用性、下行流动态虚拟信道的可用性、以及与它的方向相关联的所有虚拟信道的下行流缓冲器空间指示;
d.)输入仲裁器和输出仲裁器,用于建立通用仲裁策略,其中仲裁决策是以所述2m个输出状态位向量的内容为基础而作出的;
e.)至少一条输出链路,用于根据所述通用仲裁策略经由至少一条传输路径将所述分组输出到对应的输出链路上,其中所述分组被送往所述目的节点。
14.权利要求13的网络交换机,包括所述网络交换机在作为所述计算机处理器节点的相同集成电路上的集成。
15.权利要求13的网络交换机,包括专用于所述至少一个输入单元的至少一个处理器接收FIFO缓冲器,其中对于相同的多个输入单元具有多个处理器接收FIFO缓冲器,由此在多个输入单元之间的冲突就被减少。
16.权利要求13的网络交换机,其中该网络交换机可以为带动态路由的虚拟直通网络交换机。
17.权利要求16的网络交换机,所述网络交换机在作为所述计算机处理器节点的相同集成电路上的集成。
18.权利要求17的网络交换机,包括:
专用于所述至少一个输入单元的至少一个处理器接收FIFO缓冲器,其中对于相同的多个输入单元具有多个处理器接收FIFO缓冲器,由此在多个输入单元之间的冲突就被减少。
CNB02805430XA 2001-02-24 2002-02-25 分组路由方法、系统及用于分组路由的可扩展网络交换机 Expired - Fee Related CN1269053C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US27112401P 2001-02-24 2001-02-24
US60/271,124 2001-02-24
PCT/US2002/005569 WO2002084508A1 (en) 2001-02-24 2002-02-25 Optimized scalabale network switch

Publications (2)

Publication Number Publication Date
CN1493038A CN1493038A (zh) 2004-04-28
CN1269053C true CN1269053C (zh) 2006-08-09

Family

ID=68499837

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB02805430XA Expired - Fee Related CN1269053C (zh) 2001-02-24 2002-02-25 分组路由方法、系统及用于分组路由的可扩展网络交换机

Country Status (8)

Country Link
US (2) US7305487B2 (zh)
EP (1) EP1370967A4 (zh)
JP (1) JP3871327B2 (zh)
KR (1) KR100620835B1 (zh)
CN (1) CN1269053C (zh)
CA (1) CA2438195C (zh)
IL (1) IL157515A0 (zh)
WO (1) WO2002084508A1 (zh)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0517304D0 (en) * 2005-08-23 2005-10-05 Netronome Systems Inc A system and method for processing and forwarding transmitted information
US7773617B2 (en) * 2006-11-08 2010-08-10 Sicortex, Inc. System and method for arbitration for virtual channels to prevent livelock in a richly-connected multi-processor computer system
US7773616B2 (en) * 2006-11-08 2010-08-10 Sicortex, Inc. System and method for communicating on a richly connected multi-processor computer system using a pool of buffers for dynamic association with a virtual channel
US9053072B2 (en) * 2007-01-25 2015-06-09 Hewlett-Packard Development Company, L.P. End node transactions at threshold-partial fullness of storage space
CN101311917B (zh) * 2007-05-24 2011-04-06 中国科学院过程工程研究所 一种面向粒子模型的多层直连集群并行计算系统
US7970872B2 (en) * 2007-10-01 2011-06-28 Accenture Global Services Limited Infrastructure for parallel programming of clusters of machines
JP2009104300A (ja) * 2007-10-22 2009-05-14 Denso Corp データ処理装置及びプログラム
US20090109996A1 (en) * 2007-10-29 2009-04-30 Hoover Russell D Network on Chip
US20090125706A1 (en) * 2007-11-08 2009-05-14 Hoover Russell D Software Pipelining on a Network on Chip
US20090125703A1 (en) * 2007-11-09 2009-05-14 Mejdrich Eric O Context Switching on a Network On Chip
US8261025B2 (en) 2007-11-12 2012-09-04 International Business Machines Corporation Software pipelining on a network on chip
US8656442B1 (en) 2007-11-21 2014-02-18 BitGravity, Inc. Efficient video delivery
US8223650B2 (en) 2008-04-02 2012-07-17 Intel Corporation Express virtual channels in a packet switched on-chip interconnection network
US20090260013A1 (en) * 2008-04-14 2009-10-15 International Business Machines Corporation Computer Processors With Plural, Pipelined Hardware Threads Of Execution
US8423715B2 (en) 2008-05-01 2013-04-16 International Business Machines Corporation Memory management among levels of cache in a memory hierarchy
US20090282419A1 (en) * 2008-05-09 2009-11-12 International Business Machines Corporation Ordered And Unordered Network-Addressed Message Control With Embedded DMA Commands For A Network On Chip
US8154989B1 (en) * 2008-05-16 2012-04-10 Xilinx, Inc. Recovering a shared channel within a network from a deadlock state
US8311174B1 (en) 2008-05-16 2012-11-13 Xilinx, Inc. Persistent synchronization within a media oriented systems transport network
US8438578B2 (en) 2008-06-09 2013-05-07 International Business Machines Corporation Network on chip with an I/O accelerator
US8194543B2 (en) * 2008-12-18 2012-06-05 Intel Mobile Communications GmbH Methods of data traffic shaping, apparatus and wireless device
KR101250666B1 (ko) * 2009-01-30 2013-04-03 후지쯔 가부시끼가이샤 정보 처리 시스템, 정보 처리 장치, 정보 처리 장치의 제어 방법, 및 컴퓨터 판독 가능한 기록 매체
US8612711B1 (en) * 2009-09-21 2013-12-17 Tilera Corporation Memory-mapped data transfers
US8429377B2 (en) * 2010-01-08 2013-04-23 International Business Machines Corporation Optimizing TLB entries for mixed page size storage in contiguous memory
US9565094B2 (en) * 2009-11-13 2017-02-07 International Business Machines Corporation I/O routing in a multidimensional torus network
US8571834B2 (en) * 2010-01-08 2013-10-29 International Business Machines Corporation Opcode counting for performance measurement
US8359404B2 (en) * 2010-01-08 2013-01-22 International Business Machines Corporation Zone routing in a torus network
US9081501B2 (en) * 2010-01-08 2015-07-14 International Business Machines Corporation Multi-petascale highly efficient parallel supercomputer
US9954760B2 (en) 2010-01-29 2018-04-24 International Business Machines Corporation I/O routing in a multidimensional torus network
US8325723B1 (en) * 2010-02-25 2012-12-04 Integrated Device Technology, Inc. Method and apparatus for dynamic traffic management with packet classification
US8359417B2 (en) * 2010-07-16 2013-01-22 Miranda Technologies Inc. Audio/video router
US8560885B1 (en) * 2010-09-16 2013-10-15 The Boeing Company Dynamic redundancy management
US9077616B2 (en) 2012-08-08 2015-07-07 International Business Machines Corporation T-star interconnection network topology
WO2017069771A1 (en) 2015-10-23 2017-04-27 Hewlett-Packard Enterprise Printed circuit board for receiving a switch chip and transceiver modules
US10311542B2 (en) * 2017-03-06 2019-06-04 Thinci, Inc. Node topology employing recirculating ring command and data buffers for executing thread scheduling
US10579428B2 (en) 2017-12-01 2020-03-03 International Business Machines Corporation Data token management in distributed arbitration systems
WO2020236275A1 (en) 2019-05-23 2020-11-26 Cray Inc. System and method for facilitating dynamic command management in a network interface controller (nic)
CN115550293B (zh) * 2022-11-30 2023-03-10 苏州浪潮智能科技有限公司 一种fsi主控制器及其端口路由装置和方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4891751A (en) * 1987-03-27 1990-01-02 Floating Point Systems, Inc. Massively parallel vector processing computer
US5347450A (en) * 1989-01-18 1994-09-13 Intel Corporation Message routing in a multiprocessor computer system
US5689647A (en) * 1989-03-14 1997-11-18 Sanyo Electric Co., Ltd. Parallel computing system with processing element number setting mode and shortest route determination with matrix size information
US5181017A (en) * 1989-07-27 1993-01-19 Ibm Corporation Adaptive routing in a parallel computing system
US5280474A (en) * 1990-01-05 1994-01-18 Maspar Computer Corporation Scalable processor to processor and processor-to-I/O interconnection network and method for parallel processing arrays
EP0485690B1 (en) * 1990-11-13 1999-05-26 International Business Machines Corporation Parallel associative processor system
US5175733A (en) * 1990-12-27 1992-12-29 Intel Corporation Adaptive message routing for multi-dimensional networks
JPH05181816A (ja) * 1992-01-07 1993-07-23 Hitachi Ltd 並列データ処理装置及びマイクロプロセッサ
US5511070A (en) * 1992-05-20 1996-04-23 Xerox Corporation Reservation ring mechanism for controlling contention in a broadband ISDN fast packet switch suitable for use in a local area network
US6157967A (en) * 1992-12-17 2000-12-05 Tandem Computer Incorporated Method of data communication flow control in a data processing system using busy/ready commands
US5583990A (en) * 1993-12-10 1996-12-10 Cray Research, Inc. System for allocating messages between virtual channels to avoid deadlock and to optimize the amount of message traffic on each type of virtual channel
JPH08185380A (ja) * 1994-12-28 1996-07-16 Hitachi Ltd 並列計算機
JPH08251196A (ja) 1995-03-15 1996-09-27 Toshiba Corp 並列計算機
CA2181206C (en) * 1995-07-24 2001-03-13 Anwar Elwalid A method for admission control and routing by allocating network resources in network nodes
JPH1040223A (ja) * 1996-06-17 1998-02-13 Internatl Business Mach Corp <Ibm> 分散並列システムにおける集合通信認識の最適化方法
JP3532037B2 (ja) * 1996-07-31 2004-05-31 富士通株式会社 並列計算機
JP3980488B2 (ja) 2001-02-24 2007-09-26 インターナショナル・ビジネス・マシーンズ・コーポレーション 超並列コンピュータ・システム

Also Published As

Publication number Publication date
JP2004527176A (ja) 2004-09-02
CA2438195A1 (en) 2002-10-24
US7668970B2 (en) 2010-02-23
JP3871327B2 (ja) 2007-01-24
EP1370967A1 (en) 2003-12-17
EP1370967A4 (en) 2009-10-21
WO2002084508A1 (en) 2002-10-24
US20080091842A1 (en) 2008-04-17
US7305487B2 (en) 2007-12-04
KR20040004532A (ko) 2004-01-13
US20040078482A1 (en) 2004-04-22
CN1493038A (zh) 2004-04-28
IL157515A0 (en) 2004-03-28
KR100620835B1 (ko) 2006-09-13
CA2438195C (en) 2009-02-03

Similar Documents

Publication Publication Date Title
CN1269053C (zh) 分组路由方法、系统及用于分组路由的可扩展网络交换机
CN1229739C (zh) 全局中断和障碍网络
Mohapatra Wormhole routing techniques for directly connected multicomputer systems
Adiga et al. Blue Gene/L torus interconnection network
Glass et al. Fault-tolerant wormhole routing in meshes without virtual channels
KR20140139032A (ko) 패킷플로우 상호연결 패브릭
CN108199985B (zh) GPGPU中基于全局节点信息的NoC仲裁方法
Rojas-Cessa Interconnections for Computer Communications and Packet Networks
Akella et al. A universal approach to data center network design
Jouraku et al. An effective design of deadlock-free routing algorithms based on 2d turn model for irregular networks
Bouhraoua et al. Improved modified fat-tree topology network-on-chip
Choi et al. Evaluation of crossbar architectures for deadlock recovery routers
Rahman et al. Dynamic communication performance of a TESH network under the nonuniform traffic patterns
Effiong et al. Roundabout: a network-on-chip router with adaptive buffer sharing
Qasem et al. Square-octagon interconnection architecture for network-on-chips
Su et al. Simple and effective adaptive routing algorithms in multi-layer wormhole networks
Rahman et al. Dynamic communication performance enhancement in Hierarchical Torus Network by selection algorithm
MM et al. Dynamic communication performance of a hierarchical torus network under non-uniform traffic patterns
Bahn et al. Efficient parallel buffer structure and its management scheme for a robust network-on-chip (noc) architecture
Chi et al. Tree-Based Routing for Faulty On-Chip Networks with Mesh Topology
Rahman et al. Routing performance enhancement in hierarchical torus network by link-selection algorithm
Yoshinaga et al. A cost and performance comparison for wormhole routers based on HDL designs
Jurczyk et al. Switch box architecture for saturation tree effect minimization in multistage interconnection networks
Veeraprathap et al. Network on chip design and implementation on FPGA with advanced hardware and networking functionalities
Moadeli et al. A performance model of communication in the quarc noc

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060809

Termination date: 20190225

CF01 Termination of patent right due to non-payment of annual fee