CN1493040A - 用于计算结构的全局树形网络 - Google Patents
用于计算结构的全局树形网络 Download PDFInfo
- Publication number
- CN1493040A CN1493040A CNA028055209A CN02805520A CN1493040A CN 1493040 A CN1493040 A CN 1493040A CN A028055209 A CNA028055209 A CN A028055209A CN 02805520 A CN02805520 A CN 02805520A CN 1493040 A CN1493040 A CN 1493040A
- Authority
- CN
- China
- Prior art keywords
- node
- tree
- network
- virtual
- virtual tree
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000009467 reduction Effects 0.000 claims abstract description 52
- 238000000034 method Methods 0.000 claims abstract description 34
- 238000012545 processing Methods 0.000 claims abstract description 26
- 238000004891 communication Methods 0.000 claims abstract description 11
- 238000011144 upstream manufacturing Methods 0.000 claims abstract description 6
- 230000007246 mechanism Effects 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000008520 organization Effects 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 abstract description 12
- 230000004888 barrier function Effects 0.000 abstract description 4
- 230000001360 synchronised effect Effects 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 230000009194 climbing Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 240000007182 Ochroma pyramidale Species 0.000 description 2
- HUTDUHSNJYTCAR-UHFFFAOYSA-N ancymidol Chemical compound C1=CC(OC)=CC=C1C(O)(C=1C=NC=NC=1)C1CC1 HUTDUHSNJYTCAR-UHFFFAOYSA-N 0.000 description 2
- 238000013481 data capture Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 238000004804 winding Methods 0.000 description 1
Images
Classifications
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F04—POSITIVE - DISPLACEMENT MACHINES FOR LIQUIDS; PUMPS FOR LIQUIDS OR ELASTIC FLUIDS
- F04D—NON-POSITIVE-DISPLACEMENT PUMPS
- F04D25/00—Pumping installations or systems
- F04D25/16—Combinations of two or more pumps ; Producing two or more separate gas flows
- F04D25/166—Combinations of two or more pumps ; Producing two or more separate gas flows using fans
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K7/00—Constructional details common to different types of electric apparatus
- H05K7/20—Modifications to facilitate cooling, ventilating, or heating
- H05K7/20709—Modifications to facilitate cooling, ventilating, or heating for server racks or cabinets; for data centers, e.g. 19-inch computer racks
- H05K7/20836—Thermal management, e.g. server temperature control
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F04—POSITIVE - DISPLACEMENT MACHINES FOR LIQUIDS; PUMPS FOR LIQUIDS OR ELASTIC FLUIDS
- F04D—NON-POSITIVE-DISPLACEMENT PUMPS
- F04D27/00—Control, e.g. regulation, of pumps, pumping installations or pumping systems specially adapted for elastic fluids
- F04D27/004—Control, e.g. regulation, of pumps, pumping installations or pumping systems specially adapted for elastic fluids by varying driving speed
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17337—Direct connection machines, e.g. completely connected computers, point to point communication networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
- G06F15/17381—Two dimensional, e.g. mesh, torus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
- G06F17/142—Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/003—Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
- G09G5/006—Details of the interface to the display terminal
- G09G5/008—Clock recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
- H04L7/033—Speed 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/0337—Selecting between two or more discretely delayed clocks or selecting between two or more discretely delayed received code signals
- H04L7/0338—Selecting 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
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F24—HEATING; RANGES; VENTILATING
- F24F—AIR-CONDITIONING; AIR-HUMIDIFICATION; VENTILATION; USE OF AIR CURRENTS FOR SCREENING
- F24F11/00—Control or safety arrangements
- F24F11/70—Control systems characterised by their outputs; Constructional details thereof
- F24F11/72—Control systems characterised by their outputs; Constructional details thereof for controlling the supply of treated air, e.g. its pressure
- F24F11/74—Control 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/77—Control 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02B—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
- Y02B30/00—Energy efficient heating, ventilation or air conditioning [HVAC]
- Y02B30/70—Efficient control or regulation technologies, e.g. for control of refrigerant flow, motor or heating
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Data Mining & Analysis (AREA)
- Mechanical Engineering (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Discrete Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Thermal Sciences (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Multi Processors (AREA)
Abstract
一种用于在根据树形网络结构互连的处理节点中启动高速、低延迟全局树形通信的系统和方法。全局树形网络(100)在具有多个互连的处理节点的计算机结构中执行的并行算法运算期间,优选地启动将执行的集合归约运算。包括了经链路互连树的节点以便有助于在虚拟树和子树结构的节点处执行低延迟全局处理运算性能的路由器设备(200)。全局运算包括以下的一个或多个:从虚拟树的根节点(110)向下到叶节点(120)的全局广播操作、从虚拟树中的叶节点向上到根节点(110)的全局归约运算,以及从虚拟树的任何节点到根节点(110)的点对点消息传递。耦合虚拟树形网络的一个节点,并其该节点充当用于提供对于虚拟树的每个节点与外部系统的I/O功能的I/O节点。可将全局树形网络(100)配置成以异步或同步的方式提供全局屏蔽和中断的功能性。因此,并行算法处理运算,例如,在并行计算系统中所采用,可根据并行算法运算的某些操作阶段优化地执行。当在大规模并行超级计算结构中实现时,根据处理算法的需要,全局树形网络(100)是物理上和逻辑上可划分的。
Description
相关申请的交叉引用
本发明要求2001年2月24日申请的,名为“大规模并行超级计算机(MASSIVELY PARALLEL SUPERCOMPUTER)”的共同拥有的、一并未决美国临时专利申请序列号60/271,124的权利,整个内容和公开内容在此明确合并作为参考,相当于在此完全阐述。本发明申请另外涉及下述共同拥有的,与此同一天提交的一并未决美国专利申请,每一个的全部内容和公开内容在此明确一并作为参考,相当于在此完全阐述。美国专利申请序列号No.(YOR920020027US1,YOR920020044US1(15270)),为″类网络路由(Class Networking Routing)″;美国专利申请序列号No.(YOR920020028US1(15271)),为″用于计算结构的全局树网络(A Global Tree Network for Computing Structures)″;美国专利申请序列号No.(YOR920020029US1(15272)),为“全局中断和屏障网络(Global Interrupt and Barrier Networks)″;美国专利申请序列号No.(YOR920020030US1(15273)),为“优化的可扩展网络开关(Optimized Scalable Network Switch)″;美国专利申请序列号No.(YOR920020031US1,YOR920020032US1(15258)),为″环网络和树网络中的算术函数(Arithmetic Functions in Torus andTree Networks)”;美国专利申请序列号1 No.(YOR920020033US1,YOR920020034US1(15259)),为用于高速信号传输的数据捕获技术(Data Capture Technique for High Speed Signaling)″;美国专利申请序列号No.(YOR920020035US1(15260)),为通过传送/获取窗口控制相干性(Managing Coherence Via Put/Get Windows)’;美国专利申请序列号No.(YOR920020036US1,YOR920020037US1(15261)),为″低延迟存储器存取和同步(Low Latency Memory AccessAnd Synchronization)″;美国专利申请序列号No.(YOR920020038US1(15276),为存在故障时用于文件服务器维护全部性能的双尾部故障转移(Twin-Tailed Fail-Over for FileserversMaintaining Full Performance in the Presence of Failure)″;美国专利申请序列号No.(YOR920020039US1(15277)),为″通过无开销链接级校验和的故障隔离(Fault Isolation Through NoOverhead LinkLevel Checksums)’;美国专利申请序列号No.(YOR920020040US1(15278)),为″通过物理位置用于大规模并行系统的以太网寻址(Ethernet Addressing Via Physical Location for MassivelyParallel Systems)″;美国专利申请序列号No.(YOR920020041US1(15274)),为″通过动态划分的超级计算机中的容错(Fault Tolerancein a Supercomputer Through Dynamic Repartitioning)″;美国专利申请序列号No.(YOR920020042US1(15279)),为″检验点文件系统(Checkpointing Filesystem)″;美国专利申请序列号No.(YOR920020043US1(15262)),为’分布式存储器并行多节点计算机上的多维快速傅里叶变换的有效实现(Efficient Implementation ofMultidimensional Fast Fourier Transform on a Distributed-MemoryParallel Multi-Node Computer)″;美国专利申请序列号No.(YOR9-20010211US2(15275)),为″一种新型大规模并行超级计算机(A Novel Massively Parallel Supercomputer)″;和美国专利申请序列号No.(YOR920020045US1(15263)),为″智能风扇模块和系统(Smart Fan Modules and System)″。
发明背景
发明领域
本发明通常涉及分布式存储器消息传递并行计算机设计和系统软件的领域,更具体地说,涉及用于互连用在例如大规模(massively)并行的、分布式存储器计算机中的单个处理器的新颖方法和装置。
现有技术的描述
大规模并行计算结构(也称为“巨型计算机(ultra scalecomputer)”或“超级计算机”)通常以非常规则的结构,诸如栅格、网格或环面的形式互连大量计算节点。
在这种大规模并行系统中共同面临的一个问题是涉及许多节点的集合算术(collective arithmetic)或逻辑运算的有效计算。这种系统共同面临的第二个问题是由所有节点有效共享有限多个外部I/O连接。涉及许多计算节点上的集合算术运算的共同计算的例子是需要基于全局求和的全局内积的迭代稀疏线性方程求解技术。
尽管图1中所示的三维环面互连计算结构10包括在边缘处“缠绕”的简单的3维最近邻互连,对大多数类型的内部处理器通信来说工作很好,但对执行集合运算诸如归约,其中通过每个计算节点12提供的操作数计算的单个结果,或有限资源诸如外部I/O连接(未示出)的有效共享则不好。
因此,非常期望提供超大规模超级计算体系结构,包括为有效和可靠执行许多类运算,包括那些需要全局算术运算诸如全局归约计算、数据分配、同步和有限资源共享的所优化的处理节点的独特的互连。
因为较长的延迟,高速网络的标准连接,诸如环面,不是简单地完全适用于这该目的。
即,仅将树形通信模式映射到物理环面互连上,会导致比如果相邻树节点需要在环面相邻时所需的更大深度的树,或导致当这些节点在环面中不相邻时,在节点间具有更长延迟的树。当互连资源有限时,为了最有效地计算集合运算,需要真正的树形网络,即,节点间的物理互连将这些节点形成为树的网络。
发明概述
本发明的一个目的在于为计算结构的单个处理节点互连提供一种系统和方法,以便能有效和可靠地计算全局归约、分配数据、同步和共享有限资源。
本发明的另一目的是提供将排列成树形互连的大规模并行、分布式存储器计算机的单个处理器互连的独立的单个物理网络,并便于全局算术和集合运算。
本发明的另一目的是提供将排列成全局树形互连的大规模并行、分布式存储器计算机的单个处理器互连的独立的单个物理网络,用于将外部(输入/输出)I/O和服务功能性提供给一个或多个虚拟树形网络的节点,该虚拟树形网络是物理网络的子树。这种全局树形互连系统可包括专用的I/O节点,用于保持消息传递环面或栅格计算结构的消息通信量。
根据本发明,提供用于允许在根据树形网络结构互连的处理节点间高速、低延迟的全局通信的系统和方法。全局树形网络最好允许在具有多个互连处理节点的计算机结构中执行并行算法运算期间,执行集合归约(collective reduction)运算。其中包括了路由器装置,其通过链路互连树的多个节点,以便于在树的节点处执行低延迟全局处理运算。其中包括了允许定义“虚拟树”的结构选项,该“虚拟树”由树形网络中的全部节点的子集组成。全局运算包括一个或多个:从虚拟树的根节点向下到叶节点的全局广播运送、从虚拟树中的叶节点向上到根节点的全局归约运算,以及从虚拟树中的任何节点到根节点的点对点消息传递。将虚拟树形网络的一个节点连接到I/O节点并用作I/O节点,用于通过外部系统,为虚拟树的每个节点提供I/O功能性。全局树形网络可配置成以异步或同步的方式提供全局屏蔽和中断功能性。这在一并未决申请U.S.专利申请序列号No.(YOR920020029US1(15272))中描述过。因此,最好根据并行算法运算的某一运算阶段执行在并行计算系统中采用的并行算法处理运算。当在大规模并行超级计算结构中实现时,根据处理算法的需要,可物理和逻辑地划分全局树形网络。
在大规模并行计算机中,所有计算节点通常要求存取外部资源,诸如,文件系统。因为提供这种连接的成本远高于单个计算节点的成本,因此提出了有效共享有限多个外部I/O连接的问题。因此,有效共享I/O连接保证了I/O带宽不会成为对于系统可扩展性的限制成本因素。根据平均延迟,假定有限的处理器间互连,则用于共享单个资源的最有效网络是全局树,其中共享的资源处于树的根节点处。
对全局和集合运算来说,单个、大型树可用来互连所有的处理器。然而,文件系统I/O要求在根节点处具有I/O装置的许多小型树。因为大型树包括多个、更小的子树,因此通过在适当大小的子树根处,关键地将外部互连放在其之内,单个、大型树可用于文件系统I/O。另外,文件系统I/O要求可由本发明启动的点对点传递消息并且不需要集合运算。
有利地,包含本发明的全局树形网络的可扩展、大规模并行超级计算机非常适用于在生命科学领域中执行的并行算法。
附图的简单描述
根据下述的描述、附加权利要求书和附图,将更容易理解本发明的设备和方法的另外的特征、方面和优点,其中:
图1描述互连八个计算节点的三维环面网络;
图2描述包括三十五(35)个节点(用圆圈表示)的典型系统的例子,以及连接所有节点的树形网络100;
图3示例说明在图2的全局树形网络中实现的路由器装置的基本体系结构。
优选实施例的详细描述
本发明可在计算机结构中实现,诸如在此所包含的、共同拥有的、一并未决的美国专利申请_[YOR920010211US2,D#15275]中所描述的,在该未决美国专利申请中描述了以三维环面形式的新颖的大规模并行超级计算机体系结构,设计成在teraOPS(每秒万亿浮点运算)数量级的递送处理能力,用于广泛的应用范围。在示例性实施例中所述的大规模并行超级计算机体系结构包括组织成64×32×32三维环面的65,536个处理节点,每个处理节点连接到六(6)个相邻的节点12。图1表示由八(8)个节点12组成的这种环面,并且很清楚地看出通过沿所有三维增加节点12的数量,如何扩展这种互连。用目前的技术,对要求远高于通信的计算或仅需要最近邻通信的应用来说,可将该体系结构扩展到上百teraOPS。应当理解,可在除超级计算机外的许多其他计算机结构中实现本发明。
如所述,连接环面处理节点的互连网络对大多数类型的处理器间通信来说效果不错,但对集合运算,诸如归约来说,则效果不好,其中由每个节点提供的操作数来计算单个结果。
如在此包含的共同拥有的、一并未决的美国专利申请NO.[D#15275]中所述,根据最小延迟,用于在环面上执行集合归约运算的最有效机制是提供真实的树形网络,即,节点间的物理互连将这些节点形成为树的网络。
因此,根据本发明的优选实施例,提供全局树形网络,该网络包括多个互连的路由器装置、每个节点一个专用集成电路(ASIC)。每个路由器提供三个“子”端口和一个“父”端口,有选择性地启动每个端口。二个子端口足以创建树形拓扑。更多的子节点降低了树的高度,或减少了到达根所需的连接。因此,以更多的互连为代价,更多的子节点能降低用于集合运算的延迟。通过以“根”节点开始形成树,该根节点没有父节点(即,没有连接到其父端口的节点)。该根节点形成树的最上“级”。通过将一个或多个根的子端口连接到其他路由器的父端口形成下一级。在这种情况下,根节点是其以下级中的节点的“父节点”。循环地继续该过程直到到达没有子节点的节点为止(即,没有连接到它们的路由器子端口的任何一个的节点)。这些节点称为树的“叶”。例如,如图2的示例树形网络100中所示,节点B110是根节点,以及叶是在离根节点最远的底部的节点120。如在此所提到的,朝该树的根节点向上移的数据称为“上树(uptree)”通信量,而远离根节点、朝叶移动的数据称为“下树(downtree)”通信量。
如将更详细地描述,树形网络可包括由互连路由器(节点)的链路上的虚拟信道支持的多个独立的“虚拟网络”。为共享这些链路,以合理的方式分组并交错虚拟网络数据流。每个虚拟网络具有其自己的存储资源,以及在一个中的功能性死锁不会影响其他的虚拟网络。
每个虚拟网络可进一步细分成虚拟树(或子树),其(在每个虚拟网络中)可以是独立或不独立的。任何节点可构造成16个虚拟树中的一个的根。虚拟树包括指定为根的节点和所有其子节点,除a)也指定为相同虚拟树号(tree number)的根的节点,以及b)满足a)的节点的子节点。因此具有相同虚拟树号的虚拟树不能重叠,但具有不同树号的虚拟树能重叠。
可将节点构造成加入任意数目的虚拟树,或一个也不加入。如果它们加入,那么期望它们遵循所有树形语义,诸如将操作数提供给归约运算。当节点可参与多个虚拟树时,它们必须为它们添加到虚拟网络的每个分组指定一个虚拟树号。
在图2中示出了用在根据本发明的示例树形结构100。更具体地说,图2描述包括三十五(35)个节点(用圆圈表示)的虚拟树形网络的例子,以及连接所有35个节点树形网络100。树形网络100用于全局归约以及广播,将在下文更详细地描述。为输入/输出(I/O)以及与外部系统资源共享的目的,将图2的示例虚拟网络100的节点分组成在图2中引用的五(5)个不重叠虚拟子树以作为虚拟树1-5。即,用圆圈内的不同号表示每个虚拟子树。在每个各个子树1-5的根处的各自的节点111、112、113、114和节点110包括连接到外部系统(例如,主机或文件系统)的接口。因此,每个I/O连接为连接到其根的子树的七(7)个节点的处理所有通信量。在优选实施例中,在每个子树的根部的节点专用于I/O,但并不总是要求这样。
参考图2和虚拟树号1,以及其根部的节点A111,希望将数据发送出该结构的典型的节点115将消息上传到虚拟树的根节点111,在该处,将消息转发给外部连接。通过广播滤波器,到达外部网络连接的数据可转发给特定的节点,诸如115,如在此更详细地描述,该滤波器滤出所有其它节点。在此包含的、共同拥有的、一并未决的美国专利申请No.__[YOR982001-1002,YOR982001-1005以及YOR982001-1009]中可找到有关全局树形网络的运算,特别是有关支持可编程点对点或用于输入/输出、程序加载、系统管理、并行任务监视和调试的功能性的更详细的资料。
再参考图2,通常来说,I/O通信量保持在其根部具有外部连接的虚拟树内。然而,如果外部连接失败,具有外部连接的另一节点可用于故障转移。例如,如果对图2中的节点A111的外部I/O连接失败,那么在其根为节点A的子树内的所有节点能通过节点B110与外部文件系统或主机系统通信。
应当理解到包括在树20中的硬件功能性包括,但不局限于整数加法、整数取最大值、取最小值、位逻辑与(AND)、位逻辑或(OR)、位逻辑异或(XOR)(异OR)以及广播。可以尽可能最低的延迟方式实现这些功能。例如,加法功能产生首先在全局网络上发送的字的最低字节。立即将该低字节增加到来自其他资源的其他字节上(在硬件中),其结果移出到该树的下一级。用这种方式,例如,在移出高位字节前,8字节的字已经了该树的几层。这产生在整个机器上非常低的延迟增加的可能性。如在一并未决的申请U.S.专利申请序列号No.(YOR920020031US1,YOR920020032US1(15258)),名为“环网络和树网络中的算术函数(Arithmetic Function in Tours and TreeNetworks)”中所述,通过适当的数据预处理,也可实现其他的算术功能,诸如取最小值和减法。通过该树上的2次传递,也可实现浮点求和,与没有全局组合树(combining tree)实现该结果的方法相比,均以非常低的延迟。通常,树上的算术或逻辑运算导致沿树向上流,在该处组合所有结果,然后从根再流回树,使该结果分布于所有分支。如将描述的,以可控方式,可从该计算中省略某些分支。
在优选实施例中,本发明的全局树形网络包括互连路由器,每个节点一个,每个路由器移动数据并计算集合归约。图3示例说明用于图2的树形网络的路由器装置200的基本体系结构。如图3所示,每个路由器装置200包括多个端口,例如,四个,可连接到另一路由器,或当不连接时将其禁止。如图3所示,路由器具有四个输入端口210a-213a以及相应的四个输出端口210b-213b以便形成允许构造3-树的数据通路。在一个实施例中,仅可将四个端口中的一个指定为连接到父节点,以及剩余端口的所有三个可连接到子节点。在树的底部的叶节点将仅具有连接到激活的其父节点的一个端口,而树根将不具有激活的父节点,但至少有一个激活的子节点。应理解到通过如图3所示的纵横开关215可创建数据通路。
为描述目的,在图3的路由器装置200中,数据通常从左流向右。因此,分组可从局部输入FIFO202,或路由器输入端口210a-213a中的一个进入路由器装置200。如果分组进入一个端口,那么,根据其是两个虚拟网络中的哪一个,将其放入两个输入FIFO中的一个(例如A或B)。最终通过在上树选择块220或下树(downtree)选择块230中提供的ALU单元240执行的逻辑和算术运算使用这些分组。将上树逻辑或下树选择的结果广播到所有四个输出级210b-213b,根据其指定的运算和输出端口,每个输出级可处理或不处理该结果。选择块220、230包括确定通过该路由器将分组移向何处的判优电路(未示出)。应理解到可存在同时上树和下树通信量。
由输入和接收接口202、204和一套配置寄存器218提供对树的软件存取。通常,使用配置寄存器218来配置路由器和确定其状态,而按应用使用输入和接收接口202、204来分别提供操作数及接收结果。更具体地说,通过将适当的值存入每个路由器的虚拟树配置寄存器218来配置每个虚拟树,其中每个虚拟树具有一个虚拟树配置寄存器。对每个虚拟树,配置寄存器允许节点指定其是否充当:1)树根,2)是否加入树,和/或3)是否将强制接收上树广播分组。另外,虚拟树配置寄存器218允许节点指定其子节点的哪一个加入树,或具有它们之下的加入者。这对支持稀疏树来说是很必要的。
应用程序通过CPU输入202和CPU接收204接口与树交互。通过将数据作为分组存储到输入接口(injection interface)202中,直接或通过直接存储器存取(DMA)将数据发送到树中。类似地,通过作为分组从接收接口204读取结果,直接或通过DMA从树中移除该结果。
尽管未示出,将理解到在路由器间,使用例如,允许几个分组占用空隙(worth of slack)的基于令牌的协议实现流控制技术。即,将激活的每个输出端口210b-213b连接到另一路由器的单个输入端口。通常,那个输入端口的每个虚拟信道授予输出端口的相应的虚拟信道一个令牌,以用于每个占用(worth of buffer space)其输入FIFO中的缓冲空间的分组。当输出端口发送分组时使用令牌,并且如果释放FIFO空间,输入端口将令牌返回给输出端口。因此,输出端口可继续发送分组,只要它具有可用令牌。
启动优选实施例的路由器装置内的算术逻辑单元(ALU)块240来在四个执行操作数大小上执行五个归约运算。运算是整数加法、整数取最大值、位逻辑或(OR)、位逻辑异或(XOR)以及位逻辑与(AND)。操作数大小是32位、64位、128位和2048位。应理解到在图3中描述的体系结构不排除对运算或操作数大小的不同选择。具体来说,采用用于选择运算和操作数大小的软件。
通常,加入归约运算的那些节点通过将“归约”型分组存储在CPU输入FIFO202中来输入这些“归约”型分组。以分组的颗粒度(granularity)执行归约,其中根据一个实施例的分组携带例如256字节的有效负载。单个分组通常将携带相同大小的操作数,并在所有操作数上执行相同的归约。可将任何节点构造成不加入用于每个虚拟树的归约。在这种情况下,节点将不将任何数据提供给归约并且不接收结果。
对每个虚拟树来说,将路由器装置200构造成指定其哪个子节点将加入归约。当它从其每个加入子节点和局部输入FIFO(除非局部节点不参加)接收归约分组时,它在分组内容上执行特定的归约运算并将该结果作为单个分组发送给其父节点。即,组合每个分组的第一字以产生结果分组的第一字。组合每个分组的第二字以产生结果分组的第二字,依此类推。用这种方式,沿树向上循环计算全局结果,最后在归约树(reduction tree)的根节点处完成作为包含这些结果的单个分组。
最好,可将任何节点构造成虚拟归约树的根。只要归约达到那个节点,则可以收到组合分组、将组合分组广播到所有加入子节点,或同时执行。当路由器接收指定用于子节点下树的归约分组时,将分组的拷贝转发给每个子节点。如果将其构造成加入在那个虚拟树上的归约,也将该分组的拷贝放入其局部接收FIFO204中。
在优选实施例中,物理互连的宽度小于操作数宽度,以便以串行化的方式在树上传送操作数。为实现最低可能延迟,整数操作数将首先传送其最低位,以便能计算结果甚至当操作数到来时进行转发。用这种方式,在移出其高命令位前,结果可能上升了树的好几级,导致所有节点上非常低的延迟。应理解到从包含最高命令位的字开始计算流水线取最大值运算,因为基于它们不同的最高命令位,发现数是不同的。硬件自动反转输入和接收的最大操作数以便从高命令位到低命令位执行计算。
另外,可使用整数归约来计算浮点归约(floating pointreduction)。例如,通过利用该树两次,可执行全局浮点求和,其中在第一次中获得所有指数的最大数,以及在第二次中,增加所有移位的尾数。
如所述,本发明的树形网络100是用于执行有效全局广播的理想结构。总是从树根执行硬件广播操作,但通过首先将点对点,“广播”型消息发送给根节点的路由器装置,任何节点可以广播,然后,路由器装置开始自动广播。对大多数部分,全局广播遵守归约规则和限制,但在它们的上树行为中则不同。通过在虚拟树上输入广播型分组,任何节点可执行有效负载的广播。分组不变地沿树向上行进,直到它到达构造为虚拟树的根节点为止。然后回转并广播到那个虚拟树上的所有参加的子节点。因此,将仅由那个虚拟树上的那些加入归约的节点接收到它。
根据本发明,通过过滤包含在分组中的信息来进一步控制广播接收。通过将包含在分组中的值与存储在每个路由器中的预设值进行匹配,以及如果值匹配的话,仅接收分组来使优选实施例的过滤机制起作用。通常,给系统中的每个节点赋予唯一值(地址),以便该广播过滤机制允许消息从根节点发送到其下的单个节点。也可能使用非唯一地址来产生由节点的子集接收。有许多方法可概括广播过滤。例如,使用位矢量代替地址将允许多个、不相交、可配置节点子集来接收广播。
通过结合广播过滤和“根”分组型来提供有效共享外部I/O连接。根型分组通常沿虚拟树向上行进直到它遇到指定为那个树的根的节点为止,在该处,无条件接受该分组。这允许非根节点将消息发送给根,在该处,可将它们转发给外部连接。使用具有与预定目的地匹配的地址的过滤广播,可将到达外部连接的数据转发给特定的非根节点。
如果外部连接失败,使用那个连接的结点可沿具有外部连接的树向上将故障转移到下一节点。对来自该节点的通信量来说,可通过简单地在有故障的外部连接处重新构造节点来执行,以便它不再成为虚拟树的根,以及将故障转移节点重新构造为新的根。因为来自故障转移的根的广播将转到那个节点的所有子节点,而不仅仅是故障节点下的子节点,因此节点的通信量变得更复杂。例如,如果图2中,节点A111故障转移到节点B110,那么来自节点B的分组将广播到整个树。
为防止不必要的通信量,可将任意路由器装置构造成独立地阻止在每个虚拟树上的下树通信量。简单地中断进入用于构造成块的虚拟树的上树链路上的路由器的分组。例如,假定图2中节点A111下的节点使用标记为树1的虚拟树来使用在节点A111的连接发送和接收外部I/O。为了把在节点A的连接故障转移到节点B,将节点B构造成虚拟树1的根来代替节点A,以及节点C和D构造成阻止虚拟树1上的下树通信量的块。很容易理解到一般可使用该下树阻塞机制来删除虚拟树。
通过所附的中断请求,可将任何分组输入到树形网络中。这一最终结果是导致在接收分组的每个节点处的可屏蔽中断,或在归约的情况下,由该分组计算的结果。如果用于那个结果的任何一个输入分组请求一个中断,那么归约结果将导致中断。另外,可使用全局归约运算来执行具有中断机制的软件屏蔽。简单地说,每个节点通过清除其中断标志,然后用于全局归约来进入屏蔽。它通过查询中断标志并接收中断来检测屏蔽的完成。可在此包含的、共同拥有的、一并未决的美国专利申请序列号No.__[YOR8-2001-1009]中找到有关全局组合树和屏蔽网络的运算的进一步详细资料。
本发明的树形网络保证正确完成运算,只要它们遵循基本的排序规则。即,因为由路由器200按照接收它们被接收的顺序处理分组,如果虚拟树上加入运算的节点未以相同的顺序输入归约操作数,或不能输入操作数,则会导致虚拟网络死锁。类似,如果在相同的虚拟网络上两个虚拟树重叠,以及操作数输入违反虚拟网络的严格排序规则,也会出现死锁。最好,在广播或点对点消息运算(messaging operation)上没有排序限制,以及可与归约交错这些运算。
通过硬件错误恢复机制提供保证完成正确排序的运算。简单地说,每个路由器保留经全局树形网络链路发送的每个分组的拷贝,直到它接收到该分组被无误地接收的确认为止。可实现链路级通信协议,诸如具有分组CRC的滑动窗口协议,包括用于检测被破坏的分组的机制,以及导致使用保存的拷贝重新发送那些分组的机制。
如所述,通过使用基于令牌的通信协议来维持流控制。将分组发送给“下游”路由器的“上游”路由器具有表示下游路由器中的空闲存储容量数量的多个令牌。无论何时上游路由器发送分组,其使用令牌,并且除非还剩有令牌,否则不能发送该分组。相反地,无论何时下游路由器释放存储空间时,它向上游路由器发布令牌。存储空间和分组延迟间的平衡确保链路始终保持忙。
在通过多个下树链路通常发送单个分组以及局部接收的下树广播中,可实现流控制以便防止分组提前,直到在所有下树链路上令牌可用并且在CPU中有空位来接收FIFO204为止。然而,这种保守方法会影响用于单个目的地的过滤广播的吞吐量,因为那个目的地可在具有令牌的链路之下,而分组在不具有令牌的另一链路上等待。因此,在优选实施例中,树形网络执行“主动”广播,其基本上脱离了单个下树链路上的流控制。参考图3,将分组转发给适当的下树链路的输出FIFO250以及虚拟网络,只要在它们中存在可用的足够的存储空间时。然后,当令牌变成可用时,使每个输出FIFO250单独地流向其输出端口210b-213b。注意无论如何,如前所述,为通过重新传送而恢复传送错误的目的,必须将单个的分组拷贝放入每个输出FIFO250中。
在优选实施例中,如在共同拥有的、一并未决的美国专利申请No.(YOR9-20010211US2(15275)),名为“一种新型大规模并行超级计算机(A Novel Massively Parallel Supercomputer)”中更详细的描述,以及在此参考图1-3所述,每个处理节点12是基于片上系统过程的,即,计算机节点的所有功能,包括路由功能均集成到单个ASIC上,导致对于节点尺寸其大小以及功耗的显著减小。进一步影响该超级计算机体系结构以便增加节点密度,从而降低用于该机器的整体成本/性能。每个节点最好将许多这些功能包含到计算机ASIC中,包括,但不限于:嵌入式处理内核、浮点内核、嵌入式DRAM、集成外部DDR存储器控制器、消息处理器、以太网适配器以及网络路由器的Power-PC440。在一个实施例中,可将同样的计算机ASIC节点用作与计算节点,例如64个节点相关的I/O节点,用于处理文件服务器通信和I/O操作。即,I/O节点与计算节点非常相似,然而,仅在外部存储器构造方面和外部网络接口的附加,诸如千兆位以太网(GigabitEthernet)的方面存在不同。应当理解到在此描述的树形网络路由器除优选实施例的集成装置外,可充当独立的装置。
尽管已经具体示出和参考其示例性和执行的实施例描述了本发明,本领域的技术人员将理解到在不脱离应由附加权利要求的范围限定的本发明的精神和范围的情况下,可在形式和细节方面做出上述和其它改变。
Claims (33)
1、用于在计算结构中执行的并行算法运算期间,执行集合归约、广播和点对点消息传递的装置,所述计算结构包括多个处理节点,所述装置包括:
全局树形网络,包括互连树形配置中的所述节点的路由器设备,所述树形配置包括一个或多个虚拟树形网络,所述全局树形网络启动全局处理运算,包括以下的一个或多个:从指定虚拟树形网络的根节点向下到叶节点的全局广播操作,从在所述虚拟树中的叶节点向上到根节点的全局归约运算,以及根据需要,从所述虚拟树的任何节点到所述虚拟树的根节点的点对点消息传递,
其特征在于,为在所述计算结构中提供低延迟通信,优化所述全局树形网络和路由设备配置。
2、如权利要求1所述的装置,其特征在于,所述计算结构包括多个互连的处理节点以形成第一网络,根据用于优化并行算法处理性能的并行算法的带宽和延迟要求,协作或单独利用所述一个或多个虚拟树形网络和所述第一网络。
3、如权利要求1所述的设备,其特征在于,虚拟树形网络的根节点充当包括到外部系统的高速连接的I/O节点,所述I/O节点执行用于该虚拟树形网络的I/O运算,而独立于在所述第一网络中执行的处理。
4、如权利要求3所述的装置,其特征在于,每个所述路由器包括用于从虚拟树的其他节点接收分组的输入设备、用于将分组转发给所述树的其他节点的输出设备、用于将分组输入所述树的局部输入设备,以及用于从所述树中移除分组的局部接收设备,所述装置进一步包括用于将所述路由器配置成加入或不加入所述虚拟树的装置。
5、如权利要求4所述的装置,其特征在于,用于配置所述路由器的所述装置进一步指定作为用于归约运算的虚拟树的根节点的所述节点的加入。
6、如权利要求5所述的装置,其特征在于,用于配置所述路由器的所述装置进一步指定用于在归约运算期间提供操作数的输入设备和局部输入设备的加入。
7、如权利要求6所述的装置,其特征在于,所述路由器进一步包括用于在通过提供输入设备以及局部输入设备,如果提供了该局部输入设备的话,所接收的分组内容上计算特定的归约运算的装置,以及用于经所述输出设备,将计算结果传送给那个节点的上游的父节点的装置。
8、如权利要求7所述的装置,其特征在于,将所述虚拟树形网络编程为用于循环地产生使沿所述虚拟树向上计算的全局组合结果,用于在所述根节点处实现为单个分组。
9、如权利要求8所述的装置,进一步包括用于将在所述根节点的单个、组合分组广播到在该虚拟树上,配置成为归约提供操作数的所有加入的子节点的每一个的装置。
10、如权利要求3所述的装置,进一步包括用于启动计算节点来经所述高速连接,将点对点分组发送给在虚拟树的根节点处的I/O节点的机制,所述根节点处的I/O节点指定用于外部系统。
11、如权利要求9所述的装置,进一步包括过滤机制,用于控制在虚拟树的节点处接收广播分组,所述接收基于节点地址以及加入所述虚拟树。
12、如权利要求11所述的装置,其特征在于,每个节点包括一个地址,所述系统进一步包括可编程装置,启动在每个所述虚拟树的节点中的点对点消息传递,所述地址启动外部主机系统直接向每个节点或节点的子集进行通信。
13、如权利要求9所述的装置,进一步包括用于基于由局部接收设备所接收的分组内容,产生对处理节点的处理器的硬件中断的机制。
14、如权利要求9所述的装置,进一步包括用于独立地阻止每个虚拟树上的不必要下树通信量的机制。
15、如权利要求11所述的装置,进一步包括用于当传送分组时,在路由器间提供流控制的机制。
16、如权利要求15所述的装置,进一步包括启动从所述流控制机制中脱离的单个下游链路上的分组广播,以便执行主动广播(aggressive broadcasting)的装置。
17、如权利要求2所述的装置,其特征在于,所述第一网络包括n维环面,其中n大于或等于1。
18、一种用于在计算机结构中执行并行算法运算期间执行集合归约、广播和消息传递的方法,所述计算机结构具有多个互连的处理节点,所述方法包括:
提供路由器设备,用于根据全局树形网络结构,经链路互连所述节点,所述树形结构包括一个或多个虚拟子树结构;以及
启动在所述虚拟树形结构的节点处执行的低延迟全局处理运算,所述全局运算包括以下的一个或多个:从指定的树形虚拟子树网络的根节点向下到叶节点的全局广播操作,从在所述树中的叶节点向上到所述根节点的全局归约运算,以及当执行所述并行算法运算时,根据需要,从所述虚拟树的任何节点到所述虚拟树的根节点的点对点消息传递。
19、如权利要求18所述的方法,其特征在于,所述计算结构包括互连的多个处理节点以形成第一网络,所述方法进一步包括根据用于优化并行算法处理性能的并行算法的带宽和延迟要求,协作或单独利用所述全局树形状网络和所述第一网络的步骤。
20、如权利要求18所述的方法,其特征在于,每个虚拟树形网络的根节点充当包括到外部系统的高速连接的I/O节点,所述方法进一步包括执行用于该虚拟树形网络的节点I/O运算,而独立于在所述第一网络中执行的运算的步骤。
21、如权利要求20所述的方法,其特征在于,每个所述路由器包括用于从虚拟树的其他节点接收分组的输入设备、用于将分组转发给所述树的其他节点的输出设备、用于将分组输入所述树的局部输入设备,以及用于从所述树中移除分组的局部接收设备,所述方法进一步包括将所述路由器配置成加入或不加入所述虚拟树的步骤。
22、如权利要求20所述的方法,其特征在于,所述路由器配置步骤进一步包括当执行归约运算时,指定作为虚拟树的根的节点的加入步骤。
23、如权利要求22所述的方法,其特征在于,所述路由器配置步骤进一步包括以下的一个或多个步骤:
指定耦合到所述路由器的所述处理节点的加入,用于在归约运算期间输入操作数;以及,
指定耦合到所述路由器的所述处理节点的加入,用于在归约运算期间输入操作数。
24、如权利要求23所述的方法,进一步包括步骤:配置所述路由器来在从提供子节点和所述处理节点中接收的分组内容上计算特定的归约运算,以及经输出设备,使计算结果传送给该节点的上游的父节点。
25、如权利要求24所述的方法,进一步包括循环地产生使沿所述虚拟树向上计算的全局组合结果,以用于在所述根节点处实现为单个分组的步骤。
26、如权利要求25所述的方法,进一步包括将在所述根节点的单个、组合的分组广播到在该虚拟树上,配置成为归约提供操作数的所有加入的子节点的每一个的步骤。
27、如权利要求20所述的方法,进一步包括启动计算节点来经所述高速连接,将点对点分组发送给在虚拟树的根节点处的I/O节点的步骤,所述根节点处的I/O节点指定用于经高速连接的外部系统。
28、如权利要求26所述的方法,进一步包括控制在虚拟树的节点处接收广播分组的步骤,所述接收基于所述节点的所述地址以及其加入所述虚拟树。
29、如权利要求28所述的方法,其特征在于,每个节点包括一个地址,所述方法进一步包括启动在每个所述虚拟树的节点中的点对点和子树消息传递的步骤,所述地址启动主机系统直接向每个节点或节点的子集进行通信。
30、如权利要求26所述的方法,进一步包括步骤:基于由局部接收设备所接收的分组的内容,产生对处理节点的处理器的硬件中断。
31、如权利要求26所述的方法,进一步包括步骤:独立地阻止每个虚拟树上的不必要的下树通信量。
32、如权利要求28所述的方法,进一步包括当传送分组时,在路由器间提供流控制的步骤。
33、如权利要求32所述的方法,进一步包括通过脱离所述流控制机制,在单个下游链路上启动主动的分组广播的步骤。
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/005586 WO2002069168A1 (en) | 2001-02-24 | 2002-02-25 | A global tree network for computing structures |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1493040A true CN1493040A (zh) | 2004-04-28 |
CN100476785C CN100476785C (zh) | 2009-04-08 |
Family
ID=68499836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB028055209A Expired - Fee Related CN100476785C (zh) | 2001-02-24 | 2002-02-25 | 用于计算结构的装置和方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7650434B2 (zh) |
EP (1) | EP1381959A4 (zh) |
JP (1) | JP4127791B2 (zh) |
KR (1) | KR100553143B1 (zh) |
CN (1) | CN100476785C (zh) |
CA (1) | CA2437661A1 (zh) |
IL (1) | IL157512A0 (zh) |
WO (1) | WO2002069168A1 (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100568183C (zh) * | 2004-10-12 | 2009-12-09 | 国际商业机器公司 | 优化大规模并行超级计算机上的应用布局的方法和装置 |
CN101311917B (zh) * | 2007-05-24 | 2011-04-06 | 中国科学院过程工程研究所 | 一种面向粒子模型的多层直连集群并行计算系统 |
CN102141975A (zh) * | 2011-04-01 | 2011-08-03 | 华为技术有限公司 | 计算机系统 |
CN101236511B (zh) * | 2007-01-31 | 2011-12-28 | 国际商业机器公司 | 用于优化全局归约处理的方法和系统 |
CN102317885A (zh) * | 2011-07-26 | 2012-01-11 | 华为技术有限公司 | 计算机系统及其配置时钟的方法 |
CN101803267B (zh) * | 2007-07-20 | 2013-03-13 | 蓝色多瑙河实验室公司 | 利用相位同步本地载波产生多点信号的方法和系统 |
CN104184828A (zh) * | 2014-09-09 | 2014-12-03 | 清华大学 | 混合网络系统、通信方法和网络节点 |
CN107835175A (zh) * | 2017-11-09 | 2018-03-23 | 深圳市云盾科技有限公司 | 采用平衡二叉树算法的网络连接跟踪方法 |
CN108255521A (zh) * | 2013-03-15 | 2018-07-06 | 英特尔公司 | 一种用于实现线路速度互连结构的方法 |
CN109857810A (zh) * | 2019-02-02 | 2019-06-07 | 立旃(上海)科技有限公司 | 基于区块链的数据同步装置及方法 |
CN110690991A (zh) * | 2019-09-10 | 2020-01-14 | 无锡江南计算技术研究所 | 一种基于逻辑树的无阻塞网络归约计算装置、方法 |
CN111475250A (zh) * | 2019-01-24 | 2020-07-31 | 阿里巴巴集团控股有限公司 | 一种云环境下的网络优化方法和装置 |
CN111770173A (zh) * | 2020-06-29 | 2020-10-13 | 中国人民解放军国防科技大学 | 一种基于网络控制器的归约方法及系统 |
Families Citing this family (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060259607A1 (en) * | 2001-09-13 | 2006-11-16 | Network Foundation Technologies, Llc | System and method for distributing data over a computer network |
WO2006020298A2 (en) * | 2004-07-19 | 2006-02-23 | Blumrich Matthias A | Collective network for computer structures |
US8626957B2 (en) | 2003-08-22 | 2014-01-07 | International Business Machines Corporation | Collective network for computer structures |
US7478156B1 (en) * | 2003-09-25 | 2009-01-13 | Juniper Networks, Inc. | Network traffic monitoring and reporting using heap-ordered packet flow representation |
DK1782235T3 (en) * | 2004-07-09 | 2016-02-08 | Network Foundation Technologies Llc | SYSTEMS FOR DISTRIBUTION OF DATA OF A COMPUTER AND METHODS OF DECREE OF nodes FOR DISTRIBUTION OF DATA OF A COMPUTER |
US20060227774A1 (en) * | 2005-04-06 | 2006-10-12 | International Business Machines Corporation | Collective network routing |
US7472079B2 (en) * | 2005-01-12 | 2008-12-30 | International Business Machines Corporation | Computer implemented method for automatically controlling selection of a grid provider for a grid job |
US8516444B2 (en) | 2006-02-23 | 2013-08-20 | International Business Machines Corporation | Debugging a high performance computing program |
JP4704252B2 (ja) | 2006-03-14 | 2011-06-15 | 富士通株式会社 | ネットワークシステムのブロードキャスト処理方法及びネットワークシステム |
US7697443B2 (en) * | 2006-04-13 | 2010-04-13 | International Business Machines Corporation | Locating hardware faults in a parallel computer |
US20070242611A1 (en) * | 2006-04-13 | 2007-10-18 | Archer Charles J | Computer Hardware Fault Diagnosis |
US7796527B2 (en) * | 2006-04-13 | 2010-09-14 | International Business Machines Corporation | Computer hardware fault administration |
CN100451972C (zh) * | 2006-09-26 | 2009-01-14 | 杭州华三通信技术有限公司 | 提高多核系统访问临界资源速度的方法和装置 |
US9330230B2 (en) * | 2007-04-19 | 2016-05-03 | International Business Machines Corporation | Validating a cabling topology in a distributed computing system |
US8296457B2 (en) * | 2007-08-02 | 2012-10-23 | International Business Machines Corporation | Providing nearest neighbor point-to-point communications among compute nodes of an operational group in a global combining network of a parallel computer |
US7831866B2 (en) * | 2007-08-02 | 2010-11-09 | International Business Machines Corporation | Link failure detection in a parallel computer |
US8423663B2 (en) | 2007-08-06 | 2013-04-16 | International Business Machines Corporation | Providing full point-to-point communications among compute nodes of an operational group in a global combining network of a parallel computer |
JP2009104300A (ja) * | 2007-10-22 | 2009-05-14 | Denso Corp | データ処理装置及びプログラム |
US8381220B2 (en) * | 2007-10-31 | 2013-02-19 | International Business Machines Corporation | Job scheduling and distribution on a partitioned compute tree based on job priority and network utilization |
GB0803238D0 (en) * | 2008-02-22 | 2008-04-02 | Isis Innovation | Parallel processing |
US7958184B2 (en) * | 2008-03-04 | 2011-06-07 | International Business Machines Corporation | Network virtualization in a multi-node system with multiple networks |
US8108467B2 (en) * | 2008-06-26 | 2012-01-31 | International Business Machines Corporation | Load balanced data processing performed on an application message transmitted between compute nodes of a parallel computer |
JP5077104B2 (ja) * | 2008-06-30 | 2012-11-21 | 富士通株式会社 | ネットワーク障害検知プログラム、システム、及び方法 |
US8194678B2 (en) | 2008-07-21 | 2012-06-05 | International Business Machines Corporation | Providing point to point communications among compute nodes in a global combining network of a parallel computer |
US8121816B2 (en) * | 2008-08-13 | 2012-02-21 | Verizon Patent And Licensing Inc. | Identifying causes of service level agreement performance violations |
US8387064B2 (en) | 2008-10-09 | 2013-02-26 | International Business Machines Corporation | Balancing a data processing load among a plurality of compute nodes in a parallel computer |
JP5540609B2 (ja) | 2009-09-01 | 2014-07-02 | 富士通株式会社 | 並列計算システムおよび通信制御プログラム |
US9110860B2 (en) * | 2009-11-11 | 2015-08-18 | Mellanox Technologies Tlv Ltd. | Topology-aware fabric-based offloading of collective functions |
US8103910B2 (en) * | 2009-11-13 | 2012-01-24 | International Business Machines Corporation | Local rollback for fault-tolerance in parallel computing systems |
US8571834B2 (en) * | 2010-01-08 | 2013-10-29 | International Business Machines Corporation | Opcode counting for performance measurement |
US8811417B2 (en) * | 2009-11-15 | 2014-08-19 | Mellanox Technologies Ltd. | Cross-channel network operation offloading for collective operations |
US8904118B2 (en) | 2011-01-07 | 2014-12-02 | International Business Machines Corporation | Mechanisms for efficient intra-die/intra-chip collective messaging |
US20120179896A1 (en) | 2011-01-10 | 2012-07-12 | International Business Machines Corporation | Method and apparatus for a hierarchical synchronization barrier in a multi-node system |
US9195550B2 (en) | 2011-02-03 | 2015-11-24 | International Business Machines Corporation | Method for guaranteeing program correctness using fine-grained hardware speculative execution |
US8898289B1 (en) * | 2011-03-22 | 2014-11-25 | Netapp, Inc. | Distributed event processing method and architecture |
EP2690562A4 (en) | 2011-03-22 | 2017-03-01 | Fujitsu Limited | Parallel computing system and control method of parallel computing system |
WO2013126433A1 (en) * | 2012-02-20 | 2013-08-29 | Springlinc Llc | System for creating an entertainment network conglomerate via a global computer network and methods thereof |
US9665531B2 (en) * | 2012-06-13 | 2017-05-30 | International Business Machines Corporation | Performing synchronized collective operations over multiple process groups |
US9160607B1 (en) | 2012-11-09 | 2015-10-13 | Cray Inc. | Method and apparatus for deadlock avoidance |
US9405724B2 (en) * | 2013-06-28 | 2016-08-02 | Intel Corporation | Reconfigurable apparatus for hierarchical collective networks with bypass mode |
US20150091909A1 (en) * | 2013-09-30 | 2015-04-02 | Alcatel Lucent | Systems And Methods For Distance Approximation In Graphs |
US9495204B2 (en) * | 2014-01-06 | 2016-11-15 | International Business Machines Corporation | Constructing a logical tree topology in a parallel computer |
US10360050B2 (en) | 2014-01-17 | 2019-07-23 | International Business Machines Corporation | Simulation of high performance computing (HPC) application environment using virtual nodes |
US9553784B2 (en) * | 2014-07-29 | 2017-01-24 | International Business Machines Corporation | Selection of message passing collectives in presence of system noise |
US10284383B2 (en) | 2015-08-31 | 2019-05-07 | Mellanox Technologies, Ltd. | Aggregation protocol |
US10521283B2 (en) | 2016-03-07 | 2019-12-31 | Mellanox Technologies, Ltd. | In-node aggregation and disaggregation of MPI alltoall and alltoallv collectives |
US10425358B2 (en) * | 2016-09-29 | 2019-09-24 | International Business Machines Corporation | Network switch architecture supporting multiple simultaneous collective operations |
US11277455B2 (en) | 2018-06-07 | 2022-03-15 | Mellanox Technologies, Ltd. | Streaming system |
US11625393B2 (en) | 2019-02-19 | 2023-04-11 | Mellanox Technologies, Ltd. | High performance computing system |
EP3699770A1 (en) | 2019-02-25 | 2020-08-26 | Mellanox Technologies TLV Ltd. | Collective communication system and methods |
GB2586277B (en) * | 2019-08-16 | 2022-11-23 | Siemens Ind Software Inc | Broadcasting event messages in a system on chip |
US11750699B2 (en) | 2020-01-15 | 2023-09-05 | Mellanox Technologies, Ltd. | Small message aggregation |
US11252027B2 (en) * | 2020-01-23 | 2022-02-15 | Mellanox Technologies, Ltd. | Network element supporting flexible data reduction operations |
US11876885B2 (en) | 2020-07-02 | 2024-01-16 | Mellanox Technologies, Ltd. | Clock queue with arming and/or self-arming features |
US11556378B2 (en) | 2020-12-14 | 2023-01-17 | Mellanox Technologies, Ltd. | Offloading execution of a multi-task parameter-dependent operation to a network device |
JP2022108373A (ja) * | 2021-01-13 | 2022-07-26 | 富士通株式会社 | 情報処理装置、情報処理方法、およびシステム |
US11922237B1 (en) | 2022-09-12 | 2024-03-05 | Mellanox Technologies, Ltd. | Single-step collective operations |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59140694A (ja) * | 1983-01-31 | 1984-08-13 | Sharp Corp | ダイナミツクramのリフレツシユ方法 |
US4843540A (en) | 1986-09-02 | 1989-06-27 | The Trustees Of Columbia University In The City Of New York | Parallel processing method |
US4860201A (en) * | 1986-09-02 | 1989-08-22 | The Trustees Of Columbia University In The City Of New York | Binary tree parallel processor |
US4845744A (en) * | 1986-10-16 | 1989-07-04 | American Telephone And Telegraph Company, At&T Bell Laboratories | Method of overlaying virtual tree networks onto a message passing parallel processing network |
US5191578A (en) * | 1990-06-14 | 1993-03-02 | Bell Communications Research, Inc. | Packet parallel interconnection network |
US5353412A (en) * | 1990-10-03 | 1994-10-04 | Thinking Machines Corporation | Partition control circuit for separately controlling message sending of nodes of tree-shaped routing network to divide the network into a number of partitions |
US5224100A (en) * | 1991-05-09 | 1993-06-29 | David Sarnoff Research Center, Inc. | Routing technique for a hierarchical interprocessor-communication network between massively-parallel processors |
US5367692A (en) * | 1991-05-30 | 1994-11-22 | Thinking Machines Corporation | Parallel computer system including efficient arrangement for performing communications among processing node to effect an array transposition operation |
US5379415A (en) * | 1992-09-29 | 1995-01-03 | Zitel Corporation | Fault tolerant memory system |
US5802278A (en) * | 1995-05-10 | 1998-09-01 | 3Com Corporation | Bridge/router architecture for high performance scalable networking |
US5721921A (en) * | 1995-05-25 | 1998-02-24 | Cray Research, Inc. | Barrier and eureka synchronization architecture for multiprocessors |
US5923593A (en) * | 1996-12-17 | 1999-07-13 | Monolithic Systems, Inc. | Multi-port DRAM cell and memory system using same |
KR100272108B1 (ko) * | 1998-10-13 | 2000-11-15 | 윤종용 | Ieee 1394 가상 네트웍 생성방법 및 그 콘트롤러 |
JP3708801B2 (ja) * | 2000-06-16 | 2005-10-19 | 松下電器産業株式会社 | 半導体記憶装置 |
-
2002
- 2002-02-25 IL IL15751202A patent/IL157512A0/xx unknown
- 2002-02-25 WO PCT/US2002/005586 patent/WO2002069168A1/en active IP Right Grant
- 2002-02-25 US US10/469,000 patent/US7650434B2/en not_active Expired - Fee Related
- 2002-02-25 CA CA002437661A patent/CA2437661A1/en not_active Abandoned
- 2002-02-25 CN CNB028055209A patent/CN100476785C/zh not_active Expired - Fee Related
- 2002-02-25 EP EP02719068A patent/EP1381959A4/en not_active Ceased
- 2002-02-25 JP JP2002568222A patent/JP4127791B2/ja not_active Expired - Fee Related
- 2002-02-25 KR KR1020037010998A patent/KR100553143B1/ko not_active IP Right Cessation
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100568183C (zh) * | 2004-10-12 | 2009-12-09 | 国际商业机器公司 | 优化大规模并行超级计算机上的应用布局的方法和装置 |
CN101236511B (zh) * | 2007-01-31 | 2011-12-28 | 国际商业机器公司 | 用于优化全局归约处理的方法和系统 |
CN101311917B (zh) * | 2007-05-24 | 2011-04-06 | 中国科学院过程工程研究所 | 一种面向粒子模型的多层直连集群并行计算系统 |
CN101803267B (zh) * | 2007-07-20 | 2013-03-13 | 蓝色多瑙河实验室公司 | 利用相位同步本地载波产生多点信号的方法和系统 |
CN103209154A (zh) * | 2007-07-20 | 2013-07-17 | 蓝色多瑙河实验室公司 | 利用相位同步本地载波产生多点信号的方法和系统 |
CN103209154B (zh) * | 2007-07-20 | 2016-12-28 | 蓝色多瑙河系统公司 | 利用相位同步本地载波产生多点信号的方法和系统 |
CN102141975A (zh) * | 2011-04-01 | 2011-08-03 | 华为技术有限公司 | 计算机系统 |
CN102141975B (zh) * | 2011-04-01 | 2013-10-09 | 华为技术有限公司 | 计算机系统 |
CN102317885A (zh) * | 2011-07-26 | 2012-01-11 | 华为技术有限公司 | 计算机系统及其配置时钟的方法 |
CN102317885B (zh) * | 2011-07-26 | 2014-05-07 | 华为技术有限公司 | 计算机系统及其配置时钟的方法 |
US9026835B2 (en) | 2011-07-26 | 2015-05-05 | Huawei Technologies Co., Ltd. | Computer system for configuring a clock |
CN108255521A (zh) * | 2013-03-15 | 2018-07-06 | 英特尔公司 | 一种用于实现线路速度互连结构的方法 |
US10778738B2 (en) | 2014-09-09 | 2020-09-15 | Tsinghua University | Hybrid network system, communication method and network node |
CN104184828B (zh) * | 2014-09-09 | 2018-05-11 | 清华大学 | 混合网络系统、通信方法和网络节点 |
CN104184828A (zh) * | 2014-09-09 | 2014-12-03 | 清华大学 | 混合网络系统、通信方法和网络节点 |
CN107835175A (zh) * | 2017-11-09 | 2018-03-23 | 深圳市云盾科技有限公司 | 采用平衡二叉树算法的网络连接跟踪方法 |
CN107835175B (zh) * | 2017-11-09 | 2020-09-22 | 深圳市云盾科技有限公司 | 采用平衡二叉树算法的网络连接跟踪方法 |
CN111475250A (zh) * | 2019-01-24 | 2020-07-31 | 阿里巴巴集团控股有限公司 | 一种云环境下的网络优化方法和装置 |
CN111475250B (zh) * | 2019-01-24 | 2023-05-26 | 阿里巴巴集团控股有限公司 | 一种云环境下的网络优化方法和装置 |
CN109857810A (zh) * | 2019-02-02 | 2019-06-07 | 立旃(上海)科技有限公司 | 基于区块链的数据同步装置及方法 |
CN110690991A (zh) * | 2019-09-10 | 2020-01-14 | 无锡江南计算技术研究所 | 一种基于逻辑树的无阻塞网络归约计算装置、方法 |
CN110690991B (zh) * | 2019-09-10 | 2021-03-19 | 无锡江南计算技术研究所 | 一种基于逻辑树的无阻塞网络归约计算装置、方法 |
CN111770173A (zh) * | 2020-06-29 | 2020-10-13 | 中国人民解放军国防科技大学 | 一种基于网络控制器的归约方法及系统 |
CN111770173B (zh) * | 2020-06-29 | 2022-09-06 | 中国人民解放军国防科技大学 | 一种基于网络控制器的归约方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
JP4127791B2 (ja) | 2008-07-30 |
CN100476785C (zh) | 2009-04-08 |
US7650434B2 (en) | 2010-01-19 |
IL157512A0 (en) | 2004-03-28 |
KR20040002870A (ko) | 2004-01-07 |
EP1381959A4 (en) | 2008-10-29 |
KR100553143B1 (ko) | 2006-02-22 |
CA2437661A1 (en) | 2002-09-06 |
JP2004536372A (ja) | 2004-12-02 |
US20040078493A1 (en) | 2004-04-22 |
WO2002069168A1 (en) | 2002-09-06 |
EP1381959A1 (en) | 2004-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100476785C (zh) | 用于计算结构的装置和方法 | |
US8001280B2 (en) | Collective network for computer structures | |
CN1229739C (zh) | 全局中断和障碍网络 | |
US10326448B2 (en) | Code partitioning for the array of devices | |
US10069599B2 (en) | Collective network for computer structures | |
Ni et al. | A survey of wormhole routing techniques in direct networks | |
KR100754578B1 (ko) | 단일 칩 프로토콜 컨버터 | |
Lysne et al. | An efficient and deadlock-free network reconfiguration protocol | |
Luo et al. | Adapt: An event-based adaptive collective communication framework | |
MiSiC et al. | Communication aspects of the star graph interconnection network | |
Wu et al. | A hybrid multicast routing approach with enhanced methods for mesh-based networks-on-chip | |
Wang et al. | Efficient data-plane memory scheduling for in-network aggregation | |
WO2007124514A2 (en) | Method and apparatus for a scalable hybrid architecture for polyvertexic extensible networks | |
Zimmer et al. | Nocmsg: Scalable noc-based message passing | |
Moudi et al. | A survey on emerging issues in interconnection networks | |
Lee | A virtual bus architecture for dynamic parallel processing | |
Moadeli et al. | Quarc: A novel network-on-chip architecture | |
Sem-Jacobsen et al. | An efficient, low-cost routing framework for convex mesh partitions to support virtualization | |
Pinkston | Deadlock characterization and resolution in interconnection networks | |
Jurczyk et al. | Switch box architecture for saturation tree effect minimization in multistage interconnection networks | |
Haagens | A bus structure for multi-microprocessing. | |
Moadeli | Quarc: an architecture for efficient on-chip communication | |
Murillo et al. | HW-SW framework for distributed parallel computing on programmable chips | |
Matos et al. | Reconfigurable intercommunication infrastructure: NoCs | |
Ravindran et al. | Issues in the Design of Direct Multiprocessor Networks |
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: 20090408 Termination date: 20190225 |
|
CF01 | Termination of patent right due to non-payment of annual fee |