WO2006013992A1 - ネットワークシステム、管理コンピュータ、クラスタ管理方法およびコンピュータプログラム - Google Patents

ネットワークシステム、管理コンピュータ、クラスタ管理方法およびコンピュータプログラム Download PDF

Info

Publication number
WO2006013992A1
WO2006013992A1 PCT/JP2005/014467 JP2005014467W WO2006013992A1 WO 2006013992 A1 WO2006013992 A1 WO 2006013992A1 JP 2005014467 W JP2005014467 W JP 2005014467W WO 2006013992 A1 WO2006013992 A1 WO 2006013992A1
Authority
WO
WIPO (PCT)
Prior art keywords
class
computer
computers
evening
management
Prior art date
Application number
PCT/JP2005/014467
Other languages
English (en)
French (fr)
Inventor
Shinya Wada
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.
Priority to US11/659,290 priority Critical patent/US8775622B2/en
Priority to EP05768590A priority patent/EP1785865A4/en
Publication of WO2006013992A1 publication Critical patent/WO2006013992A1/ja

Links

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

Definitions

  • the present invention relates to an efficient distributed computing technique performed by a plurality of computers connected to a computer network in a broadband environment.
  • the present invention relates to a network system capable of distributed computing, its components, and a class management method in a network.
  • the server identifies the size of the job load and the surplus processing capacity (computation resources) of each network connected to the network when performing distributed processing.
  • the server determines the surplus processing capacity according to the load.
  • the assigned computers are assigned sequentially, and job execution results are received from the assigned computers.
  • the present invention provides a distributed processing mechanism that can solve such conventional problems.
  • the main challenge is to provide Disclosure of the invention
  • the present invention provides a network system capable of efficiently distributing and executing information processing, which is expected to change from moment to moment, by a plurality of computers, in various sizes, types, and numbers of jobs to be executed.
  • the above-mentioned problems are solved by the components and class management method.
  • Computer here refers to a device that includes a processor that is operated by a computer program, but a device, processor port, processor chip, or processor itself that does not take the form of a device is also included in the concept of “computer”. It is. For example, individual processors, such as multiprocessor systems, can also be “computers”.
  • the network system of the first configuration provided by the present invention is a network system in which a plurality of computers that can be clustered with other combi- nations can freely join and leave.
  • this network system there is a first table in which information on whether or not each computer is capable of class setting is recorded, and a cluster that is already formed by one or more computers. And a second table for recording additional ease information indicating how easily other computers can be added.
  • any one of the computers forms a class including the self and other computers whose clusterability information in the first table indicates a clusterable state, and all computers included in the formed cluster
  • the clustering means for updating the clustering availability information for information to information indicating a state where class setting is impossible and further recording the additional ease information about the formed class setting in the second table.
  • the computer forming the cluster records in the second table whether or not to add the candidate computer evening to the class evening when there is a candidate computer to be added to the class evening. It has a cluster growth means that is determined based on the added ease information.
  • one of the computers autonomously forms a class based on the clustering availability information of each computer recorded in the first table, and adds the class evening.
  • the number of computers included in the class evening may be the default number determined at the time the class evening is formed, depending on the size of the job that was actually submitted or expected to be submitted in the near future. It may be a number determined by flexure. In any case, a computer whose clusterability information is in a clusterable state is selected and a cluster is formed.
  • the additional ease information is information for the computer that formed the class to autonomously determine whether it is appropriate to add the candidate computer, and various types of information can be used. Add only the computers that have applied for the addition first, or add only computers with identification information that is generated by random numbers. The conditions such as' can also be adopted as additional ease information. wear. However, from the viewpoint of simplifying the process of deciding whether or not to add, the ease of addition and when the scale is quantified numerically, and the numerical value can be compared with this numerical value. It is desirable to make it easier to add candidate computers to the class evening.
  • the numerical value in this case is a random response only once to five inquiries about whether or not it can be added at random (the numerical value in this case is 15: 20%)
  • Candidate computers can be added only during the time period of 10% of the system operating time of the day in total (in this case, 2 4 (hours) X 6 0 (minutes) X 6 0 (Seconds) X 0.1 X (probability value)).
  • the numerical value may be held at a constant value regardless of the addition of the candidate computer, or may be variable after being recorded in the second table.
  • the candidate computer was added in the class evening. By moving the class, it is easy to gather candidate candidates, and it is easy to gather other candidate computers, and it is easy to easily form clusters of sizes that meet actual demand. .
  • the computer forming the cluster deletes the cluster when the job execution by the cluster is completed, and is recorded in the second table.
  • Class event extinction means for returning the clusterability information recorded in the first table to the state before the class event formation for all the computer events belonging to the extinction cluster and the extinction information. It has further.
  • the cluster grows based on the additional ease information described above. However, the cluster disappears when the job execution is completed. Compared to the case where a fixed class is prepared. Effective use of computers will become possible.
  • a plurality of management computers each of which owns one or a plurality of computers capable of classifying with other combination evenings, freely join and leave. It is a network system that can do this.
  • Managing one or more computers as computers under their own control means controlling the operation of a plurality of computers connected to the computer and monitoring their operating states.
  • a first table in which information about whether or not each computer can be clustered is recorded, and a class already formed by one or more computers.
  • a second table that records additional ease information indicating how easy it is to add another evening.
  • at least one of the management computers is a computer under its own control.
  • a cluster including a computer in which the clustering availability information of the first table indicates that the class can be changed is formed.
  • the management computer evening that forms the class evening is recorded in the second table as to whether or not the candidate computer evening is added to the class evening when there is a candidate computer to be added.
  • Class evening growth means is determined based on the additional ease information.
  • one of the management computers autonomously forms a cluster based on the information on whether or not the combination is recorded in the first table.
  • the management computer that created the class evening records them in the second table. Decide whether to add the candidate computer to the class based on the added ease of use information.Classification availability information, handling of additional ease information, class sunset, and cluster growth criteria are:
  • the network system of the first configuration is the same as the network system of the first configuration.
  • class event erasure unit that restores the recorded information to the state prior to cluster formation.
  • the class event grows based on the additional ease information described above until the job is executed. Since it disappears when the class ends, the computer can be used more effectively than if the class evening was prepared in a fixed manner.
  • the second table may exist at an arbitrary place, but normally, it will be held by any management computer that will generate the second table. .
  • the management computer has the second table of the maximum number of computers under its control. Become.
  • the second table is a master table that is generated for the first computer when the management computer that owns it forms a first class evening that includes the first computer that is under its control, and the management that owns it.
  • a computer supervises and controls the operation of the second combination evening that is added to the second class evening created by another management computer evening, the slave table generated for that second computer is created. At least one of the bulls. Additional ease information is recorded in the master table.
  • the management computer that owns the master table behaves as a master management computer that takes the lead in information processing related to the formation of the first cluster, the change in the number of computers in the first class evening, and the disappearance of the first class evening.
  • a management computer that owns a slave management computer for the second class evening is a master table that is generated for the first computer when the management computer that owns it forms a first class evening that includes the first computer that is under its control, and the management that owns it.
  • the master management computer searches for candidate computers to be added to the first class by inquiring whether there is a computer that can be clustered from any of the management computers. It is assumed to have a search means for Also, one of the management computers determines whether or not to add a candidate computer belonging to the management computer to the first cluster based on the additional ease information about the first cluster formed by the mass management computer. Configure to determine.
  • the network system of the third configuration provided by the present invention is a network system in which a plurality of computers capable of classifying with other computer evenings can freely join and leave; Including a table that lists, for each cluster formed by one or a plurality of computers, identification information of other clusters to which a computer belonging to the class is associated; the computer forming the class Based on the identification information restored in the table, whether or not to add a candidate computer to another cluster related to its own class when there is a candidate computer to be added.
  • This is a network system having a class evening growth means for determining.
  • “Relevant” means, for example, a state in which it is possible to communicate with each other and to perform collaborative processing. Say. In a network system with such a configuration, it is possible to perform clustering according to the power distribution regardless of the additional ease information.
  • the present invention also solves the above problem by providing a management computer for configuring the network system of the second configuration, for example.
  • Each of these management computers is a management computer that owns one or more computers that can be clustered with other computers; they can freely join and leave with other management computers with similar functions.
  • the computer and other management computers under its own umbrella Among the computers, the cluster setting availability information in the first table forms a cluster including computers indicating a class setting possible state, and the computers for all the computers included in the formed class setting.
  • a class setting unit for updating the class setting information to information indicating a non-clusterable state, and recording the additional ease information for the class setting in the second table;
  • Cluster growth means for determining whether or not to add the candidate combination to the class evening when there is a computer based on the ease of addition information recorded in the second table. .
  • the class evening is deleted, and the additional ease information recorded in the second table and the class belonging to the deleted class evening are all stored. It is also possible to further include a class deletion means for returning the clustering availability information recorded in the first table to the state before cluster formation for all computers.
  • the present invention also solves the above problems by a cluster management method executed by a plurality of computers included in the network systems of the first configuration and the third configuration described above, for example.
  • the first class management method is a class management method in a network system in which a plurality of computers that can be clustered with other computers can freely join and leave; A step of recording in the first table the class setting availability information indicating whether or not the own state is a state where class setting is possible; A class evening is formed that includes another computer whose clustering availability information indicates a clusterable state, and the class evening availability information for all the combination evenings included in the created class evening Easier to add to the information indicating the status of non-configurable, and how easily the cluster can add other computers The step of recording information in the second table; and the ease of addition recorded in the second table as to whether the candidate computer is added to the cluster when there is a candidate computer to be added.
  • a class decision management method comprising: determining based on information.
  • the method may further include the step of returning the recorded information of the first table for the computer to the state before the class setting.
  • the second cluster management method is a class management method in a network system in which a plurality of computers each capable of classifying with other computers can freely join and leave;
  • a computer that forms a cluster with a plurality of computers lists the identification information of other classes that are associated with computers belonging to the class in a predetermined table; Based on the identification information recorded in the table, whether or not to add the candidate computer to another cluster associated with the class evening when there is a candidate computer evening to be added.
  • a cluster management method comprising:
  • the present invention also solves the above problems by providing a computer program for giving a computer a predetermined function.
  • Each of the first computer programs is read and executed by any computer in the network system in which a plurality of computers that can be clustered with other computers can freely join and leave.
  • a first table that records whether or not each computer can be clustered, and a cluster that has already been formed by one or more computers.
  • Table management means that allows access to the second table to record additional ease information that indicates how easy it is to add a computer; clusterability information on the first table can be clustered Forms a cluster that includes self and other computers representing the state of At the same time, the class setting availability information in the first table for all combinations included in the formed class evening is updated to information indicating a non-clusterable state, and the additional ease for the cluster is further updated.
  • Class evening forming means for recording information in the second table; whether there is a candidate computer to be added as a candidate computer; whether the candidate computer is added to the cluster is recorded in the second table Class determined based on additional ease information A computer program for functioning as an evening growth means.
  • the second computer program is read and executed by a management computer that owns one or more computers that can be clustered with other computers, thereby executing the management computer;
  • Network connection means for connecting to a computer network that can freely join and leave with a functioning management computer;
  • class setting that indicates whether the state of each computer can be set to class A first table recording availability information, and a second table for recording additional ease information indicating how easily a class already formed by one or more computers can add another computer.
  • Table management means to allow access to the table; under its own umbrella A class evening including a computer in which the class evening availability information in the first table of the computers under the control of the computer and the other management computer indicates a class evening possible state is formed and formed.
  • Class Classifying the clustering availability information for all computers included in the evening A class evening forming means for updating the information indicating that the sunset is impossible, and recording the additional ease information for the class evening in the second table; when there is a candidate computer to be added
  • Each of the third computer programs is read and executed by one of the computers in the network system in which a plurality of computers capable of classifying with other computers can freely join and leave.
  • Cluster management means for listing, in a predetermined table, identification information of other classes that are associated with computers belonging to the cluster when the class is already formed by one or more computers. When there is a candidate computer to be added, whether to add the candidate computer to another class associated with the own cluster is determined based on the identification information listed in the table.
  • Class evening growth means; Computer program.
  • These computer programs are recorded on a portable recording medium and distributed through the market, or downloaded from a program server or the like through a computer network accessible by a computer or a management computer.
  • classes of various sizes are formed in any one of a plurality of computers in a network system, and grow based on recorded information in a predetermined table. You can easily get a class evening. As a result, the size, type, and number of jobs to be executed vary, and even information processing with uncertainty that one of them is expected to change from moment to moment can be executed efficiently. The unique effect is that distributed computing that can do this is realized.
  • FIG. 1 is an overall view of a network system to which the present invention is applied.
  • FIG. 2 is a diagram showing a general architecture of the management computer according to the present embodiment.
  • Figure 3 is an illustration of a large-scale information processing integration.
  • FIG. 4 is a functional configuration diagram of the management computer according to the present embodiment.
  • Figure 5 is an actual measurement plot with the number of links on the horizontal axis and the number of nodes with links on the vertical axis.
  • (A) is an example of a random connection
  • (b) is a selective connection. This is an example.
  • Figure 6 (a) shows the contents of the master table
  • Figure 6 (b) shows an example of the contents of the slave table.
  • FIG. 7 is a schematic procedure diagram of distributed computing according to this embodiment.
  • FIG. 8 is an explanatory diagram of the cluster formation and growth procedure by the management computer.
  • FIG. 9 is a diagram for explaining the procedure for cluster formation and growth by the management computer.
  • FIG. 10 is an explanatory diagram of job submission and execution procedures by the management computer.
  • FIG. 11 is an explanatory diagram of the processing procedure when the management computer extinguishes the cluster.
  • 12 (a) to 12 (d) are explanatory diagrams showing the process of formation, growth, and disappearance of a class evening according to this embodiment.
  • Fig. 13 (a) is a schematic diagram of a network system realized by a multiprocessor
  • Fig. 13 (b) is a schematic diagram of a network system realized by a multi-core 'processor alone.
  • FIG. 14 is a diagram showing an example of the contents of the master table used in the duplication mode.
  • FIG. 15 is a diagram showing an example of operation in the duplication mode.
  • Figures 16 (a) and 16 (b) are diagrams showing other examples of operation in the duplication mode.
  • FIG. 17 is a diagram showing another example of operation in the duplex mode.
  • FIG. 1 is an overall view of a network system 10 1 to which the present invention is applied.
  • This network system 10 1 includes a computer network 10 4.
  • Examples of computer 'networks 104 include local' area 'networks (LAN), global networks such as the Internet, or other computer networks.
  • the computer network 10 4 can be connected to management computers 10 6 having one or more computers under their own control, each at an arbitrary timing. Each management computer 10 6 can perform two-way communication with another management computer 1 0 6 and another computer 10 8 under the control of the other management computer 1 0 6. . Each computer 10 8 can be part of any management computer 10 6 at any time. In other words, these computers 1 0 6 and 1 0 8 can participate in the network system 1 0 1 in such a way that they can freely leave at any time.
  • Computer in this embodiment refers to an apparatus including a processor that operates by a computer program, but a device, a processor board, or a set of these that does not take the form of an apparatus is also included in the concept of “computer”. . Also, “belonging to one or a plurality of computers 10 8” means controlling the operation of a plurality of computers 10 8 connected to itself and monitoring their operation state.
  • Examples of the management computer 106 include a computer having a server function, a game console with a communication function, a computing device, and a processor board.
  • Examples of the computers 10 8 under the management computer 10 6 include personal computers, game consoles with communication functions, and other wired or wireless computers, computing devices, processor boards, and the like.
  • a plurality of computers 1 0 8 are directly connected around a management computer 1 0 6 connected to a computer network 1 0 4.
  • Evening connection type multiple computers 1 0 8 are connected via a local network to which management computers 1 0 6 are connected, and multiple computers 1 0 8 are connected via a computer network 1 0 4 Examples include a wide area network type connected to the management computer 10 6.
  • local networks there are various types of local networks in the local network type, and there are some networks connected to the computer network 10 4 and the director, while the computer network 10 4 is connected to the network 10 10 through the management computer 10 6. Some networks are connected to each other.
  • each management computer 10 6 includes a storage device 1 0 61, a communication device 1 0 6 3, a semiconductor memory 1 0 6 5, etc. connected to each other through a bus B 11. Including processor 1 0 6 7.
  • the management computer 10 6 having such hardware resources allows the processor 1 0 6 7 to read and execute a computer program loaded into the semiconductor memory 1 0 6 5 through a recording medium such as a CD-ROM.
  • the storage device 1 0 6 1 stores a plurality of management tables 2 0 6 described later, a table management unit 2 1 2, a class management unit 2 1 6, The functions of the communication control unit 2 3 6 and job execution unit 2 5 6 are built in the computer.
  • the table management unit 2 1 2 accesses the management table 2 06 and updates the recorded contents of the management table 2 0 6.
  • Class evening management department 2 1 6 is the information related to the formation, growth and disappearance of class evening to which the computer 1 0 8 under its control and the computer 1 0 8 under the other management computer 1 0 6 belong. Process. That is, the cluster management unit 2 16 functions as cluster forming means, class evening growth means, and cluster extinguishing means according to the change in the class evening state.
  • the communication control unit 2 3 6 enables communication between its own computer 10 8 and other management computers 1 0 6 through the communication device 1 0 6 3.
  • the job execution unit 2 5 6 submits the job to the class including the computer 1 0 8 under its own control and executes it.
  • the job execution unit 2 5 6 may be provided with a function for calculating the job size, processing time, etc. in order to easily identify the optimal cluster size, that is, the number of computers.
  • the computer 10 8 has the same storage device, communication device, semiconductor memory and processor as the management computer 10 6. In this embodiment, a status table described later is stored in the storage device.
  • various functions related to class management and job execution are built in the computer body by the processor reading and executing the computer program loaded into the semiconductor memory through a recording medium such as a CD-ROM.
  • the other combinations 10 8 and the instruction set architecture SA) are all considered to be the same or the same, and the required processing can be executed according to the same instruction set.
  • the number of computers 10 8 under each management computer 10 6 is arbitrary. In a certain management computer 10 6, the number of computers 10 8 is allocated depending on the processing capability necessary to execute jobs given by various applications.
  • Each management computer 106 forms a class class including one or more of its own computers 10 08 or one of the other management computers 10 8 of the management computer 10 6. Enable job execution in units. Differences in performance and restrictions in forming at least one class evening between the computer under its own umbrella 10 10 and the other computer 10 0 6 Etc. does not exist. By handling in this way, it is not so important which computer 10 8 of which management computer 10 6 executes the job. It is only necessary to specify the recipient of the job execution result as the management computer 10 6 that requested the job, the computer 10 8 under its management, or any computer 10 8 that executes the subsequent job. Therefore, individual jobs can be easily executed in a distributed manner among the computers 10 8 belonging to a plurality of management computers 10 6 connected to the computer network 10 4.
  • Each computer 10 8 in the large-scale information processing integration WO is physically managed by a management computer 10 6 to which the computer belongs, and can operate as a single computer or belong to the management computer 10 6.
  • the class is set up together with some other computer 1 0 8 and works together.
  • class setting in such a form one job can be distributedly executed by a plurality of combinations 10 8 belonging to the same class setting.
  • the present invention provides an efficient distributed computing mechanism using the architecture of the network system 101 described above.
  • each of a plurality of computers 10 8 constituting a network such as the large-scale information processing integrated body WO shown in FIG. It will be possible to repeat “growth” in which the number of nodes increases with the passage of time and “selective connection” as a method of connecting links between nodes.
  • “Selective connection” refers to a node that already has more links as a criterion for selecting a link destination node when a newly joined node establishes a link. It is easier to connect to the card.
  • the two characteristics of growth and selective connectivity make the network grow and scale-free. By repeating such growth and selective connection, the distribution of the number of links in a node becomes a power distribution. For example, Albert Barabasi, Reka Albert, Hawoong "Mean-field theory for scale-free random networks" Shown in detail.
  • Figure 5 is a graph plotting measured values with the horizontal axis representing the number of links of nodes when nodes are randomly connected and the case of selective connections, and the vertical axis representing the number of nodes with the number of links. is there.
  • Figure 5 (a) shows an example of connecting nodes randomly. In this example, a typical node with a typical number of links appears.
  • Figure 5 (b) shows an example of selective connection. A typical node does not appear, and the number of links extends over a wide range. In other words, it is called scale free in the sense that a typical scale does not appear.
  • the distribution shown in Fig. 5 (b) is expressed as follows. When written in a log-log graph, the distribution is very wide and forms a straight line.
  • the present invention applies the above two features, interprets each node as a class, and interprets a link as two combinations 108 included in a cluster corresponding to nodes connected to each other.
  • clustering is performed in a form that can have any distribution, of course, the power distribution shown in Fig. 5 (b), thereby enabling efficient distributed computing.
  • the number of links is the number of computers 108 included in the class evening, that is, the class evening size, or the class evening computing capacity. If the horizontal axis plots the number of computers 108 in the cluster and the vertical axis plots the number of classes or the frequency of clustering, it should be a distribution similar to the power distribution shown in Figure 5 (b). .
  • each computer 10 8 is currently managed by a computer class status (clustering availability information) indicating whether or not its own state is in a state where class setting is possible.
  • the computer 'class' status is recorded on the status table, and is updated by the computer 10 8 or the management computer 10 6 managing it as a subsidiary, following changes in the state of the computer 10 8.
  • the status table is sufficient if it exists in an arbitrary memory area accessible by the computer 10 8 or the management computer 10 6, but may be provided in the storage device of the computer 10 8.
  • C lus tered indicates that the computer has already been clustered and is currently waiting for job execution.
  • “Run” indicates that the computer is executing a job.
  • “F ree” indicates that the computer is not operating.
  • “c lus tered” or “run” is selected, the computer 10 8 cannot classify. Therefore, “c lus tered” and “run” are information indicating a non-clusterable state.
  • “free” is information indicating that the class can be changed.
  • the management computer 10 6 One of the roles of the management computer 10 6 is to manage the computer 10 8 under its own control as described above.
  • the management table 206 is used for that purpose.
  • the management table 2 06 is stored in, for example, the storage device 1 0 6 1 included in the management computer 1 0 6.
  • This management computer 10 6 has as many management tables 2 0 6 as the number of computers 1 0 8 at its maximum.
  • the management table 2 0 6 categorized into one type is used for the management computer 1 0 6 to record information on the state of the class when the management computer 1 0 6 first forms a cluster including its own computer 1 0 8. It is a “mass evening table”. The other is a “slave table” for recording information about the state of the class when there is a computer 10 8 added to the cluster formed by other management computers 10 6.
  • Management computer 1 0 6 is a class that is managed by the master table. When monitoring and controlling the computers 10 8 included in, it behaves as a “master management interview”. On the other hand, when a slave table 10 8 belonging to a cluster managed by another management computer 10 6 is monitored and controlled by the slave table, it behaves as a “slave management computer”. In other words, even though it is one management computer 10 6, it will behave as a management computer of the number of computers 1 0 8 at its maximum.
  • the master table is generated by the management composition that acts as the master management computer, and the slave table is generated by the management computer that acts as the slave management computer.
  • the existence of a slave table means that a corresponding master table exists in some management computer 106.
  • Fig. 6 (a) shows an example of the contents of the cell table 2 1 6 1
  • Fig. 6 (b) shows an example of the contents of the slave table 2 1 6 2.
  • the master table 2 1 6 1 contains the cluster ID (ID is the identification information; the same shall apply hereinafter) 2 3 6 1, cluster size 2 3 6 2, computer list 2 3 6 3, class setting 'status 2 3 6 4, Maximum number of computers 2 3 6 5, Minimum number of computers
  • Class evening ID 2 3 6 1 is a unique ID given to the class evening. As long as the class class continues to exist, it should be unique, so for example, the ID of the mass management computer and the ID of the combination class that will be included in the class class at the beginning. And the class evening ID.
  • Class evening size 2 3 6 2 is the total number of computers 10 8 newly added or added to the class evening. This can be identified by the master management computer by measuring the number of computers in the cluster.
  • the computer list 2 3 6 3 is a list of identification information of the combination evening 10 8 that has been included in the class evening.
  • Class evening status 2 3 6 4 is information indicating the current state of class evening.
  • three types of states “idle”, “run”, and “wai t” are used as a cluster state.
  • I dl e” is a state in which the cluster is not executing a job. When a class evening is in this state, a computer 10 8 can be added to that class evening.
  • “Run” is a state in which the class is executing a job.
  • “Wai t” is the state in which the number of retained computers 10 8 has reached the maximum number of computers. In this state, computers 10 8 cannot be added to the class evening.
  • the maximum number of computers 2 3 6 5 is the maximum number of computers that the class can hold, and is defined by the user or defined as a constant held by the system. In the example shown in the figure, it is shown that the cluster can hold up to 200 computers.
  • the minimum number of computers 2 3 6 6 is the minimum number of computers that must be held as a class, and is defined by the user or a constant held by the network system 1 0 1. In the example shown in the figure, it is shown that three computers 1 0 8 make a class evening.
  • the total number of computers 2 3 6 7 is the total number of computers 108 that may be included in the class, and can be obtained from the expected value based on statistics. In the example shown, it is shown that 48 computers 10 8 may be included.
  • connection ratio 2 3 6 8 is information that is an example of additional ease information.
  • the connection ratio is a value that determines the ease of addition by a probability value. The higher this number is, the easier it will be to add computers 108 in the class, and the easier the cluster will grow.
  • the connection ratio 2 3 6 8 can be a constant value or a variable value. A constant value can be replaced with a variable value afterwards. And vice versa. This may be set automatically as the default value when creating a class evening, or an application program that executes a job in a class evening as one of the parameters of the master table 2 1 6 A connection ratio of 1 may be set to 2 3 6 8.
  • the horizontal axis represents the number of computers 10 8 in the cluster
  • the vertical axis represents the distribution when the number of classes or the frequency of clustering is plotted. It depends largely on how you do it.
  • Figure 1 the horizontal axis represents the number of computers 10 8 in the cluster
  • Figure 2 the vertical axis represents the distribution when the number of classes or the frequency of clustering is plotted. It depends largely on how you do it.
  • connection ratio When trying to obtain a normal distribution such as (a), the connection ratio is a constant value. As a result, the above distribution becomes a normal distribution centered on the representative value.
  • the connection ratio may change as the computer evening is added and the class evening size increases. For example, the connection ratio may be increased each time one or several computers are added. In this way, the power distribution as shown in Fig. 5 (b) can be easily obtained.
  • Class evening ID 2 4 6 1 is an ID for identifying the class evening (same as class evening ID 2 3 6 1 recorded in mass evening table 2 1 6 1).
  • Computer i d 2 4 6 2 is an ID for identifying the computer 1 0 8 included in the class evening.
  • Slave table 2 1 6 2 is cluster ID 2 4 6 1 and computer i d 2 4
  • the way of holding the above components (values) in the slave table 2 1 6 2 is also an example, and can be increased or decreased as appropriate.
  • Step S 2 an example of an operation mode of distributed combining by the network system 100 of this embodiment.
  • the job is distributedly executed while repeating the three-stage class change cycle.
  • the state change in the first stage is caused by the formation and growth of a new cluster (Step SD o
  • the state change in the second stage is caused by the input of a job requested by an application program etc. (Step S 2).
  • the three-stage state change is caused by the disappearance of the class setting after job execution (step S 3) .
  • the class setting disappears, all computers 10 8 belonging to the cluster up to that point It becomes a candidate computer (node) that can newly belong to another class, and the state change in the first stage in this cycle occurs regardless of whether or not there is a job.
  • It becomes a management computer forms a cluster, and grows it in cooperation with the slave management computer.
  • the degree of growth depends on the operating status and connection ratio of each computer 10. The higher the connection ratio is, the easier it is to connect to other computers 10 8. In the following, the state of the above three-stage state change will be described in detail.
  • FIG. 7 is a procedure explanatory diagram showing the process of formation and growth of a class evening by the master management computer (the class evening management unit 2 1 6 of the management computer 10 6 operating in such a manner).
  • the master management computer checks the operating status of its own computers 10 8. Specifically, the status of the computer 'class setting' recorded in the status table held by each computer 1 0 8 is checked (step S 1 0 Do and the computer 1 0 8 that is not operating, that is, the computer ⁇ Class evening ⁇ Several computers with status “f ree” form a class evening with 1 0 8 (step S 1 0 2). For example, it is determined by prior settings, etc. Usually, some computers 1 0 8 of their own computers will be left in the class, and the remaining computers 1 0 8 will be To facilitate cluster growth If possible, make sure that the class is added to another class as much as possible. This state is shown in Fig. 12 (a).
  • one computer class C 1 1 is formed by three computers.
  • the master management computer generates one master table and sets the components (values) of this master table (step S104). If the management computer is supposed to manage the status table of each computer 108, all computers included in this class will be changed from “free” to “clustered” status. (Step S104).
  • the mass management computer determines whether or not there is a candidate computer to be added to the class class that it has formed among other computers 108 under the randomly selected other management contributor 106.
  • a search is made by inquiring whether there is any other computer 108 whose cluster status is “free” (step S 105). The search is performed, for example, by randomly selecting several other management computers 106 having a short logical distance starting from the self and sequentially expanding the range. If a candidate computer exists (step S106: Yes), the connection ratio in the master table is examined, the candidate computer is added to the class based on the connection ratio, and information about the candidate computer is stored in the master table. Record (Step S107). Thereafter, the computer / cluster / status of the added candidate computer is updated from “free” to “clustered” (step S 108).
  • the management computer 106 that manages the added candidate computer becomes a slave management computer for the candidate computer 108 and generates a slave table.
  • Figure 12 (b) shows the state when the candidate computer exists. In the example of Fig. 12 (b), it has been added as a candidate computer with two computers 108, and has grown into a class C 14 that has included 108 computers with five computers.
  • the master management computer adds the information of the newly added computer 108 to the mass table.
  • step S106 if there is no candidate computer, Step S 1 0 6: No), the process returns to step S 1 0 5.
  • FIG. 9 is a procedure explanatory diagram showing the growth process of the class evening by the management computer 10 6 that is not the master management computer.
  • the growth of the class evening is realized by the active behavior of the master management computer, but the management computer that is not the master management computer 1 6 You can also access the computer and do it.
  • a management computer 10 6 having a non-classified computer 10 8 under its control makes the computer 1 0 8 available by, for example, contacting another management computer 10 6 selected at random. Search for other clusters that can be added (step S 2 0 1). Then, based on the connection ratio of the destination class evening, it is determined whether or not to add the computer 10 8 belonging to the class evening to the class evening (step S 2 0 2). If it is determined not to be added, the process returns to step S 2 0 1 (step S 2 0 3: No).
  • the computer 1 0 8 becomes a slave management computer for the connection destination class, so a slave table is generated for the computer 1 0 8 and each component (value) is added to this slave table. ) (Step S 2 0 4). Then, the computer 'class computer' status of the computer 10 8 to be added is updated from “free” to “clus tered” (step S 2 0 5). In addition, the mass management table is updated on the master management computer of the added class (step S 2 0 6). This update may be performed by accessing the master management computer from the slave management computer.
  • the state change in the second stage starts with an action by one of the management computers 106 in which a job is submitted by a request from an application or the like.
  • the amount of computation and the time required to execute the job such as the The number of pure evening 1 0 8 is a parameter.
  • This parameter may be automatically generated by the processor of the management computer 106 based on the size of the submitted job, or may be appropriately given by a user using an application or the like.
  • the parameters of the application may be used.
  • FIG. 9 is an explanatory diagram of the cluster usage procedure by the management computer 10 6 to which the job is submitted. Based on the above calculation amount, the management computer 10 6 forms a class size of the required size by referring to the class setting list 20 8 or by querying another management computer.
  • the master management combi- nation that has been set is searched (step S 3 0 1). If found, the master management computer is requested to execute the job (step S 3 0 2: Yes, S 3 0 3). For example, a job execution request is sent to the master management computer by sending a bucket containing the job, the programs and programs required to execute the job, and a specified address for sending the execution result to itself. Do.
  • the master management computer updates the computer 'cluster' status from “idol” or “wait” to "run” for each computer belonging to the class that executes the job. 0 Start job execution by distributed processing.
  • Fig. 1 2 (c) shows a state in which the master management computer that manages the class C 1 4 grown as shown in Fig. 1 2 (b) is executing a job.
  • the job execution result is sent from the master management computer to the requesting management computer.
  • the management computer 10 6 that has received the execution result transmits the execution result to the job submission source (step S 3 0 4: Yes, S 3 0 5).
  • step S 3 0 1 to S 3 0 4 are the processing procedures performed by itself. Also, if it is determined in step S 3 0 2 that it is necessary to execute a job across multiple classes, for example, it is determined that image processing and audio processing need to be executed in separate clusters. In this case, the job management computer that manages each cluster is requested to execute the job.
  • Step S 4 0 1 When the master management computer finishes the job (step S 4 0 1: Yes), the computer cluster status for all computers 1 0 8 in the class that has executed the job up to that point is “f ree”. (Step SS 4 0 2) o Also, the component (value) in the master table for that class is cleared. At the same time, the components (values) of the slave table are cleared through the slave management combi- cation that has the computer belonging to the class evening. That is, all computers are returned to the state before the class setting (step S 4 0 3). As a result, all computers 10 8 belonging to the class evening are in an unoperated state and ready for class evening, and one computer 10 08 is immediately clustered and other The computer 1 0 8 will be added to another class. Figure 12 (d) shows this state.
  • any one of the size, type, and number of jobs to be submitted varies, and a network system with many uncertain elements that is expected to change from moment to moment. Even so, each of the multiple management computers 10 6 behaves as a mass management computer or a slave management computer for each of its affiliated computers 10 8, and the optimal size class. Since evenings are formed and grown, job execution can be assigned to classes of the appropriate size and jobs can be executed effectively. In addition, since it is possible to deal with large-scale processes to very small processes in a uniform manner, it is possible to realize highly flexible distributed combining. In particular, when the process size distribution is a power distribution, the additional ease of use information can be made variable and the class size can also be set to a power distribution, so that the process can be processed most effectively. And increase the use efficiency of computer resources.
  • each computer 1 0 8 has a status table for convenience.
  • the management table 2 0 6 (master table slave table) has been described on the assumption that the management computer 10 6 possesses, but these tables are stored in each computer 1 0 8 and management computer 1 0 6. It only needs to exist in a memory area that can access them.
  • the management computer 10 6 may have a status table of its own computer 10 8, or the server etc. accessible to the table management unit 2 1 2 of the management computer 10 6.
  • the management table 206 may be stored collectively.
  • whether or not to add candidate reviews under the slave management computer to another class is decided by the slave management computer, but the candidate computer is added to the cluster. Whether or not to do so may be determined by the master management computer.
  • the present invention is not limited to the management computer 1 0 6. It is also possible to implement as a network system in which each of a plurality of computers 1 0 8 can directly join and leave.
  • the connection ratio should be recorded in the status table of each computer 108, and the status table should be managed by itself. For example, when adding a self to a class created by other computers 1 0 8, the self computer class class status is updated to “c lus tered”.
  • any of the computers 10 8 has the same function as the management computer 10 6 described above. In other words, when you create a class evening, you create a mass evening table that records the class evening contents.
  • the computer that formed the class 10 8 searches for other candidate computers that are the latest computers in the status table possessed by other computers, class settings, and other additional candidates whose status is “f ree”. , This is the identified weather Decide whether to add an auxiliary computer based on the connection ratio of the class evening.
  • the computer 108 that formed the class evening executes the job in the class evening that has grown in this way, and after the execution ends, the class evening disappears.
  • the present invention can also be implemented as a network system with a plurality of processors or multi-core processors.
  • the internal bus functions as the computer network 104 described above, and either one of the processors or multi-core processors connected to the internal bus or Some may be operated as the management computer 106 described above, and the remaining processors and the like may be operated as the computer 108 described above.
  • the individual multi-core processors themselves illustrated in Fig. 13 (b) can be implemented as a network system.
  • the operation of the management computer 106 described above is realized by one or several cores (processor cores) connected to the internal bus, the input / output control unit (IZO), and the cache memory.
  • the remaining core may be operated as the computer 108 described above.
  • the class evening list that lists the identification information (connection address, etc.) of other clusters associated with the computer belonging to the accessed class evening. Is used.
  • the class evening list is provided, for example, on the master table.
  • FIG 14 shows an example of the contents of the master table in this case.
  • This cell evening table 2 1 6 3 is the same as the master table 2 1 6 1 shown in Fig. 6 (a).
  • the mass evening management computer evening lists the new cluster identification information in the class evening list 2 3 6 9 each time a new class evening is associated with the class evening managed by itself.
  • “association” means that a computer belonging to one class evening and a computer belonging to another class evening are logically connected (contacted) to perform linkage processing.
  • the master management computer reads the identification information of one class evening listed in the class evening list 2 3 6 9 in response to a request from the slave management computer, for example, and notifies the slave management computer of it.
  • this class list 2 3 6 9 may be browsed, for example, by a slave management computer.
  • the reading order from the class evening list 2 3 6 9 may be random or in a predetermined order.
  • the order of listing the class evening identification information to the class evening list 2 3 6 9 may be arbitrary.
  • the order of listing is weighted.
  • the other clusters having higher relevance to the class contents managed by the mass management computer are read out first.
  • the relevance in this case is determined by, for example, the number of accesses between clusters, the number of communications within a predetermined time between classes, the degree of relevance of distributed processing between classes (such as audio processing that should be synchronized with image processing), etc. be able to.
  • the operation mode in the duplication mode is as follows.
  • a plurality of classes C6 to C11 are already formed.
  • Each class C 6 to C 11 has one or more computers (combined evening 10 8, the same shall apply hereinafter).
  • the management computer that created this class evening C 20 is not only a computer belonging to the class evening C 20, but also a number of computers that make it easier to grow other class evenings, that is, candidate computers (Fig. (Not shown) are also managed by the company.
  • candidate computers Fig. (Not shown) are also managed by the company.
  • the management computer that manages the candidate computer—the evening becomes the slave management computer.
  • the management computer that manages cluster C 2 0 searches for class C 7 from clusters C 6 to C 11. Then, an inquiry is made to the mass evening managing management of this class evening C7, and information on the relationship between the class evening C7 and other class evenings in the master table 2 1 6 3 is obtained. In the case of the middle row in Fig. 15, cluster C 7 is related only to class evening C 1 1. Therefore, the management computer managing class C 2 0 adds the candidate computer to cluster C 11 and associates the candidate computer with class C 2 0 (the computer belonging to it) (see the lower part of Fig. 15). ). Also, update the contents of the slave table owned by itself.
  • the master management computer that manages cluster C 1 1 adds the list of newly added computers (candidate computers before addition) to computer table 2 1 6 3 in master table 2 1 6 3.
  • the identification information of class evening C 2 0 is added to the cluster list 2 3 6 9.
  • Fig. 16 (a) shows that when a class C 20 to which a computer newly added to the network system belongs is created, the management computer that manages the class C 20 adds a candidate computer under its control. Suppose that class evening C 1 1 is reached when searching for a destination.
  • the class evening list of class evening C 11 is associated with a plurality of computers in cluster C 1 1 in addition to class evening C 6 and C7, which are related one-to-one with class evening C 11 computers. If C8 and C10 are listed, the candidate computer is added to one of clusters C6, C7, C8, and C10. The same applies to Fig. 16 (b).
  • the recording information in the slave table and the mass evening table is updated in the same manner as in the example shown in FIG.
  • a new class C 20 is added to the network system.
  • the management computer managing the cluster C 20 searches for the addition destination of its own candidate computers, it reaches the class CI 1 until it reaches class C 1. This is the same as the examples in (a) and (b).
  • computers # 1 to # 5 belong, and according to cluster list 2369, computers # 1, # 3 are cluster C10, computers Assume that # 4 is associated with class evening C7, computer # 5 is associated with class evening C6, and combination evening # 2 is not associated with anything.
  • computers # 1, # 3 are cluster C10, computers Assume that # 4 is associated with class evening C7, computer # 5 is associated with class evening C6, and combination evening # 2 is not associated with anything.
  • the reading order of the computer list 2363 is also random, when computer # 1 is selected from the computer list 2363, the class associated with it is selected. In addition, candidate computers are added. When computer # 2 is selected, there is no class associated with it, so it is reselected.
  • the present invention can be applied to a network system for facilitating clustering in which the number of nodes connecting computers, for example, follows a normal distribution or a power distribution. Also, it can be applied to distributed computing in general, which can efficiently execute information processing that varies in size, type, and number of jobs submitted. .

Abstract

 投入されるジョブのサイズ、種類、数が様々で、それらが時々刻々と変化していくことが予想される処理を効率的に実行するネットワークシステムを提供する。 管理コンピュータ106は、自己の傘下のコンピュータ108が他のコンピュータとの接続が可能な状態にあるかどうかを表す接続可否情報と、他のコンピュータとの接続の容易度合いを表す容易性情報とを管理する。そして、自己及び他の管理コンピュータで管理している最新の接続可否情報が接続可を表すコンピュータを探索し、これにより特定されたコンピュータの容易性情報に基づいて当該特定されたコンピュータを包含するクラスタを形成する。クラスタ化されたコンピュータ108についての接続可否情報を接続不能に更新し、ジョブの実行が終了した時点でクラスタに属するすべてのコンピュータ108についての接続可否情報をクラスタ形成前の状態に復帰させる。

Description

明 細 書 ネットワークシステム、 管理コンピュータ、 クラス夕管理方法およびコンビュ一 タプログラム 技術分野
本発明は、 広帯域環境のコンピュータ ·ネットワークに接続される複数のコン ピュー夕によって行われる効率的な分散コンピューティング技術に関する。
より詳しくは、 分散コンピューティングが可能なネットワークシステムおよび その構成要素、 ならびにネットワークにおけるクラス夕管理方法に関する。 発明の背景
今日、 ネットワークに接続された複数のコンピュータが協働して一つのジョブ を分散処理することが一般的になっている。ジョブを分散処理する場合、従来は、 どのコンピュータにどのジョブを割り当てるかを決めるために、 予めネットヮー クに接続可能なすべてのコンピュータの処理能力を把握しているサーバの存在が 不可欠となる。
サーバは、 ジョブの負荷の大きさと、 分散処理を行おうとするときにネットヮ 一夕に接続されている各ユンピュー夕の余剰処理能力 (計算資源) とを特定し、 負荷に応じた余剰処理能力を有するコンピュータを逐次割り当てていき、 その割 り当てたコンピュータからジョブの実行結果を受け取る。
サーバを必要とする従来の分散処理方法では、 任意の時点でネットワークに接 続されたり、 非接続になったりするコンピュータの余剰処理能力を、 サーバにお いて、 迅速に把握することは、 非常に困難である。 また、 サーバが、 ジョブの分 散処理を依頼したコンピュータからその実行結果を受け取って、 ジョブの依頼元 に転送しなければならないため、 サーバのオーバーヘッドが大きくなる。 そのた め、 ジョブの実行に必要な時間と、 ネットワークを介するデータ伝送に必要な時 間とが実質的に増加してしまうという問題がしばしば生じていた。
本発明は、 このような従来の問題点を解決することができる分散処理の仕組み を提供することを、 主たる課題とする。 発明の開示
本発明は、 実行すべきジョブのサイズ、 種類、 数が様々で、 それらが時々刻々 と変化することが予想される情報処理を複数のコンピュータにより効率的に分散 実行することができるネットワークシステムおよびその構成要素、 ならびにクラ ス夕管理方法により、 上記の課題を解決する。
ここにいう 「コンピュータ」 は、 コンピュータプログラムによって動作するプ 口セッサを含む装置をいうが、 装置の形式をとらないデバイス、 プロセッサポー ド、 プロセッサチップ、 あるいはプロセッサ自体も 「コンピュータ」 の概念に含 まれる。 例えば、 マルチプロセッサシステムのような個々のプロセッサも 「コン ピュ一タ」 となり得る。
本発明が提供する第 1構成のネットワークシステムは、 それぞれ、 他のコンビ ユー夕とのクラスタ化が可能な複数のコンピュー夕が自由に参加および離脱する ことができるネットワークシステムである。
このネットワークシステムは、 各々のコンピュータの状態がそれぞれクラス夕 化が可能な状態かどうかを表すクラス夕化可否情報を記録した第 1のテーブルと、 既に一又は複数のコンピュータにより形成されているクラスタが他のコンピュー 夕をどの程度追加し易いかを表す追加容易性情報を記録するための第 2のテープ ルとを含んでいる。
いずれかの前記コンピュータは、 前記第 1のテーブルのクラスタ化可否情報が クラスタ化可能の状態を表す自己および他のコンピュータを含んだクラス夕を形 成するとともに、 形成したクラスタに含まれるすべてのコンピュータについての 前記クラスタ化可否情報を、 クラス夕化不能の状態を表す情報に更新し、 さらに 形成したクラス夕についての前記追加容易性情報を前記第 2テーブルに記録する クラスタ形成手段を有している。また、クラスタを形成した前記コンピュータは、 当該クラス夕への追加候補となる候補コンピュータが存在するときに当該候補コ ンピュー夕を前記クラス夕に追加するかどうかを前記第 2のテ一ブルに記録され ている追加容易性情報に基づいて決定するクラスタ成長手段を有するものである。 このような構成のネットワークシステムでは、 いずれかのコンピュータが、 第 1のテーブルに記録されている個々のコンピュータのクラスタ化可否情報をもと に自律的にクラス夕を形成し、 そのクラス夕における追加容易性情報を第 2のテ —ブルに記録する。 クラス夕に含めるコンピュータの数は、 クラス夕が形成され たタイミングで定まるデフォルト数であっても良く、 実際に投入された、 あるい は、 近い将来投入が予想されるジョブのサイズ等に応じてフレキシカレに定まる 数であっても良い。 いずれにしても、 クラスタ化可否情報がクラスタ化可能な状 態であるコンピュータが選定されてクラスタが形成される。
クラス夕が形成された後、 追加候補となる候補コンピュータがあるときは、 そ のクラス夕を形成したコンピュータが、 第 2テーブルに記録されている追加容易 性情報に基づいてその候補コンピュータをクラスタに追加するかどうかを決定す る。 '
追加容易性情報は、 クラス夕を形成したコンピュータが、 候補コンピュータを 追加することが適切かどうかを自律的に決定するための情報であって、 様々な種 類の情報を用いることができる。 最先に追加を申し込んだいくつかのコンピュー 夕のみを追加させる、 乱数により発生した番号を識別情報とするコンピュータの みを追加させる · · ' といった条件等も追加容易性情報として採用することがで きる。 但し、 追加させるかどうかの決定の処理を簡略化する観点からは、 追加の し易さといつた尺度を数値により定量化しておき、 この数値との大小比較を行え るようにして、 数値が高くなるほど候補コンピュータを当該クラス夕へ追加させ 易くするようにすることが望ましい。 この場合の数値は、 一例を挙げれば、 不定 期に発生する 5回の追加可否の問い合わせに対して 1回だけランダムに応答して 追加を認める (この場合の数値は 1 5: 2 0 %となる)、 合計で 1日のシステム 運用時間の 1 0 %の時間帯の受付分だけ、 候補コンピュータの追加を認める (こ の場合の数値は 2 4 (時間) X 6 0 (分) X 6 0 (秒) X 0 . 1 X (確率値) となる) という類のものである。
なお、 数値は、 候補コンピュータの追加に拘わらず、 一定値に保持させるよう にしても良いし、 第 2のテーブルに記録した後に変動可能にしても良い。 数値を 変動可能にする場合は、 候補コンピュータをクラス夕に追加したことを契機に変 動させることにより、 候補 gンピュー夕が集まり易いクラス夕は、 ざらに他の候 補コンピュータを集めやすくなり、 実際の需要に即したサイズのクラスタを容易 に形成できるようになり易いという利点が生じる。
このようにして、 候補コンピュー夕がクラスタに逐次追加されることにより、 搽々なサイズのクラス夕がネットワークシステムの複数のコンピュータ上で形成 され、 成長していく。 そのため、 実行すべきジョブのサイズ、 種類、 数が様々で、 それらが時々刻々と変化していくことが予想される情報処理を効率的に実行する ことができる分散コンビユーティングが実現され、 従来の問題点が解消される。 第 1構成のネットワークシステムにおける、 ある実施の態様では、 クラスタを 形成したコンピュータが、 当該クラスタによるジョブの実行が終了した時点で当 該クラスタを消滅させるとともに、 前記第 2のテーブルに記録されている前記追 加容易性情報および消滅したクラスタに所属していたすべてのコンピュー夕につ いて前記第 1のテーブルに記録されていたクラスタ化可否情報をクラス夕形成前 の状態に復帰させるクラス夕消滅手段をさらに有している。
クラスタは、 ジョブが実行されるまでは、 上述した追加容易性情報に基づいて 成長するが、 ジョブの実行が終了した時点で消滅するので、 固定的にクラス夕を 用意しておく場合に比べて、 コンピュータの有効活用が図れるようになる。 本発明が提供する第 2構成のネットワークシステムは、 それぞれ、 他のコンビ ユー夕とのクラス夕化が可能な一又は複数のコンピュータを自己の傘下とする複 数の管理コンピュータが自由に参加および離脱することができるネットワークシ ステムである。
「一又は複数のコンピュータを自己の傘下のコンピュータとして管理する」 と は、 自己に接続されている複数のコンピュータの動作を制御するとともに、 それ らの動作状態を監視することをいう。
このネットワークシステムにおいて、 各々のコンピュータの状態がそれぞれク ラスタ化が可能な状態かどうかを表すクラス夕化可否情報を記録した第 1のテー ブルと、 既に一又は複数のコンピュー夕により形成されたクラス夕が他のコンビ ュ一夕をどの程度追加し易いかを表す追加容易性情報を記録した第 2のテーブル とを含んでいる。 また、 少なくとも一つの前記管理コンピュータは、 自己の傘下にあるコンビュ
—夕および他の管理コンピュータの傘下にあるコンピュータのうち前記第 1のテ 一ブルのクラスタ化可否情報がクラス夕化可能の状態を表すコンピュータを含ん だクラスタを形成するとともに、 形成したクラス夕に含まれるすべてのコンビュ 一夕についての前記クラス夕化可否情報をクラスタ化不能の状態を表す情報に更 新するクラスタ形成手段を有している。 さらに、 クラス夕を形成した前記管理コ ンピュー夕は、 追加候補となる候補コンピュータが存在するときに当該候補コン ピュー夕を前記クラス夕に追加するかどうかを前記第 2のテーブルに記録されて いる追加容易性情報に基づいて決定するクラス夕成長手段を有している。
このような構成のネットワークシステムでは、いずれかの管理コンピュータが、 第 1のテーブルに記録されているコンビユ^"夕のクラス夕化可否情報をもとに自 律的にクラスタを形成し、 そのクラスタにおける追加容易性情報を第 2のテープ ルに記録する。 クラス夕が形成された後、 追加候補となる候補コンピュータがあ るときは、 そのクラス夕を形成した管理コンピュータが、 第 2テーブルに記録さ れている追加容易性情報に基づいてその候補コンピュータをクラス夕に追加する かどうかを決定する。 クラス夕化可否情報、 追加容易性情報の扱い、 クラス夕化、 クラスタ成長の際の基準は、 第 1構成のネッ卜ワークシステムと同じである。 第 2構成のネットワークシステムにおける、 ある実施の態様では、 前記管理コ ンピュー夕は、 前記形成したクラス夕によるジョブの実行が終了した時点で当該 クラスタを消滅させるとともに、 前記第 2のテーブルおよび消滅したクラス夕に 所属していたすベてのコンピュータについての前記第 1のテーブルの記録情報を クラスタ形成前の状態に復帰させるクラス夕消滅手段をさらに有するものである。 クラス夕は、 ジョブが実行されるまでは、 上述した追加容易性情報に基づいて 成長するが、 ジョブの実行が終了した時点で消滅するので、 固定的にクラス夕を 用意しておく場合に比べて、 コンピュータの有効活用が図れるようになる。
第 2構成のネットワークシステムにおいて、 第 2のテーブルは、 任意の箇所に 存在しても良いが、 通常は、 第 2のテーブルを生成することになるいずれかの管 理コンピュータが保有することになる。 この場合、 その管理コンピュータは、 最 大で自己の傘下にあるコンピュータの数の前記第 2のテーブルを保有することに なる。
第 2テーブルは、 それを保有する管理コンピュータが自己の傘下にある第 1コ ンピュー夕を含む第 1クラス夕を形成するときに当該第 1コンピュータ用として 生成するマスターテーブルと、 それを保有する管理コンピュータが、 他の管理コ ンピュー夕が形成した第 2クラス夕に追加される、 自己の傘下にある第 2コンビ ユー夕の動作を監視制御するときには当該第 2コンピュータ用に生成するスレ一 ブテ一ブルのいずれかを少なくとも含む。 追加容易性情報はマスターテーブルに 記録される。 マスターテーブルを保有する管理コンピュータは、 第 1クラスタの 形成、 第 1クラス夕内のコンピュータ数の変更並びに第 1クラス夕の消滅に関わ る情報処理を主導的に行うマスター管理コンピュータとして振る舞い、 スレーブ テーブルを保有する管理コンピュータは、 第 2クラス夕に対するスレーブ管理コ ンピュー夕として振る舞う。
クラスタ化を促進する観点からは、 マスター管理コンピュータは、 いずれかの 管理コンピュータに対してクラスタ化可能状態のコンピュータがあるかどうかを 問い合わせることにより第 1クラス夕に追加させるための候補コンピュータを探 索する探索手段を有するものとする。 また、 いずれかの管理コンピュータは、 マ ス夕一管理コンピュータにより形成された第 1クラスタについての前記追加容易 性情報に基づいて自己の傘下の候補コンピュータを当該第 1クラスタに追加させ るかどうかを決定するように構成する。
本発明が提供する第 3構成のネットワークシステムは、 それぞれ、 他のコンビ ユー夕とのクラス夕化が可能な複数のコンピュ一夕が自由に参加および離脱する ことができるネットワークシステムであって;既に一又は複数のコンピュータに より形成されているクラスタ毎に、 当該クラス夕に所属するコンピュータが関係 付けられている他のクラスタの識別情報をリストアップしたテーブルを含み;ク ラス夕を形成した前記コンピュータは、 追加候補となる候補コンピュータが存在 するときに当該候補コンピュータを自己のクラス夕に関係付けられている他のク ラスタに追加するかどうかを前記テーブルにリストアツプされた識別情報に基づ いて決定するクラス夕成長手段を有しているネットワークシステムである。 「関 係付けられている」 とは、 例えば互いに連絡が可能で連携処理等ができる状態を いう。 このような構成のネットワークシステムでは、 追加容易性情報によらずと もべキ分布に従うクラスタリングが可能になる。
本発明は、 また、 例えば上記第 2構成のネットワークシステムを構成するため の管理コンピュータを提供することにより、 上記課題の解決を図る。
この管理コンピュータは、 それぞれ、 他のコンピュータとのクラスタ化が可能 な一又は複数のコンピュータを自己の傘下とする管理コンピュータであって;他 の同種機能を有する管理コンピュー夕と共に自由に参加および離脱することがで きるコンピュータネットワークに接続するためのネットワーク接続手段と;各々 のコンピュータの状態がそれぞれクラス夕化が可能な状態かどうかを表すクラス 夕化可否情報を記録した第 1のテーカレ、 および、 既に一又は複数のコンピュー 夕により形成されたクラスタが他のコンピュータをどの程度追加し易いかを表す 追加容易性情報を記録するための第 2のテーブルへのアクセスを可能にするテ一 ブル管理手段と; 自己の傘下にある前記コンピュータおよび他の管理コンピュー 夕の傘下にある前記コンピュータのうち前記第 1のテーブルのクラス夕化可否情 報がクラス夕化可能の状態を表すコンピュータを含んだクラスタを形成するとと もに、 形成したクラス夕に含まれるすべてのコンピュータについての前記クラス 夕化可否情報をクラスタ化不能の状態を表す情報に更新し、 さらに、 当該クラス 夕についての前記追加容易性情報を前記第 2のテーブルに記録するクラス夕形成 手段と;追加候補となる候補コンピュータが存在するときに当該候補コンビユー 夕を前記クラス夕に追加するかどうかを前記第 2のテーブルに記録されている追 加容易性情報に基づいて決定するクラスタ成長手段と;を有するものである。 前 記形成したクラス夕によるジョブの実行が終了した時点で当該クラス夕を消滅さ せるとともに、 前記第 2のテーブルに記録されている追加容易性情報および消滅 したクラス夕に所属していたすベてのコンピュータについて前記第 1のテーブル に記録されているクラスタ化可否情報をクラスタ形成前の状態に復帰させるクラ ス夕消滅手段をさらに有するものとすることもできる。
本発明は、 また、 例えば上記の第 1構成および第 3構成のネットワークシステ ムに含まれる複数のコンピュータにより実行されるクラスタ管理方法により、 上 記課題の解決を図る。 第 1のクラス夕管理方法は、 それぞれ、 他のコンピュータとのクラスタ化が可 能な複数のコンピュータが自由に参加および離脱することができるネットワーク システムにおけるクラス夕管理方法であって;各コンピュータが、 それぞれ自己 の状態がクラス夕化が可能な状態かどうかを表すクラス夕化可否情報を第 1のテ 一ブルに記録する段階と;いずれかのコンピュータが、 自己と前記第 1のテープ ルのクラス夕化可否情報がクラスタ化可能の状態を表す他のコンピュータとを含 んだクラス夕を形成するとともに、 形成したクラス夕に含まれるすべてのコンビ ユー夕についての前記クラス夕化可否情報をクラス夕化不能の状態を表す情報に 更新し、 さらに、 当該クラスタが他のコンピュータをどの程度追加し易いかを表 す追加容易性情報を第 2のテーブルに記録する段階と;追加候補となる候補コン ピュー夕が存在するときに当該候補コンピュータを前記クラスタに追加するかど うかを前記第 2のテーブルに記録されている追加容易性情報に基づいて決定する 段階と;を有するクラス夕管理方法である。
前記クラス夕を形成したコンピュータが、 前記形成したクラス夕によるジョブ の実行が終了した時点で当該クラスタを消滅させるとともに、 前記第 2のテープ ルおよび消滅したクラス夕に所属していたすベてのコンピュータについての前記 第 1のテーブルの記録情報をクラス夕形成前の状態に復帰させる段階とをさらに 含めることもできる。
第 2のクラスタ管理方法は、 それぞれ、 他のコンピュータとのクラス夕化が可 能な複数のコンピュータが自由に参加および離脱することができるネットワーク システムにおけるクラス夕管理方法であって;既に一又は複数のコンピュータに よりクラスタを形成したコンピュータが、 当該クラス夕に所属するコンピュータ が関係付けられている他のクラス夕の識別情報を所定のテーブルにリストアップ する段階と;クラスタを形成した前記コンピュータが、 追加候補となる候補コン ピュー夕が存在するときに当該候補コンピュータを当該クラス夕と関係付けられ ている他のクラスタに追加するかどうかを前記テーブルに記録されている識別情 報に基づいて決定する段階と;を有する、 クラスタ管理方法である。
本発明は、 また、 コンピュータに所定の機能を付与するためのコンピュータプ ログラムを提供することにより、 上記課題の解決を図る。 第 1のコンピュータプログラムは、 それぞれ、 他のコンピュータとのクラスタ 化が可能な複数のコンピュータが自由に参加および離脱することができるネット ワークシステムにおけるいずれかのコンピュータに読み取られて実行されること により当該コンピュータを、 各々のコンピュータの状態がそれぞれクラスタ化が 可能な状態かどうかを表すクラスタ化可否情報を記録した第 1のテーブル、 およ び、 既に一又は複数のコンピュータにより形成されたクラスタが他のコンビユー タをどの程度追加し易いかを表す追加容易性情報を記録するための第 2のテープ ルへのアクセスを可能にするテーブル管理手段;前記第 1のテーブルのクラスタ 化可否情報がクラスタ化可能の状態を表す自己および他のコンピュータを含んだ クラスタを形成するとともに、 形成したクラス夕に含まれるすべてのコンビユー 夕についての前記第 1のテーブルのクラス夕化可否情報をクラスタ化不能の状態 を表す情報に更新し、 さらに、 当該クラスタについての前記追加容易性情報を前 記第 2のテーブルに記録するクラス夕形成手段;追加候補となる候補コンピュー 夕が存在するときに当該候補コンピュータを前記クラスタに追加するかどうかを 前記第 2のテーブルに記録されている追加容易性情報に基づいて決定するクラス 夕成長手段として機能させるためのコンピュータプログラムである。
第 2のコンピュータプログラムは、 それぞれ他のコンピュータとのクラスタ化 が可能な一又は複数のコンピュータを自己の傘下とする管理コンピュータに読み 取られて実行されることにより、 前記管理コンピュータを;他の同種機能を有す る管理コンピュータと共に自由に参加および離脱することができるコンピュータ ネットワークに接続するためのネットワーク接続手段;各々のコンピュータの状 態がそれぞれクラス夕化が可能な状態かどうかを表すクラス夕化可否情報を記録 した第 1のテーブル、 および、 既に一又は複数のコンピュータにより形成された クラス夕が他のコンピュータをどの程度追加し易いかを表す追加容易性情報を記 録するための第 2のテーブルへのアクセスを可能にするテーブル管理手段; 自己 の傘下にある前記コンピュータおよび他の管理コンピュータの傘下にある前記コ ンピュー夕のうち前記第 1のテーブルのクラス夕化可否情報がクラス夕化可能の 状態を表すコンピュータを含んだクラス夕を形成するとともに、 形成したクラス 夕に含まれるすべてのコンピュータについての前記クラスタ化可否情報をクラス 夕化不能の状態を表す情報に更新し、 さらに、 当該クラス夕についての前記追加 容易性情報を前記第 2のテーブルに記録するクラス夕形成手段;追加候補となる 候補コンピュータが存在するときに当該候補コンピュータを前記クラス夕に追加 するかどうかを前記第 2のテーブルに記録されている追加容易性情報に基づいて 決定するクラス夕成長手段; として機能させるためのコンピュータプログラムで ある。
第 3のコンピュータプログラムは、 それぞれ、 他のコンピュータとのクラス夕 化が可能な複数のコンピュータが自由に参加および離脱することができるネット ワークシステムにおけるいずれかのコンピュータに読み取られて実行されること により、 当該コンピュータを、 既に一又は複数のコンピュータによりクラス夕を 形成したときに当該クラスタに所属するコンピュータが関係付けられている他の クラス夕の識別情報を所定のテーブルにリストアップするクラスタ管理手段と、 追加候補となる候補コンピュータが存在するときに当該候補コンピュータを自己 のクラスタに関係付けられている他のクラス夕に追加するかどうかを前記テープ ルにリストアップされた識別情報に基づいて決定するクラス夕成長手段; として 機能させるためのコンピュータプログラムである。
これらのコンピュータプログラムは、 可搬性の記録媒体に記録されて市場を流 通し、 あるいは、 コンピュータまたは管理コンピュータがアクセス可能なコンビ ユータネットワークを通じてプログラムサーバ等からダウンロードされる。
本発明によれば、 様々なサイズのクラス夕がネットワークシステムの複数のコ ンピュー夕のいずれかにおいて形成され、 それが所定のテーブルの記録情報に基 づいて成長していくので、任意のサイズのクラス夕を容易に得られるようになる。 そのため、 実行すべきジョブのサイズ、 種類、 数が様々で、 それらのいずれかが 時々刻々と変化していくことが予想される不確実性の情報処理であっても、 それ を効率的に実行することができる分散コンピューティングが実現されるという、 特有の効果が得られる。 図面の簡単な説明
図 1は、 本発明が適用されるネットワークシステムの全体図である。 図 2は、 本実施形態による管理コンピュータの概要アーキテクチャを示す図で ある。
図 3は、 大規模情報処理統合体の説明図である。
図 4は、 本実施形態による管理コンピュー夕の機能構成図である。
図 5は、 リンクの数を横軸に、 リンク数を持つノード数を縦軸にしてプロット した実測図であり、 (a) は、 ランダムに接続した場合の例、 (b) は選択的接続 した場合の例である。
図 6 (a) はマスターテーブル、 図 6 (b) はスレーブテーブルの内容例を示 した図である。
図 7は、 本実施形態による分散コンピューティングの概要手順図である。 図 8は、 管理コンピュータによるクラスタの形成、 成長の手順説明図である。 図 9は、 管理コンピュータによるクラスタの形成、 成長の手順説明図である。 図 10は、 管理コンピュータによるジョブの投入、 実行の手順説明図である。 図 11は、 管理コンピュータによるクラスタ消滅時の処理手順説明図である。 図 12 (a) 〜 (d) は、 本実施形態によるクラス夕の形成、 成長、 消滅の過 程を示した説明図である。
図 13 (a) はマルチプロセッサにより実現されるネットワークシステムの概 要図、 図 13 (b) はマルチ ·コア 'プロセッサ単体により実現されるネットヮ ークシステムの概要図である。
図 14は、 デュープリケーシヨンモードで使用されるマスターテーブルの内容 例を示した図である。
図 15は、 デュープリケーシヨンモードでの運用形態例を示した図である。 図 16 (a)、 (b) はデュープリケーシヨンモードでの他の運用形態例を示し た図である。
図 17は、デュープリケ一シヨンモードでの他の運用形態例を示した図である。 発明を実施するための最良の形態
ぐネットワークシステムのアーキテクチャ >
まず、本発明が適用されるネッ卜ワークシステムのアーキテクチャを説明する。 図 1は、 本発明が適用されるネットワークシステム 1 0 1の全体図である。 こ のネットワークシステム 1 0 1は、 コンピュータ ·ネットワーク 1 0 4を含んで いる。 コンピュータ 'ネットワーク 1 0 4の例としては、 ローカル 'エリア 'ネ ットワーク(L AN)、 インターネットのようなグローバルネットワーク、 あるい は他のコンピュータ ·ネットワークが挙げられる。
コンピュータ ·ネットワーク 1 0 4には、 一又は複数のコンピュータを自己の 傘下とする管理コンピュー夕 1 0 6が、 それぞれ任意のタイミングで接続するこ とができる。 各管理コンピュータ 1 0 6は、 それぞれ、 他の管理コンピュータ 1 0 6、 および、 他の管理コンピュータ 1 0 6の傘下にある他のコンピュータ 1 0 8との間で双方向の通信を行うことができる。 各コンピュータ 1 0 8は、 何時で も、 いずれかの管理コンピュータ 1 0 6の傘下になることができる。 つまり、 こ れらのコンピュータ 1 0 6、 1 0 8は、 ネットワークシステム 1 0 1に、 何時で も自由に離脱できる形態で参加できるようになつている。
この実施形態にいう 「コンピュータ」 は、 コンピュータプログラムによって動 作するプロセッサを含む装置をいうが、 装置の形式をとらないデバイス、 プロセ ッサボ一ド、 あるいはこれらの集合も 「コンピュータ」 の概念に含まれる。 また、 「一又は複数のコンピュータ 1 0 8を傘下とする」 とは、 自己に接続されている 複数のコンピュータ 1 0 8の動作を制御するとともに、 それらの動作状態を監視 することをいう。
管理コンピュータ 1 0 6の例としては、 サーバ機能を有するコンピュータ、 通 信機能付のゲームコンソール、 コンピューティングデバイス、 プロセッサボード などが含まれる。
管理コンピュータ 1 0 6の傘下にあるコンピュータ 1 0 8の例としては、 パー ソナルコンピュータ、 通信機能付のゲームコンソール及びその他の有線または無 線コンピュータ、 コンピューティング 'デバイス、 プロセッサボードなどが含ま れる。
管理コンピュータ 1 0 6へのコンピュータ 1 0 8の接続形態は様々である。 例 えば、 図 1に示されるように、 コンピュータ ·ネットワーク 1 0 4に接続された 管理コンピュータ 1 0 6を中心に複数のコンピュータ 1 0 8が直接接続されるス 夕一接続型、 管理コンピュータ 1 0 6が接続されている構内ネットワークを介し て複数のコンピュータ 1 0 8が接続される構内ネットワーク型、 コンピュータ · ネットワーク 1 0 4を介して複数のコンピュータ 1 0 8が管理コンピュータ 1 0 6に接続される広域ネットワーク型等が挙げられる。
構内ネットワーク型における構内ネットワークの種類も様々であり、 コンビュ —夕 ·ネットワーク 1 0 4とダイレク卜に接続されたネットワークもあれば、 コ ンピュー夕 ·ネットワーク 1 0 4とは管理コンピュータ 1 0 6を介して接続され るネットワークもある。
各管理コンピュータ 1 0 6は、 図 2に示されるように、 バス B 1 1を通じて相 互に接続されたハードディスク等のストレージ装置 1 0 6 1、通信装置 1 0 6 3、 半導体メモリ 1 0 6 5、 プロセッサ 1 0 6 7を含んでいる。 このようなハードウ エア資源を有する管理コンピュータ 1 0 6は、 C D— R OM等の記録媒体を通じ て半導体メモリ 1 0 6 5にロードされたコンピュータプログラムをプロセッサ 1 0 6 7が読み取って実行することにより、 図 4に示されるように、 ストレ一ジ装 置 1 0 6 1に、 後述する複数の管理テーブル 2 0 6を格納するとともに、 テープ ル管理部 2 1 2、 クラス夕管理部 2 1 6、 通信制御部 2 3 6、 およびジョブ実行 部 2 5 6の機能をコンピュータ本体内に構築する。
テーブル管理部 2 1 2は、 管理テーブル 2 0 6にアクセスして、 その管理テー ブル 2 0 6の記録内容を更新させる。 クラス夕管理部 2 1 6は、 自己の傘下のコ ンピュ一夕 1 0 8および他の管理コンピュータ 1 0 6の傘下にあるコンピュータ 1 0 8が所属するクラス夕の形成 ·成長 ·消滅に関わる情報処理を行う。 つまり、 クラスタ管理部 2 1 6は、 クラス夕の状態変化に応じて、 クラスタ形成手段、 ク ラス夕成長手段、 クラスタ消滅手段として機能する。
通信制御部 2 3 6は、 通信装置 1 0 6 3を通じて、 自己の傘下のコンピュータ 1 0 8および他の管理コンピュータ 1 0 6との間の通信を可能にする。 ジョブ実 行部 2 5 6は、 自己の傘下のコンピュータ 1 0 8を含むクラス夕にジョブを投入 し、 それを実行させる。 ジョブ実行部 2 5 6には、 最適なクラスタのサイズ、 つ まりコンピュータ数の特定を容易にするために、 ジョブのサイズ、 処理時間等を 計算する機能を持たせるようにしても良い。 コンピュータ 1 0 8は、 管理コンピュータ 1 0 6と同様のストレージ装置、 通 信装置、 半導体メモリおよびプロセッサを有している。 この実施形態では、 スト レ一ジ装置に、 後述するステータステーブルを格納する。 また、 C D— R OM等 の記録媒体を通じて半導体メモリにロードされたコンピュータプログラムをプロ セッサが読み取って実行することにより、 クラス夕管理およびジョブの実行に関 する種々の機能をコンピュータ本体内に構築する。 望ましくは、 他のコンビユー 夕 1 0 8と命令セット ·アーキテクチャ S A)がすべて同じ、 あるいは同じと みなされるもので、同じ命令セッ卜に従って所要の処理を実行できるものとする。 各管理コンピュータ 1 0 6における傘下のコンピュータ 1 0 8の数は、 任意で ある。 ある管理コンピュータ 1 0 6では、 各種アプリケーションによって与えら れるジョブを実行する上で必要な処理能力によって、 コンピュータ 1 0 8の数が 割り当てられている。
管理コンピュータ 1 0 6の傘下にある複数のコンピュータ 1 0 8における I S Aがそれぞれ同一あるいは同一とみなされる場合には、 管理コンピュータ 1 0 6 あるいはネットワークシステム 1 0 1におけるアダプタピリティを飛躍的に改善 することができる。
各管理コンピュータ 1 0 6は、 各々自己の傘下のコンピュータ 1 0 8又は他の 管理コンピュータ 1 0 6の傘下のコンピュータ 1 0 8のうち 1つまたはそれ以上 を含んでクラス夕を形成し、 クラス夕単位でジョブを実行できるようにする。 自 己の傘下のコンピュータ 1 0 8と他の管理コンピュータ 1 0 6の傘下のコンビュ 一夕 1 0 8との間には、 少なくとも一つのクラス夕を形成する上での性能上の相 違、 制約等は存在しない。 このように扱うことにより、 ジョブは、 どの管理コン ピュー夕 1 0 6のどのコンピュータ 1 0 8において実行するかは、 さほど重要で なくなる。 ジョブの実行結果の受け取り先を、 ジョブを依頼した管理コンビユー 夕 1 0 6、 その傘下のコンピュータ 1 0 8あるいは後続のジョブを実行する任意 のコンピュータ 1 0 8として指定するだけで足りるようになる。 そのため、 個々 のジョブは、 コンピュータ ·ネットワーク 1 0 4に接続されている複数の管理コ ンピュー夕 1 0 6の傘下のコンピュータ 1 0 8の間で分散実行することが容易に なる。 上記のように各コンピュータ 1 0 8が、 すべて同じ、 あるいは同じとみなされ る I S Aを有するものとする場合は、 コンピュータ 1 0 8間の互換性を達成する ためのソフトウエアの追加層の計算上の負担も回避されるし、 異質なコンビユー 夕 ·ネットワークの混在という問題の多くを防ぐことができる。 そのため、 用途 に応じて、 そのようなネッ卜ワークシステム 1 0 1を構成するのが望ましい。 こ のようなネッ卜ワークシステム 1 0 1では、 コンピュータ ·ネットワーク 1 0 4 に接続されている複数の管理コンピュータ 1 0 6およびコンピュータ 1 0 8間の アーキテクチャの相違は吸収され、 図 3に示されるように、 各管理コンピュータ 1 0 6の傘下にある多数のコンピュータ 1 0 8の各々があたかも情報処理の細胞 (Cel l) のように機能する、 広帯域処理の実現が可能な大規模情報処理統合体 W 〇が形成される。
大規模情報処理統合体 WOにおける個々のコンピュータ 1 0 8は、 物理的には 自己が所属する管理コンピュータ 1 0 6によって管理され、 単独のコンピュータ として動作したり、 その管理コンピュータ 1 0 6の傘下にある他のコンピュータ 1 0 8と共にクラス夕化されて協働で動作したりする。 しかし、 論理的には、 管 理コンピュータ 1 0 6による壁はなく、 異なる管理コンピュータ 1 0 6の傘下の 他のコンピュータ 1 0 8との間でのクラス夕化も可能である。 このような形態で クラス夕化される場合、 一つのジョブを同じクラス夕に属する複数のコンビユー 夕 1 0 8で分散実行することができる。
<分散コンピューティング〉
本発明は、 上記のネットワークシステム 1 0 1のアーキテクチャを利用した効 率的な分散コンピューティングの仕組みを提供する。 このような仕組みを可能に するため、 本発明では、 例えば図 3に示した大規模情報処理統合体 WOのような ネットワークを構成する複数のコンピュータ 1 0 8の各々がノードとなり、 少数 のノードからスタートして時間の経過と共にノード数が増加する「成長」、 ノード 間のリンクの接続手法としての 「選択的接続」 とを繰り返すことができるように する。
「選択的接続」 とは、 新たにネットワークに参加したノードがリンクを張る際 に、 リンク先のノードを選ぶ基準として、 より多くのリンクを既に持っているノ ードに、 より接続しやすくなるいうものである。 成長と選択的接続の 2つの特徴 により、ネッ卜ワークは、成長しながらスケールフリーの性質を持つようになる。 このような成長と選択的接続の繰り返しにより、 ノードの持つリンク数の分布が べキ分布になることは、 例えば、 Albert Barabasi, Reka Albert, Hawoong "Mean - field theory for scale-free random networks"に詳細に示されている。
図 5は、 ノードをランダムに接続した場合と、 選択的接続した場合のノードが 持つリンクの数を横軸に、 そのリンク数を持つノード数を縦軸にして、 実測値を プロットしたグラフである。 図 5 (a) は、 ノードをランダムに接続した場合の 例である。 この例の場合は、 典型的なリンク数をもつ代表的なノードというもの が現れる。 図 5 (b) は、 選択的接続した場合の例であり、 代表的なノードが現 れず、 リンク数は、 広い範囲に拡がる。 つまり、 典型的なスケールが現れないと いう意味で、 スケールフリーと称される。 図 5 (b) の分布は、 以下のように表 され、両対数のグラフで書くと、直線になるような非常に裾野の広い分布となる。
P (k) -AK " (_ r) · · · (1)
但し、 k : リンク数、 P (k) :ノード数
本発明は、 上記の 2つの特徴を応用し、 個々のノードをクラス夕と解釈し、 リ ンクは、 互いに結ばれたノードに相当するクラスタに含まれる 2つのコンビユー 夕 108であると解釈する。 これにより、 任意の分布、 もちろん、 図 5 (b) に 示したべキ分布をもつことも可能な形態でクラスタリングを行い、 これにより、 効率的な分散コンピューティングを可能にするものである。 このようにして成長 していくネットワークでは、 リンク数は、 クラス夕に含まれるコンピュータ 10 8の数、 つまりクラス夕サイズ、 あるいはクラス夕の計算能力となる。 横軸にク ラスタに含まれるコンピュータ 108の数、 縦軸にクラス夕の数又はクラスタ化 の頻度をプロットすると、 それは、 図 5 (b) に示したべキ分布と類似した分布 になるはずである。
以下、 上記のようなクラスタリングを可能にするには、 個々のコンピュータ 1 08がどのように動作し、 各管理コンピュータ 106がどのようにコンピュータ 108又は他の同種の管理コンピュータ 106の動作を監視制御していったら良 いかを述べる。 個々のコンピュータ 1 0 8は、 現在、 自己の状態がクラス夕化が可能な状態に あるかどうかを表すコンピュータ ·クラス夕 'ステータス (クラスタ化可否情報) により管理される。 コンピュータ 'クラス夕 'ステータスは、 ステータステープ ルに記録され、 コンピュータ 1 0 8の状態の変化に追随して、 当該コンピュータ 1 0 8又はそれを傘下として管理する管理コンピュータ 1 0 6により更新される。 ステータステーブルは、 コンピュータ 1 0 8又は管理コンピュータ 1 0 6がァク セス可能な任意のメモリ領域に存在すれば足りるが、 コンピュータ 1 0 8のスト レージ装置に設けるようにしても良い。
ステータステーブルに記録されるコンピュータ ·クラス夕 ·ステータスの例と して、本実施形態では、 「c lus tered」、 「run」、 「free」の 3種類の情報を用いる。 「c lus tered」は既にクラスタ化されており、現在はジョブの実行を待っているコ ンピュー夕であることを示す。 「run」 はジョブを実行中のコンピュータであるこ とを示す。 「f ree」 は未稼働状態にあるコンピュータであることを示す。 「c lus tered」、 「run」 のときは、 そのコンピュータ 1 0 8はクラス夕化ができな い。そのため、 「c lus tered」、 「run」 は、 クラスタ化不能の状態を表す情報となる。 他方、 「free」 はクラス夕化可能の状態を表す情報となる。
管理コンピュータ 1 0 6の役割の一つは、 上述したように、 自己の傘下のコン ピュータ 1 0 8を管理することにある。 管理テーブル 2 0 6は、 そのために用い られる。 上述したように、 管理テーブル 2 0 6は、 例えば当該管理コンピュータ 1 0 6が有するストレージ装置 1 0 6 1に格納される。 この管理コンピュータ 1 0 6は、 最大で、 自己の傘下にあるコンピュータ 1 0 8の数だけの管理テーブル 2 0 6を有する。
管理テーブル 2 0 6には、 2種類ある。 ある種類に分類される管理テーブル 2 0 6は、 管理コンピュータ 1 0 6が、 初めに自己の傘下のコンピュータ 1 0 8を 含むクラスタを形成する際にそのクラス夕の状態に関する情報を記録するための 「マス夕テーブル」 である。 もう 1つは、 他の管理コンピュータ 1 0 6により形 成されるクラスタに追加されるコンピュータ 1 0 8があるときに、 そのクラス夕 の状態に関する情報を記録するための 「スレーブテーブル」 である。
管理コンピュータ 1 0 6は、 マスターテーブルにより自己が管理するクラス夕 に含まれるコンピュータ 1 0 8を監視制御するときは 「マスター管理コンビュ一 夕」 として振る舞う。 他方、 スレーブテーブルにより他の管理コンピュータ 1 0 6が管理するクラスタに属する自己の傘下のコンピュータ 1 0 8を監視制御する ときは、 「スレーブ管理コンピュータ」 として振る舞う。 つまり、 1つの管理コン ピュー夕 1 0 6でありながら、 最大で、 自己の傘下のコンピュータ 1 0 8の数だ けの種類の管理コンピュー夕として振る舞うことになる。
マスターテーブルは、 マスター管理コンピュータとして振る舞う管理コンビュ 一夕 1 0 6が生成し、 スレーブテーブルは、 スレーブ管理コンピュータとして振 る舞う管理コンピュータ 1 0 6が生成する。 スレーブテーブルが存在するという ことは、 それに対応するマスターテーブルがどこかの管理コンピュータ 1 0 6に 存在していることを意味する。
ここで、 本実施形態におけるマス夕一テーブルとスレーブテーブルの内容例を 具体的に説明する。 図 6 ( a ) にはマス夕一テーブル 2 1 6 1、 図 6 ( b ) には スレーブテーブル 2 1 6 2の内容例が示されている。
マスターテーブル 2 1 6 1には、 クラスタ I D ( I Dは識別情報の意、 以下同 じ) 2 3 6 1、 クラスタ ·サイズ 2 3 6 2、 コンピュータリスト 2 3 6 3、 クラ ス夕 'ステータス 2 3 6 4、 最大コンピュータ数 2 3 6 5、 最小コンピュータ数
2 3 6 6、 ] タルコンピュータ数 2 3 6 7、 クラスタ ·コネクションレシオ 2
3 6 8の値 (図 6 ( a ) の右側のフィールドの記録値) が、 それぞれ、 そのクラ ス夕の成分 (値) として、 マスター管理コンピュータにより記録される。
クラス夕 I D 2 3 6 1は、 形成したクラス夕に付与される固有 I Dである。 そ のクラス夕が存在し続ける限りにぉレて一意の情報になれば良いので、 例えば、 マス夕一管理コンピュータの I Dと初めにクラス夕に含まれることになるコンビ ユー夕 1 0 8の I Dとの組をクラス夕 I Dとすることができる。
クラス夕 ·サイズ 2 3 6 2は、 新規あるいは追加でクラス夕に含まれることと なったコンピュータ 1 0 8の総数値である。 これは、 マスター管理コンピュータ が、 クラスタ内のコンピュー夕数を計測することにより特定することができる。 コンピュータリスト 2 3 6 3は、 クラス夕に含まれることになつたコンビユー 夕 1 0 8の識別情報のリストである。 クラス夕 ·ステータス 2 3 6 4は、 クラス夕の現在の状態を表す情報である。 本実施形態では、 「i d l e」、 「run」、 「wai t」 の 3種類の状態をクラスタ 'ステ一夕 スとして用いる。 「i dl e」はクラスタがジョブを実行していない状態である。クラ ス夕がこの状態のときは、 そのクラス夕へのコンピュータ 1 0 8の追加が可能で ある。 「run」はそのクラス夕がジョブを実行している状態である。 「wai t」は保持 されているコンピュータ 1 0 8の数が最大コンピュータ数に達している状態であ る。 この状態では、 そのクラス夕へのコンピュータ 1 0 8の追加はできない。 最大コンピュータ数 2 3 6 5は、 クラス夕が保持可能な最大コンピュータ数で あり、 ユーザによって定義されるか、 あるいはシステムの保有する定数として定 義される。 図示の例では、 最大で 2 0 0個のコンピュータを保有できるクラスタ であることが示されている。
最小コンピュータ数 2 3 6 6は、 クラス夕として保持しなければならない最小 コンピュータ数であり、 ユーザによって定義されるか、 ネットワークシステム 1 0 1の保有する定数として定義される。 図示の例では、 3個のコンピュータ 1 0 8によりクラス夕となることが示されている。
トータルコンピュータ数 2 3 6 7は、 そのクラス夕に含まれることになる可能 性があるコンピュータ 1 0 8の総数値であり、 統計に基づく期待値により求める ことができる。 図示の例では、 4 8個のコンピュータ 1 0 8が含まれる可能性の あることが示されている。
コネクションレシオ 2 3 6 8は、 追加容易性情報の一例となる情報である。 本 実施形態では、 例えば追加候補となるコンピュータ 1 0 8 (候補コンピュータ) が存在するときにそれを 2 0 %の確率でクラス夕に追加させる、 あるいは、 必要 とするクラスタ ·サイズ Z 1 ^—タルコンピュータ数のように、 追加のし易さを確 率値等により定めた数値をコネクションレシオとして用いる。 この数値が高いほ ど、 クラス夕にはコンピュータ 1 0 8が追加され易くなり、 クラスタが成長しや すくなる。 図示の例では、 現在のクラス夕サイズを 2 3、 ] タルコンピュータ を 4 8個としたときのコネクションレシオ (= 0 . 4 8 ) が示されている。 コネクションレシオ 2 3 6 8は、 一定値を用いることもできるし、 変動値とす ることもできる。 一定値にしていたものを事後的に変動値に代えることもできる し、 その逆にすることもできる。 これは、 クラス夕を形成するときのデフォルト 値として自動的に設定されるようにしても良いし、 クラス夕にジョブを実行させ るアプリケ ションプログラムがパラメ一夕の一つとしてマスターテーブル 2 1 6 1のコネクションレシオ 2 3 6 8に設定するようにしても良い。
図 5のように横軸にクラスタに含まれるコンピュータ 1 0 8の数、 縦軸にクラ ス夕の数又はクラスタ化の頻度をプロットしたときの分布がどのようになるかは、 このコネクションレシオをどのようにするかに因るところが大きい。 例えば、 図
5 ( a ) のような正規分布を得ようとするときは、 コネクションレシオを一定値 とする。 これにより、 上記の分布は、 代表値を中心とする正規分布となる。 コン ピュー夕が追加されてクラス夕サイズが大きくなるにつれてコネクションレシオ が変動するようにしても良い。 例えば、 1又はいくつかのコンピュータが追加さ れる毎に、 コネクションレシオが高くなるようにしても良い。 このようにすれば、 図 5 ( b) のようなべキ分布を容易に得ることができる。
なお、 マスタ一テーブル 2 1 6 1における上記の成分の持ち方は例示であり、 適宜、 増減することができる。
スレーブテーブル 2 1 6 2には、 クラスタ I D 2 4 6 1と、 コンピュータ i d 2 4 6 2とが記録される。 クラス夕 I D 2 4 6 1は、 クラス夕を識別するための I D (マス夕一テーブル 2 1 6 1に記録されているクラス夕 I D 2 3 6 1と同じ) である。 コンピュータ i d 2 4 6 2はクラス夕に含まれるコンピュータ 1 0 8を 識別するための I Dである。
スレーブテーブル 2 1 6 2は、 クラスタ I D 2 4 6 1とコンピュータ i d 2 4
6 2さえ判明していれば、 そのクラス夕 I D 2 4 6 1を同一にするマスターテー ブル 2 1 6 1とリンクしているので、 それに記録されている成分 (値) は、 マス ターテーブル 2 1 6 1よりも簡易なものとなっている。
なお、 スレーブテーブル 2 1 6 2における上記の成分 (値) の持ち方も例示で あり、 適宜、 増減することができる。
<運用形態 >
次に、 本実施形態のネットワークシステム 1 0 1による分散コンビユーティン グの運用形態の一例を説明する。 本実施形態による分散コンピューティングでは、 図 7に示すように、 3段階の クラス夕の状態変化のサイクルを繰り返しながら、 ジョブを分散実行していく。 第 1段階の状態変化は、 新しいクラスタの形成、 成長により生じる (ステップ S D o第 2段階の状態変化は、アプリケーションプログラム等から依頼されたジョ ブの投入により生じる (ステップ S 2 )。 そして、 第 3段階の状態変化は、 ジョブ 実行後のクラス夕の消滅により生じる(ステップ S 3 )。クラス夕が消滅すると、 それまでそのクラスタに属していたすベてのコンピュータ 1 0 8は、 その時点で 他のクラス夕へ新たに属することができる候補コンピュータ (ノード) となる。 このサイクルにおける第 1段階の状態変化は、 ジョブの有無とは無関係に生じ る。 そして、 ある管理コンピュータ 1 0 6がマスター管理コンピュータとなって クラスタを形成し、 それをスレーブ管理コンピュータとの協働により成長させて いく。 クラス夕がどの程度成長するかは、 個々のコンピュータ 1 0 8の稼働状態 とコネクションレシオによって決まる。コンピュータ 1 0 8の稼働状態が「free」 でコネクションレシオも高いほど、 他のコンピュータ 1 0 8と接続し易くなる。 以下、 上述の 3段階の状態変化の様子を詳細に説明する。
ぐ第 1段階の状態変化〉
[新しいクラス夕の形成、 成長 1 ]
図 7は、 マスタ一管理コンピュータ (そのように動作する管理コンピュータ 1 0 6のクラス夕管理部 2 1 6 ) によるクラス夕の形成、 成長の過程を示す手順説 明図である。
マスター管理コンピュータは、 自己の傘下のコンピュータ 1 0 8の稼働状態を 調べる。 具体的には、 各コンピュータ 1 0 8が保有するステータステーブルに記 録されているコンピュータ 'クラス夕 'ステータスを調べる (ステップ S 1 0 D o そして、 未稼働状態のコンピュータ 1 0 8、 すなわちコンピュータ ·クラス夕 · ステータスが 「f ree」 となっているいくつかのコンピュータ 1 0 8により 1つの クラス夕を形成する(ステップ S 1 0 2 )。最初に形成するクラス夕にいくつのコ ンピュータを含まるかは、 例えば事前の設定により決める。 通常は、 自己の傘下 のコンピュータ 1 0 8のうち、 いくつかのコンピュータ 1 0 8を残して、 クラス 夕化する。 残ったコンピュータ 1 0 8は、 他のクラスタを成長させ易くするため に、 なるべく他のクラス夕に追加されるような状態にしておく。 この状態を図 1 2 (a) に示す。
図 12 (a) の例では、 3つのコンピュータ 108により 1つのクラス夕 C 1 1が形成されている。 このとき、 マスター管理コンピュータは、 1つのマスタ一 テーブルを生成し、 このマスターテーブルの成分 (値) をセットする (ステップ S 104)。マス夕一管理コンピュータが各コンピュータ 108のステータステー ブルを管理することになつている場合は、 このクラス夕に含まれるすべてのコン ピュー夕 108のコンピュータ ·クラス夕 ·ステータスを「free」から「clustered」 に更新する (ステップ S 104)。
その後、 マス夕一管理コンピュータは、 ランダムに選定した他の管理コンビュ 一夕 106の傘下のコンピュータ 108のうち、 自己が形成したクラス夕に追加 するための候補コンピュータが無いかどう力、すなわちコンピュータ'クラスタ · ステータスが 「free」 になっている他のコンピュータ 108が無いかどうかを問 い合わせることにより探索する (ステップ S 105)。 探索は、 例えば、 自己を起 点として論理的な距離の短いいくつかの他の管理コンピュータ 106をランダム に選定し、 逐次、 その範囲を拡げていくことにより行う。 候補コンピュータが存 在する場合は (ステップ S 106 : Yes), マスターテーブルのコネクションレシ ォを調べ、 コネクションレシオに基づいて、 その候補コンピュータをクラス夕に 追加し、 当該候補コンピュータに関する情報をマスターテーブルに記録する (ス テツプ S 107)。その後、追加した候補コンピュータのコンピュータ ·クラスタ · ステータスを 「free」 から 「clustered」 に更新する (ステップ S 108)。
追加された候補コンピュータを管理する管理コンピュータ 106は、 その候補 コンピュータ 108についてのスレーブ管理コンピュータとなり、 スレーブテー ブルを生成する。候補コンピュータが存在したときの状態を図 12 (b) に示す。 図 12 (b) の例では、 2つのコンピュータ 108力候補コンピュータとして追 加されて、 5つのコンピュータ 108力含まれることになつたクラス夕 C 14に 成長している。 マスタ一管理コンピュータは、 追加された新たなコンピュータ 1 08の情報をマス夕一テーブルに追記する。
なお、 ステップ S 106において、 候補コンピュータが存在しない場合は (ス テツプ S 1 0 6 : No) , ステップ S 1 0 5の処理に戻る。
ほ しいクラス夕の形成、 成長 2 ]
図 9は、 マスター管理コンピュータとならない管理コンピュータ 1 0 6による クラス夕の成長過程を示す手順説明図である。
クラス夕の成長は、 図 8に示したように、 マスター管理コンピュータが能動的 に振る舞うことにより実現されるのが原則であるが、 マスター管理コンピュータ とはならない管理コンピュータ 1 0 6の方からマスター管理コンピュータにァク セスしてそれを行うこともできる。
すなわち、 クラス夕化されていないコンピュータ 1 0 8を傘下に持つ管理コン ピュー夕 1 0 6は、 例えばランダムに選定した他の管理コンピュータ 1 0 6に問 い合わせることにより、 そのコンピュータ 1 0 8を追加することができる他のク ラスタを探索する (ステップ S 2 0 1 )。そして、 入り込む先のクラス夕のコネク シヨンレシオに基づいてそのクラス夕に自己の傘下のコンピュータ 1 0 8を追加 するかどうかを決定する(ステップ S 2 0 2 )。追加しないことになつた場合は、 ステップ S 2 0 1に戻る (ステップ S 2 0 3 : No)。
追加する場合は、 そのコンピュータ 1 0 8について、 接続先のクラス夕に対す るスレーブ管理コンピュータとなるので、 そのコンピュータ 1 0 8についてのス レーブテーブルを生成し、 このスレーブテ一ブルに各成分(値)をセッ卜する(ス テツプ S 2 0 4 )。そして、追加するコンピュータ 1 0 8のコンピュータ 'クラス 夕 'ステータスを 「free」 から 「clus tered」 に更新する (ステップ S 2 0 5 )。 さらに、 追加される側のクラス夕のマスター管理コンピュータに、 マス夕一テー ブルをアップデ一卜させる (ステップ S 2 0 6 )。 なお、 このアップデートは、 ス レーブ管理コンピュータからマスター管理コンピュータにアクセスして自ら行う ようにしても良い。
ぐ第 2段階の状態変化〉
[ジョブの投入]
第 2段階の状態変化は、 アプリケーション等からの依頼によりジョブが投入さ れたいずれかの管理コンピュータ 1 0 6によるアクションを起点に始まる。 ジョ ブの実行に際しては、 ジョブの実行に必要となる計算量と所要時間、 例えばコン ピュー夕 1 0 8の数がパラメータとなる。 このパラメ一夕は、 投入されたジョブ のサイズに基づいて当該管理コンピュータ 1 0 6のプロセッサが自動的に生成し ても良いし、 アプリケ一ション等を利用するユーザが適宜与えるようにしても良 レ^ アプリケーションが持っているパラメータを使用するようにしても良い。 図 9は、 ジョブが投入された管理コンピュータ 1 0 6によるクラスタ利用の手 順説明図である。 管理コンピュータ 1 0 6は、 上記の計算量に基づいて、 クラス 夕リスト 2 0 8を参照することにより、 あるいは他の管理コンピュータに問い合 わせることにより、 必要なサイズのクラス夕を形成しているマスター管理コンビ ユー夕を探索する (ステップ S 3 0 1 )。見つかった場合は、 そのマスター管理コ ンピュ一夕に、 ジョブの実行を依頼する (ステップ S 3 0 2 : Yes、 S 3 0 3 )。 ジョブの実行依頼は、 例えば、 ジョブと、 その実行に必要なプログラムおよびデ 一夕と、 実行結果の送出を自己宛とするための指定アドレスとを含むバケツトを そのマスター管理コンピュータに送出することにより行う。
マスター管理コンピュータは、 そのジョブを実行するクラス夕に所属している 各コンピュータ 1 0 8のコンピュータ 'クラスタ 'ステータスを「idol」又は「wai t」 から 「run」 に更新したうえで、 各コンピュータ 1 0 8による分散処理によってジ ヨブの実行を始める。 図 1 2 ( c ) は、 図 1 2 ( b ) のように成長したクラス夕 C 1 4を管理するマスター管理コンピュータが、 ジョブを実行している状態を表 している。 ジョブの実行結果は、 マスタ一管理コンピュータから依頼元の管理コ ンピュー夕 1 0 6に送出される。実行結果を受領した管理コンピュータ 1 0 6は、 その実行結果をジョブの投入元に伝達する (ステップ S 3 0 4: Yes, S 3 0 5 )。 なお、 ジョブが、 必要なサイズのクラス夕を管理しているマスター管理コンビ ユー夕に直接投入された場合は、 上記ステップ S 3 0 1〜S 3 0 4は、 自ら行う 処理手順となる。 また、 ステップ S 3 0 2において、 複数のクラス夕に跨ってジ ヨブを実行する必要があると判定した場合、例えば、画像処理と音声処理とを別々 のクラスタで実行する必要があると判定した場合は、 各クラスタを管理するマス 夕一管理コンピュータに、 それぞれジョブの実行を依頼することになる。
<第 3段階の状態変化〉
[クラス夕の消滅] クラス夕の消滅は、 ジョブの実行を行ったクラス夕を管理するマスター管理コ ンピュー夕が行う。 図 1 1は、 このクラス夕を消滅させるときのマスター管理コ ンピュー夕における処理手順図である。
マスター管理コンピュータは、 ジョブが終了すると (ステップ S 4 0 1 : Yes) , それまでジョブを実行したクラス夕に含まれるすべてのコンピュータ 1 0 8につ いてのコンピュータ ·クラスタ ·ステータスを 「f ree」 に更新する (ステップ S S 4 0 2 ) o また、 そのクラス夕のマスタ一テーブルの成分 (値) をクリアする。 同時に、 クラス夕に所属していたコンピュータを傘下にするスレーブ管理コンビ ユー夕を通じてスレーブテーブルの成分 (値) をクリアする。 すなわち、 すべて のコンピュータをクラス夕形成前の状態に戻す(ステップ S 4 0 3 )。 これにより、 そのクラス夕に所属していたすベてのコンピュータ 1 0 8は、 未稼働状態で、 ク ラス夕化が可能な状態となり、 あるコンピュータ 1 0 8は、 直ちにクラスタ化さ れ、 他のコンピュータ 1 0 8は、 他のクラス夕に追加される状態となる。 図 1 2 ( d) はこの状態を示している。
このように、 この実施形態によれば、 投入されるジョブのサイズ、 種類、 数の いずれかが様々で、 それらが時々刻々と変化していくことが予想される不確定要 素の多いネットワークシステムであっても、 複数存在する管理コンピュータ 1 0 6の各々が、 その傘下のコンピュータ 1 0 8毎に、 それぞれ、 マス夕一管理コン ピュー夕あるいはスレーブ管理コンピュータとして振る舞いながら、 最適なサイ ズのクラス夕を形成し、 それを成長させていくので、 適切なサイズのクラス夕に ジョブの実行を割り当てることができ、 効果的にジョブを実行していくことがで きる。 また、 大規模なプロセスから非常に小さなプロセスまで満遍なく一様の手 順で対応が可能になるので、 柔軟性に富む分散コンビユーティングを実現するこ とができる。 特に、 プロセスのサイズの分布がべき分布になるときには、 追加容 易性情報を変動可能にし、 クラス夕サイズもべき分布になるように設定すること ができるので、 最も効果的にプロセスを処理することができ、 コンピュータ資源 の使用効率を高めることができる。
<変形例 >
以上の例では、 便宜上、 ステータステーブルは、 各コンピュータ 1 0 8が保有 し、 管理テーブル 2 0 6 (マスターテーブル スレーブテーブル) は、 管理コン ピュー夕 1 0 6が保有することを前提として説明したが、 これらのテーブルは、 各コンピュータ 1 0 8および管理コンピュータ 1 0 6がそれらにアクセスできる メモリ領域に存在すれば良い。 例えば、 管理コンピュータ 1 0 6が、 自己の傘下 のコンピュータ 1 0 8のステータステーブルを備えていても良いし、 管理コンビ ュ一タ 1 0 6のテーブル管理部 2 1 2がアクセス可能なサーバ等に管理テーブル 2 0 6を一括して格納するようにしても良い。
また、 以上の例では、 スレーブ管理コンピュータの傘下にある候補コンビュ一 夕を他のクラス夕に追加するかどうかは、. そのスレーブ管理コンピュータが決定 するようにしているが、 候補コンピュータをクラスタに追加するかどうかは、 す ベてマスター管理コンピュータにおいて決定するようにしても良い。
ぐ管理コンピュータによらない場合の実施例 >
以上の説明では、 複数のコンピュータ 1 0 8を傘下にする管理コンピュータ 1 0 6の集合から成るネットワークシステム 1 0 1の例を示したが、 本発明は、 管 理コンピュータ 1 0 6によらずに、 複数のコンピュータ 1 0 8の各々が直接参加 および離脱することができるネットワークシステムとしての実施も可能である。 このようなネッ卜ワークシステムとして実施する場合は、 各コンピュータ 1 0 8のステータステーブルに、 コネクションレシオをも記録するようにし、 ステー タステーブルの管理も自ら行うようにする。 例えば、 他のコンピュータ 1 0 8に より形成されているクラス夕に、自己を追加するときには、自己のコンピュータ · クラス夕 ·ステータスを 「c lus tered」 に更新させる。 そして、 そのクラスタによ るジョブの実行が終了した時点で、 自己のコンピュータ 'クラス夕 'ステータス を 「f ree」 に復帰させるようにする。 また、 上述した管理コンピュータ 1 0 6と 同様の機能を、 いずれかのコンピュータ 1 0 8に持たせるようにする。 つまり、 自らが主導的にクラス夕を形成するときは、 そのクラス夕の内容を記録したマス 夕一テーブルを生成する。
クラス夕を形成したコンピュータ 1 0 8は、 他のコンピュータが保有するステ —タステーブルの最新のコンピュータ ·クラス夕 ·ステータスが 「f ree」 になつ ている他の追加候補となる候補コンピュータを探索し、 これにより特定された候 補コンピュータを、 クラス夕のコネクションレシオに基づいて追加するかどうか を決定するようにする。 クラス夕を形成したコンピュータ 108は、 このように して成長したクラス夕にジョブを実行させ、 実行終了後は、 そのクラス夕を消滅 させる。
<マルチプロセッサ Zマルチ ·コア ·プロセッサとしての実施例 >
本発明は、 複数のプロセッサ又はマルチ ·コア ·プロセッサによるネットヮー クシステムとして実施することもできる。 この場合は、 図 13 (a) に例示した ように、 内部バスを上述したコンピュータネットワーク 104として機能させ、 この内部バスに接続されたいずれかのプロセッサ又はマルチ ·コア 'プロセッサ のいずれか一つ又はいくつかを上述した管理コンピュータ 106として動作させ るとともに、 残りのプロセッサ等を上述したコンピュータ 108として動作させ るようにすれば良い。
図 13 (b) に例示した個々のマルチ ·コア ·プロセッサ自体をネットワーク システムとして実施することもできる。 この場合は、 内部バスに接続されたいず れか一つ又はいくつかのコア (プロセッサ ·コア) および入出力制御部 (IZO) とキャッシュメモリとで上述した管理コンピュータ 106の動作を実現するとと もに、 残りのコアを上述したコンピュータ 108として動作させるようにすれば 良い。 他の実施の形態
本発明のネットワークシステムは、 あるクラス夕のコンピュータ 108が他の クラス夕にアクセスしたときに、 当該他のクラス夕と関係付けられている別のク ラス夕にコンピュータ 1 08を追加させるという実施形態も可能である。 このよ うな実施形態のモードを 「デュープリケーシヨンモード (DuplicationMode)」 と 称する。 この 「デュープリケ一シヨンモードについては、 下記の文献に詳細に記 載されている。
タ イ ト ル : Growing networks with local rules preferential attachment, clustering hierarchy and degree correlations
著作者: Alexei V ' azquez 雑誌名: Phys Rev E St at Nonl in So f t Mat ter Phys. 2003 May ; 67 (5 P t 2) : 056104. Epub 2003 May 7.
デュープリケーシヨンモードでは、 上述したコネクションレシオ 2 3 6 8に代 えて、 アクセスしたクラス夕に所属するコンピュータが関係付けられている他の クラスタの識別情報 (接続アドレス等) をリストアップしたクラス夕リストを用 いる。 クラス夕リストは、 例えばマスターテーブルに設けられる。
図 1 4は、 この場合のマスターテーブルの内容例を示している。 このマス夕一 テーブル 2 1 6 3は、 図 6 ( a ) に示したマスターテーブル 2 1 6 1と同じ内容 のクラスタ I D 2 3 6 1、 クラス夕サイズ 1 2 6 2、 コンピュータリスト 2 3 6 3、 クラス夕 'ステータス 2 3 6 4、 最大コンピュータ数 2 3 6 5、 最小コンビ ユー夕数 2 3 6 6のほ力 クラスタリスト 2 3 6 9を有する。 マス夕一管理コン ピュー夕は、 自己が管理するクラス夕に新たなクラス夕が関係付けられる度に、 その新たなクラスタの識別情報をクラス夕リスト 2 3 6 9にリストアップする。 この実施形態にいう 「関係付け」 は、 あるクラス夕に所属するコンピュータと他 のクラス夕に所属するコンピュータとが論理的につながって(連絡しあって)、連 携処理等ができることをいう。
マスター管理コンピュータは、 例えばスレーブ管理コンピュータからの求めに 応じてクラス夕リスト 2 3 6 9にリストアップされた一つのクラス夕の識別情報 を読み出し、 それを当該スレーブ管理コンピュータへ通知する。 セキュリティを 重視しないで足りる用途では、 このクラス夕リスト 2 3 6 9を例えばスレーブ管 理コンピュータに閲覧させるようにしても良い。
このクラス夕リスト 2 3 6 9からの読み出し順序は、ランダムであっても良く、 所定順であっても良い。 前者の場合、 クラス夕リスト 2 3 6 9へのクラス夕の識 別情報のリストアップの順位は、 任意であって良い。 他方、 後者の場合は、 リス トアップの順位に重み付けを行う。 例えば、 そのマス夕一管理コンピュータが管 理するクラス夕の処理内容との関連性が高い他のクラスタほど先に読み出される ようにする。 この場合の関連性は、 例えば、 クラスタ間のアクセス回数、 クラス 夕間の所定時間内の交信回数、 クラス夕間の分散処理の関連度合い (画像処理と 同期をとるべき音声処理等) 等により決めることができる。 デュープリケーションモードでの運用形態は、 例えば以下のようになる。 いま、 ネットワークシステムが、 図 1 5の上段のような初期状態であったとす る。 図 1 5の例では、 複数のクラス夕 C 6〜C 1 1が既に形成されている。 各ク ラス夕 C 6〜C 1 1には、 それぞれ 1又は複数のコンピュータ (上述したコンビ ユー夕 1 0 8、 以下同じ) が所属している。
この状態で、 図 1 5中段に示されるように、 ネットワークシステムに新たにク ラスタ C 2 0が形成されたとする。 このクラス夕 C 2 0を形成した管理コンピュ 一夕は、 当該クラス夕 C 2 0に所属するコンピュータのほか、 他のクラス夕を成 長させ易くするためのいくつかのコンピュータ、 すなわち候補コンピュータ (図 示省略) をも自己の傘下として管理しているものとする。 この候補コンピュータ を他のクラス夕に提供する場合、 その候補コンピュータを管理する管理コンビュ —夕がスレーブ管理コンピュー夕となることは、 前述のとおりである。
クラスタ C 2 0を管理する管理コンピュータは、 クラスタ C 6〜C 1 1の中か ら、 クラス夕 C 7を探し出す。 そして、 このクラス夕 C 7を管理しているマス夕 —管理コンビュ一夕に問い合わせ、 そのマスターテーブル 2 1 6 3におけるクラ ス夕 C 7と他のクラス夕との関係付けの情報を入手する。 図 1 5中段の場合、 ク ラスタ C 7はクラス夕 C 1 1とのみ関係付けられている。 そこで、 クラス夕 C 2 0を管理する管理コンピュータは、 候補コンピュータをクラスタ C 1 1に追加さ せ、 この候補コンピュータとクラス夕 C 2 0 (それに所属するコンピュータ) と を関係付ける (図 1 5下段)。 また、 自己が保有するスレーブテーブルの内容を更 新する。
他方、 クラスタ C 1 1を管理するマスタ一管理コンピュータは、 マスターテー ブル 2 1 6 3に、 新たに追加されたコンピュータ (追加前の候補コンピュータ) のリストをコンピュータリス卜 2 3 6 3に追加するとともに、 クラスタリスト 2 3 6 9に、 クラス夕 C 2 0の識別情報を追加する。
以上は、 クラスタ C 2 0とクラスタ C 1 1 (各々のコンピュータ) 同士が 1対 1で関係付けた場合の例であるが、 関係付けは必ずしも 1対 1だけではなく、 1 対 N (Nは ·2以上の自然数) であっても良い。 また、 この関係付けは、 物理的な コンソール内のコンピュータ同士のつながりとは関係がない。 例えば、 図 16 (a) は、 ネットワークシステムに新たに加わるコンピュータ の所属するクラス夕 C 20が形成された場合において、 クラス夕 C 20を管理す る管理コンピュータが、 自己の傘下の候補コンピュータの追加先を探す際に、 ク ラス夕 C 1 1に到達したとする。 クラス夕 C 11のクラス夕リストには、 クラス 夕 C 1 1のコンピュータと 1対 1で関係付けられているクラス夕 C 6, C7のほ か, クラスタ C 1 1の複数のコンピュータと関係付けられている C8, C 10が リストアップされていたとすると、 候補コンピュータは、 クラスタ C 6, C 7, C8, C 10のいずれかに追加される。 図 16 (b) の場合も同様である。
なお、 これらの場合において、 スレーブテーブル、 マス夕一テーブルの記録情 報が更新されることは、 図 15に示した例の場合と同様である。
デュープリケーシヨンモードでは、 クラス夕リスト 2369とコンピュータリ スト 2363とを併用した運用形態も可能である。 以下、 この場合の運用形態例 を説明する。
ネットワークシステムに加わる新たにクラス夕 C 20が形成され、 クラスタ C 20を管理する管理コンピュータが、 自己の傘下の候補コンピュータの追加先を 探し出す際に、 クラス夕 C I 1に到達するまでは、 図 16 (a), (b) の例と同 じである。
クラスタ C 11のコンピュータリスト 2363によれば、 図 17に示されるよ うに、 コンピュータ # 1〜# 5が所属しており、 クラスタリスト 2369によれ ば、 コンピュータ # 1, # 3はクラスタ C 10、 コンピュータ #4はクラス夕 C 7、 コンピュータ # 5はクラス夕 C 6に、 それぞれ関係付けられており、 コンビ ユー夕 # 2はどことも関係付けられていないとする。 必ずしもそのようにする必 要はないが、 コンピュータリスト 2363の読み出し順もランダムに行うとする と、 コンピュータリスト 2363からコンピュータ # 1が選ばれたときは、 それ に関係付けられているクラス夕 C 10に、候補コンピュータが追加される。なお、 コンピュータ # 2が選ばれたときは、 それに関係付けられているクラス夕がない ので、 再選択される。
デュープリケ一シヨンモードでは、 コネクションレシオ 2368を設定しなく とも、 べキ分布に従うクラス夕リングが可能になるので、 コンピュータのクラス 夕への追加が、 よりスムーズになるという効果がある。 産業上の利用可能性
本発明は、 コンピュータ同士をつなぐノードの数が、 例えば、 正規分布あるい はべキ分布に従うクラスタリングを容易にするためのネットワークシステムに適 用が可能である。 また、 投入されるジョブのサイズ、 種類、 数が様々で、 それら が時々刻々と変化していく情報処理を効率的に実行することができる分散コンビ ユーティング全般にも適用が可能なものである。

Claims

1 . それぞれ、 他のコンピュータとのクラスタ化が可能な複数のコンピュータ が自由に参加および離脱することができるネットワークシステムであって; 各々のコンピュータの状態がそれぞれクラス夕化が可能な状態かどうかを表す クラス夕化可否情報を記録した第 1のテーブルと;
-一口一青
既に一又は複数のコンピュータによ ό形成されているクラス夕が他のコンビュ 求
一夕をどの程度追加し易いかを表す追加容易性情報を記録するための第 2のテー
3 ^
ブルとを含み; ¾ 2 いずれかの前記コンピュータは、 前記第 1のテーブルのクラス夕化可否情報が 囲
クラスタ化可能の状態を表す自己および他のコンピュータを含んだクラス夕を形 成するとともに、 形成したクラスタに含まれるすべてのコンピュータについての 前記クラス夕化可否情報を、 クラス夕化不能の状態を表す情報に更新し、 さらに 形成したクラス夕についての前記追加容易性情報を前記第 2テーブルに記録する クラスタ形成手段を有しており ;
クラス夕を形成した前記コンピュータは、 当該クラス夕への追加候補となる候 補コンピュータが存在するときに当該候補コンピュータを前記クラスタに追加す るかどうかを前記第 2のテーブルに記録されている追加容易性情報に基づいて決 定するクラス夕成長手段を有している;ネットワークシステム。
2 . 前記クラス夕を形成した前記コンピュータは、 当該クラスタによるジョブ の実行が終了した時点で当該クラス夕を消滅させるとともに、 前記第 2のテープ ルに記録されている前記追加容易性情報および消滅したクラス夕に所属していた すべてのコンピュータについて前記第 1のテーブルに記録されていたクラス夕化 可否情報をクラス夕形成前の状態に復帰させるクラス夕消滅手段;をさらに有し ている、
請求の範囲第 1項記載のネットワークシステム。
3 . 前記追加容易性情報は前記追加のし易さを定量化した数値であり、 前記ク ラス夕成長手段は、 前記数値が高くなるほど前記候補コンピュータを当該クラス 夕へ追加させ易くする、 請求の範囲第 1項記載のネットワークシステム。
4. 前記クラス夕成長手段は、 候補コンピュータの追加に拘わらず、 前記数値 を一定値に保持させる、
請求の範囲第 3項記載のネットワークシステム。
5 . 前記クラス夕成長手段が、 前記数値を前記第 2のテーブルに記録した後に 変動可能にする、
請求の範囲第 3項記載のネットワークシステム。
6 . 前記クラス夕成長手段は、 前記候補コンピュータを前記クラス夕に追加し たことを契機に前記数値を変動させる、
請求の範囲第 5項記載のネットワークシステム。
7 . それぞれ、 他のコンピュータとのクラス夕化が可能な一又は複数のコンビ ユー夕を自己の傘下とする複数の管理コンピュータが自由に参加および離脱する ことができるネットワークシステムであって;
各々のコンピュータの状態がそれぞれクラスタ化が可能な状態かどうかを表す クラス夕化可否情報を記録した第 1のテーブルと;
既に一又は複数のコンピュータにより形成されたクラス夕が他のコンピュータ をどの程度追加し易いかを表す追加容易性情報を記録した第 2のテーブルとを含 み;
少なくとも一つの前記管理コンピュータは、 自己の傘下にあるコンピュータお よび他の管理コンピュータの傘下にあるコンピュータのうち前記第 1のテーブル のクラス夕化可否情報がクラスタ化可能の状態を表すコンピュー夕を含んだクラ ス夕を形成するとともに、 形成したクラス夕に含まれるすべてのコンピュータに ついての前記クラスタ化可否情報をクラス夕化不能の状態を表す情報に更新する クラス夕形成手段を有しており、
クラス夕を形成した前記管理コンピュータは、 追加候補となる候補コンピュー 夕が存在するときに当該候補コンピュータを前記クラス夕に追加するかどうかを 前記第 2のテーブルに記録されている追加容易性情報に基づいて決定するクラス 夕成長手段を有している、
ネットワークシステム。
8 . 前記クラス夕を形成した管理コンピュータは、 当該クラスタによるジョブ の実行が終了した時点で当該クラス夕を消滅させるとともに、 前記第 2のテープ ルに記録されている追加容易性情報および消滅したクラス夕に所属していたすベ てのコンピュータについて前記第 1のテーブルに記録されていたクラスタ化可否 情報をクラス夕形成前の状態に復帰させるクラス夕消滅手段をさらに有している、 請求の範囲第 7項記載のネットワークシステム。
9 . いずれかの前記管理コンピュータが、 最大で自己の傘下にあるコンビユー 夕の数の前記第 2のテーブルを保有している、
請求の範囲第 8項記載のネットワークシステム。
1 0 . 前記第 2テーブルは、 それを保有する管理コンピュータが自己の傘下に ある第 1コンピュータを含む第 1クラス夕を形成するときに当該第 1コンビユー 夕用として生成するマス夕一テーブルと、 それを保有する管理コンピュータが、 他の管理コンピュータが形成した第 2クラス夕に追加される、 自己の傘下にある 第 2コンピュータの動作を監視制御するときには当該第 2コンピュータ用に生成 するスレーブテーブルのいずれかを少なくとも含んでおり、
前記追加容易性情報は前記マスターテーブルに記録されており、
前記マス夕一テーブルを保有する管理コンピュータは、 前記第 1クラスタの形 成、 第 1クラスタ内のコンピュータ数の変更並びに第 1クラス夕の消滅に関わる 情報処理を主導的に行うマス夕一管理コンピュー夕として振る舞い、 前記スレー ブテーブルを保有する管理コンピュータは、 前記第 2クラス夕に対するスレーブ 管理コンピュータとして振る舞う、
請求の範囲第 9項記載のネットワークシステム。
1 1 . 前記マスター管理コンピュータは、 いずれかの前記管理コンピュータに 対してクラス夕化可能状態のコンピュータがあるかどうかを問い合わせることに より前記第 1クラス夕に追加させるための候補コンピュータを探索する探索手段 を有する、
請求の範囲第 1 0項記載のネットワークシステム。
1 2 . いずれかの前記管理コンピュータは、 前記マスター管理コンピュータに より形成された第 1クラス夕についての前記追加容易性情報に基づいて自己の傘 下の候補コンピュータを当該第 1クラス夕に追加させるかどうかを決定する、 請求の範囲第 1 0項記載のネットワークシステム。
1 3 . 前記追加容易性情報は、 前記第 1クラス夕への候補コンピュータの追加 のし易さを定量化した数値であり、
前記マスター管理コンピュータが有するクラス夕成長手段は、 前記数値が高く なるほど前記候補コンピュータを当該第 1クラス夕に追加させ易くする、 請求の範囲第 1 0項記載のネットワークシステム。
1 4. 前記クラスタ成長手段は、 候補コンピュータの追加に拘わらず、 前記数 値を一定値に保持させる、
請求の範囲第 1 3項記載のネッ卜ワークシステム。
1 5 . 前記クラス夕成長手段は、 前記数値を前記第 2テーブルに記録した後に 変動可能にする、
請求の範囲第 1 3項記載のネットワークシステム。
1 6 . 前記クラスタ成長手段は、 前記候補コンピュータを前記第 1クラス夕に 追加したことを契機に前記数値を変動させる、
請求の範囲第 1 5項記載のネッ卜ワークシステム。
1 7 . それぞれ、 他のコンピュータとのクラス夕化が可能な複数のコンビユー 夕が自由に参加および離脱することができるネットワークシステムであって; 既に一又は複数のコンピュータにより形成されているクラス夕毎に、 当該クラ ス夕に所属するコンピュータに関係付けられている他のクラス夕の識別情報をリ ストアップしたテーブルを含み;
クラス夕を形成した前記コンピュータは、 追加候補となる候補コンピュータが 存在するときに当該候補コンピュータを自己のクラス夕に関係付けられている他 のクラス夕に追加するかどうかを前記テーブルにリストアツプされた識別情報に 基づいて決定するクラスタ成長手段を有している;
ネッ卜ワークシステム。
1 8 . 前記テーブルには、 前記自己のクラスタが実行する処理との関連性が高 い関連クラスタほど前記候補コンピュータが追加されるように優先的にリストア ップされる、 請求の範囲第 1 7項記載のネットワークシステム。
1 9 . 各々のコンピュータの状態がそれぞれクラス夕化が可能な状態かどうか を表すクラス夕化可否情報を記録した第 1のテーブルを含んでおり、
いずれかの前記コンピュータは、 前記第 1のテーブルのクラス夕化可否情報が クラスタ化可能の状態を表す自己および他のコンピュータを含んだクラス夕を形 成するとともに、 形成したクラス夕に含まれるすべてのコンピュータについての 前記クラスタ化可否情報を、 クラス夕化不能の状態を表す情報に更新するクラス 夕形成手段を有している、
請求の範囲第 1 7項記載のネットワークシステム。
2 0 . それぞれ、 他のコンピュータとのクラス夕化が可能な一又は複数のコン ピュータを自己の傘下とする管理コンピュータであって;
他の同種機能を有する管理コンピュータと共に自由に参加および離脱すること ができるコンピュータネットワークに接続するためのネットワーク接続手段と; 各々のコンピュータの状態がそれぞれクラス夕化が可能な状態かどうかを表す クラス夕化可否情報を記録した第 1のテーブル、 および、 既に一又は複数のコン ピュー夕により形成されたクラス夕が他のコンピュータをどの程度追加し易いか を表す追加容易性情報を記録するための第 2のテーブルへのアクセスを可能にす るテーブル管理手段と;
自己の傘下にある前記コンピュータおよび他の管理コンピュータの傘下にある 前記コンピュータのうち前記第 1のテーブルのクラス夕化可否情報がクラスタ化 可能の状態を表すコンピュー夕を含んだクラス夕を形成するとともに、 形成した クラスタに含まれるすべてのコンピュータについての前記クラス夕化可否情報を クラスタ化不能の状態を表す情報に更新し、 さらに、 当該クラス夕についての前 記追加容易性情報を前記第 2のテーブルに記録するクラス夕形成手段と; 追加候補となる候補コンピュータが存在するときに当該候補コンピュータを前 記クラス夕に追加するかどうかを前記第 2のテーブルに記録されている追加容易 性情報に基づいて決定するクラス夕成長手段と; を有する管理コンピュータ。
2 1 . 前記形成したクラス夕によるジョブの実行が終了した時点で当該クラス 夕を消滅させるとともに、 前記第 2のテーブルに記録されている追加容易性情報 および消滅したクラス夕に所属していたすベてのコンピュータについて前記第 1 のテーブルに記録されているクラスタ化可否情報をクラス夕形成前の状態に復帰 させるクラスタ消滅手段をさらに有する、
請求の範囲第 2 0項記載の管理コンピュータ。
2 2 . それぞれ、 他のコンピュータとのクラスタ化が可能な複数のコンビユー 夕が自由に参加および離脱することができるネットワークシステムにおけるクラ スタ管理方法であって;
各コンピュータが、 それぞれ自己の状態がクラス夕化が可能な状態かどうかを 表すクラスタ化可否情報を第 1のテーブルに記録する段階と;
いずれかのコンピュータが、 自己と前記第 1のテーブルのクラス夕化可否情報 がクラス夕化可能の状態を表す他のコンピュータとを含んだクラス夕を形成する とともに、 形成したクラスタに含まれるすべてのコンピュータについての前記ク ラス夕化可否情報をクラスタ化不能の状態を表す情報に更新し、 さらに、 当該ク ラス夕が他のコンピュータをどの程度追加し易いかを表す追加容易性情報を第 2 のテーブルに記録する段階と;
追加候補となる候補コンピュータが存在するときに当該候補コンピュータを前 記クラス夕に追加するかどうかを前記第 2のテーブルに記録されている追加容易 性情報に基づいて決定する段階と;を有するクラス夕管理方法。
2 3 . 前記クラスタを形成したコンピュータが、 前記形成したクラスタによる ジョブの実行が終了した時点で当該クラスタを消滅させるとともに、 前記第 2の テーブルに記録されてレ る追加容易性情報および消滅したクラス夕に所属してい たすベてのコンピュー夕にっレて前記第 1のテーブルに記録されているクラス夕 化可否情報をクラス夕形成前の状態に復帰させる段階とを有する、
請求の範囲第 2 2項記載のクラス夕管理方法。
2 4. それぞれ、 他のコンピュータとのクラス夕化が可能な複数のコンピュー 夕が自由に参加および離脱することができるネットワークシステムにおけるクラ ス夕管理方法であって;
既に一又は複数のコンピュータによりクラス夕を形成したコンピュータが、 当 該クラス夕に所属するコンピュータが関係付けられている他のクラス夕の識別情 報を所定のテーブルにリストアップする段階と;
クラス夕を形成した前記コンピュータが、 追加候補となる候補コンピュータが 存在するときに当該候補コンピュータを当該クラス夕と関係付けられている他の クラスタに追加するかどうかを前記テーブルに記録されている識別情報に基づい て決定する段階と;を有する、 クラスタ管理方法。
2 5 . それぞれ、 他のコンピュータとのクラス夕化が可能な複数のコンビユー 夕が自由に参加および離脱することができるネットワークシステムにおけるいず れかのコンピュータに読み取られて実行されることにより当該コンピュータを、 各々のコンピュータの状態がそれぞれクラスタ化が可能な状態かどうかを表す クラスタ化可否情報を記録した第 1のテーカレ、 および、 既に一又は複数のコン ピュー夕により形成されたクラスタが他のコンピュータをどの程度追加し易いか を表す追加容易性情報を記録するための第 2のテ一ブルへのアクセスを可能にす るテーブル管理手段;
前記第 1のテーブルのクラスタ化可否情報がクラス夕化可能の状態を表す自己 および他のコンピュータを含んだクラス夕を形成するとともに、 形成したクラス 夕に含まれるすべてのコンピュータについての前記第 1のテーブルのクラスタ化 可否情報をクラスタ化不能の状態を表す情報に更新し、 さらに、 当該クラスタに ついての前記追加容易性情報を前記第 2のテーブルに記録するクラス夕形成手 段;
追加候補となる候補コンピュータが存在するときに当該候補コンピュータを前 記クラス夕に追加するかどうかを前記第 2のテーブルに記録されている追加容易 性情報に基づいて決定するクラス夕成長手段; として機能させるためのコンビュ 一夕プログラム。
2 6 . それぞれ他のコンピュータとのクラス夕化が可能な一又は複数のコンビ ユー夕を自己の傘下とする管理コンピュータに読み取られて実行されることによ り、 前記管理コンピュータを;
他の同種機能を有する管理コンピュータと共に自由に参加および離脱すること ができるコンピュータネッ卜ワークに接続するためのネットワーク接続手段; 各々のコンピュータの状態がそれぞれクラス夕化が可能な状態かどうかを表す クラス夕化可否情報を記録した第 1のテ一カレ、 および、 既に一又は複数のコン ピュー夕により形成されたクラスタが他のコンピュータをどの程度追加し易いか を表す追加容易性情報を記録するための第 2のテーブルへのアクセスを可能にす るテーブル管理手段;
自己の傘下にある前記コンピュータおよび他の管理コンピュータの傘下にある 前記コンピュータのうち前記第 1のテーブルのクラスタ化可否情報がクラスタ化 可能の状態を表すコンピュータを含んだクラス夕を形成するとともに、 形成した クラス夕に含まれるすべてのコンピュータについての前記クラス夕化可否情報を クラス夕化不能の状態を表す情報に更新し、 さらに、 当該クラス夕についての前 記追加容易性情報を前記第 2のテーブルに記録するクラス夕形成手段;
追加候補となる候補コンピュータが存在するときに当該候補コンピュータを前 記クラス夕に追加するかどうかを前記第 2のテーブルに記録されている追加容易 性情報に基づいて決定するクラスタ成長手段; として機能させるためのコンビュ 一夕プログラム。
2 7 . それぞれ、 他のコンピュータとのクラス夕化が可能な複数のコンビユー 夕が自由に参加および離脱することができるネットヮ一クシステムにおけるいず れかのコンピュータに読み取られて実行されることにより、 当該コンピュータ を;
既に一又は複数のコンピュータによりクラスタを形成したときに当該クラスタ に所属するコンピュータが関係付けられている他のクラス夕の識別情報を所定の テーブルにリストアツプするクラスタ管理手段;
追加候補となる候補コンピュータが存在するときに当該候補コンピュータを自 己のクラス夕に関係付けられている他のクラス夕に追加するかどうかを前記テー ブルにリストアップされた識別情報に基づいて決定するクラス夕成長手段; とし て機能させるためのコンピュータプログラム。
PCT/JP2005/014467 2004-08-02 2005-08-01 ネットワークシステム、管理コンピュータ、クラスタ管理方法およびコンピュータプログラム WO2006013992A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US11/659,290 US8775622B2 (en) 2004-08-02 2005-08-01 Computer-based cluster management system and method
EP05768590A EP1785865A4 (en) 2004-08-02 2005-08-01 NETWORK SYSTEM, MANAGEMENT COMPUTER, CLUSTER MANAGEMENT PROCESS AND COMPUTER PROGRAM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004-225315 2004-08-02
JP2004225315 2004-08-02

Publications (1)

Publication Number Publication Date
WO2006013992A1 true WO2006013992A1 (ja) 2006-02-09

Family

ID=35787268

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/014467 WO2006013992A1 (ja) 2004-08-02 2005-08-01 ネットワークシステム、管理コンピュータ、クラスタ管理方法およびコンピュータプログラム

Country Status (4)

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

Families Citing this family (12)

* 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
CN106371928A (zh) * 2016-09-18 2017-02-01 安徽爱她有果电子商务有限公司 一种管理计算机的方法
CN106357444A (zh) * 2016-09-18 2017-01-25 安徽爱她有果电子商务有限公司 一种计算机网络管理系统
CN106339261A (zh) * 2016-09-18 2017-01-18 安徽爱她有果电子商务有限公司 一种计算机集群管理方法
US10705883B2 (en) * 2018-06-19 2020-07-07 Microsoft Technology Licensing, Llc Dynamic hybrid computing environment
CN113139704B (zh) * 2020-01-17 2024-04-09 中国石油化工股份有限公司 一种用于钻井仿真的钻井多参数计算系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0750256A2 (en) 1995-06-23 1996-12-27 Data General Corporation Framework for managing cluster membership in a multiprocessor system
JP2004341962A (ja) * 2003-05-16 2004-12-02 Toyota Infotechnology Center Co Ltd 分散コンピューティング・システム、方法、プログラムおよび記録媒体
JP2005251160A (ja) * 2004-02-06 2005-09-15 Nippon Telegraph & Telephone East Corp 利用形態指向p2p型グリッドコンピューティングシステム、及び、コンピュータプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2834210B2 (ja) * 1988-09-14 1998-12-09 株式会社日立製作所 リング状ネットワークにおけるメッセージ制御方法
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
EP1415377A4 (en) * 2001-07-06 2007-05-30 Computer Ass Think Inc SYSTEM AND METHOD FOR MANAGING OBJECT BASED GROUPS
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
CA2489142C (en) * 2002-06-20 2013-11-26 Paul Francis Mckee Distributed computer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0750256A2 (en) 1995-06-23 1996-12-27 Data General Corporation Framework for managing cluster membership in a multiprocessor system
JP2004341962A (ja) * 2003-05-16 2004-12-02 Toyota Infotechnology Center Co Ltd 分散コンピューティング・システム、方法、プログラムおよび記録媒体
JP2005251160A (ja) * 2004-02-06 2005-09-15 Nippon Telegraph & Telephone East Corp 利用形態指向p2p型グリッドコンピューティングシステム、及び、コンピュータプログラム

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
DOU W. ET AL: "A P2P approach for global computing", PROCEEDINGS OF INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS'03), 26 April 2003 (2003-04-26), XP010645374 *
HAN J. AND PARK D.: "A lightweight personal grid using a supernode network", PROCEEDINGS OF THIRD INTERNATIONAL CONFERENCE ON PEER-TO-PEER COMPUTING (P2P'03), 3 September 2003 (2003-09-03), pages 168 - 175, XP010657537 *
OGSTON E. ET AL: "A method for decentralized clustering in large multi-agent systems", PROCEEDINGS OF THE SECOND INTERNATIONAL JOINT CONFERENCE ON AUTONOMOUS AGENTS AND MULTIAGENT SYSTEMS, 18 July 2003 (2003-07-18), pages 789 - 796, XP002993363 *
See also references of EP1785865A4
VAZQUEZ A.: "Growing network with local rules: Preferential attachment, clustering hierarchy, and degree correlations", PHYSICAL REVIEW, vol. 67, no. 5, 2003, pages 056104.1 - 056104.15, XP002993364 *

Also Published As

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

Similar Documents

Publication Publication Date Title
WO2006013992A1 (ja) ネットワークシステム、管理コンピュータ、クラスタ管理方法およびコンピュータプログラム
US7107323B2 (en) System and method of file distribution for a computer system in which partial files are arranged according to various allocation rules
US7383286B2 (en) File management system with parent directory search functions
JP4681374B2 (ja) ストレージ管理システム
US8549248B2 (en) Data migration method and information processing system
US7783737B2 (en) System and method for managing supply of digital content
US8683482B2 (en) Computer system for balancing access load of storage systems and control method therefor
US20060218369A1 (en) Storage control method and system
CN108833503A (zh) 一种基于ZooKeeper的Redis集群方法
JPH09244940A (ja) 分散計算機資源の管理方法
US20100138540A1 (en) Method of managing organization of a computer system, computer system, and program for managing organization
JP2003248611A (ja) 記憶管理統合システム、および、その記憶管理制御方法
JP2005228278A (ja) 記憶領域の管理方法、管理装置及び管理プログラム
WO2011158300A1 (ja) 計算機システムおよびその更改方法
JP2000207370A (ja) 分散ファイル管理装置及び分散ファイル管理システム
JP4485428B2 (ja) ネットワークシステム、管理コンピュータ、クラスタ管理方法およびコンピュータプログラム
CN114816272B (zh) Kubernetes环境下的磁盘管理系统
JP2002297432A (ja) 分散処理型データベース管理システム
JP3688471B2 (ja) エージェントシステム、情報処理方法及び情報処理用ソフトウェアを記録した記録媒体
JP2005301880A (ja) 計算機システムにおけるデータ入出力処理方法、ストレージ装置、ホスト計算機、および計算機システム、
CN111400110A (zh) 数据库访问管理系统
JP5543653B2 (ja) 管理計算機
JP2006268588A (ja) クライアントサーバシステムおよびクライアントサーバシステムのデータ処理方法
US20230266907A1 (en) Storage system and data transfer method for storage system
JP2017207805A (ja) 情報処理装置、及び情報処理システム

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2005768590

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 200580033005.3

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2005768590

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 11659290

Country of ref document: US