屏障同步设备、屏障同步系统以及屏障同步方法技术方案

技术编号:4230020 阅读:216 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种屏障同步设备、屏障同步系统以及屏障同步方法,其中该屏障同步设备包括接收装置,其在接收到第一同步信号时将第一同步信号传送到同步装置,其中根据包括屏障同步算法和执行条件的设置条件而在所述第一同步信号中预先设置了传送目的地。同步装置对根据设置条件预先设置的n个第一同步信号进行同步,其中n为正整数,并且在建立同步之后,指示对根据设置条件预先设置了传送目的地的m个第二同步信号的传送,其中m为正整数。当从同步装置接收到表示传送指示的传送指示信息时,传送装置将第二同步信号传送到预先设置的m个传送目的地。

【技术实现步骤摘要】

这里讨论的本专利技术实施例涉及一种屏障同步设备、屏障同步系统以及屏障同步方 法。
技术介绍
屏障同步被公知为对彼此并行执行的多个进程进行同步的方法。在屏障同步中, 设置屏障点。屏障点是进行同步的点。执行屏障同步的进程在执行到达屏障点时临时中止 执行。当进行屏障同步且并行执行的所有进程到达屏障点时,执行屏障同步的进程重启被 中止的执行。以这种方式,可以进行并行执行的多个进程之间的并行执行同步。 另一方面,归约运算被公知为对由多个进程保存的数据的算术运算。已知有几种 归约运算,例如,计算数据之和的算术运算、以及计算最大值和最小值的算术运算。归约运 算分别包括仅仅特定进程具有算术运算结果的算术运算、以及所有进程具有算术运算结果 的算术运算。然而,在任何情况下,由于在进程之间执行数据通信,因此可以通过使用与屏 障同步相同的算法来执行归约运算。 已知这样的数据通信,其从处理器向所有其它处理器广播数据,建立最终接收广 播数据的处理器彼此通信的蝶式屏障,并且从参与蝶式屏障的处理器向没有参与蝶式屏障 的所有处理器报告数据通信终止。日本专利申请公开No. 03-098152 日本专利申请No. 07-152712 在屏障同步的执行期间,依赖于算法,进程必须改变在每级表示进程到达屏障点 的信号的目的地。另外,在归约运算中,进程必须改变在每级算术运算的中间结果的目的 地。本专利技术的专利技术人研究了高速改变目的地的方法,以提高屏障同步速度和归约运算速度。 根据研究,当通过软件实现屏障同步和归约运算两者时,由CPU部分执行在这些 级上的目的地改变操作。为此,容易发生开销。因此,结果,不能提高屏障同步和归约运算 的速度。 另一方面,当通过硬件来实现目的地改变操作时,可以执行目的地改变操作而无 需CPU。为此,预期会提高屏障同步和归约运算的速度。然而,依赖于针对高速运算所要采 用的硬件的构造,当多个节点通过网络彼此连接时,节点间的网络构造可能是受限的。
技术实现思路
根据本专利技术的一方面,一种屏障同步设备包括接收装置,其在接收到第一同步时 将第一同步信号传送到同步装置,其中根据包括屏障同步算法和执行条件的设置条件而在第一同步信号中设置了传送目的地;同步装置,其对根据设置条件预先设置的n个第一同 步信号进行同步,并且在建立同步之后,指示根据设置条件预先设置了传送目的地的m个 第二同步信号的传送;以及传送装置,其在接收到来自同步装置的传送指示时,将第二同步 信号传送到预先设置的m个传送目的地,其中n和m是正整数。 本专利技术的上述实施例旨在作为示例,并且本专利技术的所有实施例不限于包括上述特 征。附图说明 图1是示出节点连接例子的图; 图2是示出根据实施例的节点构造的图; 图3是示出根据实施例的屏障同步的图; 图4是示出通过由四个进程实现的蝶式执行的根据实施例的屏障同步的图; 图5是示出根据实施例的屏障同步设备的构造的图; 图6是示出根据实施例的同步设备的构造的图; 图7是根据实施例的屏障同步执行的处理流程图; 图8是示出蝶式执行的屏障同步中的信号流动的图; 图9是示出根据实施例的归约运算装置的构造的图; 图10是示出根据实施例的归约运算单元的构造的图; 图11是示出根据实施例的计算单元的构造的图; 图12是示出蝶式执行的归约运算的图; 图13是归约运算执行的处理流程图; 图14是示出通过蝶式网络执行的归约运算中的数据和信号的流动的图; 图15是示出在6个进程中蝶式执行的屏障同步的实施例的图; 图16是示出在6个进程中通过分发(dissemination)执行的屏障同步的实施例 的图; 图17是示出通过分发执行的屏障同步中的信号流动的图; 图18是示出根据实施例的归约运算单元的构造的图; 图19是示出在6个进程中通过采用递归倍增的成对交换来执行的屏障同步的实 施例的图; 图20是示出通过采用递归倍增的成对交换来执行的屏障同步中的信号流动的 图; 图21是示出多核处理器的构造的图; 图22是示出根据实施例的同步设备的构造的图;以及 图23是示出归约运算单元的实施例的图。具体实施例方式现在可以详细地参考本专利技术的实施例,附图中示出了其示例,其中相同标号始终 指示相同元件。图1示出具有多个节点的计算机网络的构造。所述多个节点中的每个包括根据本专利技术实施例的屏障同步设备。图2示出节点的构造。节点中的每个包括根据实施例的屏障 同步设备。假定根据实施例的屏障同步设备通过使用蝶式来执行屏障同步。 根据实施例的计算机网络包括例如计算机1的多个节点、以及将节点彼此连接的 网络2。在图1的例子中,四个节点#1到#4被布置在计算机网络上。通过网络2彼此连接 的所述多个节点l执行并行算术运算。所述多个节点1中的每个包括屏障同步设备6,用于 在并行算术运算中执行屏障同步。屏障同步设备6执行屏障同步。 节点1包括CPU 3、存储器4、系统控制器5、屏障同步设备6和输入/输出装置7。 系统控制器5对节点1,换句话说,CPU 3、存储器4、屏障同步设备6和输入/输出装置7的 操作进行控制。CPU 3包括设置处理器31。 设置处理器31通过系统控制器5与输入/输出装置7交换数据。以这种方式,输 入/输出装置7将包括屏障同步算法和执行条件的设置条件输入到CPU 3的设置处理器 31。输入/输出装置7根据需要输出从设置处理器31输出的数据。 设置处理器31通过系统控制器5将表示进程到达屏障点的信号传送到屏障同步 设备6。设置处理器31通过系统控制器5从屏障同步设备6接收表示屏障同步被建立的信 号。以这种方式,设置处理器31根据从输入/输出装置7输入的设置条件,在屏障同步设 备6中将屏障同步设备6设置为第一同步信号的目的地和第二同步信号的目的地。屏障同 步设备6根据由设置处理器31设置的设置条件,通过网络2与另一节点的屏障同步设备进 行通信以执行屏障同步。 设置处理器31通过系统控制器5与存储器4交换数据。以这种方式,设置处理器 31将数据写入存储器4,并且从存储器4读取数据。该数据用于例如后面将描述的归约运算。 下面将描述屏障同步。如图3所示,当执行屏障同步的多个进程#0到#2的执行 到达对进程进行同步的点,即屏障点时,这些进程中止其本身的执行。更具体地说,当多个 进程#0到#2本身到达屏障点时,进程#0到#2等待直至所有其它进程到达屏障点。当进 行屏障同步的多个进程#0到#2到达屏障点时,也就是,当建立了屏障同步时,所有进程#0 到#2重启被中止的执行。以这种方式,可以在并行执行的多个进程之间进行同步。 实现屏障同步的算法中的一种是蝶式算术运算。蝶式算术运算在下文中将被简称 为"蝶式"。通过蝶式将运算分为多个级,并且每级执行与其它进程的信号通信。在实施例 中,蝶式用作屏障同步算法。 图4示出在四个进程#0到#3之间蝶式执行屏障同步的例子。在图4中,例如,进 程#0通过将数字0加到圆中来表示,并且类似地表示其它进程#1到#3。在其它附图中,以 如上所述相同的方式来指定进程。 当以k表示级号并且以i表示其自身的进程或其自身的节点1的进程号时,在每 级上表示进程到达屏障点的信号的目的地以i X0R 2"(k-l)给出。当进程数N是2的幂本文档来自技高网
...

【技术保护点】
一种屏障同步设备,其包括:接收装置,其在接收到第一同步信号时将所述第一同步信号传送到同步装置,其中根据包括屏障同步算法和执行条件的设置条件在所述第一同步信号中预先设置了传送目的地;所述同步装置,其对根据所述设置条件预先设置的n(n是正整数)个第一同步信号进行同步,并且在建立同步之后,指示对根据所述设置条件预先设置了传送目的地的m(m是正整数)个第二同步信号的传送;以及传送装置,其在从所述同步装置接收到表示所述传送指示的传送指示信息时,将所述第二同步信号传送到预先设置的m个传送目的地。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:平本新哉安岛雄一郎井上智宏
申请(专利权)人:富士通株式会社
类型:发明
国别省市:JP[日本]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1