并行计算机及其控制方法技术

技术编号:15398178 阅读:129 留言:0更新日期:2017-05-22 13:52
公开了一种并行计算机及其控制方法。该并行计算机包括多个节点,并且当检测到在多个节点的每个中停止了用于作业的程序的执行时,多个节点中的一个节点从多个节点中的每个收集与障碍同步的进展状态有关的信息。而且,并行计算机中的多个节点中的一个节点基于在该一个节点中用于作业的程序的停止位置和从多个节点中的每个所收集的信息来确定在该一个节点中用于作业的程序的重新启动位置。

Parallel computer and control method thereof

A parallel computer and a control method thereof are disclosed. The parallel computer includes a plurality of nodes, and when detected stopped at each of a plurality of nodes for operation of the program execution, the information about the progress of the state synchronization of a plurality of nodes from multiple nodes in each collection and obstacles. Moreover, a plurality of nodes in a parallel computer system based on the one node for each stop position and from a plurality of nodes in the information collected was used to determine the position of restart operation procedures in the operation of a node in the program.

【技术实现步骤摘要】
并行计算机及其控制方法相关申请的交叉引用本申请基于2012年11月27日提交的在先日本专利申请第2012-258186号,并且要求该在先日本专利申请的优先权的权益,该在先日本专利申请的全部内容通过引用并入于此。
本专利技术涉及一种用于控制并行计算机的技术。
技术介绍
已知障碍同步(barriersynchronization)是一种用于对由并行计算机中的多个计算节点所执行的处理进行同步的方法。在此,计算节点是并行计算机中执行计算处理的部分,并且计算节点包括作为处理器的中央处理器单元(CPU)或作为处理单元的处理器内核。通过由每个计算节点在用于作业(job)的程序中的预定位置处调用障碍函数(function)而使得障碍同步变为可能。例如,在使用消息传递接口(MPI)库的情况下,可以通过在用于作业的程序中调用MPI_Barrier函数来实现障碍同步。在并行计算机中的所有计算节点都确认完成障碍同步之前,计算节点中的每个不能使得用于作业的程序的执行前进。已知以下用于在并行计算机中执行用于作业的程序的技术。更具体地,在并行计算机中,基于对于共享存储器的访问历史来执行用于程序的再次执行的同步。在那之后,采用基于记录信息所再现的共享存储器和处理器状态信息、从检查点起再次执行程序。然而,未建立如下技术:在该技术中,在正执行障碍同步的并行计算机中,临时地停止作业,然后稍后重新启动该作业。当在障碍同步的执行期间停止作业时,存在如下可能性:作业重新启动之后将不会适当地执行障碍同步,因此将停止作业的前进。因此,当在障碍同步的执行期间存在来自用户的停止作业的指令时,存在如下问题:不可以立即停止作业,并且停止作业将被搁置直至障碍同步完成。
技术实现思路
与本专利技术有关的一种控制方法是由并行计算机中所包括的多个节点之中的第一节点所执行的。然后,该控制方法包括:(A)当检测到在多个节点中的每个中停止了用于作业的程序的执行时,从多个节点中的每个收集与障碍同步的进展状态有关的信息;以及(B)基于在第一节点中用于作业的程序的停止位置和从多个节点中的每个所收集的信息,对在第一节点中用于作业的程序的重新启动位置进行第一确定。将借助于在权利要求中具体地指出的要素和组合来实现并且获得实施例的目的和优点。将理解,如所要求保护的,前述的一般描述和下面的详细描述两者均是示例性的和说明性的,并且不是对实施例的限制。附图说明图1是描述障碍同步的进展的示例的图;图2是描述在本实施例中的系统的概要的图;图3是说明在计算节点中所执行的程序的图;图4是描述用于确定用于作业的程序的重新启动位置的处理的处理流程的图;图5是描述在数据存储单元中所存储的数据的示例的图;图6是描述在数据存储单元中所存储的数据的示例的图;图7是说明在MPI_Barrier函数中所调用的函数的图;图8是说明重新启动位置的确定的图;图9是描述用于确定用于作业的程序的重新启动位置的处理的处理流程的图;图10是说明重新启动的确定的图;图11是说明用于作业的程序的停止位置与重新启动位置之间的关系的图;图12是说明用于作业的程序的停止位置与重新启动位置之间的关系的图;图13是说明用于作业的程序的停止位置与重新启动位置之间的关系的图;图14是说明用于作业的程序的停止位置与重新启动位置之间的关系的图;图15是说明用于作业的程序的停止位置与重新启动位置之间的关系的图;以及图16是说明用于作业的程序的停止位置与重新启动位置之间的关系的图。具体实施方式在并行计算机的通信中,存在点对点数据通信(在此,其包括集合通信(collectivecommunication))和当执行障碍同步时所使用的一对多通信。在点对点数据通信中,诸如MPI库的通信库可以确认另一方是否接收到所传送的数据。因此,通过在确认另一方接收到数据执行后执行停止作业的处理并且将该停止位置设置为重新启动位置,在重新启动作业后执行通信而不会发生问题。另一方面,当在一对多通信中执行障碍同步时,通信库能够确认障碍同步的起始和终止,然而,通信库不能确认障碍同步已经进展了多少(换言之,进行中的障碍同步的处理)。为了更详细地说明这点,图1示出了障碍同步的进展的示例。图1中的示例是在用于障碍同步的特定网络(在下文中,称为“障碍网络”)中六个计算节点使得障碍同步继续的示例。在此,计算节点是并行计算机的执行计算处理的部分,并且计算节点包括作为处理器的CPU或作为处理单元的处理器内核。每个计算节点具有包括硬件和固件的障碍接口。障碍接口具有用于接收、传送以及等待同步数据的多种机制。在此,该机制被称为“门(gate)”。存在作为起始点的门、作为终止点的门以及作为中继点的门。每个门等待接收来自其自身计算节点的门的同步数据(图1中的实线箭头)和等待接收来自另外的计算节点的门的同步数据(图1中的虚线箭头),并且在确认接收同步数据之后,每个门将该同步数据传送到下一个门。在每个计算节点处,起始门(即,门1)传送同步数据,中继门(即,门2和门3)对同步数据进行中继,以及终止门(即,门1,其与起始门为同一门)确认是否完成障碍同步。对于每个门,通信库设置与将作为接收方和传送方的门有关的信息(例如,计算节点编号和门编号)。通信库能够确认在起始门和终止门处的障碍同步的状态,然而通信库不能确认在中继门(例如,图1中的门2和门3)处的障碍同步的状态。在此,将考虑存在来自用户的停止作业的指令的情况。当存在停止作业的指令并且计算节点1至计算节点6已经完成了来自门1的同步数据的传送时,在计算节点1至计算节点6处的障碍同步完成。然而,当存在尚未结束传送同步数据的计算节点时,中继门中的一个等待接收来自该尚未结束传送同步数据的计算节点的同步数据,并且同步数据未到达终止门。此时,通信库不能确认在各个通信节点的中继门处的障碍同步的状态。因此,不能知道在哪个中继门处停止了障碍同步。因此,通信库不知道从哪个位置起重新启动作业的程序以便适当地执行障碍同步。因此,下面将针对在障碍同步的执行期间临时地停止作业并且稍后重新启动作业的情况,说明用于确定用于作业的程序的重新启动位置以使得在重新启动作业之后将适当地执行障碍同步的方法。图2示出了本实施例中的系统。本实施例中的系统包括计算节点1至计算节点N(N是等于或大于2的自然数)。图2所示的系统是不共享存储器的单程序多数据(SPMD)并行计算机,并且图2所示的系统在采用障碍同步对计算节点进行同步的同时并行地执行作业。然而,该系统不限于SPMD并行计算机。计算节点1至计算节点N中的每个具有主板N0,在主板N0上安装有CPUN1和存储器N2。作为诸如局域网(LAN)卡的扩展卡的网络接口(在图2中简写为NI)N4和障碍接口(在图2中简写为BI)N3连接到主板N0。网络接口N4中的每个连接到网络交换机200,该网络交换机200例如为二层交换机。每个计算节点通过借助于网络接口N4接收和传送数据而与其他计算节点执行点对点通信。网络交换机200在计算节点的网络接口之间对通信数据进行中继。障碍接口N3中的每个借助于障碍网络100与其他障碍接口连接。计算节点1至计算节点N属于同一障碍分组,并且如图1所示,通过由每个计算节点接收和传送同步数据而继续障碍同步。用于执行障碍同步的通信是一对多通信,并且该本文档来自技高网
...
并行计算机及其控制方法

【技术保护点】
一种由并行计算机中所包括的多个节点中的第一节点执行的控制方法,所述控制方法包括:当检测到在所述多个节点中的每个中停止了用于作业的程序的执行时,从所述多个节点中的每个收集表示是否传送了用于执行障碍同步的同步数据的信息和表示所述障碍同步的完成状态的序列号码;以及基于在所述第一节点中用于所述作业的所述程序的停止位置、从所述多个节点中的每个所收集的所述信息和所述序列号码,对在所述第一节点中用于所述作业的所述程序的重新启动位置进行第一确定。

【技术特征摘要】
2012.11.27 JP 2012-2581861.一种由并行计算机中所包括的多个节点中的第一节点执行的控制方法,所述控制方法包括:当检测到在所述多个节点中的每个中停止了用于作业的程序的执行时,从所述多个节点中的每个收集表示是否传送了用于执行障碍同步的同步数据的信息和表示所述障碍同步的完成状态的序列号码;以及基于在所述第一节点中用于所述作业的所述程序的停止位置、从所述多个节点中的每个所收集的所述信息和所述序列号码,对在所述第一节点中用于所述作业的所述程序的重新启动位置进行第一确定。2.根据权利要求1所述的控制方法,其中,所述第一确定包括:基于从所述多个节点中的每个所收集的所述信息和所述序列号码,对所述并行计算机的状态是否达到所述障碍同步不再前进的状态进行第二确定;以及当确定所述并行计算机的所述状态达到所述障碍同步不再前进的所述状态时,对所述程序的所述重新启动位置进行第三确定。3.根据权利要求2所述的控制方法,其中,所述第二确定包括:确定所述多个节点中的至少一个是否尚未结束传送用于所述障碍同步的同步数据,并且确定在所述多个节点中的每个中已经完成了所述障碍同步还是在所述多个节点的任一个中尚未完成所述障碍同步。4.根据权利要求1所述的控制方法,其中,所述第一确定包括:当检测到所述第一节点已经结束了传送用于所述障碍同步的同步数据并且所述第一节点等待接收来自除了所述第一节点之外的节点的所述同步数据...

【专利技术属性】
技术研发人员:井原宣孝
申请(专利权)人:富士通株式会社
类型:发明
国别省市:日本,JP

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

1