信息处理系统的制作方法

文档序号:6568685阅读:351来源:国知局
专利名称:信息处理系统的制作方法
技术领域
本发明涉及通过进行了网络连接的多个计算机分担执行由多个任务(Job ) 构成的大规模运算处理的信息处理系统。
技术背景作为基于计算机的信息处理的高效率化技术之一,存在分散处理。分散处 理是以多个设备执行任务,并列地进行处理的技术。特别是作为以多个设备分担处理的技术,存在被称为多元系统和网格计算(Grid Computing)等技术。其中,多元系统是当设备出现故障等问题时,出于保护至此所处理的数据、 或继续进行提供中的服务的目的而使用的技术。因此,在多元系统中以多个设 备执行同一处理。另一方面,网格计算代表性地是以网络连接多个计算机和存储介质,虚拟 地用作大规模高性能的计算机的技术。例如,通过以多个计算机分担执行需要 大量计算的运算处理,可以实质上快速求得运算结果。然而,为了以多个计算机分担执行运算处理,需要向各设备分配任务的功 能。所述功能一般通过被称为负荷平衡器(load balancer)或负荷分散(load sharing)软件的工具来实现。接着,说明网格计算中的负荷平衡器的一般使用方法。图7是使用网格计 算技术而构建的现有信息处理系统的概略结构图。所述信息处理系统如图7 所示,具备客户机H0、主节点(master node) 120、四个节点130a、 130b、 130c、 130d。这些i殳备110、 120、 130a、 130b、 130c、 130d通过网络连接。 客户机110是大规模运算的请求源。例如客户机110向主节点120请求由1000个任务构成的大规模运算。在此,所谓"任务,,是一个运算的单位。例如是以 "z=x+y"的运算来求得"z"。并且,此时使代入x和y的变量为n组。即,在一个任务中,进行依存于所代入的变量的数量的数量的运算。因此,虽然任 务数为1000个,但总体的运算数达到其几十倍、几百倍的数量。在此,由客户机110向主节点120请求的大规模运算,被存储在规定的存 储装置中。该大规模运算的数据原本从与客户机110通过网络连接的其它计算 机发送、或者通过负责人使用客户机110的输入装置而输入。此时,存在大规 模运算的数据在已被分割为规定数量(例如1000个)任务的状态下被发送或 输入的情况、或者没有被分割为规定数量的任务的状态下被发送或输入的情况 等。在后一种情况下,客户机110根据规定的规则,将该发送或输入的大规模 运算的数据分割为规定数量的任务。以下,在本说明书中,只要不事先说明, 便对大规模运算的数据从最初被分割为1000个任务的状态下被发送或输入到客户机的案例进行说明。主节点120是实现负荷平衡器的功能的计算机,进行向各节点130a、130b、 130c、 130d分配任务的处理。关于该任务分配技术,提出了根据各节点的性 能和负荷状况等,以适当数量向该节点发送适当大小的任务的技术(例如参照 专利文献l、专利文献2)。另外,各节点130a、 130b、 130c、 103d是进行通 过主节点120分配的任务的运算处理的计算机。首先,客户机110,当接收到由1000个任务构成的大规模运算的数据时, 将该1000个任务发送至主节点120。接着,主节点120将该接收到的1000个 任务分配至各节点130a、 130b、 130c、 130d。各节点130a、 130b、 130c、 130d 进行从主节点120发送的任务的运算处理,在该处理结束后向主节点120报告 该任务已结束。当接收到所述报告时,若还存在未分配的未处理任务,则主节 点120将该任务发送至该节点。于是,主节点120通过重复进行向各节点发送 未处理的任务的处理、和接收表示任务已结束的报告的处理,使四个节点130a、 130b、 130c、 130d执行全部任务的运算处理。另夕卜,主节点120只限于实现将从客户机IIO请求的任务高效地分配至各 节点130a、 130b、 130c、 130d的功能,对于各节点130a、 130b、 130c、 130d 中的运算处理结果不实施任何数据处理。即,前提是各节点130a、 130b、 130c、 130d中的运算处理结果最终汇集到作为大规模运算的请求源的客户机110。因 此,例如当从各节点130a、 130b、 130c、 130d返回运算处理结果时,主节点 120需要将该运算处理结果发送至客户机110。专利文献1:日本专利申请公开平7 - 219907号公报专利文献2:日本专利申请公开2002 - 269062号公报 发明内容如上所述,主节点监视其管理下的各节点的处理状况.负荷状况,同时进行将任务逐个适当分配然后发送至各节点的任务分配处理。然而,当主节点管 理下的节点数增多时,存在当进行任务分配处理时,在主节点中即使仅监视各 节点的处理状况 负荷状况也会产生相当大负荷的问题。而且,主节点根据各 节点的处理状况'负荷状况来进行用于向适当节点分配适量任务的最适当化处 理,^f旦该最适当化处理也成为高负荷。另外,当从客户机向主节点请求的任务数增多时,在主节点中频繁地发生 将从各节点返回的运算处理数据发送至客户机的处理。因此,在主节点中有时 与运算处理结果的发送相对应的负荷提高,主节点进行的原本最重要的处理、 即任务分配处理的处理速度降低。而且,即使节点的数量不是特别多,由于请求的任务的数量增加,在主节 点中,进行任务的分配处理时选择适当任务的负荷增大,同时,额外地产生了 和维持与客户机的连接来监视来自客户机的处理结果的请求相对应的负荷。另 外,同样地,对于客户机而言,由于向主节点请求的任务数增加,监视任务处 理结果的负荷也增加。为了解决这些问题,理想的是例如实现具有可以进行主节点自身的负荷控 制的结构的信息处理系统。本发明是根据上述情况而提出的发明,目的在于提供一种信息处理系统, 其可以减轻主节点的过负荷,使主节点可以高效地进行作为其本来功能的向各 节点分配任务的处理。用于实现上述目的的第一形态的发明,其特征在于,在通过以网络连接请 求由多个任务构成的大规模运算的处理的客户机、执行各任务的处理的多个节 点、以及将从所述客户机请求的多个任务的处理分配给所述各节点的主节点而 构成的信息处理系统中,所述客户机将存储单元中存储的、构成所述大规模运 算的多个任务划分为若干块,以所述块为单位以所述主节点始终对规定数量以 下的任务进行分配处理的方式,向所述主节点请求任务的处理。第二形态的发明的特征在于,在第一形态的发明的信息处理系统中,所述客户机将构成所述大规模运算的多个任务中的规定数量的任务作为第1块,将其它任务分別作为第n块(n=2, 3, ..., N),并且,最初向所述主节点请求 作为所述第1块的规定数量的任务的处理,每当从所述主节点发送表示针对一 个任务处理已结束的通知时,向所述主节点请求尚未请求处理的所述块中的规 定的一个块的处理。第三形态的发明的特征在于,在第 一 或第二形态的发明的信息处理系统 中,所述客户机针对构成所述大规模运算的多个任务估计各任务的处理的负 荷,根据该估计而得的结果,按照从负荷较重的任务到负荷较轻的任务的顺序, 向所述主节点请求各任务的处理。用于实现上述目的的第四形态的发明的计算机可读取的记录介质,记录了 用于使计算机实现第一、第二或第三形态的发明中的任意一项所述的信息处理 系统的功能的程序。用于实现上述目的的第五形态的发明的程序,用于使计算机实现第一、第 二或第三形态的发明中任意 一 项所述的信息处理系统的功能。用于实现上述目的的第六形态的发明,是一种向负荷平tf器请求由多个任 务构成的大规模运算的处理的信息处理装置,其特征在于,具备分组处理单 元,将存储单元中存储的、构成所述大规模运算的多个任务,根据所述存储单 元中存储的分组规则信息而汇集为若干个任务组;以及管理单元,针对通过所 述分组处理单元生成的多个任务组,以向所述负荷平衡器请求处理的任务组的 数量始终在规定数量以下的方式,向所述负荷平衡器请求任务组的处理。第七形态的发明的特征在于,在第六形态的信息处理装置中,还具备负荷 估计单元,针对通过所述分组处理单元生成的多个任务组,根据所述存储单元 中存储的负荷估计规则信息来估计各任务组的处理的负荷,所述管理单元根据 通过所述负荷估计单元而取得的、针对各任务组的处理的负荷的估计结果,按 照从负荷较重的任务组到负荷较轻的任务组的顺序,向所述负荷平衡器请求各 任务组的处理。用于实现上述目的的第八形态的发明的程序,使计算机实现第六或第七形 态的发明中任意一项所述的信息处理装置的功能。在第一形态的发明中,客户机将构成大规模运算的多个任务划分为若干块,以块为单位以主节点始终对规定数量以下的任务进行分配处理的方式,向 主节点请求任务的处理。由此,客户机可以不像以往那样将全部任务的处理汇 集起来向主节点请求,而将多个任务划分为包含小规模任务的若干块,以块为 单位每次少量地向主节点请求。在此,在从1到上述规定数量的范围内适当地 决定各块中包含的任务数。另外,上述规定数量理想的是,即使当例如节点数 较多时,该主节点仍可以高效率地进行向各节点分配这些任务的处理的数量。 可以认为这种客户机具有控制主节点的负荷的功能。因此,主节点始终仅对上 述规定数量以下的任务进行向各节点的分配处理即可,因此可以防止主节点的 负荷增加。并且,如上所述可以减轻主节点的负荷,所以主节点不仅可以高效 地进行向各节点分配任务的处理,而且可以高效地进行与来自客户机的运算结 果监视请求相对应的处理。而且,对于客户机而言,由于向主节点请求的任务 数减少,因此运算结果监视的处理所对应的负荷减轻。在第二形态的发明中,客户机将构成大规模运算的多个任务中的规定数量的任务作为第l块,将其它任务分别作为第n块(n = 2, 3, N),并且最 初向主节点请求作为第1块的规定数量的任务的处理,每当从主节点发送表示 针对一个任务处理已结束的通知时,向主节点请求尚未请求处理的块中的规定 的一个块的处理。通过客户机如上所述地向主节点进行任务的请求,主节点可 以向各节点高效地分配各任务,因此可以防止在各节点中产生较长的处理等待 时间,可以提高各节点的处理效率。在第三形态的发明中,客户机针对构成大规模运算的多个任务,估计各任 务的处理的负荷,根据该估计而得的结果,按照从负荷较重的任务到负荷较轻 的任务的顺序,向主节点请求各任务的处理。由此,主节点可以将负荷最重的 任务的处理分配至处理能力最高的节点,在该节点最初执行,并且可以通过使 各节点的总体处理时间大体平均的方式进行任务的分配处理,因此可以缩短大规模运算总体的处理时间。在第六形态的发明中,分组处理单元,根据存储单元中存储的分组规则信 息,将存储单元中存储的、构成大规模运算的多个任务汇集为若干任务组。例 如1000个任务通过分组处理单元被汇集为600个任务组。管理单元,针对由 该分组处理单元生成的多个任务组,以向负荷平衡器请求的任务组的数量始终在规定数量以下的方式向负荷平衡器请求任务组的处理。例如,当将上述规定数量设定为300个时,向负荷平衡器始终请求最多300个的任务组的处理。由 此,负荷平衡器不需要始终管理IOOO个任务,仅对300个以下的任务组中包 含的任务数的任务进行向各节点的分配处理即可。因此可以防止负荷平衡器的 负荷增加。而且,由于如上所述可以减轻负荷平衡器的负荷,所以负荷平衡器 不仅可以高效地进行向各节点分配任务组的处理,而且可以高效地进行与来自 信息处理装置的运算结果监^L请求相对应的处理。而且,对于信息处理装置而 言,由于向负荷平衡器请求的任务数减少,因此也减轻运算结果监视处理所对 应的负荷。在第七形态的发明中,负荷估计单元,针对由分组处理单元生成的多个任 务组,根据存储单元中存储的负荷估计规则信息估计各任务组的处理的负荷。 并且,管理单元,根据由该负荷估计单元而得到的、针对各任务组的处理的负 荷的估计结果,按照从负荷较重的任务组到负荷较轻的任务组的顺序,向负荷 平衡器请求各任务组的处理。由此,负荷平衡器可以将负荷最重的任务组的处 理分配至处理能力最高的节点,在该节点最初执行,并且可以通过使各节点的 总体处理时间大体平均的方式进行任务组的分配处理,因此可以缩短大规模运 算总体的处理时间。


图1是本发明一个实施方式的信息处理系统的概略结构图。图2是本实施方式的信息处理系统中的客户机的概略结构框图。图3是用于说明构成大规3莫运算的任务的一例的图。图4是表示通it^户机的列表生成单元生成的列表的一例的图。图5是用于说明客户机通过第一请求方法进行的处理的步骤的流程图。图6是用于说明客户机通过第二请求方法进行的处理的步骤的流程图。图7是使用网格计算技术构建的现有信息处理系统的概略结构图。符号说明10客户机;11输入装置;12显示装置;13通信部;14存储部;15控 制部;15a分组处理单元;15b负荷估计单元;15c列表生成单元;15d管理 单元;20主节点;30a、 30b、 30c、 30d节点具体实施方式
以下,参照

用于实施本申请中的发明的最佳方式。图l是本发明 的一个实施方式的信息处理系统的概略结构图。本实施方式的信息处理系统,例如是通过多个计算机分担执行大规模运算时所使用的信息处理系统,如图l所示,具备客户机IO、主节点20以及四个 节点30a、 30b、 30c、 30d。使用个人计算机或工作站等作为客户机10、主节 点20、各节点30a、 30b、 30c、 30d。另外,客户机10、主节点20、各节点 30a、 30b、 30c、 30d通过网络相连。在此,作为网络而使用例如因特网或 LAN . WAN的公司内部网络等。此外,客户机IO相当于第六形态的发明中的 信息处理装置。客户机10接收大规模运算的数据,同时向主节点20请求所述大规模运算 的处理。大M4莫运算由多个任务构成。在此,所谓"任务,,是一个运算的单位。 该大规模运算的数据,通常从外部计算机等通过网络被发送至客户机10,但 也可以例如由客户机10的负责人自行输入。从外部计算机等发送或者由负责 人输入的大规才莫运算的数据,在由客户机IO取得时可以已经被分割为"任务" 这种单位,也可以尚未被分割为"任务"这种单位。客户机IO当取得被分割 为"任务"这种单位前的状态的大规模运算的数据时,通过客户机10具有的 任务分割功能,将该大规模运算的数据分割为规定数量的任务。在后面对该任 务分割功能的具体内容进行描述。另外,客户机IO针对构成大规模运算的多个任务,进行将互相具有依存 性的任务汇集为一个任务组的处理。在本实施方式中实际上以该任务组单位来 进行大规模运算的处理的请求。而且,客户机10进行监视已向主节点20请求 的任务组的处理结果的处理。具体而言,客户机IO每隔一定期间或者根据需 要在任意时刻对主节点20查询已向主节点20请求的任务组的处理是否结束。 另外,客户机IO在接收到全部任务组的处理结果时,进行将这些结果汇总的 处理。此外,具有这种功能的客户机10,例如可以通过在工作站中安装用于 实现该功能的软件来实现。另外,虽然客户机IO在接收到任务组的处理结果时进行将这些结果汇总 的处理,但这并不意味着客户机10—定进行某种信息处理。另外,有时客户机10不进行汇总任务组的处理结果的汇总处理,而由外部设备(machine)进 行汇总处理。即,例如针对1000个任务而得到1000个结果时,若将1000个 结果本身发送至外部设备,则客户机10不需要进行汇总处理。主节点20是实现负荷平衡器功能的计算机,进行将客户机IO请求的各任 务组的处理分配给四个节点30a、 30b、 30c、 30d的处理。在此,向各节点30a、 30b、 30c、 30d各分配例如一个任务组。在分配的处理本身中可以应用现有技 术中所说明的技术。当决定了将哪个任务组分配给哪个节点时,客户机10将 该任务组的内容、即该任务组中包含的任务的运算内容和该运算中所使用的变 量发送至分配了该任务组的节点。或者也可以将任务的运算内容以及该运算中 所使用的变量存储在规定的存储单元(未图示)中,客户机10将任务组的识 别信息、和表示该任务组中包含的任务的运算内容以及该运算中所使用的变量 的位置的信息一起,发送至分配了该任务组的节点。在这种情况下,各节点 30a、 30b、 30c、 30d访问上述存^f诸单元,取得分配给自己的任务组中包含的 任务的运算内容和该运算中所使用的变量。另夕卜,主节点20根据来自客户机10的查询,将例如表示各节点30a、 30b、 30c、 30d中的任务组的处理已结束的通知发送至客户机10。在此,主节点20 不仅在接收到来自客户机10的查询时、而且在从各节点30a、 30b、 30c、 30d 接收到表示任务组的处理已结束的报告时,也可以向客户机IO发送处理结束 的通知。而且,主节点20当从各节点30a、 30b、 30c、 30d取得任务组的处理 结果时,将该处理结果发送至客户机10。此外,具有这种功能的主节点20, 例如可以通过在工作站中安装用于实现该功能的软件来实现。各节点30a、 30b、 30c、 30d接收来自主节点20的指示,执行分配给自己 的任务组的处理。在来自主节点20的指示中包含任务组的处理内容或处理结 果的存储目的地(或发送目的地)等信息。在此,在本实施方式中,作为处理 结果的存储目的地(或发送目的地)而指定了主节点20。各节点30a、 30b、 30c、 30d,当任务组的运算处理结束时向主节点20报告该任务组的处理已结 束,并且向主节点20发送其处理结果。然后,各节点30a、 30b、 30c、 30d等 待发送来下一指示。如此,通过重复进行从主节点20向各节点30a、 30b、 30c、 30d的指示、从各节点30a、 30b、 30c、 30d向主节点20的报告,来执行大规模运算的处理。此时,主节点20通过其负荷平衡器功能还进行如下控制减 少从各节点30a、 30b、 30c、 30d报告任务组的处理结束开始直到收到下一指 示为止的等待时间。接着,对客户机10的结构进行详细说明。图2是本实施方式的信息处理 系统中的客户机10的概略结构框图。客户机10如图2所示,具备输入装置11、显示装置12、通信部13、存 储部14和控制部15。输入装置11例如是输入各种命令或者输入大规模运算 的数据的装置。作为该输入装置11而使用键盘或鼠标等。另外,显示装置12 例如是显示用于输入大规模运算的数据的输入画面、或者显示该大规模运算的 处理结果的装置。通信部13是向主节点20或其它设备(计算机或数据库等)发送信息、或 者从主节点20或其它设备接收信息的装置。具体而言,作为从其它设备发送 至客户机10的信息,存在例如大规模运算的数据等。另外,作为从客户机IO 发送至主节点20的信息,存在用于请求任务组的处理的处理命令、用于处理 结果监^L的查询等,作为从主节点20发送至客户机10的信息,存在各任务组 的处理结果等。存储部14是存储各种应用程序或各种数据等的装置。作为存储部14,可 以使用客户机10内的存储器或硬盘驱动器、外部存储装置等。例如,在该存 储部14中存储大规模运算的数据、分组规则信息、负荷估计规则信息、任 务组的列表、主节点20进行分配处理的任务组的上限数、各任务组的处理结 果等。在后面对分组规则信息、负荷估计规则信息、任务组的列表、主节点 20进行分配处理的任务组的上限数进行描述。在此,对大规模运算进行具体说明。假设此时从外部设备通过网络向客户 机10发送大规模运算的数据。客户机10的通信部13,当接收所述大规模运 算的数据时,将其存储在存储器14中。图3是用于说明构成大规模运算的任 务的一例的图。在此例中,该大规模运算由1000个任务构成。其中,任务"1" 是"z产x+y"的运算,其变量的组(x, y)例如有10组。任务"2"是"z=Zl xx卩,的运算。即,该任务"2"的变量是任务"1"的处理结果z,和变量x" 若变量x!取两个值,则变量的组(zpx,)有20组。另夕卜,任务"3,,是"z:x+y,+y2"的运算。该变量的组(x, yP y2)例如有20组。针对其它任务也指定了其运 算内容和变量。大规模运算由这种任务的集合构成。此外,在图3所示的大规 模运算的例子中, 一个任务中包含一个运算内容(运算式),但一般有时在一 个任务中包含多个运算内容。另外,虽图3所示的大*见才莫运算的例子中,各任 务所包含的运算内容(运算式)分别不同,但在构成大M^莫运算的多个任务中 也可以存在运算内容相同而仅仅变量不同的多个任务。另外,客户机10如上所述,有时在不将大规模运算的数据分割为"任务" 这种单位的状态下从外部设备对其进行接收。即,大规模运算的数据中包含的 全部运算内容和它们中所使用的变量的数据,有时不在例如图3所示被分割为 从任务"1"到任务"1000"共计IOOO个任务的状态下、而在其分割前的状态 下从外部设备被发送至客户机10。在这种情况下,客户机10利用该客户机10所具有的任务分割功能,将该发送的大规模运算的数据按每个运算进行分割, 通过将该分割后的各运算和其中所使用的变量进行组合,可以得到被分割为 "任务"这种单位的状态的大规模运算的数据。另外,大规模运算的数据有时不从外部设备直接发送至客户机10,而被存储在外部数据库中。在这种情况 下,客户机IO仅从外部设备预先接收外部数据库的位置信息、和成为大规模 运算的数据的分割判断基准的数据。并且,客户机10利用任务分割功能,访问该外部数据库,根据分割的判断基准将该大规模运算的数据分割为多个任 务,由此可以取得被分割为"任务"单位的状态的大规模运算的数据。控制部15总体控制客户机10的各部。该控制部15如图2所示,具有分 组处理单元15a、负荷估计单元15b、列表生成单元15c和管理单元15d。分组处理单元15a,针对构成大规模运算的多个任务,进行将互相具有依 存性的任务汇集为一个任务组的分组处理。若在某任务和某任务之间有关联性 或者有依存关系时,则有时不适合单独地处理这些任务。例如,如图3所示, 当使用任务'T,的处理结果来进行任务"2"的运算时,在向主节点20请求 任务"1"的处理之前请求了任务"2"的处理,因此不可能执行任务"2"的 处理。因此,分组处理单元15a读出在存储部14中存储的分组规则信息,按 照该读出的分组规则信息,进行将构成大规模运算的多个任务汇集为若干个任 务组的分组处理。所述分组规则信息按作为运算对象的每个大规模运算而预先存储在存储部14中。另外,还有时分组规则信息和大规才莫运算的数据一起从 外部设备发送,此时存储在存储部14中。例如,在用于计算物体轨道的大规 模运算所对应的分组规则信息中,可以确定将运算对象在物体的科学性质或物 理性质方面相同的任务汇集为一个组的身见则;在工厂等中用于制定产品的生产 计划的大规模运算所对应的分组规则信息中,可以确定将运算对象在产品的品 种或大小方面相同的任务汇集为一个组的规则。另夕卜,在图3所示的大规模运 算所对应的分组规则信息中,可以确定将存在变量的利用关系的任务彼此汇集 为一个组的MJ'j。当应用该规则信息时,在图3的例子中,分组处理单元15a 针对各任务来分析变量的利用关系,将任务"1"和任务"2"汇集为一个任务 组。而且,在分组规则信息中设定可以包含在一个任务组中的任务的上限数, 可以确定在不超过该上限数的范围内将多个任务汇集为一个组的规则。另外, 也可以确定将多个上述规则进行组合而得的规则。例如,在工厂等中用于制定 产品的生产计划的大规模运算所对应的分组规则信息中,可以确定将运算对象 在产品的品种或大小方面相同的任务汇集为一个组,并且使各组中不包含超过 规定上限数的任务的规则。在本实施方式中,具体而言,分组处理单元15a针 对图3所示的1000个任务进行分组处理,如图1所示,得到600个任务组。负荷估计单元15b,针对通过分组处理单元15a而得的各任务组,按照存 储部14中存储的负荷的估计规则信息来估计其处理的负荷。例如,在负荷估 计规则信息中决定了 应该根据有关构成该任务组的各任务的变量的组的数量 和来估计各任务组的处理负荷。该变量的组的数量和是进行该任务组的运算时 进行其中包含的任务运算的次数。因此,若各任务的运算内容大体为相同程度, 则可以认为变量的组的数量和越多、该任务组的处理的负荷越大。此外,若各 任务的运算内容有较大差异,则负荷也与之对应地变化。在这种情况下,为了 准确地估计负荷,可以变更负荷估计规则信息的内容,使其不仅考虑变量的组 的数量,还考虑任务内容。为了进行这种还考虑了任务的内容的负荷估计,例 如需要从外部提供表示任务的运算内容程度的参数,或者需要将上次使用的参 数存储在存储部14中、再次读出来进行利用。此外,若负荷估计单元15b的估计结果为存在负荷非常高的任务组时,负 荷估计单元15b可以将该任务组返回分组处理单元15a,使分组处理单元15a进行将该任务组进一步分割为小规模的处理。在这种情况下,在分组规则信息 中需要包含用于判断是否将任务组进一步分割为小规j莫的负荷阔值信息、和用 于进行该进一步分割的规则。特别是由于不能将互相具有依存关系的任务分别 分在不同组中,因此也需要在该分组规则信息中包含关于这种无法分割的任务
的规则。 一般地,包含在分组规则信息中的规则,可以通过if-then规则或范 围指定规则等多种形式的规则来定义。
列表生成单元15c,根据通过负荷估计单元15b估计出的各任务组的处理 的负荷,生成按照其负荷从重到轻的顺序将多个任务组分类而得的任务组的列 表、并存储在存储部14中。图4中表示由列表生成单元15c生成的列表的一 例。在该列表中设有任务组ID栏和对象任务栏。在任务组ID栏中记载赋予该 任务組的ID号码(识别信息),在对象任务栏中记载构成该任务组的任务的号 码。图4的列表是针对根据图3所示的1000个任务而得到的600个任务组的 列表。在该列表的最上部记载了负荷最重的任务组,越向下记录负荷越轻的任 务组。在此例中,仅由任务"1000"构成的ID号码"001"的任务组的负荷最 重,其次,由任务"5"、任务"6"以及任务"7"构成的ID号码"002"的任 务组的负荷第二重。如此,在图4的例子中,列表生成单元15c按照从负荷重 的任务组开始的顺序对600个任务组赋予了 ID号码。因此,任务组的ID号码 不仅起到识别任务组的作用,还起到了表示负荷轻重的顺序的作用。另外,在 该列表中,针对各任务组设有已请求栏和已接收栏。已请求栏是用于标注表示 已向主节点20请求了该任务的处理的已请求标志的栏,已接收栏是用于标注 表示已接收到表示该任务组的处理已结束的通知的已接收标志的栏。具体而 言,在本实施方式中,在已请求栏和已接收栏中分别在该处理不是"已完成" 状态时标注标志"0",而在该处理是"已完成"状态时标注标志'T,。此外, 通过管理单元15d管理所述已请求标志和已接收标志。
管理单元15d向主节点20请求构成大规模运算的各任务组的处理。具体 而言,管理单元15d将构成大规模运算的多个任务组划分为若干个块,以该块 为单位以主节点20始终对规定数量以下的任务组进行分配处理的方式,向主 节点20请求任务组的处理。在此,适宜在从1到上述固定数量的范围内决定 各块中包含的任务组的数量。即,若将上述规定数量(主节点20进行分配处理的任务组的上限数)设为M,则在一个块中包含m个任务组。在此,m是 1以上M以下的自然数。另外,主节点20进行分配处理的任务组的上限数M 理想的是,例如即使节点数较多时主节点20也可以高效地将这些任务组向各 节点进行分配处理的数。即,根据主节点20的处理能力来决定该主节点20 进行分配处理的任务组的上限数M。例如,在本实施方式中,将主节点20进 行分配处理的任务组的上限数M决定为300。在此,将该主节点20进行分配 处理的任务组的上限数M存储在存储部14中。
另外,理想的是管理单元15d根据图4所示的内容,按照从负荷较重的任 务组到负荷较轻的任务组的顺序向主节点20请求各任务组的处理。如果在最 后向主节点20请求负荷最重的任务组的处理,则在某一节点花费较长时间处 理该任务组,针对大规模运算总体的处理时间变得很长。通过按照从负荷较重 的任务组开始的顺序向主节点20请求其处理,主节点20将负荷最重的任务组 的处理分配给处理能力最高的节点,可以最初在该节点执行,并且可以通过使 各节点的总体处理时间大体平均的方式进行任务组的分配处理,因此可以缩短 该大规模运算总体的处理时间。
另外,作为管理单元15d对主节点20进行的任务组的请求方法,考虑各 种方法。在本实施方式中,代表性地说明以下表示的两种请求方法。
在第一请求方法中,如图4所示,在构成大规模运算的600个任务组中, 将图4的列表上从最上方开始到第300个为止记载的300个任务组作为第1 块,将其它任务组按照从图4的列表上从上方开始的顺序,分别作为第n块(n =2、 3、…、N)。在此,N=301。即,将从ID号码"001"到ID号码"300" 的300个任务组作为第l块,将ID号码"301"的任务组作为第2块,将ID 号码"302"的任务组作为第3块,...,将ID号码"600"的任务组作为第301 块。然后,管理单元15d最初向主节点20请求作为第l块的300个任务组的 处理,每当从主节点20发送表示针对一个任务组的处理已结束的通知时,向 主节点20请求尚未请求处理的块中的规定的一个块的处理。在此,针对规定 的一个块的处理的请求,除去此刻已经请求的块,针对在图4的列表上最上方 记载的块而进行。例如,当前时刻已向主节点20请求了从第1块到第IOO块 的共计100个块时,当发送了表示针对一个任务组的处理已结束的通知时,管理单元15d向主节点20请求第101块的处理。
另外,在第二请求方法中,在构成大规模运算的600个任务组中,将图4 的列表上从最上方开始到第300个记载的300个任务组作为第1块,将该列表 上从第301到第600个所记载的300个任务组作为第2块。然后,管理单元 15d最初向主节点20请求作为第1块的300个任务组的处理,在该请求的所 有任务组的处理结束之后,向主节点20请求作为第2块的300个任务组的处 理。
当使用第一请求方法时,主节点20可以将各任务组高效地分配给各节点 30a、 30b、 30c、 30d,因此可以防止在各节点30a、 30b、 30c、 30d中产生较 长的处理等待时间,可以提高各节点30a、 30b、 30c、 30d的处理效率。另一 方面,当使用第二请求方法时,也同样可以提高各节点30a、 30b、 30c、 30d 的处理效率。但在第二请求方法中,从第1块的处理结束直到第2块的处理实 际开始为止,在各节点30a、 30b、 30c、 30d中可能产生若干处理等待时间, 因此若考虑到这一点,则第一请求方法与第二请求方法相比,各节点的处理效 率更优秀。
于是,在本实施方式中,管理单元15d将构成大规^莫运算的600个任务组 划分为若干块,以该块为单位以主节点20始终对300个以下的任务组进行分 配处理的方式,向主节点20请求任务组的处理。因此,若虚拟地来看,则主 节点20与以往相比针对最多300个的比较小身见模的任务组进行向节点的分配 处理,因此可以防止主节点20的负荷增加。即在本实施方式中,客户机IO(管 理单元15d)实现主节点20的负荷控制功能,由此,主节点20以及客户机10 整体从高负荷状态中解放出来。
另夕卜,管理单元15d利用由列表生成单元15c生成的列表来管理各任务组 的处理的请求状况。即管理单元15d当向主节点20请求任务组的处理时,在 图4的列表中,在该请求了的任务组所对应的已请求栏中标注已请求标志'T,。 另外,管理单元15d每隔一定期间或者根据需要在任意时刻,对主节点20查 询该请求了的任务组的处理是否结束,而当从主节点20发送表示该任务组的 处理已结束的通知时,在图4的列表中,在接收到该通知的任务组所对应的已 接收栏中标注已接收标志"1"。因此,管理单元15d通过判断在列表上是否针对各任务组标注了已请求标志"1",可以识别是否向主节点20请求了该任务 组的处理,并且通过判断在列表上是否针对各任务组标注了已接收标志"1", 可以识别该任务组的处理是否已结束。
接着,说明在本实施方式的信息处理系统中处理大规模运算的步骤。
最初,说明在客户机10通过第一请求方法进行处理时,在本实施方式的 信息处理系统中处理大规模运算的步骤。图5是用于说明客户机10通过第一 请求方法进行的处理的步骤的流程图。
首先,例如通过网络向客户机10发送大规模运算的数据。在此,所述大 规模运算由图3所示那样的1000个任务构成。客户机10当接收到所述大规模 运算的数据时,针对构成该大规模运算的1000个任务进行将互相具有依存性 的任务汇集为一个任务组的分组处理(S11 )。在此,客户机10通过进行分组 处理,如图1所示得到了 600个任务组。
接着,客户机IO针对各任务组估计其处理的负荷(S12)。例如根据与构 成该任务组的各任务相关的变量的组的数量和,进行所述负荷的估计。在这种 情况下,客户机10判定为变量的组的数量和越多,该任务组的负荷越大。
接着,客户机10根据在步骤S12中得到的各任务组的处理的负荷,生成 按照其负荷从重到轻的顺序对600个任务组分类而得的任务组的列表(S13 )。 在此,生成图4所示的列表。
接着,客户机10将600个任务组划分为301个块。具体而言,将图4的 列表上从最上方开始到第300个记载的ID号码从"001"到ID号码"300"为 止的300个任务组作为第1块,将其它任务组分别按照图4的列表上从上开始
的顺序作为第2块、第3块.....第301块。在此,在第1块中包含300个任
务组,在第11块(11=2, 3,…,301)中仅包含l个任务组。于是得到共计301 个块。然后,客户机10最初向主节点20请求作为第l块的300个任务組的处 理(S14)。然后,客户机10当向主节点20请求任务组的处理时,在列表上在 该已请求的任务组所对应的已请求栏中标注已请求标志'T,。
当如此从主机10请求300个任务组的处理时,主节点20将这些任务组的 处理分配给各节点30a、 30b、 30c、 30d。各节点30a、 30b、 30c、 30d执行分 配给自己的任务组的处理。各节点30a、 30b、 30c、 30d,当该任务组的处理结束时将表示该情况的报告和处理结果一起发送至主节点20。
另一方面,客户机IO当向主节点20请求了任务组的处理时,每隔一定期 间或者根据需要在任意时刻对主节点20查询该已请求的任务组的处理是否已 结束。主节点20当接收到该查询时,若存在处理已结束的任务组,则将表示 该任务组的处理已结束的通知以及其处理结果发送至客户机10。然后,客户 机10当接收到表示该任务组的处理已结束的通知时,在列表上该任务组所对 应的已接收栏中标注已接收标志"1" (S15)。
在步骤S15的处理后,客户机10判断是否存在在列表上未标注已请求标 志'T,的任务组(S16)。若还存在未标注已请求标志"1"的任务组,则客户 机10除当前时刻正请求的任务组以外,向主节点20请求在图4的列表上最上 方记载的任务组的处理(S17)。另外,客户机IO在列表上该已请求的任务组 所对应的已请求栏中标注已请求标志"1"。然后转移至步骤S15。只要步骤 S16中客户机IO判断为存在未标注已请求标志"1"的任务组,则重复进行步 骤S15、 S16以及S17的处理。在此,只要存在未标注已请求标志"1"的任 务组,则向主节点20请求了处理的任务组的数量始终为300个。即只要存在 未标注已请求标志"1"的任务组,则主节点20始终对300个任务组进行向各 节点30a、 30b、 30c、 30d的分配处理。
当所述步骤S15、 S16以及S17的处理重复进行了 300次后,当客户机IO 接收到表示某任务组的处理已结束的通知时(S15),客户机10判断为在列表 上不存在未标注已请求标志'T,的任务组(S16)。即,在该时刻已向主节点 20请求了全部600个任务组的处理。接着,客户机IO判断是否存在在列表上 未标注已接收标志"1"的任务组(S18)。若还存在未标注已接收标志"1"的 任务组,则转移至步骤S19。在该步骤S19中,当客户机IO接收到表示某任 务组的处理已结束的通知时,在列表上该任务组所对应的已接收栏中标注已接 收标志"1"。然后转移至步骤S18。只要在步骤S18中客户机10判断为存在 未标注已接收标志"1"的任务组,则重复进行步骤S18和S19的处理。此时, 每当进行一次步骤S19的处理,向主节点20请求处理的任务组的数量就减少 一个。从而,在列表上对全部任务组标注了已请求标志"1"之后,主节点20 始终对300个以下的任务组进行向各节点30a、 30b、 30c、 30d的分配处理。在重复进行300次步骤S18和步骤S19的处理后,客户机10判断为在列 表上不存在未标注已接收标志"1"的任务组(S18)。于是,客户机10识别出 大规模运算的处理已结束,进行处理结果的汇总(S20)。以上,图5所示的客 户机10的处理流程结束。
才妄着,说明当客户机10通过第二请求方法进行处理时,在本实施方式的 信息处理系统中处理大规模运算的步骤。图6是用于说明客户机IO通过第二 请求方法进行的处理的步骤的流程图。
图6的处理流程中的步骤S51、步骤S52、步骤S53的各处理的内容,分 别与图5的处理流程中的步骤Sll、步骤S12、步骤S13的各处理的内容相同。 因此省略其说明。
在步骤S53的处理后,客户机10将600个任务组划分为两个块(S54)。 具体而言,将图4的列表上从最上方开始到第300个所记载的300个任务组作 为第1块,将该列表上从第301个开始到第600个所记载的300个任务组作为 第2块。
接着,客户机10向主节点20请求一个块的处理(S55)。在此,向主节点 请求的块的顺序为最初是第l块,然后是第2块。从而,在这种情况下首先 向主节点20请求作为第1块的300个任务组的处理。另外,客户机10当向主 节点20请求了任务组的处理时,在列表上在该已请求的任务组所对应的已请 求栏中标注已请求标志"1"。
然后,客户机10每隔一定期间或者根据需要在任意时刻,对主节点20查 询该已请求的任务组的处理是否已结束。然后,客户机10当针对该查询从主 节点20接收到表示某任务组的处理已结束的通知时,在列表上该任务组所对 应的已接收栏中标注已接收标记"1" (S56)。
接着,客户机10判断在列表上标注了已请求标志"1"的任务组中,是否 存在未标注已接收标志'T,的任务组(S57)。若还存在未标注已接收标志"1" 的任务组,则转移至步骤S56。只要判断为此次请求的300个任务组的处理未 全部结束,就重复进行步骤S56以及步骤S57的处理。
在所述步骤S56以及步骤S57的处理重复进行299次后,当客户机10接 收到表示任务组的处理已结束的通知时(S56),客户机IO针对列表上标注了已请求标志"1"的全部任务组判断为标注了已接收标志T (S57)。即,此 时作为第1块的300个任务组的处理已全部结束。接着,客户机10根据列表 上的已请求标志"1",判断是否存在尚未向主节点20请求处理的块(S58)。 在这种情况下,针对第2块中包含的任务组,由于尚未向主节点20请求处理、 未标注已请求标志"1",因此该步骤S58的判断为肯定性判断。若步骤S58 的判断为肯定性判断,则转移至步骤S55。在该步骤S55中,向主节点20请 求作为第2块的300个任务组的处理。于是,当作为第2块的300个任务组的处理全部结束(S57)、不存在未向 主节点20请求处理的块时(S58 ),客户机10识别出大规模运算的处理已结束, 进行处理结果的汇总(S59)。以上,图6所示的客户机IO的处理流程结束。在本实施方式的信息处理系统中,客户机将构成大规模运算的多个任务汇 集为若干任务组后,将这些任务组进一步划分为块,并且以块为单位以主节点 始终对规定数量以下的任务组进行分配处理的方式,向主节点请求任务组的处 理。由此,客户机可以不像以往那样将全部任务的处理一起向主节点请求,而 是以块为单位每次少量地向主节点请求多个任务组的处理。可以认为这种客户 机具有控制主节点负荷的功能。因此,主节点始终进行仅将上述规定数量的任务组中包含的任务数的任务向各节点分配的处理即可,因此可以防止主节点的 负荷增加。而且,由于可以这样减轻主节点的负荷,因此主节点不仅可以高效 地进行向各节点分配任务组的处理,而且也可以高效地进行与来自客户机的运 算结果监视请求相对应的处理。而且,对于客户机而言,由于减少向主节点请 求的任务数,因此减轻运算结果监视处理所对应的负荷。此外,本发明不限于上述实施方式,在其主旨范围内可以进行各种变形。 在上述实施方式中说明了在从主节点向各节点的指示中作为处理结果的 存储目的地而指定了主节点,各节点将任务组的处理结果发送至主节点,主节 点将该处理结果发送至客户机的情况,但例如也可以在从主节点向各节点的指 示中作为处理结果的存储目的地而指定规定的数据库。在这种情况下,各节点 当结束任务组的运算处理时,向主节点报告该任务组的处理已结束,并且将其 处理结果存储在该指定的数据库中。然后,客户机当从主节点取得任务组的处 理结束的通知时访问该数据库,取得该任务组的处理结果。估计而得的结果,按照从负荷较重的任务组到负荷较轻的任务组的顺序向主节 点请求各任务组的处理的情况,但客户机不需要一定估计任务组的处理负荷、 按照从其负荷较重的任务组开始的顺序向主节点请求各任务组。即,客户机可 以按照任意顺序向主节点请求各任务组。而且,在上述实施方式中说明了客户机进行将互相具有依存性的某任务汇 集为一个组的分组处理的情况,但若例如使用互相没有依存性的任务,则客户 机不需要一定进行任务的分组处理。另外,作为运算的基本单位,也可以将不 依存于其它运算结果的运算定义为"任务"。在这些情况下,当然可以将任务 和任务组视为相同。此外,当使用互相没有依存性的任务时,作为分组规则信 息而使用关于一个任务组中可以包含的任务的上限数的信息,分组处理单元可 以根据关于该上限数的信息,将多个任务划分为若千任务组。另外,在上述实施方式中说明了从一个客户机向 一个主节点进行任务(或 任务组)的请求的情况,但也考虑了例如从多个客户机向一个主节点同时进行 任务(或任务组)的请求的情况。在这种情况下理想的是,使多个客户机除了 以块为单位进行任务(或任务组)的请求的本发明的特征功能以外,还具有在 这些客户机之间取得协作的功能。由此,各客户机可以互相取得协作来进行调整,以使向主节点请求的任务(或任务组)的合计数始终在规定数以下。作为实现这种协作功能的方法,可以使用如下方法各客户机互相进行通信,相互 通知关于当前向主节点请求的任务(或任务组)的数量的信息。另外,作为其 它方法,可以使用如下方法在主节点、或客户机和主节点以外的其它设备上 设有管理当前向主节点请求的任务(或任务组)的数量的任务数管理单元。具 体而言,该任务数管理单元具有关于主节点可以接受请求的任务(或任务组) 的上限数的信息。各客户机,当向主节点请求任务(或任务组)的处理时,对 任务数管理单元发送关于该请求的任务(或任务组)的数量的信息。任务数管 理单元,当从各客户机发送了关于任务(或任务组)的数量的信息时,若接受 了所述任务(或任务组)的请求,则判断向主节点请求的任务(或任务组)的 合计数是否超过上述上限数。并且,任务数管理单元当判断为该合计数未超过 上述上限数时,向该客户机发送表示允许任务(或任务组)的请求的指示,另一方面,当判断为该合计数超过上述上限数时,对该客户机发送表示应该待机 或者中止任务(或任务组)的请求的命令。因此,在从多个客户机向一个主节 点进行任务的请求时,也可以减轻主节点的处理负荷。另外,当相反地从一个客户机向多个主节点进行任务(或任务组)的请求 时,也可以应用本发明。这种任务(或任务组)的请求形态适用于从客户机请 求的任务(或任务组)的数量很大的情况、或者任务(或任务组)的负荷非常 高的情况。这种情况的处理步骤与上述实施方式大体相同。但是也存在多个主 节点的负荷平衡器功能由分别不同供应商的产品构成等无法取得统一的情况。在这种情况下,可以认为关于如下处理也需要进行调整从客户机向主节点的 任务(或任务组)的交接处理、对在节点的任务处理结果进行汇总的处理等。 例如,不在客户机、主节点、节点间直接收发任务的运算内容或变量、节点的 任务的处理结果等,而经由共同的外部数据库在它们之间进行交接,最终由客 户机进行从外部数据库收集该处理结果然后汇总的处理即可。此外,根据上述 可知,在从多个客户机向多个主节点进行任务(或任务组)的请求时也可以应 用本发明。而且,在上述实施方式中说明了客户机将构成大规模运算的多个任务(或 任务组)划分为若干块,以块为单位以主节点始终对规定数量以下的任务(或 任务组)进行分配处理的方式,向主节点请求任务(或任务组)的处理的情况,向主节点请求,主节点将该请求的多个任务(或任务组)划分为若干块,以该 块为单位进行任务(或任务组)的分配处理。即也可以不在客户机中而在主节 点中设置本发明的特征功能。由此,即使例如从客户机请求了 1000个任务, 主节点也可以将向各节点的分配处理的对象始终限制为规定数量(例如300 ) 以下的任务,因此可以充分减轻主节点的处理的负荷。即,在现有的信息处理 系统中,例如向主节点请求了 1000个任务的处理时,主节点必须将1000个任 务全部作为负荷平衡器功能的对象而始终管理,但在本发明的信息处理系统 中,可以将主节点必须始终管理的任务抑制到例如300个。但在这种情况下, 客户机与以下降。然而,作为信息处理系统整体可以减轻处理负荷。此外,在上述实施方式中说明了分别通过工作站等实现客户机和主节点的 情况,但也可以例如通过一个工作站等实现客户机和主节点。即,可以在一个 工作站中安装用于实现客户机以及主节点功能的软件,而且该工作站也可以兼 有节点的功能。此外,在上述实施方式中说明了某工作站固定地作为客户机或 主节点的情况、或某工作站兼有客户机以及主节点功能的情况,但本发明不限 于此。即,若在多个工作站中安装了用于作为客户机、主节点以及节点的各功 能而工作的软件,则这些各工作站也可以实现有时作为客户机而工作、有时作 为主节点或节点而工作这样流动的运用。本发明的目的当然也可以如下来实现将实现上述实施方式的装置的功能 的软件的程序代码(包含执行形式),通过记录其全体或一部分的记录介质提 供给本实施方式的装置,该装置的计算机(或CPU、 MPU)读出存储在记录 介质中的程序代码,执行动作的全部或一部分。在这种情况下,从记录介质读 出的程序代码本身实现本实施方式的功能,记录该程序代码的记录介质构成本 发明。作为用于提供程序代码的记录介质可以使用ROM、软盘(floppy disc)(注 册商标)、硬盘、光盘、光磁盘、CD-ROM、 CD-R、 DVD-ROM、磁带、非易 失性存储卡等。而且可以通过经由通信线路下载来提供程序代码,也可以利用 JAVA (注册商标)等技术^t是供程序代码来执行。另外,本发明当然还包含如下情况不仅通过执行计算机所读出的程序代 码来实现本实施方式的功能,而且根据该程序代码的指示由计算机上运行的 OS等进行一部分实际处理或全部实际处理,通过该处理来实现本实施方式的 功能。而且,本发明当然还包含如下情况将从记录介质读出的程序代码写入插 入计算机的功能扩展板或计算机所连接的功能扩展单元所具备的存储器后,根据该程序代码的指示,由该功能扩展板或功能扩展单元所具备的CPU等进行 一部分实际处理或全部实际处理,通过该处理实现本实施方式的功能。此外,本发明也可以是程序产品(program product),该程序产品包含用于使计算机实现上述实施方式的装置功能的程序。在此,所谓程序产品不仅是计算机程序,还包含记录了程序的记录介质或计算机。 产业上的可利用性如上所述,本发明的信息处理系统中,客户机将构成大规模运算的多个任 务划分为若干块,以块为单位以主节点始终对规定数量以下的任务进行分配处 理的方式,向主节点请求任务的处理。由此,客户机可以不像以往那样将全部 任务的处理汇集起来向主节点请求,而将多个任务划分为包含小规模任务的若 干块,以该块为单位每次少量地向主节点请求。可以认为这种客户机具有控制 主节点的负荷的功能。因此,主节点始终仅对上述规定数量以下的任务进行向 各节点的分配处理即可,因此可以防止主节点的负荷增加。而且,由于如上所 述可以减轻主节点的负荷,因此主节点不仅可以高效地进行向各节点分配任务 的处理,还可以高效地进行与来自客户机的运算结果监视请求相对应的处理。 而且,对于客户机而言,向主节点请求的任务的数量减少,因此减轻运算结果 监视处理所对应的负荷。因此,本发明可以应用于通过网络连接的多个计算机 分担执行由多个任务构成的大规模运算的处理的信息处理系统。
权利要求
1.一种信息处理系统,通过以网络连接请求由多个任务构成的大规模运算的处理的客户机、执行各任务的处理的多个节点、以及将从所述客户机请求的多个任务的处理分配给所述各节点的主节点而构成,其特征在于,所述客户机将存储单元中存储的、构成所述大规模运算的多个任务划分为若干块,以所述块为单位以所述主节点始终对规定数量以下的任务进行分配处理的方式,向所述主节点请求任务的处理。
2. 根据权利要求1所述的信息处理系统,其特征在于,所述客户机,将构成所述大规模运算的多个任务中规定数量的任务作为第 l块,将其它任务分别作为第n块(n=2, 3, N),并且,最初向所述主节 点请求作为所述第1块的规定数量的任务的处理,每当从所述主节点发送表示 针对一个任务处理已结束的通知时,向所述主节点请求尚未请求处理的所述块 中的规定的一个块的处理。
3. 根据权利要求1或2所述的信息处理系统,其特征在于, 所述客户机,针对构成所述大规模运算的多个任务,估计各任务的处理的负荷,根据该估计而得的结果,按照从负荷较重的任务到负荷较轻的任务的顺 序,向所述主节点请求各任务的处理。
4. 一种计算机可读取的记录介质,其记录了用于使计算机实现权利要求 1、 2或3中任意一项所述的信息处理系统的功能的程序。
5. —种程序,使计算机实现权利要求l、 2或3中任意一项所述的信息处 理系统的功能。
6. —种信息处理装置,向负荷平衡器请求由多个任务构成的大规模运算 的处理,其特征在于,具备分组处理单元,将存储单元中存储的、构成所述大规模运算的多个任务, 根据所述存储单元中存储的分组规则信息而汇集为若干个任务组;以及管理单元,针对通过所述分组处理单元生成的多个任务组,以向所述负荷 平衡器请求处理的任务组的数量始终在规定数量以下的方式,向所述负荷平衡器请求任务组的处理。
7. 根据权利要求6所述的信息处理装置,其特征在于, 还具备负荷估计单元,针对通过所述分组处理单元生成的多个任务组,根据所述存储单元中存储的负荷估计规则信息来估计各任务组的处理的负荷,所述管理单元,根据通过所述负荷估计单元而取得的、对各任务组的处理 的负荷的估计结果,按照从负荷较重的任务组到负荷较轻的任务组的顺序,向 所述负荷平衡器请求各任务组的处理。
8. —种程序,使计算机实现权利要求6或7中任意一项所述的信息处理 装置的功能。
全文摘要
提供一种信息处理系统,其可以减轻主节点的过负荷,使主节点可以高效地进行向各节点分配任务的处理。客户机(10)将构成大规模运算的多个任务划分为若干块,以块为单位以主节点(20)始终对规定数量以下的任务进行分配处理的方式,向主节点(20)请求任务的处理。在此,上述规定数量理想的是使主节点(20)例如即使在节点数较多时也可以高效地进行向各节点分配这些任务的处理的数量。这样,客户机(10)具有控制主节点(20)的负荷的功能,因此可以防止主节点(20)的负荷增加。
文档编号G06F9/46GK101248419SQ20068003081
公开日2008年8月20日 申请日期2006年8月17日 优先权日2005年8月22日
发明者天社诚, 河野伸二郎, 白石胜美 申请人:新日铁系统集成株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1