CN1322452C - 环形和树形网络中的算术函数 - Google Patents
环形和树形网络中的算术函数 Download PDFInfo
- Publication number
- CN1322452C CN1322452C CNB028054237A CN02805423A CN1322452C CN 1322452 C CN1322452 C CN 1322452C CN B028054237 A CNB028054237 A CN B028054237A CN 02805423 A CN02805423 A CN 02805423A CN 1322452 C CN1322452 C CN 1322452C
- Authority
- CN
- China
- Prior art keywords
- node
- network
- global
- group
- value
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 56
- 238000012546 transfer Methods 0.000 claims abstract description 8
- 230000008569 process Effects 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 9
- 238000006073 displacement reaction Methods 0.000 claims description 7
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 238000002513 implantation Methods 0.000 claims 1
- 235000008694 Humulus lupulus Nutrition 0.000 abstract 1
- 230000002457 bidirectional effect Effects 0.000 abstract 1
- 238000007792 addition Methods 0.000 description 12
- 238000007667 floating Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Images
Classifications
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
-
- 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
Abstract
执行算术函数的方法和系统。根据本发明的第一方面,提供了方法和装置,该方法和装置和类网络路由的软件算法和硬件实现共同工作,极大地减少了环形网络上全局算术运算所需要的时间。因此,它使得在大型并行机器上运行的应用程序更具有可量测性。在改进全局运算的效率和精确性方面,该发明包含三个步骤:1)需要时,确保所有节点以同样的次序进行全局运算,从而获得唯一的答案,不受四舍五入误差的影响。2)使用环形拓扑,以使得跳点数最小,使用网络的双向能力,以将数据传送操作中的时间步数降低到绝对最小值。3)使用类函数路由,以减少数据传送中的延迟。使用本发明的方法,每个单个单元只被注入网络一次,它将被存储并发送,而不需要加任何软件开销。根据本发明的第二方面,提供方法和系统,在支持全局混合运算的网络上有效执行全局算术运算。通过使用这些方法,极大地减少了进行这种全局运算的延迟(图4,节点1,节点2,节点3)。
Description
对相关申请的交叉引用
本发明请求于2001年2月24日提交的题为“MASSIVELY PARALLELSUPERCOMPUTER”的共同拥有、共同未决的美国临时专利申请No.60/271,124的利益,通过引用的方式将该申请的全部内容和公开直接并入到这里,就好像是在这里完整给出的一样。本专利申请还涉及下面与之同日提交的共同拥有、共同未决的美国专利申请,通过引用的方式将这些申请的每一个的全部内容和公开直接并入到这里,就好像是在这里完整给出的一样:美国专利申请No.(YOR920020027US1,YOR920020044US1(15270)),“Class NetworkingRouting”;美国专利申请No.(YOR920020028US1(15271)),“A GlobalTree Network for Computing Structures”;美国专利申请No.(YOR920020029US1(15272)),“Global Interrupt and BarrierNetworks”;美国专利申请No.(YOR920020030US1(15273)),“Optimized Scalable Network Switch”;美国专利申请No.(YOR920020031US1,YOR920020032US1(15258)),“ArithmeticFunctions in Torus and Tree Networks”;美国专利申请No.(YOR920020033US1,YOR920020034US1(15259)),“Data CaptureTechnique for High Speed Signaling”;美国专利申请No.(YOR920020035US1(15260)),“Managing Coherence Via Put/GetWindows”;美国专利申请No.(YOR920020036US1,YOR920020037US1(15261)),“Low LatencyMemory Access And Synchronization”;美国专利申请No.(YOR920020038US1(15276)),“Twin-Tailed Fail-Over forFileservers Maintaining Full Performance in the Presence ofFailure”;美国专利申请No.(YOR920020039US1(15277)),“FaultIsolation Through No-Overhead Link Level Checksums”;美国专利申请No.(YOR920020040US1(15278)),“Ethernet AddressingVia Physical Location for Massively Parallel Systems”;美国专利申请No.(YOR920020041US1(15274)),“Fault Tolerance ina Supercomputer Through Dynamic Repartitioning”;美国专利申请No.(YOR920020042US1(15279)),“checkpointingFilesystem”;美国专利申请No.(YOR920020043US1(15262)),“Efficient Implomentation of Multidimensional Fast FourierTransform on a Distributed-Memory Parallel Multi-NodeComputer”;美国专利申请No.(YOR9-20010211U2(15275)),“ANovel Massively Parallel Supercomputer”;以及美国专利申请No.(YOR920020045US1(15263)),“Smart Fan Modules and System”。
背景技术
题为“A Novel Massively Parallel Supercomputer”的临时专利申请中,描述了一种包含许多计算节点和较少量输入/输出节点的计算机。这些节点通过几个网络连接。特别地,这些节点通过环形网络和双重功能树形网络互相连接。可用多种方式使用环形网络,以提高该计算机的有效性。
详细地说,在拥有足够数量节点的机器上,并且有一个拥有M维环形连通性的网络,进行全局操作的一般方法是借助于移位和运算。例如,为了对所有节点进行全局求和,在每个计算机节点完成自身的本地求和后,第一,每个节点沿着一个方向将本地和传送到下一个节点,并将从上一节点接收到的数加到它自己的和上。第二,将从上一节点接收到的数送到下一个节点,并且再将收到的数加到它自己的和上。重复第二步骤(N-1)次(其中N是沿着这一方向节点的数目),随后一次一个方向在所有方向上重复整个过程,在所有节点上产生期望的结果。可是,对于浮点数来说,因为每个节点上操作的浮点求和的次序是不同的,因此每个节点的结果由于四舍五入效果而略有不同。假如需要进行全局判断,而该判断又取决于全局求和数值的话,就会出现问题。在许多情况下,通过选用一个特殊节点,该节点首先从其它节点收集数据,进行整体计算并将该和向所有节点广播,从而避免了这一问题。但是,当节点数足够大时,该方法比移位和运算方法速度慢。另外,如上面指出的,在临时专利申请60/271,124中所公开的计算机中,该节点也可通过双重功能树形网络连接,该网络支持整数混合运算,如整数求和和整数求最大值(max)和最小值(min)。全局混合网络的存在引发了在该网络中有效实施全局算术运算的可能性。例如,将来自每个计算节点的浮点数加起来,并将和向所有参与节点广播。在普通并行超级计算机中,这些运算通常是在承载正常信息传送流量的网络上进行的。通常存在与该种全局运算相关的高延迟。
发明概述
本发明的一个目的是在分布式并行计算机上改进用于全局运算的全局数值的计算方法。
本发明的另一个目的是在拥有许多节点的分布式并行M-环结构上,使用移位和运算方法计算一个用于全局运算的唯一全局数值。
本发明的另一个目的是提供方法和装置,和类网络路由的软件算法和硬件实施一起作用,以显著减少环形结构上全局算法运算所需要的时间。
本发明的另一个目的是在支持全局混合运算的网络上,有效实施全局算法运算。
本发明的另一个目的是实施全局算法运算,以生成二进制复验性的结果。
本发明的另一个目的是提供一个用于处理全局求和运算的改进的方法。
本发明的另一个目的是提供一个用于处理全局整体合并运算的改进的方法。
用以下描述的方法和系统执行算术功能,可以达到这些目的和其它目的。根据该发明的第一方面,提供了一种方法和设备,和类网络路由的软件算法和硬件实施一起作用,用以显著减少环形结构上全局算术运算所需要的时间。这导致了在大型并行机器上运行的应用程序的更大的可量测性。本发明包含用于改进全局运算的效率,精确性和精确复验性性的三个步骤:
1.需要时,确保所有节点以同样的次序对数据进行全局运算,从而获得唯一的答案,而不受四舍五入误差的影响。
2.使用环形拓扑,使得跳点数最小,使用网络的双向能力,将数据传送操作中的时间步数降低到绝对最小值。
3.使用类函数路由(专利申请号-----(代理卷号15270)),以降低数据传送中的延迟。使用本发明的方法,每个单个单元只被注入网络一次,它将被存储并发送,而不需要加任何软件开销。
根据本发明的第二方面,提供了方法和系统,用以在支持全局混合运算的网络上,有效实施全局算术运算。通过使用该方法,极大地降低了进行该全局运算的延迟。特别地,使用支持整数求最大值MAX,求和SUM,和位运算AND,OR,和XOR的混合树型网络,我们可以在该网络上实现MPI(信息传送接口标准)的事实上所有的预定义全局简化运算:MPI_SUM,MPI_MAX,MPI_MIN,MPI_LAND,MPI_BAND,MPI_LOR,MPI_BOR,MPI_LXOR,MPI_BXOR,MPI_MAXLOC,AND MPI_MINLOC和MPI_ALLGATHER。这种实现简单有效,证明了混合树形网络给大规模并行超级计算机带来的巨大的灵活性和有效性。
通过考虑以下参考附图给出的详细描述,本发明的其它好处和优点将变得显而易见,该附图详细说明并示出了本发明的优选实施例。
附图简述
图1示意性地表示了连接计算机各节点的环形网络。没有示出有包装的网络连接。
图2示意性地表示了连接计算机各节点的树形网络。
图3说明了在单向环形网络中实现全局求和的方法。
图4是一个表示几个步骤的表格,该步骤可以用来提高在环形结构中全局算数运算的有效性。
图5说明了在双重功能树形网络中全局求和的运算。
图6说明了在双重功能树形网络中全局整体合并运算。
图7说明了3×4环形网络。
图8说明了用于进行最终广播操作的树形网络。
优选实施例的详细说明
本发明涉及在计算机上实现算术功能,并涉及在临时专利申请No.60/271,124中公开的一种适合的计算机。该计算机包含许多计算节点和较少量输入/输出节点;该计算机的各个节点通过图1中以10示意性表示的环形网络和图2中以20示意性表示的双重功能树形网络互相连接。
更具体地说,本发明的一个方面提供方法和设备,和类网络路由的软件算法和硬件实施一起作用,用以显著减少环形结构上全局算法运算所需要的时间。因此,这导致了在大型并行机器上运行的应用程序的更大的可量测性。如图3所说明的,本发明包含用于改进全局运算的效率和精确性的三个步骤:
1.需要时,确保所有节点以同样的次序进行全局运算,从而获得唯一的答案,不受四舍五入误差的影响。
2.使用环形拓扑结构,以使得跳点数最小,使用网络的双向能力,以将数据传送操作中的时间步数降低到绝对最小值。
3.使用类函数路由,以减少数据传送中的延迟。使用本发明的优选方法,每个单个单元只被注入网络一次,它将被存储并发送,而不需要加任何软件开销。
下面详细讨论每个步骤:
1.确保所有节点以同样的次序进行全局运算(如MPI_SUM):
当进行本地部分求和的单向移位和加法,而不是当数字进来时将它们相加时,每个节点将保持从各个方向接收的N-1个数。在接收到数字后对这些数字进行全局运算,因此运算是以固定的次序进行的,从而导致在所有节点上唯一的结果。
例如,如图4中所说明的,假如每个节点在收到数字时就将其相加,那么在节点0计算的和为S0+S3+S2+S1,在节点1为S1+S0+S3+S2,在节点2为S2+S1+S0+S3,在节点3为S3+S2+S1+S0。在这些和中会有四舍五入差。可是,如果每个节点接收到的数都保存着,然后所有的节点以相同的次序求和以获得S0+S1+S2+S3,所以不会存在四舍五入差。
在所有其它方向重复该过程。最后,所有节点将获得同样的数字,不需要最后的广播。
2.在M-环形结构中,将数据传送步骤数减到最小:
在两个相邻节点之间的网络连接是双向的任何机器中,我们可以在每个步骤中双向传送数据。这意味着每个数据单元必须在网络上传播的距离减小了1/2。这使得在环形网络中进行全局算术运算的时间也减小了差不多1/2。
3.使用类函数路由减少延迟:
通过在网络硬件中加入存储和发送类网络路由运算,可以取得额外的性能收益,从而去除多次提取和加入同样的数据单元到该网络的软件开销。当在能够进行类路由的网络上实现全局算术运算时,图4中说明的步骤1到3将简化为单个网络步骤,即每个节点只需要加入一个数字一次,每个其它节点在保存一个拷贝自己用的同时,还将自动发送该数字到需要该数字的所有其它节点。这极大地减少了全局运算的延迟。不用在环形网络的每个跳点加软件开销,而只要在该机器的每个方向加一个开销。例如,对于临时专利申请号60/271,124中公开的计算机系统,我们估计当CPU在单用户模式下运行时,至少可以有5倍的提高,而在多用户模式下有超过10倍的提高。
使用以上讨论的三个改进步骤,在分布式并行结构的全局算术运算方面,我们至少可以取得10倍的提高,并很大地提高大型并行机器上应用程序的可量测性。
另外,如上所述,在上述临时申请中公开的计算机系统中,节点也是通过树形网络连接的,该树形网络支持数据混合运算,如整数求和,整数求最大值和最小值,面向位的AND,OR和XOR。另外,该树形网络将自动向所有参与的节点广播最终混合运算结果。假如计算机网络支持全局混合运算,那么该网络可以有效支持许多全局通讯模式。到现在为止对于混合网络硬件最简单的要求是支持一定精度的无符号整数加法和无符号整数求最大值。例如,在上述临时专利申请中公开的超级计算机将支持至少32位,64位和128位无符号整数和或最大值,加上一个高达2048位数据包大小的很长精度的和或最大值。在实施高性能全局算术函数时,该网络硬件中的混合函数提供了很大的灵活性。下面描述了该实施的几个案例。
1.带符号整数求和
图5示出了全局求和运算。每个参与节点拥有一个同样大小的数组,这些数组有相同数量数组元素。全局求和运算的结果是每个节点都将拥有来自所有节点的相应数组元素的和。这涉及MPI(信息传送接口)标准中的MPI_SUM函数。
相比本地数来说,在网络中需要使用更高精度来获得最终结果的精度。用N表示参与求和的节点数,M表示用来求和的整数数字中的最大绝对值,2^P表示一个比M大的大正整数。为了在支持无符号运算的网络中实施带符号整数求和,我们只需
(1)将所有需要相加的数加上大正整数2^P,使得它们现在都变成非负的。
(2)在网络中进行无符号整数求和。
(3)在结果中减去(N*2^P)。
选择P使得2^P>M,并且(N*2^(P+1))不会在混合网络中溢出。
2.全局带符号整数求最大值和最小值
除了最终结果不是相应元素之和,而是最大值和最小值外,该运算和上述全局求和运算非常类似。它们涉及带有整数输入的MPI标准中的MPI_MAX和MPI_MIN函数。全局求最大值的实施和上述全局求和的实施非常类似。
(1)将所有数字都加上大正整数2^P,使它们都变成非负的。
(2)在网络中进行无符号全局求最大值。
(3)从结果中减去2^P。
要进行全局求最小值,只要对所有数求反,然后进行全局求最大值。
3.浮点数全局求和:
除了现在输入是浮点数外,浮点数全局求和运算和前面讨论的整数求和非常类似。为简洁起见,我们将示范对来自各节点的一个数进行求和。要对数列求和,只要重复这些步骤。
基本思想是在混合网络中进行两个来回过程。
(1)使用全局求最大值中列出的步骤,寻找所有数的指数的整数最大值Emax。
(2)每个节点将使本地数标准化,并将它转换成整数。使得节点“i”上的本地数变成X_i,其指数为E_i。使用全局求和描述中定义的符号,该转换对应计算
A_i=2^P+2^[P-(Emax-E)-1]*X_i [公式1]
其中A_i是无符号整数。然后在使用混合硬件的网络中进行全局无符号整数求和。一旦最终和A到达各个节点,通过以下计算可以获得真正的和S:
S=(A-N*2^P)/2^(P-1)
再次选择P使得N*2^(P+1)不会在混合网络中溢出。
需要指出的是上面公式1中进行的步骤获得尽可能高的精度,是通过使用微处理器的浮点单元来将负数转化成正数,并使用它的整数单元来进行适当的移位获得的。
该浮点求和运算的一个重要特征在于,因为实际求和是通过整数求和进行的,因此和求和进行的次序无关。在全局求和后,每个参与节点将得到完全相同的数。不需要另外的来自特殊节点的广播,而当经由一般消息传送网络实施浮点全局求和时,通常需要这种广播。
本领域的技术人员将认识到当整数是以2的补码表示时,即使网络硬件仅支持无符号整数求和,只要最终和中间结果不溢出,并且任何两个数之和的进位都不被硬件漏掉的话,就可以获得正确的和。对全局整数和浮点求和运算步骤进行简化,和网络硬件直接支持带符号整数求和并带有正确的溢出处理,都在本发明的范围内。
例如,当硬件仅支持无符号整数求和,并漏掉所有无符号整数溢出的携带位时,如在临时专利申请号60/271,124中公开的超级计算机上实施的,简化的带符号整数求和步骤可以是:
(1)将每个整数加符号扩展到更高的精度,以保证不会发生任何结果溢出;即给所有正整数和零的扩展高位补0,给所有负整数的扩展位补1;
(2)在网络上进行求和。最终的结果将有正确的符号。
以上步骤也可应用于浮点求和的求和步骤。
在全局整数求和描述的基础上进行类似的修改,用到全局求最大值的描述上,也可以很容易地获得浮点求最大值和最小值的方法。
这里还有一个浮点非负数求最大值的特殊例子,该运算可以在一个来回过程中完成,而不需要两个。对于使用IEEE 754标准的浮点二进制算术格式的数来说,就像在大多数现代微处理器中的,不需要额外的本地运算。通过适当的字节排序,每个节点可以只将数字放在混合网络上。对于其它浮点格式,象那些用于一些数字信号处理器的,可能需要一些本地操作。通过对它们绝对值进行全局求最大值,负数求最小值也只要单个来回过程就可获得。
4.使用整数全局求和的全局整体合并运算
图6中阐述了全局整体合并运算。每个节点贡献一个或多个数字。最终结果是这些数字都放进一个数组,在该数组中它们的位置对应于它们来自的位置。例如,来自节点1的数字在最终的数组中出现在第一个,后面紧跟着来自节点2的数字,...,等等。该运算对应于MPI标准中的MPI_ALLGATHER函数。
在支持整数求和的混合网络中,可以很容易地将该函数实现为一次完成的运算。利用零加一个数等于该数的事实,每个节点只需要产生一个数组,该数组的大小等于最终数组,然后将该节点的数放在相应的位置上并将零放在所有对应来自所有其它节点的数的其它位置上。在混合网络上对来自所有节点的数列进行整数求和后,每个节点将获得最终数列,所有的数字都存储在相应位置上。
5.使用整数全局求最大值的全局min_loc和max_loc
这些函数对应于MPI标准中的MPI_MINLOC和MPI_MAXLOC。例如,除了寻找全局最小值和最大值外,还给每个数加了一个标记,使得人们可以找到是哪个节点有全局最小值或最大值。
在支持整数全局求最大值的混合网络中,该函数是直接实施的。作为例子,我们将阐述全局max_loc。假设节点j,j=1,...,N的数为X_j,标记为K_j。假设M为一个大整数,M>max(K_j),节点j只需要将两个数:
X_j
M-K_j
作为一个单元放在混合网络中进行全局整数求最大值。在该运算的最后,每个节点将收到:
X
M-K
其中X=max(X_j)是所有X_j的最大值,K是对应最大数X的标记数。假如等于最大值X的不止一个数,那么K是最小的标记数。
在上述过程中,将X_j改为P-X_j,其中P是一个大正整数且P>max(X_j),就可以类似地得到全局min_loc。
在全局求最大值或最小值运算中将标记数附加到数字后的想法也可应用到浮点数上。在全局浮点数求和操作步骤的讨论中使用类似于上述的步骤。
6.其它运算:
在临时专利申请60/271,124中描述的超级计算机系统上,混合网络也支持其它全局位运算AND,OR和XOR。这使得全局简化位运算可以很容易地实施,如MPI标准中的MPI_BAND,MPI_BOR和MPI_BXOR。基本上,每个节点只需将用于全局运算的操作数放到网络上,网络就可以自动处理全局运算。
另外,只要在位运算中仅使用一位,就可以实施逻辑运算MPI_LAND,MPI_LOR和MPI_LXOR。
最后,每个全局运算也意味着全局障碍(barrier)运算。这是因为直到所有操作数都被注入网络,网络才会继续工作。因此,使用任何一个全局算术运算,如全局位运算AND,就可实施有效的MPI_BARRIER运算。
7.使用环形和树形两种网络的运算
依靠环形和树形网络的相对带宽,并且依靠在浮点和定点表示法之间进行转换所必要的开销,同时使用环形和树形网络进行全局浮点简化运算可能更有效。在这种情况下,环形网络用于进行简化运算,而树形网络用于向所有节点广播最终结果。在环形网络中进行简化运算的现有技术众所周知。可是,在现有技术中,广播阶段也是在环形网络中进行的。例如,在图7中以30表示的一个3×4环形网络(或网状网络)中,沿着行进行简化运算,然后在一行的最后一个节点转到下一行。特别地,在求和简化运算中,图7描述了节点Q20插入一个数据包,并将它传送到节点Q21。Q21处理该数据包,将它的相应元素和该引入的数据包的相应元素相加,并将包含和的数据包传送到Q22。Q22处理该数据包,将它的相应元素和该引入的数据包的相应元素相加,并将包含和的数据包传送到Q23。每一行都重复该过程。节点Q23将它的本地值和来自Q22的数据包中的相应值相加,并将作为结果的数据包传送到Q13。节点Q13将它的本地值和来自Q12和Q23的数据包的值相加,并将作为结果的和送到Q03。Q03将它的本地值和来自Q13和Q02的数据包的相应值相加。这时Q03拥有全局和。在现有技术中,该全局和是通过环形网络送到所有其它节点(而不是如图中所示在树形网络上)。扩展到更多的节点和更加高维的环形网络在本领域的技术人员能力范围内,所以也属于本发明的范围。为了对很多值进行简化运算,以流水线方式使用多个数据包。
可是,和环形网络相比,使用树形网络可以进行更加快速并且更加有效的最终广播操作。在图8中说明了这一点。在简化步骤中通过减少跳点数可以进一步优化性能。例如,数据包可以在一行的中间进行传送(和相加),而不是在一行的末端。
在一个三维环形网络中,在上述基础上直接扩展导致了在每个z平面中单个节点沿着z方向对它们的值求和。这有个缺点,需要这些节点处理三个引入数据包。例如节点Q03z必须接收来自Q02z,Q13z和Q03(z+1)的数据包。假如该处理器不够快,这就会成为运算中的瓶颈。为优化性能,我们修改通信模式,使得没有节点需要在环形网络中处理两个以上引入数据包。这在图8中进行阐述。在图中,为了沿着z方向求和,节点Q03z将它的数据包送到节点Q00z。另外,节点Q00z不传送它的数据包到节点Q01z,而只是接收来自节点Q00(z+1)的数据包,并将它的本地值和两个引入数据包的相应值相加。最后,节点Q000通过树形网络广播最终结果。
显然,这里公开的发明是经过很好的设计,用来满足上述目的的,而本领域的技术人员还可以设计许多变体和实施例,意图是所附权利要求涵盖所有在本发明的真正精神和范围内的变体和实施例。
Claims (34)
1.在有多个相互连接的节点的分布式并行环形结构的计算机系统中,使用移位和运算处理的方法,该方法包含步骤:
提供同一组数据值给一组节点中的每一个;
执行全局运算处理,其中每个节点对所有数据值执行运算处理以获得最终值;和
确保该组中所有节点以相同次序对数据值执行全局运算处理以确保二进制有复验性的结果。
2.根据权利要求1的方法,其中确保步骤包括每个节点在被提供了所有数据值后才执行全局运算处理这一步骤。
3.根据权利要求2的方法,其中提供步骤包括该组中每个节点从该组其它节点接收数据值这一步骤。
4.根据权利要求1的方法,其中该节点通过双向链接连接起来,并且提供步骤包括在所述链接上双向传送数据值到节点这一步骤。
5.根据权利要求1的方法,其中提供步骤包括每一个节点仅将一个数据值注入网络一次这一步骤。
6.根据权利要求5的方法,其中注入步骤包括节点组中的节点,而不是所述每个节点,传送所述一个数据值到该组中的其它节点,以减少全局运算处理的延迟这一步骤。
7.在有多个相互连接的节点的分布式并行环形结构的计算机系统中,使用移位和运算处理的系统,该系统包含:
一组节点,该组节点被提供有同一组数据值;
用来执行全局运算处理的装置,其中每个节点对所有数据值执行运算处理以获得最终值;和
用来确保该组中所有节点以相同次序对数据值执行全局运算处理以确保二进制有复验性结果的装置。
8.根据权利要求7的系统,其中确保装置包括用来在每个节点被提供了所有数据值后才在该节点执行全局运算处理的装置。
9.根据权利要求7的系统,其中该组中的每个节点从该组中其它节点接收数据值。
10.根据权利要求7的系统,其中节点通过双向链接连接起来,并且提供装置包括用来在所述链接上双向传送数据值到节点的装置。
11.根据权利要求7的系统,其中每一个节点仅将一个数据值注入网络一次。
12.根据权利要求7的系统,其中该组节点中的节点,而不是所述每个节点,传送所述一个数据值到该组中的其它节点,以减少全局运算处理的延迟。
13.在有多个通过支持整数混合运算的全局树形网络相互连接的节点的计算机系统中,执行运算处理的方法,该方法包含步骤:
向一组节点中的每一个提供第一数值;
根据第一定义程序,处理每个第一数值,从每个第一数值得到第二数值,其中所有第二数值都是整数数值;和
使用所述第二数值,在网络上执行全局整数混合运算处理。
14.根据权利要求13的方法,其中执行步骤包括在网络上执行全局无符号整数求和这一步骤。
15.根据权利要求13的方法,其中执行步骤包括在网络上执行全局求最大值运算,并使用所述全局求最大值运算的结果来确定第一数值的最大值这一步骤。
16.根据权利要求13的方法,其中执行步骤包括在网络上执行全局求最大值运算,并使用所述全局求最大值运算的结果来确定第一数值的最小值这一步骤。
17.在有多个通过支持整数混合运算的全局树形网络相互连接的节点的计算机系统中,用来执行运算处理的系统,该系统包括:
一组节点,该组中的每个节点被提供有第一数值;
根据第一定义程序,处理每个第一数值的处理器,该处理器从第一数值得到第二数值,其中所有的第二数值都是整数数值;和
使用所述第二数值,在网络上执行全局整数混合运算的装置。
18.根据权利要求17的系统,其中用于执行的装置包括在网络上执行全局无符号整数求和的装置。
19.根据权利要求17的系统,其中用于执行步骤的装置包括在网络上执行全局求最大值运算,并使用所述全局求最大值的运算的结果来确定第一数值的最大值的装置。
20.根据权利要求17的系统,其中用于执行步骤的装置包括在网络上执行全局求最大值运算,并使用所述全局求最大值的运算的结果来确定第一数值的最小值的装置。
21.在有多个通过支持整数混合运算的全局树形网络相互连接的节点的计算机系统中,执行全局运算处理的方法,该方法包含:
将一个或多个任何类型的数提供给每个节点;
将该节点的数结合成一个数组,该数组有特定数量的位置,所述结合步骤包含步骤:
i)每个节点将该节点的一个或多个数放进该数组的一个或多个位置,并将零值放进该数组的所有其它位置,和
ii)使用全局树形网络来将放进数组中每个位置的所有数相加。
22.根据权利要求21的方法,其中:
数组中特定数量的位置被排成特定的顺序;和
结合步骤包含另一步骤,每个节点建立一个相关数组,该数组也含有所述特定数量的位置,且这些位置排成特定顺序,并且将该节点的一个或多个放进该相关数组的一个或多个位置中,将零值放进该相关数组的所有其它位置。
23.在有多个通过支持整数混合运算的全局树形网络相互连接的节点的计算机系统中,用来执行全局运算的系统,该系统包含:
一组节点,该组中每个节点有一个或多个数;
用来将该节点的数结合成一个数组的装置,该数组有特定数量的位置,所述结合装置包含:
i)将该组节点的一个或多个数放进该数组的一个或多个位置,并将零值放进该数组的所有其它位置的装置,和
ii)使用全局树形网络来将放进数组中每个位置的所有数相加的装置。
24.根据权利要求23的系统,其中:
数组中特定数量的位置排成特定的顺序;且
结合的装置还包含另一装置,用于建立与该组的每个节点分别相关的一个相应数组,该数组也含有所述特定数量位置,且这些位置排成特定顺序,并且将每个节点的一个或多个数放进该相关数组的一个或多个位置中,将零值放进该相关数组的所有其它位置。
25.在有多个通过支持整数混合运算的全局树形网络相互连接的节点的计算机系统中,执行运算处理的方法,该方法包含步骤:
每个节点贡献一组第一数值;和
使用所述第一数值,在网络上执行全局整数混合运算。
26.根据权利要求25的方法,其中执行步骤包括使用该全局整数混合运算的结果来判断第一数值的特性。
27.在有多个通过支持整数混合运算的全局树形网络相互连接的节点的计算机系统中,用来执行全局运算处理的系统,该系统包含:
一组节点,该组的每个节点含有一组第一数值;和
使用第一数值,在网络上执行全局整数混合运算的处理器。
28.根据权利要求27的系统,其中该处理器包括使用全局整数混合运算的结果来判断第一数值特性的装置。
29.操作并行处理计算机系统的方法,该系统拥有多个通过全局树形网络和环形网络共同连接的节点,该方法包含:
使用计算机系统执行特定运算;和
使用环形和树形网络,协作进行简化运算。
30.根据权利要求29的方法,其中使用环形和树形网络的步骤包括通过使用一个处理器处理环形运算,使用另一个处理器处理树形运算,从而使用环形和树形两种网络的步骤。
31.根据权利要求29的方法,其中使用环形和树形网络的步骤包括,在三维环形网络中如此进行环形通信,使得环形网络上没有一个节点接收两个以上数据包来混合的步骤。
32.一种并行处理计算机系统,包含:
多个节点;
全局树形网络,该网络还使节点相互连接;
环形网络,该网络还使节点相互连接;和
使用环形和树形两种网络,协作进行简化运算的装置。
33.根据权利要求32的计算机系统,其中使用环形和树形两种网络的装置包括处理环形运算的一个处理器和处理树形运算的另一个处理器。
34.根据权利要求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/005618 WO2002069177A1 (en) | 2001-02-24 | 2002-02-25 | Arithmetic functions in torus and tree networks |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1493041A CN1493041A (zh) | 2004-04-28 |
CN1322452C true CN1322452C (zh) | 2007-06-20 |
Family
ID=68499833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB028054237A Expired - Fee Related CN1322452C (zh) | 2001-02-24 | 2002-02-25 | 环形和树形网络中的算术函数 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7313582B2 (zh) |
EP (1) | EP1381963A4 (zh) |
JP (1) | JP4629307B2 (zh) |
KR (1) | KR100592752B1 (zh) |
CN (1) | CN1322452C (zh) |
CA (1) | CA2437629A1 (zh) |
IL (1) | IL157510A0 (zh) |
WO (1) | WO2002069177A1 (zh) |
Families Citing this family (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US8326909B2 (en) * | 2004-12-17 | 2012-12-04 | Nxp B.V. | Arithmetic or logical operation tree computation |
JP4413198B2 (ja) | 2006-03-23 | 2010-02-10 | 富士通株式会社 | 浮動小数点データの総和演算処理方法及びコンピュータシステム |
US20070245122A1 (en) * | 2006-04-13 | 2007-10-18 | Archer Charles J | Executing an Allgather Operation on a Parallel Computer |
US20080022079A1 (en) * | 2006-07-24 | 2008-01-24 | Archer Charles J | Executing an allgather operation with an alltoallv operation in a parallel computer |
DE102006037020A1 (de) * | 2006-08-08 | 2008-02-14 | Wacker Chemie Ag | Verfahren und Vorrichtung zur Herstellung von hochreinem polykristallinem Silicium mit reduziertem Dotierstoffgehalt |
CN100451972C (zh) * | 2006-09-26 | 2009-01-14 | 杭州华三通信技术有限公司 | 提高多核系统访问临界资源速度的方法和装置 |
US7953684B2 (en) * | 2007-01-31 | 2011-05-31 | International Business Machines Corporation | Method and system for optimal parallel computing performance |
US7752421B2 (en) * | 2007-04-19 | 2010-07-06 | International Business Machines Corporation | Parallel-prefix broadcast for a parallel-prefix operation on a parallel computer |
US8140826B2 (en) * | 2007-05-29 | 2012-03-20 | International Business Machines Corporation | Executing a gather operation on a parallel computer |
US8161480B2 (en) * | 2007-05-29 | 2012-04-17 | International Business Machines Corporation | Performing an allreduce operation using shared memory |
US20090006663A1 (en) * | 2007-06-27 | 2009-01-01 | Archer Charles J | Direct Memory Access ('DMA') Engine Assisted Local Reduction |
US8090704B2 (en) * | 2007-07-30 | 2012-01-03 | International Business Machines Corporation | Database retrieval with a non-unique key on a parallel computer system |
US7827385B2 (en) * | 2007-08-02 | 2010-11-02 | International Business Machines Corporation | Effecting a broadcast with an allreduce operation on a parallel computer |
US7734706B2 (en) * | 2007-08-22 | 2010-06-08 | International Business Machines Corporation | Line-plane broadcasting in a data communications network of a parallel computer |
US7840779B2 (en) * | 2007-08-22 | 2010-11-23 | International Business Machines Corporation | Line-plane broadcasting in a data communications network of a parallel computer |
JP2009104300A (ja) * | 2007-10-22 | 2009-05-14 | Denso Corp | データ処理装置及びプログラム |
US8122228B2 (en) * | 2008-03-24 | 2012-02-21 | International Business Machines Corporation | Broadcasting collective operation contributions throughout a parallel computer |
US7991857B2 (en) * | 2008-03-24 | 2011-08-02 | International Business Machines Corporation | Broadcasting a message in a parallel computer |
US8422402B2 (en) | 2008-04-01 | 2013-04-16 | International Business Machines Corporation | Broadcasting a message in a parallel computer |
US8161268B2 (en) * | 2008-05-21 | 2012-04-17 | International Business Machines Corporation | Performing an allreduce operation on a plurality of compute nodes of a parallel computer |
US8375197B2 (en) * | 2008-05-21 | 2013-02-12 | International Business Machines Corporation | Performing an allreduce operation on a plurality of compute nodes of a parallel computer |
US8484440B2 (en) | 2008-05-21 | 2013-07-09 | International Business Machines Corporation | Performing an allreduce operation on a plurality of compute nodes of a parallel computer |
US9501448B2 (en) * | 2008-05-27 | 2016-11-22 | Stillwater Supercomputing, Inc. | Execution engine for executing single assignment programs with affine dependencies |
US8281053B2 (en) | 2008-07-21 | 2012-10-02 | International Business Machines Corporation | Performing an all-to-all data exchange on a plurality of data buffers by performing swap operations |
JP5369775B2 (ja) * | 2009-03-11 | 2013-12-18 | 富士通株式会社 | n次元トーラス型分散処理システム、集団通信方法及び集団通信プログラム |
CN101587562B (zh) * | 2009-07-02 | 2011-11-09 | 浙江大学 | 一种具有星形拓扑结构膜计算的复杂化工过程建模方法 |
US8447954B2 (en) * | 2009-09-04 | 2013-05-21 | International Business Machines Corporation | Parallel pipelined vector reduction in a data processing system |
US8977669B2 (en) * | 2010-01-08 | 2015-03-10 | International Business Machines Corporation | Multi-input and binary reproducible, high bandwidth floating point adder in a collective network |
JP5780157B2 (ja) * | 2010-01-14 | 2015-09-16 | 日本電気株式会社 | 計算機、並列計算機システム、同期方法、及びコンピュータプログラム |
US8565089B2 (en) * | 2010-03-29 | 2013-10-22 | International Business Machines Corporation | Performing a scatterv operation on a hierarchical tree network optimized for collective operations |
US8332460B2 (en) | 2010-04-14 | 2012-12-11 | International Business Machines Corporation | Performing a local reduction operation on a parallel computer |
US8250164B2 (en) * | 2010-04-15 | 2012-08-21 | International Business Machines Corporation | Query performance data on parallel computer system having compute nodes |
US9424087B2 (en) | 2010-04-29 | 2016-08-23 | International Business Machines Corporation | Optimizing collective operations |
US8346883B2 (en) | 2010-05-19 | 2013-01-01 | International Business Machines Corporation | Effecting hardware acceleration of broadcast operations in a parallel computer |
US8949577B2 (en) | 2010-05-28 | 2015-02-03 | International Business Machines Corporation | Performing a deterministic reduction operation in a parallel computer |
US8489859B2 (en) | 2010-05-28 | 2013-07-16 | International Business Machines Corporation | Performing a deterministic reduction operation in a compute node organized into a branched tree topology |
US8776081B2 (en) | 2010-09-14 | 2014-07-08 | International Business Machines Corporation | Send-side matching of data communications messages |
US8566841B2 (en) | 2010-11-10 | 2013-10-22 | International Business Machines Corporation | Processing communications events in parallel active messaging interface by awakening thread from wait state |
US8893083B2 (en) | 2011-08-09 | 2014-11-18 | International Business Machines Coporation | Collective operation protocol selection in a parallel computer |
US8667501B2 (en) | 2011-08-10 | 2014-03-04 | International Business Machines Corporation | Performing a local barrier operation |
US8910178B2 (en) | 2011-08-10 | 2014-12-09 | International Business Machines Corporation | Performing a global barrier operation in a parallel computer |
US9495135B2 (en) | 2012-02-09 | 2016-11-15 | International Business Machines Corporation | Developing collective operations for a parallel computer |
CN105573717B (zh) * | 2014-10-08 | 2018-02-06 | 华为技术有限公司 | 一种面向多核处理器的程序划分方法及装置 |
US10055692B1 (en) * | 2017-02-21 | 2018-08-21 | Google Llc | Parallel processing of reduction and broadcast operations on large datasets of non-scalar data |
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 |
CN112039678B (zh) * | 2019-06-04 | 2021-11-19 | 清华大学 | 基于Torus网络的组播方法 |
US11715010B2 (en) | 2019-08-16 | 2023-08-01 | Google Llc | Cross replica reduction on networks having degraded nodes |
CN110865951B (zh) * | 2019-11-05 | 2021-03-23 | 中国人民解放军国防科技大学 | 一种支持单根双处理器中断通信的方法和装置 |
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 |
US11922237B1 (en) | 2022-09-12 | 2024-03-05 | Mellanox Technologies, Ltd. | Single-step collective operations |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5611070A (en) * | 1990-05-10 | 1997-03-11 | Heidelberger; Philip | Methods and apparatus for performing a write/load cache protocol |
US5765011A (en) * | 1990-11-13 | 1998-06-09 | International Business Machines Corporation | Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams |
US5752067A (en) * | 1990-11-13 | 1998-05-12 | International Business Machines Corporation | Fully scalable parallel processing system having asynchronous SIMD processing |
US5809292A (en) * | 1990-11-13 | 1998-09-15 | International Business Machines Corporation | Floating point for simid array machine |
US5794059A (en) * | 1990-11-13 | 1998-08-11 | International Business Machines Corporation | N-dimensional modified hypercube |
US5590345A (en) * | 1990-11-13 | 1996-12-31 | International Business Machines Corporation | Advanced parallel array processor(APAP) |
US5625836A (en) * | 1990-11-13 | 1997-04-29 | International Business Machines Corporation | SIMD/MIMD processing memory element (PME) |
ATE180586T1 (de) * | 1990-11-13 | 1999-06-15 | Ibm | Paralleles assoziativprozessor-system |
US5471580A (en) * | 1991-10-01 | 1995-11-28 | Hitachi, Ltd. | Hierarchical network having lower and upper layer networks where gate nodes are selectively chosen in the lower and upper layer networks to form a recursive layer |
US5634096A (en) * | 1994-10-31 | 1997-05-27 | International Business Machines Corporation | Using virtual disks for disk system checkpointing |
JP3590203B2 (ja) * | 1996-07-16 | 2004-11-17 | 株式会社東芝 | 記憶手段の制御方法及びその装置 |
GB9617907D0 (en) * | 1996-08-28 | 1996-10-09 | British Telecomm | Communications network |
US7024512B1 (en) * | 1998-02-10 | 2006-04-04 | International Business Machines Corporation | Compression store free-space management |
US6205532B1 (en) * | 1998-05-22 | 2001-03-20 | Avici Systems, Inc. | Apparatus and methods for connecting modules using remote switching |
US6279092B1 (en) * | 1999-01-06 | 2001-08-21 | International Business Machines Corporation | Kernel identification for space management in compressed memory systems |
US6622233B1 (en) * | 1999-03-31 | 2003-09-16 | Star Bridge Systems, Inc. | Hypercomputer |
US6539460B2 (en) * | 2001-01-19 | 2003-03-25 | International Business Machines Corporation | System and method for storing data sectors with header and trailer information in a disk cache supporting memory compression |
WO2002069200A1 (en) * | 2001-02-24 | 2002-09-06 | Gara Alan G | Checkpointing filesystem |
JP3798750B2 (ja) * | 2001-02-24 | 2006-07-19 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 一連のデータ・パケットを検査する方法およびシステム |
US7185226B2 (en) * | 2001-02-24 | 2007-02-27 | International Business Machines Corporation | Fault tolerance in a supercomputer through dynamic repartitioning |
CN1537275A (zh) * | 2001-02-24 | 2004-10-13 | �Ҵ���˾ | 低等待时间存储器系统访问 |
US6810495B2 (en) * | 2001-03-30 | 2004-10-26 | International Business Machines Corporation | Method and system for software rejuvenation via flexible resource exhaustion prediction |
US7149920B2 (en) * | 2003-09-30 | 2006-12-12 | International Business Machines Corporation | Deterministic error recovery protocol |
US7039769B2 (en) * | 2002-05-30 | 2006-05-02 | International Business Machines Corporation | Direct addressed shared compressed memory system |
-
2002
- 2002-02-25 WO PCT/US2002/005618 patent/WO2002069177A1/en active IP Right Grant
- 2002-02-25 IL IL15751002A patent/IL157510A0/xx unknown
- 2002-02-25 KR KR1020037010832A patent/KR100592752B1/ko not_active IP Right Cessation
- 2002-02-25 EP EP02707876A patent/EP1381963A4/en not_active Withdrawn
- 2002-02-25 CN CNB028054237A patent/CN1322452C/zh not_active Expired - Fee Related
- 2002-02-25 CA CA002437629A patent/CA2437629A1/en not_active Abandoned
- 2002-02-25 US US10/468,991 patent/US7313582B2/en not_active Expired - Fee Related
- 2002-02-25 JP JP2002568231A patent/JP4629307B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP1381963A1 (en) | 2004-01-21 |
IL157510A0 (en) | 2004-03-28 |
CA2437629A1 (en) | 2002-09-06 |
JP4629307B2 (ja) | 2011-02-09 |
US7313582B2 (en) | 2007-12-25 |
US20040073590A1 (en) | 2004-04-15 |
WO2002069177A1 (en) | 2002-09-06 |
EP1381963A4 (en) | 2008-02-13 |
KR100592752B1 (ko) | 2006-06-26 |
CN1493041A (zh) | 2004-04-28 |
KR20040063790A (ko) | 2004-07-14 |
JP2005506596A (ja) | 2005-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1322452C (zh) | 环形和树形网络中的算术函数 | |
CN100499446C (zh) | 类网络路由方法 | |
Xu et al. | Efficient implementation of barrier synchronization in wormhole-routed hypercube multicomputers | |
Li et al. | Efficient collective communications in dual-cube | |
Bermond et al. | Broadcasting and gossiping in de Bruijn networks | |
CN106254254B (zh) | 一种基于Mesh拓扑结构的片上网络通信方法 | |
CN105007226A (zh) | 一种基于包电路交换技术的多播路由器及其工作方式 | |
US8953497B2 (en) | Modified tree-based multicast routing schema | |
ElGindy et al. | RMB-a reconfigurable multiple bus network | |
Ponnusamy et al. | Communication overhead on the CM5: an experimental performance evaluation | |
CN105530206A (zh) | 一种基于Torus网络的双接入结构及其工作方式 | |
Zhang et al. | Efficient all-to-all broadcast in Gaussian on-chip networks | |
Lan et al. | Distributed multi-destination routing in hypercube multiprocessors | |
CN116915708A (zh) | 路由数据包的方法、处理器及可读存储介质 | |
CN105550157A (zh) | 一种分形树结构通信结构、方法、控制装置及智能芯片 | |
Ni et al. | A VLSI router design for hypercube multiprocessors | |
Srivastava et al. | TDMA-Based Adaptive Multicasting in Wireless NoC | |
Petrini | Total-Exchange on Wormhole k-ary n-cubes with Adaptive Routing | |
Oruç | A self-routing on-chip network | |
Bagchi et al. | Gossiping in a distributed network | |
Francalanci et al. | High-performance self-routing algorithm for multiprocessor systems with shuffle interconnections | |
Cohen et al. | Broadcasting and multicasting in cut-through routed networks | |
Nishi et al. | The JUMP-1 Router Chip: A versatile router for supporting a distributed shared memory | |
Du et al. | Scalability study on mesh based network on chip | |
JPH07191947A (ja) | 並列計算機 |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070620 Termination date: 20120225 |