CN100524284C - 并行计算机的归约处理方法和并行计算机 - Google Patents
并行计算机的归约处理方法和并行计算机 Download PDFInfo
- Publication number
- CN100524284C CN100524284C CNB2006101078140A CN200610107814A CN100524284C CN 100524284 C CN100524284 C CN 100524284C CN B2006101078140 A CNB2006101078140 A CN B2006101078140A CN 200610107814 A CN200610107814 A CN 200610107814A CN 100524284 C CN100524284 C CN 100524284C
- Authority
- CN
- China
- Prior art keywords
- node
- data
- nodes
- network adapter
- parallel computer
- 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
Images
Classifications
-
- 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/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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Abstract
提供一种并行计算机的归约处理方法和并行计算机。并行计算机对多个节点保存的数据进行归约运算。构成并行计算的每个节点将分割为n部分的数据传送到其它节点中,每个节点汇总各自的1/n数据并进行运算,然后多个节点将各自运算结果传送到汇总节点。由于所有的节点分别对分割后数据进行运算,所以可减少归约处理的时间。并且更多节点(网络适配器)可通过第一次和第二次数据传送参与到数据传送中,所以可实现高速传送处理,并且可缩短传送时间。
Description
技术领域
本发明涉及并行计算机的归约处理方法(reduction processing method)和并行计算机,在所述并行计算机中多个计算机节点通过网络来连接,其中多个计算机节点的计算结果进行汇总和归约,本发明更具体地涉及一种用于通过使用安装在每个计算机节点上的多个网络适配器来高效地进行归约处理的并行计算机的归约处理方法和并行计算机。
背景技术
随着对计算机系统更高处理速度的需求,并行计算机被越来越多地采用,其中安装有包括计算机的多个节点,并且所述多个节点通过网络相互连接。例如,在并行计算机领域,数据通过多个节点并行计算而且经处理的数据通过网络相互交换。如果规模足够大,则并行计算机可由成百上千的节点构成。
并行计算机中,收集多个节点的数据并执行指定的运算。这种操作称为“归约处理”。归约处理的例子是确定所有节点数据和的运算,以及确定所有节点数据最大值和最小值的运算。
图11和图12表示传统并行计算机的归约处理。如图11所示,多个(本例中4个)节点100、101、102和103经由网络(未示出)来连接。每一节点100、101、102和103具有多个(本例中3个)网络适配器110A、110B和110C来进行并行传输。图11中,仅为节点100的网络适配器设置标号,但其它节点101、102和103情况相同。
为了收集多个节点100-103的数据并执行这种配置的指定运算(例如求和),节点101的数据从节点101发送至节点100,节点103的数据从节点103发送至节点102。分别地,节点100执行节点100和节点101的数据运算,节点102执行节点102和节点103的数据运算。然后将节点102的运算结果发送至节点100,并且节点100执行节点100和节点102的数据运算。
对此将利用如图12所示的12个数据块的例子进行描述。图12中,D0、D1、D2和D3为每一节点100、101、102和103具有的数据,并且D01为节点100和节点101的数据运算结果,D23为节点102和节点103的数据运算结果,D0123为节点100到103的运算结果。
如图12所示,节点100到103具有的12个数据块被分为3部分,而D1-O1和D3-O3的数据运算结果利用3个网络适配器110A、110B和110C分别从节点101和103发送到节点100和102。在节点100和102中,对节点100和101的数据运算结果D01-O01和节点102和103的数据运算结果D23-O23进行运算。
然后,从节点102发送数据运算结果D23-O23到节点100。节点100通过运算结果D01-O01和运算结果D23-O23,运算得出节点100到103的运算结果D0123-O0123。
按照这种方法,根据现有技术,节点100、101、102和103每个都具有多个网络适配器,因此归约处理所需的时间通过并行传输而减少(例如,日本专利申请公开2001-325239)。
但是运用先前技术,两个节点在第一次传输后执行运算,而且另外两个节点仅发送数据不执行运算。所以,执行运算的节点有限,而且加快归约处理的速度也有困难。
发明内容
有鉴于此,本发明的一个目的在于提供一种用于通过归并许多节点的数据来提高归约处理速度的并行计算机的归约处理方法和并行计算机。
本发明的另一个目的在于提供一种用于通过使许多节点参与归约处理运算来提高归约处理速度的并行计算机的归约处理方法和并行计算机。
本发明的另一个目的在于提供一种用于通过提高归约处理速度来改善并行计算能力的并行计算机的归约处理方法。
为达到上述目的,本发明提供一种并行计算机,具有三个或更多节点,每个节点具有多个网络适配器;以及纵横交换器,用于连接每个所述节点的网络适配器。其中每个节点将保存的数据分割为多个数据并通过不同的网络适配器分别将分割后数据传送到多个其它节点,每个节点对接收到的数据和自身保存的数据进行归约处理,然后多个节点通过所述网络适配器将归约处理结果传送到至少一个节点中来汇总数据。
另外,本发明提供一种用于并行计算机的归约处理方法,用于汇总多个节点保存的数据并归约该数据,其中每个节点都具有多个网络适配器,该方法包括将保存数据在每个节点分割为多组数据的步骤,通过不同的网络适配器,每个节点分别传送分割后数据到多个其它节点的步骤,每个节点针对已接收的分割后数据和自身保留数据进行归约运算的步骤,通过网络适配器将归约运算结果传送到至少一个节点中汇总数据的步骤。
本发明中,优选地,每个所述节点将保存的数据分割为多个数据,并且将除了待由此节点自身进行归约运算的数据之外的分割后数据经由不同的网络适配器分别传送到多个其它节点。
本发明中,优选地,多个节点通过所述网络适配器将归约运算结果传送到多个其它节点。
本发明中,优选地,每个所述节点将待归约的数据除以一除数进行分割,以产生所述分割后数据,其中该除数基于所述网络适配器数量而得。
本发明中,优选地,每个所述节点将所述分割数据传送到其数量与所述网络适配器的数量相同所述多个节点。
本发明中,优选地,每个所述节点以所述网络适配器数量加一为除数分割数据来产生所述分割后数据。
本发明中,优选地,每个所述节点通过预定的网络适配器传送所述分割后数据到其它节点,从而在所述多个节点之间对所述网络适配器的使用不被重叠。
本发明中,优选地,每个所述网络适配器都通过网络连接于所述纵横交换器。
本发明中,优选地,每个所述节点包括:至少一个CPU;存储器;以及所述多个网络适配器。
本发明中,优选地,在将所述多个节点分成多个节点组而得到的每个节点组中,每个所述节点将保存的数据分割为多个数据,并且将所分割的数据传送到所述节点组中的多个其它节点中,所述节点组中的每个节点都对所接收的分割后数据和自身保存数据进行归约运算,所述多个节点将归约运算结果传送到至少一个所述节点来汇总归约运算结果,每个汇总数据的节点将数据分割为多个数据并将所述分割后数据传送到多个其它汇总数据的节点,每个汇总数据的节点都对接收的分割后数据和自身保存数据进行归约运算,多个汇总数据的节点将归约运算结果传送到至少一个所述汇总数据的节点中,以汇总节点组中的归约运算结果。
根据本发明,每个节点传送分割成n部分的数据到其它节点,而且每个节点汇总各自的1/n数据,并进行运算,然后每个节点汇总各自运算结果并将其传送到汇总节点。由于所有的节点分别对分割后数据进行运算,可减少归约处理的时间。而且更多节点(网络适配器)可经第一次和第二次数据传送参与到数据传送中,所以可实现高速传送处理,并且可缩短传送时间。
附图说明
图1为描述根据本发明的实施例的并行计算机的框图;
图2为描述图1中的节点的框图;
图3为描述图2和图3中的网络适配器的框图;
图4显示图1中的传输帧的格式;
图5是描述根据本发明第一实施例的归约处理的示图;
图6是描述根据图5中的第一实施例的数据流的示图;
图7是描述根据图5中的第一实施例的节点传输/运算处理的流程图;
图8是描述根据图5中的第一实施例的节点传输/汇总处理的流程图;
图9是描述根据本发明第二实施例的归约处理的示图;
图10是描述根据本发明第三实施例显示的归约处理的示图;
图11是描述根据先前技术的归约处理的视图;以及
图12是描述图11中的数据流的示图。
具体实施方式
以下将以并行计算机配置,第一实施例,第二实施例,第三实施例以及其它实施例的顺序,介绍本发明的具体实施方式,但本发明并不仅限于这些实施例。
并行计算机配置
图1为根据本发明的并行计算机的一实施例的框图,图2为描述图1中的节点的框图,图3为描述图1中的网络适配器的框图,图4为描述图1中的传输数据的帧的格式。
如图1所示,并行计算机具有多个(本例中4个)节点10、11、12和13,以及三个纵横交换器(图1中的SWA、SWB和SWC)20、21和22。每个节点10、11、12和13都有三个网络适配器(图1中的A、B和C)14A、14B和14C。节点10、11、12和13的各网络适配器14A、14B和14C通过各纵横交换器20、21和22相互通信。换而言之,每个节点10、11、12和13的网络适配器14A、14B和14C都分别通过传输路径,如以太网(注册商标),连接于纵横交换器20、21和22。
在计算机的节点10(11、12、13)中,CPU40、存储器44、IO适配器46和上述的网络适配器14A到14C通过系统控制器42相互连接,如图2所示。可根据节点所需的处理能力安装多个CPU40、存储器44、IO适配器46和网络适配器14A到14C。
图1和图2中的网络适配器14A(14B、14C)包括主机接口控制电路50、发送控制电路52、网络接口控制电路54、以及接收控制电路56,如图3所示,其中主机接口控制电路50与系统控制器42连接,网络接口控制电路54与传输路径连接。网络适配器14A(14B、14C)负责节点间的数据通信。
当数据通过网络适配器14A(14B、14C)在节点间传输时,数据以图4所示的帧格式通信。图4中的帧格式应用于以太网(注册商标)中,其中包括目的地地址、发送源地址、帧类型(例如,指令类型、数据大小)、数据和帧校验码(例如,CRC(循环冗余码校验))。数据区域的数据长度(数据大小)是可变的,而且节点间传输的数据在必要的情况下可被分割为多个帧并传输。
第一实施例
图5根据本发明第一实施例显示了其归约处理过程,图6根据图5中的归约处理显示了其数据流,图7根据图5中的第一实施例显示了其节点传送/运算处理的流程图,图8为根据图5中的第一实施例的节点汇总处理的流程图。
如图5所示,每个节点10、11、12和13将待归约的数据块分割为n部分,并通过单独的网络适配器14A、14B和14C将其传送到每个节点10、11、12和13。接收到数据的节点10、11、12和13汇总各自的1/n数据并进行如标识(1)的操作。然后每个节点11、12和13将各运算结果传送到节点10,节点10将接收到的结果和节点10自身运算的结果进行汇总,如标识(2)所示。
参考图6,将使用与图12所示相同数据量为例来描述。这些图中,D0-D3、E0-E3、……、以及O0-O3为每个节点10、11、12和13具有的12个数据块,而D0123-O0123为归约处理的运算结果。
如图6所示,每个节点10-13具有的12个数据块D0-O0、D1-O1、D2-O2和D3-O3被分割为四部分。每个节点10、11、12和13通过三个网络适配器14A、14B和14C传送被分为四部分的数据组中的三个数据组到另外的节点10、11、12和13中。
例如,节点10分别将数据D0-O0的12个数据块中的数据G0-I0、J0-L0和M0-O0传送到节点11、12和13。以同样的方式,节点11分别将数据D1-O1的12个数据块中的数据D1-F1、J1-L1和M1-O1传送到节点10、12和13。节点12分别将数据D2-O2的12个数据块中的数据D2-F2、G2-I2和M2-O2传送到节点10、11和13。节点13分别将数据D3-O3的12个数据块中的数据D3-F3、G3-I3和J3-L3传送到节点10、11和12。
所以,节点10汇总数据D0-F0、数据D1-F1、数据D2-F2和数据D3-F3,节点11汇总数据G0-I0、数据G1-I1、数据G2-I2和数据G3-I3,节点12汇总数据J0-L0、数据J1-L1、数据J2-L2和数据J3-L3,而节点13汇总数据M0-O0、数据M1-O1、数据M2-O2和数据M3-O3。
节点10汇总数据D0-F0、数据D1-F1、数据D2-F2和数据D3-F3,同时运算(例如,汇总)并得到运算结果D0123-F0123。同样,节点11汇总数据G0-I0、数据G1-I1、数据G2-I2和数据G3-I3,同时运算(例如,汇总)并得到运算结果G0123-I0123。节点12汇总数据J0-L0、数据J1-L1、数据J2-L2和数据J3-L3,同时运算(例如,汇总)并得到运算结果J0123-L0123。节点13汇总数据M0-O0、数据M1-O1、数据M2-O2和数据M3-O3,同时运算(例如,汇总)并得到运算结果M0123-O0123。
接着在节点10汇总每个节点的运算结果。换而言之,将运算结果G0123-I0123、J0123-L0123和M0123-O0123从每个节点11、12和13的网络适配器14A、14B和14C传送到节点10。
同样,每个节点10、11、12和13传送被分为四部分数据中的三部分数据到另外的节点,且每个节点分别汇总四分之一的数据并进行运算。然后,每个节点11、12和13传送各自的运算结果到节点10。
换而言之,如果先前技术及本发明的归约处理的运算内容相同,则运算量也是相同的。在先前技术的情况下,节点10和12进行实际运算,而节点11和13仅传送数据。但是,在本发明中,所有节点都分别对分割后的数据进行运算,所以如果总计算量相同,则处理更快完成。
另外,在本发明中,更多节点(网络适配器)可经第一次和第二次数据传输参与到数据传输中,所以可达到高速传输处理,并且可缩短传输时间。
例如,在先前技术和本实施例之间比较关于整个网络的传输总量的传输时间,在先前技术的情况下,传输时间为传输总量÷3×2=2/3,但是在本实施例的情况下,传输时间为传输总量÷4×2=1/2。所以在本实施例中,数据传输时间为先前技术的3/4。
在本实施例的第一次和第二次传输过程中,因为发送网络适配器和接收网络适配器的连接关系被设置为避免重叠,所以数据仅传输一次。
图7为每个节点的处理流程图。
(S10)每个节点10、11、12和13的CPU 40将待归约的数据块分割为多个数据(四部分,在图6中)。如果此除数与发送目的地节点数量或网络适配器数量相同,则上述归约运算处理的效果可达到最大。
(S12)然后每个节点10、11、12和13的CPU 40指示网络适配器14A、14B和14C将分割后数据块(三块,在图6中)传送到节点10、11、12和13中的不同节点。由此,节点10、11、12和13的网络适配器14A、14B和14C将分割后数据块传送到节点10、11、12和13的网络适配器14A、14B和14C。
(S14)每个节点10、11、12和13的CPU 40对没有被传送的数据和从其它节点接收的数据进行归约运算处理,并获得运算结果。
图8为节点的汇总处理流程图。
(S20)每个节点11、12和13在汇总节点10为目的地的情况下,将运算结果传送到节点10。
由此,每个节点11、12和13的CPU 40并行进行数据分割,传送和运算处理,所以归约处理时间可轻易缩短。
第二实施例
图9显示了本发明第二实施例的归约处理过程的第二实施例。在第一实施例中,运算结果由一汇总节点10汇总,但是在一些情况下其它节点必须得知运算结果。而在本实施的情况下,所有节点在第二次数据传输过程中都可得到运算结果,所以所有节点可共享运算结果。
图9显示了图6中的第二次数据传输过程,而且第一次传输/运算处理与图6所示相同。
如图9所示,每个节点的运算结果在第二次传输中被传送到每个节点10、11、12和13。换而言之,运算结果G0123-I0123、J0123-L0123和M0123-O0123从每个节点10、11、12和13的网络适配器14A、14B和14C传送到节点10、11、12和13。
同样在本例中,每个节点10、11、12和13传送被分割为四部分数据中的三部分数据到另外的节点,而且每个节点分别汇总四分之一的数据并进行运算。然后,所有节点10、11、12和13传送各自的运算结果到所有的节点10、11、12和13。
换而言之,在第一实施例中,并未使用节点10的全部网络适配器、节点11的网络适配器14A和14B、节点12的网络适配器14A和14C以及节点13的网络适配器14B和14C,而在第二实施例中,使用了这些网络适配器,并进行数据传输共享运算结果。
第三实施例
图10根据本发明的第三实施例显示了广播处理过程。在此例中,并行计算机有16个节点,0-15,每个节点具有三个网络适配器,其中对节点0-15进行归约处理。图10中与图1和图5相同的节点用相同的序列号表示。
首先,16个节点被分割为4个节点组,0-3、4-7、8-11和12-15,并且对于每一节点组执行与第一实施例相同的处理。
换而言之,在每一节点组0-3、4-7、8-11和12-15中,节点0-3、4-7、8-11和12-15将待归约的数据分割为n部分,并通过单独的网络适配器14A、14B和14C,将数据传送到节点组中每个节点0-3、4-7、8-11和12-15。接收到数据的节点0-3、4-7、8-11和12-15汇总各自的1/n数据并进行如标识(1)的运算。然后每个节点1-3、5-7、9-11和13-15将其节点自身进行的运算结果传送到节点0、4、8和12,每个节点0、4、8和12对接收到的结果和节点自身运算结果进行汇总,如标识(2)所示。
然后在每组中汇总数据的节点0、4、8和12将待归约的数据分割为n部分,并通过单独的网络适配器14A、14B和14C将其传送至每个节点0、4、8和12,正如第一实施例的情况一样。接收到数据的节点0、4、8和12汇总各自的1/n数据,并如标识(3)所示运算。然后每个节点4、8和12将节点自身进行运算的结果传送到节点0,节点0汇总接收的结果以及节点0自身进行运算的结果,如标识(4)所示。
由此,通过重复第一实施例的处理过程,即使节点数量增加,归约处理也可以以相同方式进行。换而言之,当第一实施例分两个阶段进行时,最多可支持16个节点,当分三个阶段进行时,最多可支持64个节点。通过增加阶段,可增加支持的节点数量。
由此,可进行一次归约处理的节点的最大数量为网络适配器的数量加一,而当节点数量进一步增加时,可进行归约处理的节点数量可通过在第二阶段和第三阶段进行两次处理而增加。
其它实施例
上述实施例中,描述了具有四个节点的并行计算机,但是本发明可用于具有三个或更多节点的并行计算机。节点的配置通过计算机单元来描述,该计算机单元包括CPU、存储器等等,而且可使用其它计算机配置。传输路径的形式不限于以太网(注册商标),也可使用其它网络协议。
构成并行计算机的每个节点将分为n部分的数据传送到其它节点,每个节点汇总各自的1/n数据,并进行运算,然后多个节点的每个节点将其传送到汇总节点。由于所有节点对各自分割后的数据进行运算,处理更快完成。而且更多节点(网络适配器)可经第一次和第二次数据传输参与到数据传输中,所以可达到高速传输,并且可缩短传输时间。
Claims (18)
1.一种并行计算机,包括:
三个或更多节点,每个节点具有多个网络适配器;以及
纵横交换器,用于连接每个所述节点的网络适配器,
其中每个所述节点将保存的数据分割为多个数据,并且将除了待由此节点自身进行归约运算的数据之外的分割后数据经由不同的网络适配器分别传送到多个其它节点,
每个所述节点对接收到的分割后数据和自身保存数据执行归约运算,
每个所述节点经由所述网络适配器将归约运算结果传送到至少一个所述节点来汇总数据。
2.如权利要求1所述的并行计算机,其特征在于,每个所述节点经由所述网络适配器将归约运算结果传送到多个其它节点。
3.如权利要求1所述的并行计算机,其特征在于,每个所述节点将待归约的数据除以一除数进行分割,以产生所述分割后数据,其中该除数基于所述网络适配器数量而得。
4.如权利要求1所述的并行计算机,其特征在于,每个所述节点将所述分割后数据传送到其数量与所述网络适配器数量相同的每个所述节点。
5.如权利要求3所述的并行计算机,其特征在于,每个所述节点以所述网络适配器数量加一为除数来分割数据,以产生所述分割后数据。
6.如权利要求1所述的并行计算机,其特征在于,每个所述节点通过预定的网络适配器传送所述分割后数据到其它节点,从而在每个所述节点之间对所述网络适配器的使用不重叠。
7.如权利要求1所述的并行计算机,其特征在于,每个所述网络适配器都经由网络连接于所述纵横交换器。
8.如权利要求1所述的并行计算机,其特征在于,每个所述节点包括:
至少一个CPU;
存储器;以及
所述多个网络适配器。
9.如权利要求1所述的并行计算机,其特征在于,在将每个所述节点分成多个节点组而得到的每个节点组中,每个所述节点将保存的数据分割为多个数据,并且将除了待由此节点自身进行归约运算的数据之外的分割后数据传送到所述节点组中的多个其它节点中,
所述节点组中的每个节点都对所接收的分割后数据和自身保存数据进行归约运算,
所述节点组中的所有节点将归约运算结果传送到所述节点组中的所有节点中的一个节点来汇总归约运算结果,
每个汇总数据的节点将数据分割为多个数据并将所述分割后数据传送到多个其它汇总数据的节点,
每个汇总数据的节点都对接收的分割后数据和自身保存数据进行归约运算,多个汇总数据的节点将归约运算结果传送到至少一个所述汇总数据的节点中,以汇总节点组中的归约运算结果。
10.一种并行计算机的归约处理方法,用于汇总由多个节点保存的数据并归约该数据,其中每个所述节点具有多个网络适配器,该方法包括以下步骤:
在每个所述节点,将保存数据分割为多个数据;
通过每个所述节点的不同的网络适配器,将除了要被此节点自身归约的数据之外的分割后数据分别传送到多个其它节点;
在每个所述节点中,对所接收的分割后数据和保存数据进行归约运算;
通过所述网络适配器将归约运算结果从所述节点递送到至少一个所述节点中;以及
在接收所述递送的归约运算结果的一个节点汇总数据。
11.如权利要求10所述的并行计算机的归约处理方法,其特征在于,所述递送所述归约运算结果的步骤包括以下步骤:通过所述网络适配器将归约运算结果递送到所述多个其它节点。
12.如权利要求10所述的并行计算机的归约处理方法,其特征在于,所述分割步骤包括如下步骤:
将待归约的数据除以一除数进行分割,其中该除数基于所述网络适配器数量而得;
产生所述分割后数据。
13.如权利要求10所述的并行计算机的归约处理方法,其特征在于,所述传送分割后数据的步骤进一步包括以下步骤:将所述分割后数据传送到其数量与所述网络适配器数量相同的每个所述节点。
14.如权利要求12所述的并行计算机的归约处理方法,其特征在于,所述分割步骤进一步包括以下步骤:以所述网络适配器加一的数量为除数来分割数据,以产生所述分割后数据。
15.如权利要求10所述的并行计算机的归约处理方法,其特征在于,所述传送步骤进一步包括如下步骤:经由预定网络适配器传送所接收的分割后数据至另一节点,从而在每个所述节点之间对所述网络适配器的使用不重叠。
16.如权利要求10所述的并行计算机的归约处理方法,其特征在于,每个所述网络适配器通过网络连接到纵横交换器。
17.如权利要求10所述的并行计算机的归约处理方法,其特征在于,每个所述节点包括至少一个CPU、存储器和所述多个网络适配器。
18.如权利要求10所述的并行计算机的归约处理方法,进一步包括如下步骤:
在每个节点组内,进行所述分割步骤、所述传送步骤、所述运算步骤和所述汇总步骤,其中,所述每个节点组由将每个所述节点分成多个节点组得到;以及
在每个节点组之间,通过汇总数据的多个节点,进行所述分割步骤、所述传送步骤、所述运算步骤和所述汇总步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006074971 | 2006-03-17 | ||
JP2006074971A JP4546413B2 (ja) | 2006-03-17 | 2006-03-17 | 並列計算機のリダクション処理方法及び並列計算機 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101038579A CN101038579A (zh) | 2007-09-19 |
CN100524284C true CN100524284C (zh) | 2009-08-05 |
Family
ID=38229048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006101078140A Expired - Fee Related CN100524284C (zh) | 2006-03-17 | 2006-07-21 | 并行计算机的归约处理方法和并行计算机 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7756144B2 (zh) |
EP (1) | EP1835414B8 (zh) |
JP (1) | JP4546413B2 (zh) |
KR (1) | KR100833139B1 (zh) |
CN (1) | CN100524284C (zh) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4704252B2 (ja) * | 2006-03-14 | 2011-06-15 | 富士通株式会社 | ネットワークシステムのブロードキャスト処理方法及びネットワークシステム |
US7752421B2 (en) * | 2007-04-19 | 2010-07-06 | International Business Machines Corporation | Parallel-prefix broadcast for a parallel-prefix operation on a parallel computer |
US8161480B2 (en) | 2007-05-29 | 2012-04-17 | International Business Machines Corporation | Performing an allreduce operation using shared memory |
US8140826B2 (en) | 2007-05-29 | 2012-03-20 | International Business Machines Corporation | Executing a gather operation on a parallel computer |
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 |
US7840779B2 (en) | 2007-08-22 | 2010-11-23 | International Business Machines Corporation | Line-plane broadcasting in a data communications network of a parallel computer |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
US8949577B2 (en) | 2010-05-28 | 2015-02-03 | International Business Machines Corporation | Performing a deterministic reduction operation in a parallel computer |
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 |
CN103403698A (zh) * | 2011-03-04 | 2013-11-20 | 富士通株式会社 | 分布式计算方法和分布式计算系统 |
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 |
CN104023039B (zh) * | 2013-02-28 | 2018-02-02 | 国际商业机器公司 | 数据包传输方法和装置 |
CA2948914C (en) * | 2014-07-01 | 2017-09-05 | Sas Institute Inc. | Systems and methods for fault tolerant communications |
JP6597231B2 (ja) | 2015-11-27 | 2019-10-30 | 富士通株式会社 | 演算装置、プログラム、情報処理方法 |
JP6911361B2 (ja) * | 2017-01-19 | 2021-07-28 | カシオ計算機株式会社 | 計算機、計算方法及びプログラム |
JP6930381B2 (ja) * | 2017-11-06 | 2021-09-01 | 富士通株式会社 | 情報処理システム、演算処理装置及び情報処理システムの制御方法 |
JP7004083B2 (ja) * | 2018-10-23 | 2022-01-21 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
JP7087953B2 (ja) * | 2018-11-22 | 2022-06-21 | 富士通株式会社 | 情報処理システム及び情報処理システムの制御方法 |
GB201904267D0 (en) * | 2019-03-27 | 2019-05-08 | Graphcore Ltd | A networked computer with multiple embedded rings |
CN111858017A (zh) * | 2019-04-30 | 2020-10-30 | 伊姆西Ip控股有限责任公司 | 用于处理任务的方法、设备和计算机程序产品 |
KR102425909B1 (ko) * | 2019-07-30 | 2022-07-29 | 한국과학기술원 | 뉴럴 네트워크 가속기 시스템 및 그것의 동작 방법 |
US11714765B2 (en) * | 2021-07-23 | 2023-08-01 | Hewlett Packard Enterprise Development Lp | System and method for implementing a network-interface-based allreduce operation |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6115265A (ja) * | 1984-06-27 | 1986-01-23 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | スイツチングシステム |
US4695999A (en) | 1984-06-27 | 1987-09-22 | International Business Machines Corporation | Cross-point switch of multiple autonomous planes |
US4918686A (en) * | 1987-07-27 | 1990-04-17 | Hitachi, Ltd. | Data transfer network suitable for use in a parallel computer |
JPH07107545B2 (ja) | 1987-08-20 | 1995-11-15 | 株式会社東芝 | 交流電圧試験装置 |
CA2011935A1 (en) * | 1989-04-07 | 1990-10-07 | Desiree A. Awiszio | Dual-path computer interconnect system with four-ported packet memory control |
DE69230093T2 (de) * | 1991-11-19 | 2000-04-13 | Ibm | Multiprozessorsystem |
JPH06290158A (ja) * | 1993-03-31 | 1994-10-18 | Fujitsu Ltd | 再構成可能なトーラス・ネットワーク方式 |
JPH07295944A (ja) * | 1994-04-28 | 1995-11-10 | Fujitsu Ltd | マルチプロセッシングシステムの大域演算処理方法,マルチプロセッシングシステム用処理装置および大域演算処理装置 |
JP3094849B2 (ja) | 1995-06-21 | 2000-10-03 | 株式会社日立製作所 | 並列計算機およびその多段結合網 |
JPH09231075A (ja) * | 1996-02-28 | 1997-09-05 | Hitachi Ltd | 組込み手続きの高速実現方法 |
JPH09330304A (ja) | 1996-06-05 | 1997-12-22 | Internatl Business Mach Corp <Ibm> | プロセッサ間の通信スケジュールを決定する方法 |
JP3916192B2 (ja) | 1998-07-03 | 2007-05-16 | 株式会社東芝 | 並列計算機システム及びその演算処理装置間の通信方法 |
US6223242B1 (en) * | 1998-09-28 | 2001-04-24 | Sifera, Inc. | Linearly expandable self-routing crossbar switch |
JP4294142B2 (ja) * | 1999-02-02 | 2009-07-08 | 株式会社日立製作所 | ディスクサブシステム |
US6766470B1 (en) * | 2000-03-29 | 2004-07-20 | Intel Corporation | Enhancing reliability and robustness of a cluster |
JP2001325239A (ja) * | 2000-05-16 | 2001-11-22 | Hitachi Ltd | 並列計算機のリダクション処理装置および処理方法 |
JP2002351681A (ja) | 2001-05-25 | 2002-12-06 | Hitachi Tohoku Software Ltd | ネットワークを用いた情報処理方法、情報処理システム、情報処理プログラムおよび記録媒体 |
JP2003015890A (ja) | 2001-07-05 | 2003-01-17 | Sony Corp | 分散型情報処理システム、及び暗号化システム |
WO2006020298A2 (en) * | 2004-07-19 | 2006-02-23 | Blumrich Matthias A | Collective network for computer structures |
JP3791433B2 (ja) * | 2002-02-27 | 2006-06-28 | 日本電気株式会社 | システム、制御処理装置、およびシステム制御方法 |
KR20040074752A (ko) * | 2003-02-18 | 2004-08-26 | 엘지엔시스(주) | 금융업무 서버시스템의 부하 분산장치 및 분산방법 |
-
2006
- 2006-03-17 JP JP2006074971A patent/JP4546413B2/ja not_active Expired - Fee Related
- 2006-06-23 US US11/472,987 patent/US7756144B2/en active Active
- 2006-06-29 EP EP20060253428 patent/EP1835414B8/en not_active Expired - Fee Related
- 2006-07-21 KR KR20060068366A patent/KR100833139B1/ko not_active IP Right Cessation
- 2006-07-21 CN CNB2006101078140A patent/CN100524284C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR100833139B1 (ko) | 2008-05-29 |
EP1835414A2 (en) | 2007-09-19 |
EP1835414B1 (en) | 2013-12-11 |
EP1835414A3 (en) | 2009-07-22 |
US20070220164A1 (en) | 2007-09-20 |
JP2007249810A (ja) | 2007-09-27 |
CN101038579A (zh) | 2007-09-19 |
EP1835414B8 (en) | 2014-02-26 |
JP4546413B2 (ja) | 2010-09-15 |
US7756144B2 (en) | 2010-07-13 |
KR20070094430A (ko) | 2007-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100524284C (zh) | 并行计算机的归约处理方法和并行计算机 | |
CN101739381B (zh) | 屏障同步设备、屏障同步系统以及屏障同步方法 | |
CN113098773B (zh) | 数据处理方法、装置及系统 | |
CN102546402B (zh) | 支持基于关键项的分布式进程的方法和计算实体 | |
US8155518B2 (en) | Dynamic load balancing of fibre channel traffic | |
CN104102475B (zh) | 分布式并行任务处理的方法、装置及系统 | |
CN106056211B (zh) | 神经元计算单元、神经元计算模块及人工神经网络计算核 | |
US8325761B2 (en) | System and method for establishing sufficient virtual channel performance in a parallel computing network | |
CN106776461A (zh) | 数据处理装置和服务器 | |
CN105245588B (zh) | 一种web业务端口分离处理的方法 | |
CN108574594B (zh) | 一种网络业务传输的方法及系统 | |
KR100774901B1 (ko) | 네트워크 시스템의 브로드캐스트 처리 방법 및 네트워크시스템 | |
JP2016220126A (ja) | ネットワーク処理システム、ネットワークシステムの管理方法及び通信装置 | |
CN112905523B (zh) | 一种芯片及核间数据传输方法 | |
CN114374640A (zh) | 一种基于时间触发以太网的业务调度方法 | |
CN104660525B (zh) | 一种带宽分配方法、控制器及通信系统 | |
JP2000020501A (ja) | 並列計算機システム及びその演算処理装置間の通信方法 | |
CN111782565A (zh) | Gpu服务器和数据传输方法 | |
CN108319503A (zh) | 分布式异构计算方法及系统 | |
US11922237B1 (en) | Single-step collective operations | |
Haddad | Real-time optimization of distributed load balancing | |
Yan et al. | Have Your Cake and Eat It Too: Toward Efficient and Accurate Split Federated Learning | |
CN105681214B (zh) | 一种大规模网络传输优化方法和系统 | |
CN115119266A (zh) | 异构多跳网络拓扑下的编码计算负载均衡分配方法及系统 | |
Aci et al. | A CONGESTION CONTROL ALGORITHM WITH INTERMEDIATE NODE SELECTION PROCEDURE FOR PERFORMANCE IMPROVEMENT OF A 2-DIMENSIONAL BROADCAST-BASED MULTIPROCESSOR ARCHITECTURE |
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: 20090805 Termination date: 20180721 |
|
CF01 | Termination of patent right due to non-payment of annual fee |