CN101031886A - 网络系统、管理计算机、集群管理方法以及计算机程序 - Google Patents

网络系统、管理计算机、集群管理方法以及计算机程序 Download PDF

Info

Publication number
CN101031886A
CN101031886A CNA2005800330053A CN200580033005A CN101031886A CN 101031886 A CN101031886 A CN 101031886A CN A2005800330053 A CNA2005800330053 A CN A2005800330053A CN 200580033005 A CN200580033005 A CN 200580033005A CN 101031886 A CN101031886 A CN 101031886A
Authority
CN
China
Prior art keywords
cluster
computing machine
information
candidate
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.)
Granted
Application number
CNA2005800330053A
Other languages
English (en)
Other versions
CN100465901C (zh
Inventor
和田信也
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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
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 Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Publication of CN101031886A publication Critical patent/CN101031886A/zh
Application granted granted Critical
Publication of CN100465901C publication Critical patent/CN100465901C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/505Clust

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

提供了能够有效地执行所提交的任务的处理的网络系统,所述任务的大小、类型和数量预计随时变化。管理计算机(106)管理表示受其控制的计算机(108)是否可以连接到另一个计算机的连接允许/禁止信息以及表示与另一个计算机连接的容易度的容易度信息。管理计算机(106)搜索计算机,该计算机的由本地和另一个管理计算机管理的最新连接允许/禁止信息表示连接允许状态,并且基于有关指定计算机的容易度信息,形成包含指定计算机的集群。管理计算机(106)把集群的计算机(108)上的连接允许/禁止信息更新到连接禁止状态,并且当完成任务执行时,把属于集群的所有计算机(108)的连接允许/禁止信息返回到集群形成之前的状态。

Description

网络系统、管理计算机、集群管理方法以及计算机程序
技术领域
本发明涉及在宽带环境下由连接到计算机网络的多个计算机执行的高效分布式计算技术。
更具体地,本发明涉及一种能够进行分布式计算的网络系统,其结构单元,以及在网络中使用的集群管理方法。
背景技术
现今,通常执行分布式处理,其中多个连接到网络的计算机共同以分布式方式处理一个任务。任务的分布式处理通常需要服务器的存在,该服务器预选了解可连接到网络的所有计算机的处理能力以确定给计算机的任务分配。
服务器在开始分布式处理时指定连接到网络的每个计算机的任务负载量以及额外处理能力(计算资源),接连分配具有对应于负载的额外处理能力的计算机,以及从所分配的计算机接收任务的执行结果。
对于需要服务器的传统分布式处理方法,非常难于在服务器处很快了解在任意时间点连接到网络或从网络断开的计算机的额外处理能力。同样,服务器需要从已被请求任务的分布式处理的计算机接收任务的执行结果,并且向任务的请求者传送所接收的结果,这增加了服务器的开销。因此,经常出现执行任务所需的时间和通过网络进行数据传输所需的时间大大增加的问题。
本发明的基本目的是提供一种用于分布式处理的机制,使用该机制可以解决上面描述的传统问题。
发明内容
本发明通过提供能够用多个计算机对要执行的任务的信息处理高效执行分配的网络系统、其结构单元以及集群管理方法来解决上面描述的问题,所述任务的大小、类型和数量随时都会改变。
这个说明书中的每个″计算机″是指包含通过执行计算机程序进行操作的处理器的设备,但是不具有设备的形式的装置、处理器板、处理器芯片以及处理器自身也被包含在″计算机″的概念中。例如,多处理器系统中的每个处理器也可以被认为是″计算机″。
本发明提供了具有第一配置的网络系统,多个计算机能够自由地加入和离开该系统,每个计算机能够与另一个计算机组成集群。
网络系统包含:第一表,用于存储表示每个计算机的状态是否是集群允许状态的集群允许/禁止信息;以及第二表,用于存储表示把另一个计算机加入到已经由一或多个计算机形成的集群的容易程度的增加容易度信息。
计算机中的一个包含集群形成装置,用于形成包含该计算机自身以及由第一表上的集群允许/禁止信息表示为处于集群允许状态的另一个计算机的集群,把有关所形成的集群中包含的每个计算机的集群允许/禁止信息更新为表示集群禁止状态的信息,以及在第二表上存储有关所形成的集群的增加容易度信息。此外,形成集群的计算机包含集群增长装置,用于当作为增加到集群的候选的候选计算机存在时,基于在第二表上记录的增加容易度信息确定该候选计算机是否将被加到集群中。
在具有这种配置的网络系统中,计算机中的一个基于在第一表上记录的有关每个计算机的集群允许/禁止信息自主形成集群,以及在第二表上记录有关集群的增加容易度信息。集群中包含的计算机的数量可以是在集群形成时确定的缺省数量,或可以是基于实际提交的任务的大小、预计在不久的将来提交的任务的大小等等灵活地确定的数量。在两种情况下,通过选择由集群允许/禁止信息表示为处于集群允许状态的计算机来形成集群。
在形成集群之后,当作为增加的候选的候选计算机存在时,形成集群的计算机基于在第二表上记录的增加容易度信息确定该候选计算机是否将被加到集群中。
由形成集群的计算机使用增加容易度信息自主地确定候选计算机的增加是否适当以及各种信息是否可用。有关只有在最开始时请求增加的若干计算机被允许加入的条件、有关只有标识信息对应于从随机数产生的编号的计算机被允许加入的条件等等也可采用为增加容易度信息。然而,从增加确定处理的简化角度出发,以下配置是优选的:使用数字值量化例如增加容易度的准则并且将该准则设置成可与这个数字值相比,当数字值增加时,向集群增加候选计算机的容易度增加。在这种情况下数字值的例子是:被用来通过只随机响应不规则地进行的五个增加允许/禁止查询中的一个来允许增加的数字值(在这种情况下,数字值变成1/5,即20%),被用来只对在总长度是每日系统操作时间的10%的时间段中接收的增加允许/禁止查询准许候选计算机的增加的数字值(在这种情况下,数字值变成″24(小时)×60(分钟)×60(秒)×0.1×α(概率值)″),等等。
应当注意,无论是否增加候选计算机,数字值可以保持为常数,或在存储在第二表中之后可以被设置为变量。数字值被设置为变量的配置具有这样的优点,即通过以候选计算机的增加为触发条件而改变数字值,对于候选计算机容易集中到的集群,更多候选计算机可容易地集中,这利于形成具有对应于实际需求的规模的集群。
通过以上面描述的方式向集群接连增加候选计算机,具有不同规模的集群在网络系统的多个计算机上形成并且增长。因此,实现了能够高效执行要执行的任务的信息处理的分布式计算,其中所述任务的大小、类型和数量预计会随时改变,并且解决了传统问题。
在具有第一配置的网络系统的实施方式中,形成集群的计算机还包含集群清除装置,用于当集群完成任务的执行时,清除集群并且把记录在第二表上的增加容易度信息和记录在第一表上的、有关属于所清除集群的每个计算机的集群允许/禁止信息返回到集群形成之前的状态。
集群基于上面描述的增加容易度信息增长,直到任务已经被执行,但是当完成任务的执行时被分解或清除,所以与以固定方式准备集群的情况相比,可以实现计算机的有效使用。
本发明提供了具有第二配置的网络系统,多个管理计算机能够自由地加入和离开该系统,每个管理计算机控制作为属于该管理计算机的计算机的一个或多个计算机,每个计算机能够与另一个计算机组成集群。
″控制作为属于管理计算机的计算机的一或多个计算机″是指控制连接到管理计算机的多个计算机的操作以及监视这些计算机的操作状态。
网络系统包含:第一表,用于存储表示每个计算机的状态是否是集群允许状态的集群允许/禁止信息;以及第二表,用于存储表示把另一个计算机加入到已经由一或多个计算机形成的集群的容易程度的增加容易度信息。
此外,至少一个管理计算机包含集群形成装置,用于形成集群,该集群包含受其控制的计算机,以及由第一表上的集群允许/禁止信息表示为处于集群允许状态、由另一个管理计算机控制的计算机,并且把有关所形成的集群中包含的每个计算机的集群允许/禁止信息更新为表示集群禁止状态的信息。此外,形成集群的管理计算机包含集群增长装置,用于当作为增加候选的候选计算机存在时,基于在第二表上记录的增加容易度信息确定该候选计算机是否将被加到集群中。
在具有这种配置的网络系统中,管理计算机基于在第一表上记录的有关计算机的集群允许/禁止信息自主形成集群,并且在第二表上记录有关集群的增加容易度信息。在形成集群之后,当作为增加候选的候选计算机存在时,形成集群的管理计算机基于在第二表上记录的增加容易度信息确定该候选计算机是否将被加到集群中。集群允许/禁止信息、增加容易度信息的处理、集群化处理以及在集群增长时的准则与具有第一配置的网络系统中的那些相同。
在具有第二配置的网络系统的实施方式中,管理计算机还包含集群清除装置,用于当完成集群对任务的执行时清除所形成的集群,并且把第二表上记录的信息和第一表上有关属于所清除集群的每个计算机的所记录信息返回到集群形成之前的状态。
集群基于上面描述的增加容易度信息增长,直到任务已经执行,但是当完成任务的执行时其被清除,所以与以固定方式准备集群的情况相比,可以实现计算机的高效使用。
在具有第二配置的网络系统中,第二表可以存在于任意位置,但是在普通情况下,产生第二表的管理计算机保存该表。在这种情况下,管理计算机保存多个第二表,其最大数量是受其控制的计算机的数量。
每个第二表包含主表和从表中的至少一个,当保存第二表的管理计算机形成包含受其控制的第一计算机的第一集群时,针对第一计算机产生主表,当保存第二表的管理计算机监视和控制受其控制、加入到由另一个管理计算机形成的第二集群的第二计算机的操作时,针对第二计算机产生从表。增加容易度信息被记录在主表上。保存主表的管理计算机充当主管理计算机,其用于主动执行涉及第一集群的形成、第一集群中计算机的数量的改变以及第一集群的清除的信息处理,而保存从表的管理计算机充当针对第二集群的从管理计算机。
从利于形成集群的角度出发,主管理计算机包含搜索装置,用于通过向管理计算机查询处于集群允许状态下的计算机是否存在来搜索增加到第一集群的候选计算机。此外,管理计算机中的一个被配置成基于有关主管理计算机形成的第一集群的增加容易度信息,确定受其控制的候选计算机是否将被加到第一集群中。
具有第三配置、均能够与另一个计算机组成集群的多个计算机能够自由地加入和离开的网络系统包含:针对已经由一或多个计算机形成的每个集群列出与属于该集群的计算机相关的另一集群的标识信息的表。在网络系统中,形成集群的计算机中的一个包含集群增长装置,用于当作为增加候选的候选计算机存在时,基于该表上列出的标识信息确定该候选计算机是否将被加到与所形成的集群相关的另一个集群中。词语″相关″是指例如可以相互通信以及可以协同处理等等的情形。在具有这种配置的网络系统中,即使在未使用增加容易度信息时,也可以进行遵循幂分布(power distribution)的集群形成。
同样,本发明通过提供用于配置具有例如上面描述的第二配置的网络系统的管理计算机解决了上面描述的问题。
这种管理计算机控制作为属于该管理计算机的计算机的一或多个计算机,每个计算机能够与另一个计算机组成集群,该管理计算机包含:网络连接装置,用于建立到计算机网络的连接,其中该管理计算机能够与具有相同功能类型的另一个管理计算机一起自由加入和离开该计算机网络;表管理装置,用于使得能够访问存储表示每个计算机的状态是否是集群允许状态的集群允许/禁止信息的第一表,以及存储表示把另一个计算机加入到已经由一或多个计算机形成的集群的容易程度的增加容易度信息的第二表;集群形成装置,用于形成包含受其控制的计算机中的一个以及由第一表上的集群允许/禁止信息表示为处于集群允许状态、受另一个管理计算机控制的计算机中的一个的集群,把有关所形成的集群中包含的每个计算机的集群允许/禁止信息更新为表示集群禁止状态的信息,以及在第二表上存储有关集群的增加容易度信息;以及集群增长装置,用于当作为增加候选的候选计算机存在时,基于在第二表上记录的增加容易度信息确定该候选计算机是否将被加到集群中。管理计算机还可以包含:集群清除装置,用于当完成所形成的集群对任务的执行时,清除集群并且把记录在第二表上的增加容易度信息和记录在第一表上的、有关属于所清除集群的每个计算机的集群允许/禁止信息返回到集群形成之前的状态。
此外,本发明通过提供由具有例如上面描述的的第一配置或第三配置的网络系统中包含的多个计算机执行的集群管理方法解决了上面描述的问题。
在均能够与另一个计算机组成集群的多个计算机可自由地加入和离开的网络系统中使用的第一集群管理方法包含步骤:由每个计算机在第一表上存储表示其状态是否是集群允许状态的集群允许/禁止信息;由计算机中的一个形成包含该计算机和由第一表上的集群允许/禁止信息表示为处于集群允许状态的另一个计算机的集群;由该计算机把有关所形成的集群中包含的每个计算机的集群允许/禁止信息更新为表示集群禁止状态的信息;由该计算机把表示增加另一个计算机到集群中的容易程度的增加容易度信息存储在第二表上;以及当作为增加候选的候选计算机存在时,基于在第二表上记录的增加容易度信息确定该候选计算机是否将被加到集群中。
集群管理方法还可以包含步骤:由形成集群的该计算机当完成所形成的集群对任务的执行时清除该集群,以及由该计算机把在第二表上所记录的信息和第一表上有关属于所清除集群的每个计算机的所记录信息返回到集群形成之前的状态。
在均能够与另一个计算机组成集群的多个计算机可自由地加入和离开的网络系统中使用的第二集群管理方法包含步骤:由单独或与另一个计算机一起形成集群的计算机在预定表上列出与属于集群的计算机相关的另一个集群的标识信息;以及当作为增加候选的候选计算机存在时,由形成集群的该计算机基于该表上记录的标识信息确定该候选计算机是否将被加到与该集群相关的另一个集群中。
此外,本发明通过提供向计算机指定预定功能的计算机程序解决了上面描述的问题。
第一计算机程序被均能够与另一个计算机集群的多个计算机可自由地加入和离开的网络系统中包含的计算机读取和执行。第一计算机程序使计算机充当:表管理装置,用于使得能够访问存储表示每个计算机的状态是否是集群允许状态的第一表,以及存储表示把另一个计算机加入到已经由一或多个计算机形成的集群的容易程度的增加容易度信息的第二表;集群形成装置,用于形成包含受该计算机自身以及由第一表上的集群允许/禁止信息表示为处于集群允许状态的另一计算机的集群,把有关所形成的集群中包含的每个计算机的集群允许/禁止信息更新为表示集群禁止状态的信息,以及在第二表上存储有关集群的增加容易度信息;以及集群增长装置,用于当作为增加候选的候选计算机存在时,基于在第二表上记录的增加容易度信息确定该候选计算机是否将被加到集群中。
第二计算机程序是由控制一或多个计算机的管理计算机读取和执行,每个所述计算机均能够与另一个计算机组成集群,所述一或多个计算机是属于管理计算机的计算机。第二计算机程序使管理计算机充当:网络连接装置,用于建立到计算机网络的连接,其中该管理计算机能够与具有相同功能类型的另一个管理计算机一起自由加入和离开该计算机网络;表管理装置,用于使得能够访问存储表示每个计算机的状态是否是集群允许状态的第一表,以及存储表示把另一个计算机加入到已经由一或多个计算机形成的集群的容易程度的增加容易度信息的第二表;集群形成装置,用于形成包含受其控制的计算机以及由第一表上的集群允许/禁止信息表示为处于集群允许状态、受另一个管理计算机控制的计算机的集群,把有关所形成的集群中包含的每个计算机的集群允许/禁止信息更新为表示集群禁止状态的信息,以及在第二表上存储有关集群的增加容易度信息;以及集群增长装置,用于当作为增加候选的候选计算机存在时,基于在第二表上记录的增加容易度信息确定该候选计算机是否将被加到集群中。
第三计算机程序由均能够与另一个计算机组成集群的多个计算机可自由地加入和离开的网络系统中包含的计算机读取和执行。第三计算机程序使计算机充当:集群管理装置,用于当集群已经由一或多个计算机形成时,在预定表上列出与属于集群的计算机相关的另一个集群的标识信息;以及集群增长装置,用于当作为增加候选的候选计算机存在时,基于该表上列出的标识信息确定该候选计算机是否将被加到与所形成的集群相关的另一个集群中。
那些计算机程序被记录在可传送记录介质上,并且在市场上发布,或通过计算机或管理计算机可访问的计算机网络从程序服务器等等下载。
基于本发明,具有不同规模的集群均由网络系统中多个计算机中的至少一个形成,并且基于预定表上的所记录信息增长,所以可以容易地获得具有任意规模的集群。结果,获得了这样的独特效果:实现了分布式计算,其中可以高效地执行要执行的任务的甚至不确定的信息处理,所述任务的大小、类型和数量中的至少之一预计会随时改变。
附图说明
图1是本发明应用到的网络系统的一般视图。
图2示出基于本发明实施例的管理计算机的体系结构的概况。
图3是大规模信息处理集成体的说明性框图。
图4是基于实施例的管理计算机的功能结构框图。
图5均是测量图,其中链接数量在水平轴上画出并且具有链接数量的节点的数量在垂直轴上画出,图5(a)示出在随机连接的情况下的例子,图5(b)示出在选择性连接的情况下的例子。
图6(a)示出了主表的内容的例子,图6(b)示出了从表的内容的例子。
图7是基于实施例示出分布式计算的概况的过程性框图。
图8是管理计算机的集群形成/增长过程的说明性框图。
图9是管理计算机的集群形成/增长过程的说明性框图。
图10是管理计算机提交和执行任务的过程的说明性框图。
图11是在管理计算机清除集群时的处理过程的说明性框图。
图12(a)到12(d)均是基于实施例示出集群形成/增长/清除的处理的说明性框图。
图13(a)示出了通过多处理器实现的网络系统的概况,图13(b)示出了通过单个多核心处理器实现的网络系统的概况。
图14示出了复制模式中使用的主表的内容的例子。
图15示出了复制模式中的操作形式的例子。
图16(a)和16(b)均示出了复制模式中的操作形式的另一个例子。
图17示出了复制模式中的操作形式的另一个例子。
具体实施方式
(网络系统的体系结构)
首先,描述本发明应用到的网络系统的体系结构。
图1是本发明应用到的网络系统101的一般视图。网络系统101包含计算机网络104。计算机网络104的例子包含局域网(LAN),例如因特网的全球网络以及其它计算机网络。
控制作为属于管理计算机106的计算机的一或多个计算机的每个管理计算机106可以在任意时刻连接到计算机网络104。管理计算机106能够执行与其它管理计算机106和由其它管理计算机106控制的计算机108的双向通信。每个计算机108可以在任意时刻作为属于管理计算机的计算机受管理计算机106的控制。换言之,这些计算机106和108均能够随时自由地加入网络系统101和从网络系统101撤出。
在这个实施例中使用的术语″计算机″是指包含通过执行计算机程序进行操作的处理器的设备。然而,装置、处理器板以及不具有设备形式的集合也被包含在概念″计算机″中。同样,″管理计算机106控制作为属于管理计算机的计算机的一或多个计算机108″的情形是指管理计算机106控制与其连接的每个计算机108的操作并且监视该计算机的操作状态的情形。
管理计算机106的例子包含具有服务器功能的计算机、具有通信功能的游戏控制台、计算设备以及处理器板。
由管理计算机106控制的计算机108的例子包含个人计算机、具有通信功能的游戏控制台、其它有线或无线计算机、计算设备以及处理器板。
存在计算机108到管理计算机106的各种形式的连接。例如,连接形式包含星型连接形式,其中多个计算机108被直接连接到管理计算机106,同时把连接到计算机网络104的管理计算机106设置为中心,如图1所示;内部网络形式,其中多个计算机108通过管理计算机106所连接到的内部网络来连接;以及广域网络形式,其中多个计算机108通过计算机网络104连接到管理计算机106。
内部网络形式同样具有各种类型的内部网络,例如直接与计算机网络104进行连接的网络以及通过管理计算机106与计算机网络104进行连接的网络。
如图2所示,每个管理计算机106包含通过总线B11相互连接的例如硬盘的存储设备1061,通信设备1063,半导体存储器1065以及处理器1067。在具有那些硬件资源的管理计算机106中,处理器1067读取和执行通过例如CD-ROM的记录介质载入半导体存储器1065的计算机程序,从而在存储设备1061中存储以后要描述的多个管理表206,并且配置在计算机主体中的表管理部分212,集群管理部分216,通信控制部分236以及任务执行部分256的功能,图4所示。
表管理部分212访问管理表206以及更新管理表206的记录内容。集群管理部分216执行涉及受集群控制的计算机108和由其它管理计算机106控制的计算机108所属的集群的形成/增长/清除的信息处理。换言之,集群管理部分216基于集群的状态变化充当集群形成装置、集群增长装置以及集群清除装置。
通信控制部分236通过通信设备1063与受其控制的每个计算机108和另一个管理计算机106通信。任务执行部分256向包含由管理计算机106控制的一或多个计算机108的集群提交任务,并且请求执行该任务。任务执行部分256可以配有计算任务的大小、处理时间等等的功能以便方便地识别集群的最优规模,换言之,计算机的最优数量。
每个计算机108包含与管理计算机106的那些相同的存储设备、通信设备、半导体存储器以及处理器。在这个实施例中,以后要描述的状态表被存储在存储设备中。同样,处理器读取和执行通过例如CD-ROM的记录介质载入半导体存储器的计算机程序,从而在计算机主体中配置涉及集群管理和任务执行的各种功能。优选地,每个计算机108的指令集体系结构(ISA)完全相同或视作相同,并且基于相同指令集执行所需的处理。
每个管理计算机106控制任何数量的计算机108。分配到每个管理计算机106的计算机108的数量取决于执行每个应用指定的任务所需的处理能力。
当由管理计算机106控制的多个计算机108的ISA相同或视作相同时,可以大大提高管理计算机106或网络系统101的适应能力。
每个管理计算机106形成包含其控制下的一或多个计算机108和由其它管理计算机106控制的计算机108的集群,从而允许以集群为单位进行任务执行。在受其控制的计算机108和由其它管理计算机106控制的计算机108之间,就至少一个集群的形成而言,没有性能差别、约定等等存在。按照这种方式的计算机的处理使得计算机108执行任务以及管理计算机106控制计算机108的重要性不高。这样是可以的:请求该任务的管理计算机106,由管理计算机106控制的计算机108,或执行后面任务的任何计算机108仅仅被指定为接收任务执行结果的计算机。因此,在由连接到计算机网络104的多个管理计算机106控制的计算机108中间进行任务的分布执行变得容易。
当各个计算机108具有与上述完全相同或视作相同的ISA时,也避免了在计算机108中实现兼容的软件附加层的计算所需的负载,并且可以防止由混合不同计算机网络产生的大量问题。因此,优选地基于网络系统101的使用来配置网络系统101。在网络系统101中,形成大规模信息处理集成体WO,其中连接到计算机网络104的多个管理计算机106和计算机108中间的体系结构的差别被消除,由每个管理计算机106控制的众多计算机108中的每个好像是图3所示的信息处理的单元,并且可以实现宽带处理。
在物理上,大规模信息处理集成体WO中包含的每个计算机108被计算机108所属的管理计算机106管理,并且充当独立计算机,或通过与由管理计算机106控制的另一个计算机108组成集群来协同操作。然而,在逻辑上,不存在管理计算机106的障碍,并且集群可以由不同管理计算机106控制的其它计算机108构成。在通过这种方式进行集群化的情况下,在属于相同集群的多个计算机108中间分布式执行一个任务变成可能。
(分布式计算)
本发明提供了用于高效分布式计算的机制,其中使用了上面描述的网络系统101的体系结构。为了使该机制成为可能,在本发明中,构成类似图3示出的大规模信息处理集成体WO的网络的多个计算机108中的每一个充当节点,并且使重复″增长″成为可能,其中节点数量在开始时设置得较小,并且随着时间推移而增加,以及使得″选择性连接″(即节点间链路连接技术)成为可能。
″选择性连接″意味着当新加入网络的节点创建链接时,从现有节点已经链接的链接数量被看作是新加入节点选择链接目标节点的准则,并且当数量增加时,对应的现有节点被选择为目标节点的可能性也增加。作为两个特性(即,增长和选择性连接)的结果,网络在增长的同时拥有无尺度(scale-free)特性。在例如Albert Barabasi,RekaAlbert和Hawoong的″Mean-field theory for scale-free randomnetwork″中详细描述了作为增长和选择性连接的这种重复的结果,节点所拥有的链接的数量的分布变成幂分布的事实。
图5(a)和5(b)均是曲线图,其中通过在水平轴上标记在节点随机连接的情况下以及在选择性连接的情况下节点所拥有的链接的数量,以及在垂直轴上标记具有该链接数量的节点的数量,画出所测量的值。图5(a)示出了在节点被随机连接的情况下的例子。在这个例子中,出现具有典型链接数量的代表节点。图5(b)示出了在未出现典型节点以及链接数量分布在较宽范围的选择性连接的情况下的例子。换言之,没有典型尺度出现,所以就这个而言,图5(b)的分布被称作″无尺度的″。图5(b)的分布被表示如下,并且当被写作对数-对数图时变成类似直线并且具有非常宽的扩散的分布:
P(k)=AK^(-r)···(1)
其中k是链接数量,并且P(k)是节点的数量。
在本发明中,通过上面描述的两个特征的应用,每个节点被解释为集群,并且每个链接被解释为对应于彼此连接的节点的集群中包含的两个计算机108。通过这个解释,以可以具有包含图5(b)示出的幂分布的任何分布的形式执行集群化,以允许高效的分布式计算。在按照这种方式增长的网络中,集群中的链接数量对应于集群中包含的计算机108的数量,换言之,集群的大小或集群的计算能力。当在水平轴上画出集群中包含的计算机108数量并且在垂直轴上画出集群数量或集群的频率时,应当获得类似于图5(b)中示出的幂分布的分布。
后面会描述每个计算机108应当如何操作以及每个管理计算机106应当如何监视和控制相同类型的计算机108的操作或其它管理计算机106的操作以允许进行上述集群化。
参考指示计算机108的当前状态是否是集群允许状态的计算机集群状态来管理每个计算机108。计算机集群状态被记录在状态表上,并且由计算机108或管理计算机108的管理计算机106更新以跟踪计算机108的状态的变化。这样是可以的:状态表存在于计算机108或管理计算机106可访问的任何存储器区域中,但是状态表可以在计算机108的存储设备中提供。
作为记录在状态表上的计算机集群状态的例子,在这个实施例中,使用了三种类型的信息,即″集群化″,″运行″以及″空闲″。当计算机集群状态是″集群化″时,表示计算机已经被组成集群并且目前正等待要执行的任务。当计算机集群状态是″运行″时,表示计算机现在正执行任务。当计算机集群状态是″空闲″时,表示计算机处于非工作状态。当计算机集群状态是″集群化″或″运行″时,计算机108的集群化是不可能的。因此,″集群化″或″运行″信息表示集群禁止状态。另一方面,″空闲″信息表示集群允许状态。
管理计算机106的一个任务是如上所述管理受其控制的每个计算机108。管理表206被用于管理。如上所述,管理表206被存储在例如管理计算机106的存储设备1061中。管理计算机106中包含的管理表206的最大数量对应于由管理计算机106控制的计算机108的数量。
存在两种管理表206。一种类型的管理表206是″主表″,用于当管理计算机106第一次形成包含受其控制的一或多个计算机108的集群时,存储涉及该集群的状态的信息。另一类型的管理表206是″从表″,用于当存在一或多个计算机108要加入由另一个管理计算机106形成的集群时,存储涉及该集群的状态的信息。
管理计算机106在使用主表监视和控制由管理计算机106管理的集群中包含的每个计算机108时,充当″主管理计算机″。另一方面,管理计算机106在使用从表监视和控制受其控制、属于由另一个管理计算机106管理的集群的每个计算机108时,充当″从管理计算机″。换言之,一个管理计算机106充当多种类型的管理计算机,其最大数量对应于受其控制的计算机108的数量。
主表由充当主管理计算机的管理计算机106产生,并且从表由充当从管理计算机的管理计算机106产生。当存在从表时,这意味着对应于从表的主表存在于管理计算机106中。
这里,以具体的方式描述这个实施例中的主表的内容和从表的内容的例子。图6(a)示出了主表2161的内容的例子,以及图6(b)示出了从表2162的内容的例子。
在主表2161中,集群ID(″ID″代表标识信息,同样适用于下列描述)2361、集群大小2362、计算机列表2363、集群状态2364、计算机的最大数量2365、计算机的最小数量2366、计算机的总数2367以及集群连接比2368的值均被主管理计算机记录为集群分量(值)。
集群ID 2361是提供给所形成的集群的唯一ID。这样是可以的:只要集群存在,则集群ID是唯一信息,所以可以使用例如第一次时主管理计算机的ID和集群中包含的计算机108的ID的对作为集群ID。
集群大小2362是表示集群中新或额外包含的计算机108的总数。可以通过主管理计算机对集群中计算机的数量的计数来指定集群大小。
计算机列表2363是集群中包含的每个计算机108的标识信息的列表。
集群状态2364是表示集群的当前状态的信息。在这个实施例中,三种类型的状态(即″空闲″,″运行″以及″等待″)被用作集群状态。在″空闲″的情况下,集群处于没有执行任何任务的状态。当集群处于这个状态时,计算机108增加到集群是可能的。在″运行″的情况下,集群处于执行任务的状态。在″等待″的情况下,集群处于所拥有的计算机108的数量达到计算机的最大数量的状态。在这个状态下,计算机108增加到集群是不可能的。
计算机的最大数量2365是集群可以拥有的计算机的最大数量,并且由用户定义或定义成系统拥有的常数。在所图解的例子中,示出了能够拥有多达200台计算机的集群。
计算机的最小数量2366是形成集群的计算机的最小数量,并且由用户定义或定义成网络系统101拥有的常数。在所图解的例子中,示出了由三台计算机108形成的集群。
计算机的总数2367是表示可以被包含在集群中的计算机108的总数的值,并且可以基于统计数据从预计值中获得计算机108的总数。在所图解的例子中,示出了存在集群包含48台计算机108的可能性。
连接比2368是增加容易度信息的例子的信息。在这个实施例中,当存在作为增加候选的计算机108(候选计算机)时,该计算机有例如20%的概率被加到集群中。可选地,例如所需集群大小/计算机总数、使用概率值等等定义增加容易度的数字值被用作连接比。当这个数字值增加时,计算机108增加到集群的容易度增加,并且集群增长的容易度增加。所图解的例子示出了在当前集群大小被设置成″23″并且计算机的总数被设置成″48″时获得的连接比(即,0.48)。
常数值可以被用作连接比2368。可选地,连接比2368可以被设置成变量值。连接比的值可以按追溯的方式从常数值变化到变量值,并且也可以反过来。主表2161的连接比2368可以在集群形成时被自动设置成缺省值,或可以由使集群执行任务的应用设置成一个参数。
在如图5(a)和5(b)所示的集群中包含的计算机108数量在水平轴上画出,并且集群数量或集群频率在垂直轴上画出的情况下,曲线图的分布的形状大大地取决于如何设置连接比。例如,当期望得到类似于图5(a)示出的分布的正态分布时,连接比被设置成常数值。根据这个设置,上面描述的分布变成正态分布,其中代表值在中心处。连接比可以在所加入的计算机的数量增加以及集群大小增加时变化。例如,每当加入一个或若干计算机时,连接比可以被设置成上升。在这种情况下,可以方便地获得类似图5(b)中示出的分布的幂分布。
应当注意,如何设置主表2161的上述分量仅仅是一个例子,并且可以进行适当的增加/减少。
在从表2162中,记录集群ID 2461和计算机ID 2462。集群ID 2461是标识集群的ID(与主表2161中记录的集群ID 2361相同)。计算机ID2462是用于标识集群中包含的每个计算机108的ID。
这样是可以的:由于从表2162被链接到具有与集群ID 2461相同的集群ID的主表2161,并且因此从表2162提供集群ID 2461和计算机ID2462,所以从表2162中记录的分量(值)小于主表2161的分量的数量。
应当注意,如何设置从表2162的上述分量(值)也仅仅是一个例子,并且可以进行适当的增加/减少。
(操作形式)
接着,描述在这个实施例中网络系统101进行分布式计算的操作形式的例子。
在基于这个实施例的分布式计算中,如图7所示,进行任务的分布式执行,同时重复集群状态的三个阶段变化的周期。新集群的形成/增长导致第一阶段的状态变化(步骤S1)。提交从应用程序等等请求的任务导致第二阶段的状态变化(步骤S2)。同样,在任务执行之后清除集群产生第三阶段的状态变化(步骤S3)。当集群已被清除时,直到此时属于该集群的每个计算机108变成可以在该点新属于另一个集群的候选计算机(节点)。
在这个周期中的到第一阶段的状态变化的发生与任务的存在或不存在无关。接着,管理计算机106通过充当主管理计算机来形成集群,并且与从管理计算机配合来增长所形成的集群。集群增长的程度由每个计算机108的操作状态和连接比确定。当计算机108的操作状态是″空闲″并且连接比较高时,与其它计算机108的连接变得更容易。此后,说明上面描述的三个阶段的状态变化的细节。
(第一阶段的状态变化)
(新集群1的形成/增长)
图7是示出主管理计算机(充当主管理计算机的管理计算机106的集群管理部分216)的集群形成/增长处理的说明性框图。
主管理计算机检查受其控制的每个计算机108的操作状态。具体地,主管理计算机检查由计算机108保持的状态表中记录的计算机集群状态(步骤S101)。接着,主管理计算机由处于非工作状态(换言之,计算机108的计算机集群状态是″空闲″)的若干计算机108形成一个集群(步骤S102)。所形成的集群中最初包含的计算机的数量通过例如预先进行的设置来确定。通常,主管理计算机形成集群,使得受其控制的一些计算机108不包含在集群中。集群中未包含的计算机108处于使其尽可能多地加到其它集群中以便促进其它集群的增长的状态。这个状态在图12(a)中示出。
在图12(a)示出的例子中,一个集群C11由三台计算机108形成。此时,主管理计算机产生一个主表,并且设置这个主表的分量(值)(步骤S104)。当主管理计算机被设置成管理每个计算机108的状态表时,主管理计算机把集群中包含的每个计算机108的计算机集群状态从″空闲″更新到″集群化″(步骤S104)。
在这之后,主管理计算机进行查询以从随机选择的另一个管理计算机106控制的计算机108中搜索增加到其自身形成的集群中的候选计算机,即,计算机集群状态是″空闲″的另一个计算机108(步骤S105)。通过例如随机选择相距主管理计算机的逻辑距离较短的若干其它管理计算机106并且接连放宽选择范围,主管理计算机执行搜索。当候选计算机存在(步骤S106:是)时,主管理计算机检查主表的连接比,基于连接比把候选计算机加入到集群中,以及在主表中记录有关候选计算机的信息(步骤S107)。之后,主管理计算机把所加入的候选计算机的计算机集群状态从″空闲″更新到″集群化″(步骤S108)。
管理所加入的候选计算机的管理计算机106变成候选计算机108的从管理计算机并且产生从表。在图12(b)中示出了在候选计算机存在的情况下的状态。在图12(b)示出的例子中,两个计算机108作为候选计算机被加入,并且集群C11增长到包含五个计算机108的集群C14。主管理计算机另外在主表上记录有关新加入的计算机108的信息。
应当注意,当在步骤S106未找到候选计算机时(步骤S106:否),主管理计算机返回到步骤S105的处理。
(新集群2的形成/增长)
图9是示出未充当主管理计算机的管理计算机106的集群增长处理的过程说明性框图。
在原理上,如图8所示,通过主管理计算机的主动行为来实现集群增长。然而,当未充当主管理计算机的管理计算机106访问主管理计算机时,也可以实现集群增长。
具体地,控制未集群化的计算机108的管理计算机106通过例如对随机选择的另一个管理计算机106进行查询,来搜索可以把计算机108加入到的集群(步骤S201)。接着,基于增加目的集群的连接比,管理计算机106确定受其控制的计算机108是否被加到集群中(步骤S202)。当确定计算机108不被加入时,管理计算机106返回到步骤S201(步骤S203:否)。
当确定计算机108被加入时,管理计算机106变成针对连接目的集群的计算机108的从管理计算机。因此,管理计算机106产生计算机108的从表,并且在这个从表中设置每个分量(值)(步骤S204)。接着,管理计算机106把每个加入的计算机108的计算机集群状态从″空闲″更新到″集群化″(步骤S205)。另外,管理计算机106使计算机被加入到的集群的主管理计算机更新主表(步骤S206)。注意,这个更新可以通过从从管理计算机访问主管理计算机而由管理计算机106自身来进行。
(第二阶段的状态变化)
(提交任务)
第二阶段的状态变化从管理计算机106的响应来自应用等等的请求而提交任务的动作开始。在执行任务时,执行任务所需的计算量和所需时间(其例子是计算机108的数量)变成参数。这些参数可以由管理计算机106的处理器基于所提交的任务的大小自动地产生,或可以由通过使用应用等等的用户适当地提供。可以使用应用拥有的参数。
图9是示出已经提交任务的管理计算机106如何使用集群的过程说明性框图。管理计算机106通过基于上面描述的计算量参考集群列表208,或通过对另一个管理计算机进行查询,来搜索形成具有所需大小的集群的主管理计算机(步骤S301)。当已经找到主管理计算机时(步骤S302:是),管理计算机106请求主管理计算机执行任务(步骤S303)。管理计算机106通过例如向主管理计算机发送包含任务的分组、执行任务所需的程序和数据、以及用于向管理计算机106自身发送执行结果的指定地址,来请求执行任务。
主管理计算机把属于集群、执行任务的每个计算机108的计算机集群状态从″空闲″或″等待″更新到″运行″,并且接着开始通过计算机108的分布式处理来执行任务。图12(c)示出管理如图12(b)所示增长的集群C14的主管理计算机执行任务的状态。执行任务的结果被从主管理计算机发送到请求执行任务的管理计算机106。当接收执行结果时(步骤S304:是),管理计算机106向提交任务的计算机发送执行结果(步骤S305)。
应当注意,当任务被直接提交到管理具有所需大小的集群的主管理计算机时,由主管理计算机自身执行上述步骤S301到S304。当在步骤S302判断需要在多个集群上执行任务时,例如,当判断需要使用不同集群执行图像处理和音频处理时,向管理各集群的每个主管理计算机发出任务执行请求。
(第三阶段的状态变化)
(集群的清除)
由管理集群的主管理计算机执行已执行任务的集群的清除。图11示出在清除集群时由主管理计算机执行的处理的过程。
当任务的执行已经完成时(步骤S401:是),主管理计算机把至时已执行任务的集群中包含的每个计算机108的计算机集群状态更新到″空闲″(步骤S402)。另外,主管理计算机清除主表中记录的集群的分量(值)。同时,主管理计算机通过控制属于集群的计算机的每个从管理计算机清除从表中记录的分量(值)。换言之,主管理计算机把每个计算机恢复到形成集群之前的状态(步骤S403)。结果,属于集群的所有计算机108处于非工作状态和集群允许状态,其中某些计算机108被立即集群化,并且其它计算机108保持处于能够被加到集群中的状态。图12(d)示出了这种状态。
如上所述,基于这个实施例,即使在具有许多不确定性,所提交的任务的大小、类型和数量中的至少一个随时变化的网络系统中,存在于网络系统中的多个管理计算机106中的每个形成具有最优大小的集群,并且在充当受其控制的每个计算机108的主管理计算机或从管理计算机的同时增长所形成的集群,因此能够向具有适当大小、允许有效执行任务的集群分配任务的执行。同样,可以通过遵循统一的过程平等地处理每个过程,而不考虑过程的大小,这允许实现高度灵活的分布式计算。具体地,当过程大小分布是幂分布时,通过使增加容易度信息可变,使得用来使集群大小也具有幂分布的设置成为可能,所以可以最有效地执行处理,这允许提高计算机资源的使用效率。
(修改)
在上面描述的例子中,为了便于说明,在每个计算机108拥有状态表并且每个管理计算机106拥有管理表206(主表/从表)的前提下进行描述。然而,这样是可以的:这些表存在于从计算机108和管理计算机106可访问的存储器区域中。例如,管理计算机106可以拥有受其控制的每个计算机108的状态表,并且管理表206可以被集中存储在管理计算机106的表管理部分212可访问的服务器等等中。
同样,在上述例子中,由从管理计算机确定受从管理计算机控制的候选计算机是否被加到集群中。然而,有关候选计算机是否被加到集群的每个确定可以在主管理计算机上进行。
(在不依赖管理计算机的情况下的实施例)
在上述描述中,说明了由控制多个计算机108的管理计算机106的集合组成的网络系统101的例子。然而,也可以把本发明实现为多个计算机108的每个能够加入集群和从集群撤出而无需管理计算机106的介入的网络系统。
当本发明被实现成网络系统时,连接比同样被记录在每个计算机108的状态表中,并且计算机108还执行其自身对状态表的管理。例如,当计算机108把自身加入到由其它计算机108形成的集群中时,计算机108把其计算机集群状态更新到″集群化″。接着,当集群完成任务的执行时,计算机108把其计算机集群状态恢复到″空闲″。同样,与上面描述的管理计算机106的功能相同的功能被提供给计算机108。换言之,当计算机108主动地形成集群时,计算机108产生用于存储集群的内容的主表。
已形成集群的计算机108搜索作为增加候选的另一个候选计算机,由另一个计算机拥有的状态表中记录的该候选计算机的最新计算机集群状态是″空闲″,并且计算机108基于集群的连接比确定通过搜索指定的候选计算机是否被加入。已形成集群的计算机108使按照这种方式增长的集群执行任务。接着,在完成执行之后,计算机108清除集群。
(基于多处理器/多核心处理器的实施例)
也可以把本发明实现为由多个处理器或多核心处理器组成的网络系统。在这种情况下,这样是可以的:如图13(a)所示,作为一个例子,使内部总线充当上面描述的计算机网络104,使连接到内部总线的一或多个处理器或多核心处理器充当上面描述的管理计算机106,以及使剩余处理器等等充当上面描述的计算机108。
此外,可以通过设置图13(b)中示出的每个多核心处理器,把本发明实现为网络系统。在这种情况下,这样是可以的:通过连接到内部总线的一或多个核心(处理器核心)、输入/输出控制部分(I/O)以及高速缓冲存储器实现上面描述的管理计算机106的操作,以及使剩余核心充当上面描述的计算机108。
另一个实施例
基于本发明的网络系统的实施例也成为可能,其中当集群的计算机108访问另一个集群时,计算机108被加到与其它集群相关的不同集群中。在这个实施例中的模式被称作″复制模式″。在下面的文档中详细描述了这个复制模式。
标题:Growing networks with local rules:preferentialattachment,clusteringhierarchy and degree correlations
作者:Alexei V′azquez
杂志名称:Phys Rev E Stat Nonlin Soft Matter Phys.2003 May;67(5 Pt2):056104.Epub 2003 May 7.
在复制模式中,代替上面描述的连接比2368,使用集群列表,其中列出了属于所访问的其它集群的计算机与之相关的集群的标识信息(连接地址等等)。例如,为集群列表提供主表。
图14示出了这种情况的主表的内容的例子。除了与图6(a)示出的主表2161的内容相同的集群ID 2361、集群大小1262、计算机列表2363、集群状态2364、计算机的最大数量2365以及计算机的最小数量2366之外,这个主表2163包含集群列表2369。每当新集群与由主管理计算机管理的集群相关时,主管理计算机在集群列表2369中列出新集群的标识信息。在这个实施例中″某个集群与另一个集群相关″的情形是指属于某个集群的计算机与属于其它集群的计算机彼此逻辑地连接(彼此通信)以及能够协同处理等等的情形。
主管理计算机响应来自从管理计算机的请求读取集群列表2369中列出的集群的标识信息,以及向从管理计算机通知例如标识信息。在不太高的保密性等级便足够的应用中,集群列表2369可以由例如从管理计算机浏览。
从集群列表2369的读出是按随机顺序或按预定顺序执行无关紧要。在前一种情况下,即使按任意顺序在集群列表2369中列出集群的标识信息,也不会出现问题。另一方面,在后一种情况下,列出集群标识信息的顺序被加权。例如,以较高优先级读取与由主管理计算机管理的集群所处理的内容有更密切关系的集群。在这种情况下可以基于例如集群中的访问次数、集群中预定时间内的通信次数、集群中分布式处理的关系度(例如,应当与图像处理同步的音频处理)等等来确定该关系。
例如,下面描述了在复制模式中的操作形式。
假定网络系统目前处于图15的上部区域中示出的初始状态。在图15示出的例子中,多个集群C6到C11已经被形成。一或多个计算机(上面描述的计算机108,同样适用于下面的描述)属于集群C6到C11的每个。
假定在这种状态下,如图15的中间区域所示,在网络系统中形成新集群C20。假定形成集群C20的管理计算机管理属于集群C20的计算机和促进其它集群增长的若干计算机,即候选计算机(未示出)。当候选计算机被提供给另一个集群时,如已经提及的那样,管理候选计算机的管理计算机变成从管理计算机。
管理集群C20的管理计算机从集群C6到C11中间找到集群C7。接着,管理计算机对管理集群C7的主管理计算机进行查询,从而获得记录在主表2163中的关于集群C7和其它集群之间的关联的信息。在图15的中间区域示出的例子的情况下,集群C7只与集群C11相关。因此,管理集群C20的管理计算机把候选计算机加入到集群C11中,并且把这个候选计算机和集群C20(属于它的计算机)彼此相关(图15的下部区域)。同样,管理计算机更新其拥有的从表的内容。
其间,管理集群C11的主管理计算机把新加入的计算机(增加之前的候选计算机)加入到主表2163中的计算机列表2363中,并且把集群C20的标识信息加入到集群列表2369中。
集群C20和集群C11(集群的计算机)一对一地彼此相关的情况已经在上面作为一个例子加以描述,但是关联方法不局限于一对一关联,并且一对N(N是二或更大的自然数)关联也是可以的。同样,这个关联不涉及控制台中计算机间的物理连接。
例如,假定如图16(a)所示当形成新加入网络系统的计算机属于的集群C20时,管理集群C20的管理计算机在搜索受其控制的候选计算机要加入到的集群时找到集群C11。当一对一地与集群C11中包含的计算机相关的集群C6和C7以及与集群C11中包含的多个计算机相关的集群C8和C10在集群C11的集群列表中列出时,候选计算机被加到集群C6、C7、C8和C10之一中。这同样适用于图16(b)中示出的情况。
应当注意,在这些情况下,从表和主表中记录的信息象图15中示出的例子那样进行更新。
在复制模式中,组合使用集群列表2369和计算机列表2363的操作形式也是可行的。此后,描述这种操作形式的例子。
执行与图16(a)和16(b)中示出的例子相同的处理,直到形成联接网络系统的新集群C20,并且管理集群C20的管理计算机在搜索受其控制的候选计算机要加入到的集群时找到集群C11。
假定如图17所示,基于集群C11的计算机列表2363,计算机#1到#5属于集群C11,并且基于集群列表2369,计算机#1和#3与集群C10相关,计算机#4与集群C7相关,计算机#5与集群C6相关,并且计算机#2不与任何集群相关。其它形式也是可行的,但是如果也按随机顺序执行计算机列表2363的读出,则当从计算机列表2363中选择计算机#1时,候选计算机被加到与计算机#1相关的集群C10中。注意,当选择计算机#2时,不存在与该计算机相关的集群,所以选择被再次执行。
在复制模式中,即使在连接比2368未设置时,遵循幂分布的集群化也是可行的,所以产生了使增加计算机到集群变得更加顺利的效果。
工业实用性
本发明适用于网络系统,用于促进连接计算机到彼此的节点的数量遵循正态分布、幂分布等等的集群化。另外,本发明也适用于所有种类分布式计算,其能够有效执行大小、类型和数量随时变化的任务的信息处理。

Claims (27)

1.一种网络系统,多个计算机能够自由地加入和离开该系统,每个计算机能够与另一个计算机组成集群,该网络系统包含:
第一表,用于存储表示每个计算机的状态是否是集群允许状态的集群允许/禁止信息;以及
第二表,用于存储表示把另一个计算机加入到已经由一或多个计算机形成的集群的容易程度的增加容易度信息,
其中计算机中的一个包含集群形成装置,用于形成包含该计算机自身以及由第一表上的集群允许/禁止信息表示为处于集群允许状态的另一个计算机的集群,把有关所形成的集群中包含的每个计算机的集群允许/禁止信息更新为表示集群禁止状态的信息,以及在第二表上存储有关所形成的集群的增加容易度信息,并且
形成集群的计算机包含集群增长装置,用于当作为增加到集群的候选的候选计算机存在时,基于在第二表上记录的增加容易度信息确定该候选计算机是否将被加到集群中。
2.如权利要求1所述的网络系统,其中形成集群的计算机还包含集群清除装置,用于当集群完成任务的执行时,清除集群并且把记录在第二表上的增加容易度信息和记录在第一表上的、有关属于所清除集群的每个计算机的集群允许/禁止信息返回到集群形成之前的状态。
3.如权利要求1所述的网络系统,其中增加容易度信息是通过量化增加的容易程度而获得的数字值,并且其中集群增长装置在数字值增加时提高候选计算机增加到集群的容易程度。
4.如权利要求3所述的网络系统,其中与候选计算机的增加无关,集群增长装置保持数字值为常数。
5.如权利要求3所述的网络系统,其中集群增长装置在数字值已经被记录在第二表上之后设置数字值可变。
6.如权利要求5所述的网络系统,其中集群增长装置以候选计算机的增加为触发条件而使数字值变化。
7.一种网络系统,多个管理计算机能够自由地加入和离开该系统,每个管理计算机控制作为属于该管理计算机的计算机的一个或多个计算机,每个计算机能够与另一个计算机组成集群,该网络系统包含:
第一表,用于存储表示每个计算机的状态是否是集群允许状态的集群允许/禁止信息;以及
第二表,用于存储表示把另一个计算机加入到已经由一或多个计算机形成的集群的容易程度的增加容易度信息,
其中,至少一个管理计算机包含集群形成装置,用于形成集群,该集群包含受其控制的计算机,以及由第一表上的集群允许/禁止信息表示为处于集群允许状态、由另一个管理计算机控制的计算机,并且把有关所形成的集群中包含的每个计算机的集群允许/禁止信息更新为表示集群禁止状态的信息,并且
形成集群的管理计算机包含集群增长装置,用于当作为增加候选的候选计算机存在时,基于在第二表上记录的增加容易度信息确定该候选计算机是否将被加到集群中。
8.如权利要求7所述的网络系统,其中形成集群的管理计算机还包含集群清除装置,用于当集群完成集群对任务的执行时清除所形成的集群,并且把第二表上记录的增加容易度信息和第一表上记录的有关属于所清除集群的每个计算机的集群允许/禁止信息返回到集群形成之前的状态。
9.如权利要求8所述的网络系统,其中管理计算机中的一个保存至少一个第二表,其最大数量是受其控制的计算机的数量。
10.如权利要求9所述的网络系统,
其中每个第二表包含主表和从表中的至少一个,当保存第二表的管理计算机形成包含受其控制的第一计算机的第一集群时,针对第一计算机产生主表,当保存第二表的管理计算机监视和控制受其控制、加入到由另一个管理计算机形成的第二集群的第二计算机的操作时,针对第二计算机产生从表,
其中增加容易度信息被记录在主表上,并且
保存主表的管理计算机充当主管理计算机,其用于主动执行涉及第一集群的形成、第一集群中计算机的数量的改变以及第一集群的清除的信息处理,而保存从表的管理计算机充当针对第二集群的从管理计算机。
11.如权利要求10所述的网络系统,其中主管理计算机包含搜索装置,用于通过向管理计算机查询处于集群允许状态下的计算机是否存在来搜索增加到第一集群的候选计算机。
12.如权利要求10所述的网络系统,其中管理计算机中的一个基于有关主管理计算机形成的第一集群的增加容易度信息,确定受其控制的候选计算机是否将被加到第一集群中。
13.如权利要求10所述的网络系统,
其中增加容易度信息是通过量化增加候选计算机到第一集群的容易程度而获得的数字值,并且
其中主管理计算机的集群增长装置在数字值增加时提高候选计算机增加到第一集群的容易程度。
14.如权利要求13所述的网络系统,其中与候选计算机的增加无关,集群增长装置保持数字值为常数。
15.如权利要求13所述的网络系统,其中集群增长装置在数字值已经被记录在第二表上之后设置数字值可变。
16.如权利要求15所述的网络系统,其中集群增长装置以增加候选计算机到第一集群为触发条件而使数字值变化。
17.一种网络系统,多个计算机能够自由地加入和离开该系统,每个计算机能够与另一个计算机组成集群,该网络系统包含:
针对已经由一或多个计算机形成的每个集群列出与属于该集群的计算机相关的另一集群的标识信息的表,其中,形成集群的计算机中的一个包含集群增长装置,用于当作为增加候选的候选计算机存在时,基于该表上列出的标识信息确定该候选计算机是否将被加到与所形成的集群相关的另一个集群中。
18.如权利要求17所述的网络系统,其中以更高的增加候选计算机的优先级在所述表上列出与所形成的集群执行的处理有更密切关系的相关集群。
19.如权利要求17所述的网络系统,还包括第一表,用于存储表示每个计算机的状态是否是集群允许状态的集群允许/禁止信息,其中计算机中的一个包含集群形成装置,用于形成包含该计算机自身以及由第一表上的集群允许/禁止信息表示为处于集群允许状态的另一计算机的集群,并且把有关所形成的集群中包含的每个计算机的集群允许/禁止信息更新为表示集群禁止状态的信息。
20.一种管理计算机,其控制作为属于该管理计算机的计算机的一或多个计算机,每个计算机能够与另一个计算机组成集群,该管理计算机包含:
网络连接装置,用于建立到计算机网络的连接,其中该管理计算机能够与具有相同功能类型的另一个管理计算机一起自由加入和离开该计算机网络;
表管理装置,用于使得能够访问存储表示每个计算机的状态是否是集群允许状态的集群允许/禁止信息的第一表,以及存储表示把另一个计算机加入到已经由一或多个计算机形成的集群的容易程度的增加容易度信息的第二表;
集群形成装置,用于形成包含受其控制的计算机中的一个以及由第一表上的集群允许/禁止信息表示为处于集群允许状态、受另一个管理计算机控制的计算机中的一个的集群,把有关所形成的集群中包含的每个计算机的集群允许/禁止信息更新为表示集群禁止状态的信息,以及在第二表上存储有关集群的增加容易度信息;以及
集群增长装置,用于当作为增加候选的候选计算机存在时,基于在第二表上记录的增加容易度信息确定该候选计算机是否将被加到集群中。
21.如权利要求20所述的的管理计算机,还包括集群清除装置,用于当所形成的集群完成对任务的执行时清除集群,并且把第二表上记录的增加容易度信息和第一表上记录的有关属于所清除集群的每个计算机的集群允许/禁止信息返回到集群形成之前的状态。
22.一种集群管理方法,在均能够与另一个计算机组成集群的多个计算机可自由地加入和离开的网络系统中使用,该集群管理方法包括步骤:
由每个计算机在第一表上存储表示其状态是否是集群允许状态的集群允许/禁止信息;
由计算机中的一个形成包含该计算机和由第一表上的集群允许/禁止信息表示为处于集群允许状态的另一个计算机的集群;
由该计算机把有关所形成的集群中包含的每个计算机的集群允许/禁止信息更新为表示集群禁止状态的信息;
由该计算机把表示增加另一个计算机到集群中的容易程度的增加容易度信息存储在第二表上;以及
当作为增加候选的候选计算机存在时,基于在第二表上记录的增加容易度信息确定该候选计算机是否将被加到集群中。
23.如权利要求22所述的集群管理方法,还包括步骤:
由形成集群的该计算机当完成所形成的集群对任务的执行时清除该集群;以及
由该计算机把在第二表上所记录的增加容易度信息和第一表上有关属于所清除集群的每个计算机的所记录的集群允许/禁止信息返回到集群形成之前的状态。
24.一种集群管理方法,在均能够与另一个计算机组成集群的多个计算机可自由地加入和离开的网络系统中使用,该集群管理方法包括步骤:
由单独或与另一个计算机一起形成集群的计算机在预定表上列出与属于集群的计算机相关的另一个集群的标识信息;以及
当作为增加候选的候选计算机存在时,由形成集群的该计算机基于该表上记录的标识信息确定该候选计算机是否将被加到与该集群相关的另一个集群中。
25.一种计算机程序,其被均能够与另一个计算机集群的多个计算机可自由地加入和离开的网络系统中包含的计算机读取和执行,该计算机程序使计算机充当:
表管理装置,用于使得能够访问存储表示每个计算机的状态是否是集群允许状态的第一表,以及存储表示把另一个计算机加入到已经由一或多个计算机形成的集群的容易程度的增加容易度信息的第二表;
集群形成装置,用于形成包含受该计算机自身以及由第一表上的集群允许/禁止信息表示为处于集群允许状态的另一计算机的集群,把有关所形成的集群中包含的每个计算机的集群允许/禁止信息更新为表示集群禁止状态的信息,以及在第二表上存储有关集群的增加容易度信息;以及
集群增长装置,用于当作为增加候选的候选计算机存在时,基于在第二表上记录的增加容易度信息确定该候选计算机是否将被加到集群中。
26.一种计算机程序,其由控制一或多个计算机的管理计算机读取和执行,每个所述计算机均能够与另一个计算机组成集群,所述一或多个计算机是属于管理计算机的计算机,该计算机程序使管理计算机充当:
网络连接装置,用于建立到计算机网络的连接,其中该管理计算机能够与具有相同功能类型的另一个管理计算机一起自由加入和离开该计算机网络;
表管理装置,用于使得能够访问存储表示每个计算机的状态是否是集群允许状态的第一表,以及存储表示把另一个计算机加入到已经由一或多个计算机形成的集群的容易程度的增加容易度信息的第二表;
集群形成装置,用于形成包含受其控制的计算机以及由第一表上的集群允许/禁止信息表示为处于集群允许状态、受另一个管理计算机控制的计算机的集群,把有关所形成的集群中包含的每个计算机的集群允许/禁止信息更新为表示集群禁止状态的信息,以及在第二表上存储有关集群的增加容易度信息;以及
集群增长装置,用于当作为增加候选的候选计算机存在时,基于在第二表上记录的增加容易度信息确定该候选计算机是否将被加到集群中。
27.一种计算机程序,其由均能够与另一个计算机组成集群的多个计算机可自由地加入和离开的网络系统中包含的计算机读取和执行,该计算机程序使计算机充当:
集群管理装置,用于当集群已经由一或多个计算机形成时,在预定表上列出与属于集群的计算机相关的另一个集群的标识信息;以及
集群增长装置,用于当作为增加候选的候选计算机存在时,基于该表上列出的标识信息确定该候选计算机是否将被加到与所形成的集群相关的另一个集群中。
CNB2005800330053A 2004-08-02 2005-08-01 网络系统、管理计算机以及集群管理方法 Active CN100465901C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP225315/2004 2004-08-02
JP2004225315 2004-08-02

Publications (2)

Publication Number Publication Date
CN101031886A true CN101031886A (zh) 2007-09-05
CN100465901C CN100465901C (zh) 2009-03-04

Family

ID=35787268

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005800330053A Active CN100465901C (zh) 2004-08-02 2005-08-01 网络系统、管理计算机以及集群管理方法

Country Status (4)

Country Link
US (1) US8775622B2 (zh)
EP (1) EP1785865A4 (zh)
CN (1) CN100465901C (zh)
WO (1) WO2006013992A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106339261A (zh) * 2016-09-18 2017-01-18 安徽爱她有果电子商务有限公司 一种计算机集群管理方法
CN106357444A (zh) * 2016-09-18 2017-01-25 安徽爱她有果电子商务有限公司 一种计算机网络管理系统
CN106371928A (zh) * 2016-09-18 2017-02-01 安徽爱她有果电子商务有限公司 一种管理计算机的方法
CN113139704A (zh) * 2020-01-17 2021-07-20 中国石油化工股份有限公司 一种用于钻井仿真的钻井多参数计算系统及方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9594599B1 (en) * 2009-10-14 2017-03-14 Nvidia Corporation Method and system for distributing work batches to processing units based on a number of enabled streaming multiprocessors
US9454441B2 (en) * 2010-04-19 2016-09-27 Microsoft Technology Licensing, Llc Data layout for recovery and durability
US8892740B2 (en) * 2010-09-10 2014-11-18 International Business Machines Corporation Dynamic application provisioning in cloud computing environments
US9467494B1 (en) 2011-12-30 2016-10-11 Rupaka Mahalingaiah Method and apparatus for enabling mobile cluster computing
JP6155861B2 (ja) * 2013-06-06 2017-07-05 富士通株式会社 データ管理方法、データ管理プログラム、データ管理システム及びデータ管理装置
US11422907B2 (en) 2013-08-19 2022-08-23 Microsoft Technology Licensing, Llc Disconnected operation for systems utilizing cloud storage
US9798631B2 (en) 2014-02-04 2017-10-24 Microsoft Technology Licensing, Llc Block storage by decoupling ordering from durability
US10705883B2 (en) * 2018-06-19 2020-07-07 Microsoft Technology Licensing, Llc Dynamic hybrid computing environment

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2834210B2 (ja) * 1988-09-14 1998-12-09 株式会社日立製作所 リング状ネットワークにおけるメッセージ制御方法
US5666486A (en) 1995-06-23 1997-09-09 Data General Corporation Multiprocessor cluster membership manager framework
US5822531A (en) * 1996-07-22 1998-10-13 International Business Machines Corporation Method and system for dynamically reconfiguring a cluster of computer systems
US6748429B1 (en) * 2000-01-10 2004-06-08 Sun Microsystems, Inc. Method to dynamically change cluster or distributed system configuration
US6675265B2 (en) * 2000-06-10 2004-01-06 Hewlett-Packard Development Company, L.P. Multiprocessor cache coherence system and method in which processor nodes and input/output nodes are equal participants
US20020049859A1 (en) * 2000-08-25 2002-04-25 William Bruckert Clustered computer system and a method of forming and controlling the clustered computer system
US7120681B2 (en) * 2001-01-30 2006-10-10 International Business Machines Corporation Cluster control in network systems
US6889253B2 (en) * 2001-04-30 2005-05-03 International Business Machines Corporation Cluster resource action in clustered computer system incorporation prepare operation
IL159695A0 (en) * 2001-07-06 2004-06-20 Computer Ass Think Inc System and method for managing object based clusters
CN1213567C (zh) * 2002-02-27 2005-08-03 华为技术有限公司 一种网络设备的集群管理方法
US7139925B2 (en) * 2002-04-29 2006-11-21 Sun Microsystems, Inc. System and method for dynamic cluster adjustment to node failures in a distributed data system
EP1514183A2 (en) * 2002-06-20 2005-03-16 BRITISH TELECOMMUNICATIONS public limited company Distributed computer
JP2004341962A (ja) 2003-05-16 2004-12-02 Toyota Infotechnology Center Co Ltd 分散コンピューティング・システム、方法、プログラムおよび記録媒体
JP4170285B2 (ja) 2004-02-06 2008-10-22 東日本電信電話株式会社 利用形態指向p2p型グリッドコンピューティングシステム、及び、コンピュータプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106339261A (zh) * 2016-09-18 2017-01-18 安徽爱她有果电子商务有限公司 一种计算机集群管理方法
CN106357444A (zh) * 2016-09-18 2017-01-25 安徽爱她有果电子商务有限公司 一种计算机网络管理系统
CN106371928A (zh) * 2016-09-18 2017-02-01 安徽爱她有果电子商务有限公司 一种管理计算机的方法
CN113139704A (zh) * 2020-01-17 2021-07-20 中国石油化工股份有限公司 一种用于钻井仿真的钻井多参数计算系统及方法
CN113139704B (zh) * 2020-01-17 2024-04-09 中国石油化工股份有限公司 一种用于钻井仿真的钻井多参数计算系统及方法

Also Published As

Publication number Publication date
EP1785865A1 (en) 2007-05-16
CN100465901C (zh) 2009-03-04
US20080320138A1 (en) 2008-12-25
US8775622B2 (en) 2014-07-08
EP1785865A4 (en) 2008-12-17
WO2006013992A1 (ja) 2006-02-09

Similar Documents

Publication Publication Date Title
CN101031886A (zh) 网络系统、管理计算机、集群管理方法以及计算机程序
CN1300693C (zh) 用于调节系统资源的使用的装置及其方法
CN1292346C (zh) 用于在分布式计算体系结构中执行作业的系统和方法
CN1286036C (zh) 计算机及其共用存储系统、信息处理系统以及登录方法
CN1956457A (zh) 用于安排网格计算系统中的网格作业的方法和设备
CN1220946C (zh) 管理计算环境的分区组的方法和系统
CN1652084A (zh) 计算机系统、管理装置、存储装置以及计算机装置
CN1645330A (zh) 用于应用程序分布式管理的启用网格的虚拟机的方法和系统
CN1752977A (zh) 文件访问服务系统、交换机装置、配额管理方法及程序
CN1906580A (zh) 对于具有可移动对象的启用网格的虚拟机的方法和系统
CN1379350A (zh) 分布式文件检索方法、装置、程序及记录该程序的记录介质
CN1443323A (zh) 控制集群计算环境的系统通信量的方法、系统和程序产品
CN1097798C (zh) 资源分配的方法和系统
CN1795654A (zh) 网络环境中的内容同步系统及其方法
CN1959717A (zh) 订单驱动的海量遥感数据集群化预处理系统及其方法
CN1908903A (zh) 执行作业步的系统和方法以及计算机产品
CN1264078A (zh) 执行多个操作系统的计算机
CN1783123A (zh) 基于资源需求和业务影响的过程执行管理
CN1679018A (zh) 多平台优化模式
CN1716249A (zh) 延迟取出用户定义类型的指定成员的系统和方法
CN1901547A (zh) 生成web服务策略协议的方法和设备
CN1300690C (zh) 用于监视计算机系统中的资源的方法和系统
CN1637738A (zh) 自治计算系统的动态在线多参数优化系统和方法
CN1223025A (zh) 实时估价控制系统及与之相关的方法
CN1256671C (zh) 管理资源争用的方法和装置

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