CN1322452C - 环形和树形网络中的算术函数 - Google Patents

环形和树形网络中的算术函数 Download PDF

Info

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
Application number
CNB028054237A
Other languages
English (en)
Other versions
CN1493041A (zh
Inventor
盖恩V·班诺特
马赛厄斯A·布卢姆里奇
陈东
艾伦G·加拉
马克E·贾姆帕帕
菲利普·海德伯格
伯克哈德D·斯坦马彻-伯罗
帕夫罗斯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 CN1493041A publication Critical patent/CN1493041A/zh
Application granted granted Critical
Publication of CN1322452C publication Critical patent/CN1322452C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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
    • 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
    • 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
    • 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/17337Direct connection machines, e.g. completely connected computers, point to point communication networks
    • 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/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • 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

执行算术函数的方法和系统。根据本发明的第一方面,提供了方法和装置,该方法和装置和类网络路由的软件算法和硬件实现共同工作,极大地减少了环形网络上全局算术运算所需要的时间。因此,它使得在大型并行机器上运行的应用程序更具有可量测性。在改进全局运算的效率和精确性方面,该发明包含三个步骤: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的计算机系统,其中使用环形和树形两种网络的装置包括在三维环形网络中如此进行环形通信,使得环形网络上没有一个节点接收两个以上数据包来混合的装置。
CNB028054237A 2001-02-24 2002-02-25 环形和树形网络中的算术函数 Expired - Fee Related CN1322452C (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/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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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