JP2006072987A - Network system, management computer, cluster management method, and computer program - Google Patents
Network system, management computer, cluster management method, and computer program Download PDFInfo
- Publication number
- JP2006072987A JP2006072987A JP2005222647A JP2005222647A JP2006072987A JP 2006072987 A JP2006072987 A JP 2006072987A JP 2005222647 A JP2005222647 A JP 2005222647A JP 2005222647 A JP2005222647 A JP 2005222647A JP 2006072987 A JP2006072987 A JP 2006072987A
- Authority
- JP
- Japan
- Prior art keywords
- cluster
- computer
- computers
- management
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Hardware Redundancy (AREA)
Abstract
Description
本発明は、広帯域環境のコンピュータ・ネットワークに接続される複数のコンピュータによって行われる効率的な分散コンピューティング技術に関する。
より詳しくは、分散コンピューティングが可能なネットワークシステムおよびその構成要素、ならびにネットワークにおけるクラスタ管理方法に関する。
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.
More particularly, the present invention relates to a network system capable of distributed computing, its components, and a cluster management method in a network.
今日、ネットワークに接続された複数のコンピュータが協働して一つのジョブを分散処理することが一般的になっている。ジョブを分散処理する場合、従来は、どのコンピュータにどのジョブを割り当てるかを決めるために、予めネットワークに接続可能なすべてのコンピュータの処理能力を把握しているサーバの存在が不可欠となる。
サーバは、ジョブの負荷の大きさと、分散処理を行おうとするときにネットワークに接続されている各コンピュータの余剰処理能力(計算資源)とを特定し、負荷に応じた余剰処理能力を有するコンピュータを逐次割り当てていき、その割り当てたコンピュータからジョブの実行結果を受け取る。
Today, it is common for a plurality of computers connected to a network to collaborate to process one job in a distributed manner. In the case of distributed processing of jobs, conventionally, in order to determine which job is assigned to which computer, it is indispensable to have a server that knows the processing capabilities of all computers that can be connected to the network in advance.
The server identifies the size of the job load and the surplus processing capacity (calculation resources) of each computer connected to the network when performing distributed processing, and selects a computer having surplus processing capacity according to the load. Sequential assignment is performed, and job execution results are received from the assigned computers.
サーバを必要とする従来の分散処理方法では、任意の時点でネットワークに接続されたり、非接続になったりするコンピュータの余剰処理能力を、サーバにおいて、迅速に把握することは、非常に困難である。また、サーバが、ジョブの分散処理を依頼したコンピュータからその実行結果を受け取って、ジョブの依頼元に転送しなければならないため、サーバのオーバーヘッドが大きくなる。そのため、ジョブの実行に必要な時間と、ネットワークを介するデータ伝送に必要な時間とが実質的に増加してしまうという問題がしばしば生じていた。
本発明は、このような従来の問題点を解決することができる分散処理の仕組みを提供することを、主たる課題とする。
In a conventional distributed processing method that requires a server, it is very difficult for the server to quickly grasp the surplus processing capacity of the computer that is connected to the network or disconnected at any time. . Further, since the server must receive the execution result from the computer that requested the job distribution processing and transfer it to the job request source, the overhead of the server increases. For this reason, there has often been a problem that the time required for job execution and the time required for data transmission via the network are substantially increased.
The main object of the present invention is to provide a distributed processing mechanism capable of solving such conventional problems.
本発明は、実行すべきジョブのサイズ、種類、数が様々で、それらが時々刻々と変化することが予想される情報処理を複数のコンピュータにより効率的に分散実行することができるネットワークシステムおよびその構成要素、ならびにクラスタ管理方法により、上記の課題を解決する。
ここにいう「コンピュータ」は、コンピュータプログラムによって動作するプロセッサを含む装置をいうが、装置の形式をとらないデバイス、プロセッサボード、プロセッサチップ、あるいはプロセッサ自体も「コンピュータ」の概念に含まれる。例えば、マルチプロセッサシステムのような個々のプロセッサも「コンピュータ」となり得る。
The present invention relates to a network system capable of efficiently distributing and executing information processing, which is expected to change every moment, in various sizes, types, and numbers of jobs to be executed by a plurality of computers. The above problem is solved by the component and the cluster management method.
The “computer” mentioned here refers to a device including a processor that operates according to a computer program, but a device, processor board, processor chip, or processor itself that does not take the form of the device is also included in the concept of “computer”. For example, an individual processor, such as a multiprocessor system, can also be a “computer”.
本発明が提供する第1構成のネットワークシステムは、それぞれ、他のコンピュータとのクラスタ化が可能な複数のコンピュータが自由に参加および離脱することができるネットワークシステムである。
このネットワークシステムは、各々のコンピュータの状態がそれぞれクラスタ化が可能な状態かどうかを表すクラスタ化可否情報を記録した第1のテーブルと、既に一又は複数のコンピュータにより形成されているクラスタが他のコンピュータをどの程度追加し易いかを表す追加容易性情報を記録するための第2のテーブルとを含んでいる。
いずれかの前記コンピュータは、前記第1のテーブルのクラスタ化可否情報がクラスタ化可能の状態を表す自己および他のコンピュータを含んだクラスタを形成するとともに、形成したクラスタに含まれるすべてのコンピュータについての前記クラスタ化可否情報を、クラスタ化不能の状態を表す情報に更新し、さらに形成したクラスタについての前記追加容易性情報を前記第2テーブルに記録するクラスタ形成手段を有している。また、クラスタを形成した前記コンピュータは、当該クラスタへの追加候補となる候補コンピュータが存在するときに当該候補コンピュータを前記クラスタに追加するかどうかを前記第2のテーブルに記録されている追加容易性情報に基づいて決定するクラスタ成長手段を有するものである。
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 computers can freely join and leave.
This network system includes a first table in which information on whether or not each computer can be clustered 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 easy it is to add a computer.
Any one of the computers forms a cluster including self and other computers whose clusterability information in the first table indicates a clusterable state, and for all the computers included in the formed cluster. Cluster forming means for updating the clusterability information to information indicating a non-clusterable state and further recording the additional ease information on the formed cluster in the second table. Further, the computer that has formed a cluster has the ease of addition recorded in the second table as to whether or not to add the candidate computer to the cluster when there is a candidate computer to be added to the cluster. It has a cluster growth means which determines based on information.
このような構成のネットワークシステムでは、いずれかのコンピュータが、第1のテーブルに記録されている個々のコンピュータのクラスタ化可否情報をもとに自律的にクラスタを形成し、そのクラスタにおける追加容易性情報を第2のテーブルに記録する。クラスタに含めるコンピュータの数は、クラスタが形成されたタイミングで定まるデフォルト数であっても良く、実際に投入された、あるいは、近い将来投入が予想されるジョブのサイズ等に応じてフレキシブルに定まる数であっても良い。いずれにしても、クラスタ化可否情報がクラスタ化可能な状態であるコンピュータが選定されてクラスタが形成される。
クラスタが形成された後、追加候補となる候補コンピュータがあるときは、そのクラスタを形成したコンピュータが、第2テーブルに記録されている追加容易性情報に基づいてその候補コンピュータをクラスタに追加するかどうかを決定する。
In the network system having such a configuration, any one of the computers autonomously forms a cluster based on the clustering availability information of each computer recorded in the first table, and is easy to add in the cluster. Information is recorded in the second table. The number of computers included in the cluster may be the default number determined at the time the cluster is formed, or a number that is determined flexibly according to the size of the job that was actually submitted or expected to be submitted in the near future. It may be. In any case, a computer whose clusterability information is clusterable is selected to form a cluster.
After the cluster is formed, if there is a candidate computer that is an additional candidate, whether the computer that formed the cluster adds the candidate computer to the cluster based on the additional ease information recorded in the second table Decide if.
追加容易性情報は、クラスタを形成したコンピュータが、候補コンピュータを追加することが適切かどうかを自律的に決定するための情報であって、様々な種類の情報を用いることができる。最先に追加を申し込んだいくつかのコンピュータのみを追加させる、乱数により発生した番号を識別情報とするコンピュータのみを追加させる・・・といった条件等も追加容易性情報として採用することができる。但し、追加させるかどうかの決定の処理を簡略化する観点からは、追加のし易さといった尺度を数値により定量化しておき、この数値との大小比較を行えるようにして、数値が高くなるほど候補コンピュータを当該クラスタへ追加させ易くするようにすることが望ましい。この場合の数値は、一例を挙げれば、不定期に発生する5回の追加可否の問い合わせに対して1回だけランダムに応答して追加を認める(この場合の数値は1/5:20%となる)、合計で1日のシステム運用時間の10%の時間帯の受付分だけ、候補コンピュータの追加を認める(この場合の数値は24(時間)×60(分)×60(秒)×0.1×α(確率値)となる)という類のものである。 The addability information is information for the computer forming the cluster to autonomously determine whether it is appropriate to add the candidate computer, and various types of information can be used. Conditions such as adding only a few computers that have applied for the addition first, adding only a computer having identification number as a number generated by a random number, etc. can also be adopted as additional ease information. However, from the viewpoint of simplifying the process of determining whether or not to add, a measure such as ease of addition is quantified by a numerical value so that it can be compared with this numerical value. It is desirable to facilitate the addition of computers to the cluster. As an example, the numerical value in this case is one-time response to an inquiry about whether or not to add five times that occur irregularly, and the addition is permitted (the numerical value in this case is 1/5: 20%) In this case, addition of candidate computers is allowed only for the accepted time period of 10% of the system operation time of one day (in this case, the numerical value is 24 (hours) × 60 (minutes) × 60 (seconds) × 0 .1 × α (probability value)).
なお、数値は、候補コンピュータの追加に拘わらず、一定値に保持させるようにしても良いし、第2のテーブルに記録した後に変動可能にしても良い。数値を変動可能にする場合は、候補コンピュータをクラスタに追加したことを契機に変動させることにより、候補コンピュータが集まり易いクラスタは、さらに他の候補コンピュータを集めやすくなり、実際の需要に即したサイズのクラスタを容易に形成できるようになり易いという利点が生じる。 Note that the numerical value may be held at a constant value regardless of addition of candidate computers, or may be variable after being recorded in the second table. If the numerical value can be changed, it is easier to gather candidate computers by changing the candidate computer added to the cluster as a trigger, and it becomes easier to collect other candidate computers. This is advantageous in that it is easy to form a cluster.
このようにして、候補コンピュータがクラスタに逐次追加されることにより、様々なサイズのクラスタがネットワークシステムの複数のコンピュータ上で形成され、成長していく。そのため、実行すべきジョブのサイズ、種類、数が様々で、それらが時々刻々と変化していくことが予想される情報処理を効率的に実行することができる分散コンピューティングが実現され、従来の問題点が解消される。 In this way, as candidate computers are sequentially added to the cluster, clusters of various sizes are formed and grown on a plurality of computers in the network system. As a result, distributed computing is realized that can efficiently execute information processing that is expected to vary in size, type, and number of jobs to be executed. The problem is solved.
第1構成のネットワークシステムにおける、ある実施の態様では、クラスタを形成したコンピュータが、当該クラスタによるジョブの実行が終了した時点で当該クラスタを消滅させるとともに、前記第2のテーブルに記録されている前記追加容易性情報および消滅したクラスタに所属していたすべてのコンピュータについて前記第1のテーブルに記録されていたクラスタ化可否情報をクラスタ形成前の状態に復帰させるクラスタ消滅手段をさらに有している。
クラスタは、ジョブが実行されるまでは、上述した追加容易性情報に基づいて成長するが、ジョブの実行が終了した時点で消滅するので、固定的にクラスタを用意しておく場合に比べて、コンピュータの有効活用が図れるようになる。
In one embodiment of the network system of the first configuration, the computer that formed the cluster deletes the cluster when the job execution by the cluster is completed, and is recorded in the second table. It further has cluster extinguishing means for restoring the clusterability information recorded in the first table for all computers belonging to the added cluster information and the extinguished cluster to the state before the cluster formation.
Until the job is executed, the cluster grows based on the additional ease information described above. However, since it disappears when the job execution is completed, compared to the case where the cluster is fixedly prepared, The computer can be used effectively.
本発明が提供する第2構成のネットワークシステムは、それぞれ、他のコンピュータとのクラスタ化が可能な一又は複数のコンピュータを自己の傘下とする複数の管理コンピュータが自由に参加および離脱することができるネットワークシステムである。
「一又は複数のコンピュータを自己の傘下のコンピュータとして管理する」とは、自己に接続されている複数のコンピュータの動作を制御するとともに、それらの動作状態を監視することをいう。
このネットワークシステムにおいて、各々のコンピュータの状態がそれぞれクラスタ化が可能な状態かどうかを表すクラスタ化可否情報を記録した第1のテーブルと、既に一又は複数のコンピュータにより形成されたクラスタが他のコンピュータをどの程度追加し易いかを表す追加容易性情報を記録した第2のテーブルとを含んでいる。
また、少なくとも一つの前記管理コンピュータは、自己の傘下にあるコンピュータおよび他の管理コンピュータの傘下にあるコンピュータのうち前記第1のテーブルのクラスタ化可否情報がクラスタ化可能の状態を表すコンピュータを含んだクラスタを形成するとともに、形成したクラスタに含まれるすべてのコンピュータについての前記クラスタ化可否情報をクラスタ化不能の状態を表す情報に更新するクラスタ形成手段を有している。さらに、クラスタを形成した前記管理コンピュータは、追加候補となる候補コンピュータが存在するときに当該候補コンピュータを前記クラスタに追加するかどうかを前記第2のテーブルに記録されている追加容易性情報に基づいて決定するクラスタ成長手段を有している。
In the network system of the second configuration provided by the present invention, a plurality of management computers each having one or a plurality of computers that can be clustered with other computers can freely join and leave. It is a network system.
“Managing one or a plurality of computers as computers under their control” means controlling the operations of a plurality of computers connected to the computers and monitoring their operation states.
In this network system, a first table in which information on whether or not each computer can be clustered is recorded, and a cluster already formed by one or more computers is another computer. And a second table in which easy-to-add information indicating how easy it is to add is recorded.
In addition, at least one of the management computers includes a computer in which the clusterability information in the first table represents a clusterable state among computers under its own control and computers under the control of another management computer. Cluster forming means for forming a cluster and updating the clustering availability information for all computers included in the formed cluster to information indicating a non-clusterable state. Further, the management computer that formed the cluster determines whether or not to add the candidate computer to the cluster when there is a candidate computer to be added based on the additional ease information recorded in the second table. Cluster growth means to be determined.
このような構成のネットワークシステムでは、いずれかの管理コンピュータが、第1のテーブルに記録されているコンピュータのクラスタ化可否情報をもとに自律的にクラスタを形成し、そのクラスタにおける追加容易性情報を第2のテーブルに記録する。クラスタが形成された後、追加候補となる候補コンピュータがあるときは、そのクラスタを形成した管理コンピュータが、第2テーブルに記録されている追加容易性情報に基づいてその候補コンピュータをクラスタに追加するかどうかを決定する。クラスタ化可否情報、追加容易性情報の扱い、クラスタ化、クラスタ成長の際の基準は、第1構成のネットワークシステムと同じである。 In the network system having such a configuration, any of the management computers autonomously forms a cluster based on the computer clusterability information recorded in the first table, and additional ease information in the cluster Is recorded in the second table. After the cluster is formed, if there is a candidate computer that is an additional candidate, the management computer that formed the cluster adds the candidate computer to the cluster based on the additional ease information recorded in the second table. Decide whether or not. The criteria for handling clusterability information and additional ease information, clustering, and cluster growth are the same as those of the network system of the first configuration.
第2構成のネットワークシステムにおける、ある実施の態様では、前記管理コンピュータは、前記形成したクラスタによるジョブの実行が終了した時点で当該クラスタを消滅させるとともに、前記第2のテーブルおよび消滅したクラスタに所属していたすべてのコンピュータについての前記第1のテーブルの記録情報をクラスタ形成前の状態に復帰させるクラスタ消滅手段をさらに有するものである。
クラスタは、ジョブが実行されるまでは、上述した追加容易性情報に基づいて成長するが、ジョブの実行が終了した時点で消滅するので、固定的にクラスタを用意しておく場合に比べて、コンピュータの有効活用が図れるようになる。
In one embodiment of the network system of the second configuration, the management computer annihilates the cluster when job execution by the formed cluster is completed, and belongs to the second table and the erasure cluster The apparatus further includes cluster extinguishing means for restoring the recording information of the first table for all the computers that have been used to the state before the cluster formation.
Until the job is executed, the cluster grows based on the additional ease information described above. However, since it disappears when the job execution is completed, compared to the case where the cluster is fixedly prepared, The computer can be used effectively.
第2構成のネットワークシステムにおいて、第2のテーブルは、任意の箇所に存在しても良いが、通常は、第2のテーブルを生成することになるいずれかの管理コンピュータが保有することになる。この場合、その管理コンピュータは、最大で自己の傘下にあるコンピュータの数の前記第2のテーブルを保有することになる。
第2テーブルは、それを保有する管理コンピュータが自己の傘下にある第1コンピュータを含む第1クラスタを形成するときに当該第1コンピュータ用として生成するマスターテーブルと、それを保有する管理コンピュータが、他の管理コンピュータが形成した第2クラスタに追加される、自己の傘下にある第2コンピュータの動作を監視制御するときには当該第2コンピュータ用に生成するスレーブテーブルのいずれかを少なくとも含む。追加容易性情報はマスターテーブルに記録される。マスターテーブルを保有する管理コンピュータは、第1クラスタの形成、第1クラスタ内のコンピュータ数の変更並びに第1クラスタの消滅に関わる情報処理を主導的に行うマスター管理コンピュータとして振る舞い、スレーブテーブルを保有する管理コンピュータは、第2クラスタに対するスレーブ管理コンピュータとして振る舞う。
In the network system of the second configuration, the second table may exist at an arbitrary place, but normally, it is held by any management computer that will generate the second table. In this case, the management computer holds the second table of the number of computers under its control.
The second table is a master table that is generated for the first computer when the management computer that owns it forms a first cluster that includes the first computer under its control, and the management computer that owns the master table, It includes at least one of the slave tables generated for the second computer when the operation of the second computer under its control added to the second cluster formed by another management computer is monitored and controlled. Additional ease information is recorded in the master table. The management computer that holds the master table behaves as a master management computer that mainly performs information processing related to formation of the first cluster, change of the number of computers in the first cluster, and disappearance of the first cluster, and holds the slave table. The management computer behaves as a slave management computer for the second cluster.
クラスタ化を促進する観点からは、マスター管理コンピュータは、いずれかの管理コンピュータに対してクラスタ化可能状態のコンピュータがあるかどうかを問い合わせることにより第1クラスタに追加させるための候補コンピュータを探索する探索手段を有するものとする。また、いずれかの管理コンピュータは、マスター管理コンピュータにより形成された第1クラスタについての前記追加容易性情報に基づいて自己の傘下の候補コンピュータを当該第1クラスタに追加させるかどうかを決定するように構成する。 From the viewpoint of promoting clustering, the master management computer searches for a candidate computer to be added to the first cluster by inquiring of any management computer whether there is a computer in a clusterable state. It shall have means. Further, 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 master management computer. Constitute.
本発明が提供する第3構成のネットワークシステムは、それぞれ、他のコンピュータとのクラスタ化が可能な複数のコンピュータが自由に参加および離脱することができるネットワークシステムであって;既に一又は複数のコンピュータにより形成されているクラスタ毎に、当該クラスタに所属するコンピュータが関係付けられている他のクラスタの識別情報をリストアップしたテーブルを含み;クラスタを形成した前記コンピュータは、追加候補となる候補コンピュータが存在するときに当該候補コンピュータを自己のクラスタに関係付けられている他のクラスタに追加するかどうかを前記テーブルにリストアップされた識別情報に基づいて決定するクラスタ成長手段を有しているネットワークシステムである。「関係付けられている」とは、例えば互いに連絡が可能で連携処理等ができる状態をいう。このような構成のネットワークシステムでは、追加容易性情報によらずともベキ分布に従うクラスタリングが可能になる。 The network system of the third configuration provided by the present invention is a network system in which a plurality of computers that can be clustered with other computers can freely join and leave; already one or a plurality of computers For each of the clusters formed by the above, including a table listing identification information of other clusters to which the computers belonging to the cluster are related; the computer forming the cluster is a candidate computer that is an additional candidate A network system having cluster growth means for determining whether to add the candidate computer to another cluster related to the own cluster, based on the identification information listed in the table It is. “Associated” means a state in which, for example, it is possible to communicate with each other and perform cooperation processing. In the network system having such a configuration, clustering according to the power distribution can be performed regardless of the additional ease information.
本発明は、また、例えば上記第2構成のネットワークシステムを構成するための管理コンピュータを提供することにより、上記課題の解決を図る。
この管理コンピュータは、それぞれ、他のコンピュータとのクラスタ化が可能な一又は複数のコンピュータを自己の傘下とする管理コンピュータであって;他の同種機能を有する管理コンピュータと共に自由に参加および離脱することができるコンピュータネットワークに接続するためのネットワーク接続手段と;各々のコンピュータの状態がそれぞれクラスタ化が可能な状態かどうかを表すクラスタ化可否情報を記録した第1のテーブル、および、既に一又は複数のコンピュータにより形成されたクラスタが他のコンピュータをどの程度追加し易いかを表す追加容易性情報を記録するための第2のテーブルへのアクセスを可能にするテーブル管理手段と;自己の傘下にある前記コンピュータおよび他の管理コンピュータの傘下にある前記コンピュータのうち前記第1のテーブルのクラスタ化可否情報がクラスタ化可能の状態を表すコンピュータを含んだクラスタを形成するとともに、形成したクラスタに含まれるすべてのコンピュータについての前記クラスタ化可否情報をクラスタ化不能の状態を表す情報に更新し、さらに、当該クラスタについての前記追加容易性情報を前記第2のテーブルに記録するクラスタ形成手段と;追加候補となる候補コンピュータが存在するときに当該候補コンピュータを前記クラスタに追加するかどうかを前記第2のテーブルに記録されている追加容易性情報に基づいて決定するクラスタ成長手段と;を有するものである。前記形成したクラスタによるジョブの実行が終了した時点で当該クラスタを消滅させるとともに、前記第2のテーブルに記録されている追加容易性情報および消滅したクラスタに所属していたすべてのコンピュータについて前記第1のテーブルに記録されているクラスタ化可否情報をクラスタ形成前の状態に復帰させるクラスタ消滅手段をさらに有するものとすることもできる。
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 a plurality of computers that can be clustered with other computers; freely participate and leave with other management computers having similar functions. A network connection means for connecting to a computer network capable of performing a clustering; a first table recording clustering availability information indicating whether each computer is in a clusterable state, and one or more already Table management means for allowing access to a second table for recording additional ease information indicating how easily a cluster formed by computers can add another computer; A computer and other management computers A cluster including computers whose clusterability information in the first table of the computers indicates a clusterable state is formed, and the clusterability information for all computers included in the formed cluster is clustered. A cluster forming unit that updates the information indicating an incapable state and records the additional ease information about the cluster in the second table; and when there is a candidate computer that is an additional candidate, Cluster growth means for determining whether to add to the cluster based on the additional ease information recorded in the second table. When the execution of the job by the formed cluster is completed, the cluster is deleted, and the additional ease information recorded in the second table and the first computer for all computers belonging to the deleted cluster. It is also possible to further have a cluster disappearance means for returning the clustering availability information recorded in the table to the state before the cluster formation.
本発明は、また、例えば上記の第1構成および第3構成のネットワークシステムに含まれる複数のコンピュータにより実行されるクラスタ管理方法により、上記課題の解決を図る。
第1のクラスタ管理方法は、それぞれ、他のコンピュータとのクラスタ化が可能な複数のコンピュータが自由に参加および離脱することができるネットワークシステムにおけるクラスタ管理方法であって;各コンピュータが、それぞれ自己の状態がクラスタ化が可能な状態かどうかを表すクラスタ化可否情報を第1のテーブルに記録する段階と;いずれかのコンピュータが、自己と前記第1のテーブルのクラスタ化可否情報がクラスタ化可能の状態を表す他のコンピュータとを含んだクラスタを形成するとともに、形成したクラスタに含まれるすべてのコンピュータについての前記クラスタ化可否情報をクラスタ化不能の状態を表す情報に更新し、さらに、当該クラスタが他のコンピュータをどの程度追加し易いかを表す追加容易性情報を第2のテーブルに記録する段階と;追加候補となる候補コンピュータが存在するときに当該候補コンピュータを前記クラスタに追加するかどうかを前記第2のテーブルに記録されている追加容易性情報に基づいて決定する段階と;を有するクラスタ管理方法である。
前記クラスタを形成したコンピュータが、前記形成したクラスタによるジョブの実行が終了した時点で当該クラスタを消滅させるとともに、前記第2のテーブルおよび消滅したクラスタに所属していたすべてのコンピュータについての前記第1のテーブルの記録情報をクラスタ形成前の状態に復帰させる段階とをさらに含めることもできる。
The present invention also solves the above problem by, for example, a cluster management method executed by a plurality of computers included in the network systems having the first configuration and the third configuration described above.
A first cluster management method is a cluster management method in a network system in which a plurality of computers that can be clustered with other computers can freely join and leave; each computer has its own Recording the clusterability information indicating whether or not the state is clusterable in a first table; any one of the computers can cluster the clusterability information of itself and the first table; Forming a cluster including other computers representing the state, updating the clustering availability information for all computers included in the formed cluster to information representing a non-clusterable state, and Addability information that indicates how easy it is to add other computers Determining whether to add the candidate computer to the cluster when there is a candidate computer to be added based on the additional ease information recorded in the second table. A cluster management method comprising:
When the computer that formed the cluster finishes executing the job by the formed cluster, the cluster disappears, and the first table for all computers belonging to the second table and the disappeared cluster. And a step of returning the recorded information of the table to the state before the cluster formation.
第2のクラスタ管理方法は、それぞれ、他のコンピュータとのクラスタ化が可能な複数のコンピュータが自由に参加および離脱することができるネットワークシステムにおけるクラスタ管理方法であって;既に一又は複数のコンピュータによりクラスタを形成したコンピュータが、当該クラスタに所属するコンピュータが関係付けられている他のクラスタの識別情報を所定のテーブルにリストアップする段階と;クラスタを形成した前記コンピュータが、追加候補となる候補コンピュータが存在するときに当該候補コンピュータを当該クラスタと関係付けられている他のクラスタに追加するかどうかを前記テーブルに記録されている識別情報に基づいて決定する段階と;を有する、クラスタ管理方法である。 A second cluster management method is a cluster management method in a network system in which a plurality of computers that can be clustered with other computers can freely join and leave, respectively; A computer that forms a cluster lists identification information of other clusters to which a computer that belongs to the cluster is associated in a predetermined table; a candidate computer in which the computer that forms the cluster is an additional candidate Determining whether to add the candidate computer to another cluster associated with the cluster based on the identification information recorded in the table. is there.
本発明は、また、コンピュータに所定の機能を付与するためのコンピュータプログラムを提供することにより、上記課題の解決を図る。
第1のコンピュータプログラムは、それぞれ、他のコンピュータとのクラスタ化が可能な複数のコンピュータが自由に参加および離脱することができるネットワークシステムにおけるいずれかのコンピュータに読み取られて実行されることにより当該コンピュータを、各々のコンピュータの状態がそれぞれクラスタ化が可能な状態かどうかを表すクラスタ化可否情報を記録した第1のテーブル、および、既に一又は複数のコンピュータにより形成されたクラスタが他のコンピュータをどの程度追加し易いかを表す追加容易性情報を記録するための第2のテーブルへのアクセスを可能にするテーブル管理手段;前記第1のテーブルのクラスタ化可否情報がクラスタ化可能の状態を表す自己および他のコンピュータを含んだクラスタを形成するとともに、形成したクラスタに含まれるすべてのコンピュータについての前記第1のテーブルのクラスタ化可否情報をクラスタ化不能の状態を表す情報に更新し、さらに、当該クラスタについての前記追加容易性情報を前記第2のテーブルに記録するクラスタ形成手段;追加候補となる候補コンピュータが存在するときに当該候補コンピュータを前記クラスタに追加するかどうかを前記第2のテーブルに記録されている追加容易性情報に基づいて決定するクラスタ成長手段として機能させるためのコンピュータプログラムである。
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 in which information on whether or not each computer can be clustered is recorded, and a cluster already formed by one or more computers. Table management means for enabling access to the second table for recording additional ease information indicating whether or not it is easy to add; self indicating that the clusterability information of the first table indicates a clusterable state And forming a cluster containing other computers In addition, the clustering availability information of the first table for all computers included in the formed cluster is updated to information indicating a non-clusterable state, and the additional ease information for the cluster is further updated. Cluster forming means for recording in the second table; based on the additional ease information recorded in the second table, whether or not to add the candidate computer to the cluster when there is a candidate computer to be added It is a computer program for functioning as a cluster growth means to be determined.
第2のコンピュータプログラムは、それぞれ他のコンピュータとのクラスタ化が可能な一又は複数のコンピュータを自己の傘下とする管理コンピュータに読み取られて実行されることにより、前記管理コンピュータを;他の同種機能を有する管理コンピュータと共に自由に参加および離脱することができるコンピュータネットワークに接続するためのネットワーク接続手段;各々のコンピュータの状態がそれぞれクラスタ化が可能な状態かどうかを表すクラスタ化可否情報を記録した第1のテーブル、および、既に一又は複数のコンピュータにより形成されたクラスタが他のコンピュータをどの程度追加し易いかを表す追加容易性情報を記録するための第2のテーブルへのアクセスを可能にするテーブル管理手段;自己の傘下にある前記コンピュータおよび他の管理コンピュータの傘下にある前記コンピュータのうち前記第1のテーブルのクラスタ化可否情報がクラスタ化可能の状態を表すコンピュータを含んだクラスタを形成するとともに、形成したクラスタに含まれるすべてのコンピュータについての前記クラスタ化可否情報をクラスタ化不能の状態を表す情報に更新し、さらに、当該クラスタについての前記追加容易性情報を前記第2のテーブルに記録するクラスタ形成手段;追加候補となる候補コンピュータが存在するときに当該候補コンピュータを前記クラスタに追加するかどうかを前記第2のテーブルに記録されている追加容易性情報に基づいて決定するクラスタ成長手段;として機能させるためのコンピュータプログラムである。 The second computer program is read and executed by a management computer that owns one or more computers each capable of clustering with another computer, thereby executing the management computer; A network connection means for connecting to a computer network that can freely join and leave with a management computer having; a clustering availability information indicating whether each computer is clusterable or not Allows access to one table and a second table to record additional ease information representing how easy a cluster already formed by one or more computers can add another computer Table management means; the computer under its own umbrella Among the computers under the control of the computer and other management computers form a cluster including computers in which the clustering availability information in the first table indicates a clusterable state, and all of the computers included in the formed cluster Cluster forming means for updating the clusterability information on the computer to information indicating a non-clusterable state, and further recording the additional ease information on the cluster in the second table; candidate to be an additional candidate A computer program for functioning as cluster growth means for determining whether to add a candidate computer to the cluster when a computer exists based on additional ease information recorded in the second table. .
第3のコンピュータプログラムは、それぞれ、他のコンピュータとのクラスタ化が可能な複数のコンピュータが自由に参加および離脱することができるネットワークシステムにおけるいずれかのコンピュータに読み取られて実行されることにより、当該コンピュータを、既に一又は複数のコンピュータによりクラスタを形成したときに当該クラスタに所属するコンピュータが関係付けられている他のクラスタの識別情報を所定のテーブルにリストアップするクラスタ管理手段と、追加候補となる候補コンピュータが存在するときに当該候補コンピュータを自己のクラスタに関係付けられている他のクラスタに追加するかどうかを前記テーブルにリストアップされた識別情報に基づいて決定するクラスタ成長手段;として機能させるためのコンピュータプログラムである。 Each of the third 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. Cluster management means for listing identification information of other clusters associated with computers belonging to the cluster when the computer is already formed with one or a plurality of computers in a predetermined table, an additional candidate, A cluster growth means for determining whether or not to add a candidate computer to another cluster related to the own cluster based on the identification information listed in the table. Con to make A-menu data program.
これらのコンピュータプログラムは、可搬性の記録媒体に記録されて市場を流通し、あるいは、コンピュータまたは管理コンピュータがアクセス可能なコンピュータネットワークを通じてプログラムサーバ等からダウンロードされる。 These computer programs are recorded on a portable recording medium and distributed in the market, or downloaded from a program server or the like through a computer network accessible by a computer or a management computer.
本発明によれば、様々なサイズのクラスタがネットワークシステムの複数のコンピュータのいずれかにおいて形成され、それが所定のテーブルの記録情報に基づいて成長していくので、任意のサイズのクラスタを容易に得られるようになる。そのため、実行すべきジョブのサイズ、種類、数が様々で、それらのいずれかが時々刻々と変化していくことが予想される不確実性の情報処理であっても、それを効率的に実行することができる分散コンピューティングが実現されるという、特有の効果が得られる。 According to the present invention, clusters of various sizes are formed in any one of a plurality of computers of the network system, and grow based on recorded information in a predetermined table. It will be obtained. As a result, there are various job size, type, and number of jobs to be executed, and even if it is information processing of uncertainty that is expected to change from moment to moment, it is efficiently executed A unique effect is achieved in that distributed computing is realized.
<ネットワークシステムのアーキテクチャ>
まず、本発明が適用されるネットワークシステムのアーキテクチャを説明する。
図1は、本発明が適用されるネットワークシステム101の全体図である。このネットワークシステム101は、コンピュータ・ネットワーク104を含んでいる。コンピュータ・ネットワーク104の例としては、ローカル・エリア・ネットワーク(LAN)、インターネットのようなグローバルネットワーク、あるいは他のコンピュータ・ネットワークが挙げられる。
<Network system architecture>
First, the architecture of a network system to which the present invention is applied will be described.
FIG. 1 is an overall view of a
コンピュータ・ネットワーク104には、一又は複数のコンピュータを自己の傘下とする管理コンピュータ106が、それぞれ任意のタイミングで接続することができる。各管理コンピュータ106は、それぞれ、他の管理コンピュータ106、および、他の管理コンピュータ106の傘下にある他のコンピュータ108との間で双方向の通信を行うことができる。各コンピュータ108は、何時でも、いずれかの管理コンピュータ106の傘下になることができる。つまり、これらのコンピュータ106、108は、ネットワークシステム101に、何時でも自由に離脱できる形態で参加できるようになっている。
A
この実施形態にいう「コンピュータ」は、コンピュータプログラムによって動作するプロセッサを含む装置をいうが、装置の形式をとらないデバイス、プロセッサボード、あるいはこれらの集合も「コンピュータ」の概念に含まれる。また、「一又は複数のコンピュータ108を傘下とする」とは、自己に接続されている複数のコンピュータ108の動作を制御するとともに、それらの動作状態を監視することをいう。
The “computer” in this embodiment refers to an apparatus including a processor that operates according to a computer program, but a device, a processor board, or a set of these that does not take the form of the apparatus is also included in the concept of “computer”. Further, “having one or a plurality of
管理コンピュータ106の例としては、サーバ機能を有するコンピュータ、通信機能付のゲームコンソール、コンピューティングデバイス、プロセッサボードなどが含まれる。
管理コンピュータ106の傘下にあるコンピュータ108の例としては、パーソナルコンピュータ、通信機能付のゲームコンソール及びその他の有線または無線コンピュータ、コンピューティング・デバイス、プロセッサボードなどが含まれる。
Examples of the
Examples of the
管理コンピュータ106へのコンピュータ108の接続形態は様々である。例えば、図1に示されるように、コンピュータ・ネットワーク104に接続された管理コンピュータ106を中心に複数のコンピュータ108が直接接続されるスター接続型、管理コンピュータ106が接続されている構内ネットワークを介して複数のコンピュータ108が接続される構内ネットワーク型、コンピュータ・ネットワーク104を介して複数のコンピュータ108が管理コンピュータ106に接続される広域ネットワーク型等が挙げられる。
構内ネットワーク型における構内ネットワークの種類も様々であり、コンピュータ・ネットワーク104とダイレクトに接続されたネットワークもあれば、コンピュータ・ネットワーク104とは管理コンピュータ106を介して接続されるネットワークもある。
There are various connection forms of the
There are various types of local networks in the local network type. Some networks are directly connected to the
各管理コンピュータ106は、図2に示されるように、バスB11を通じて相互に接続されたハードディスク等のストレージ装置1061、通信装置1063、半導体メモリ1065、プロセッサ1067を含んでいる。このようなハードウエア資源を有する管理コンピュータ106は、CD−ROM等の記録媒体を通じて半導体メモリ1065にロードされたコンピュータプログラムをプロセッサ1067が読み取って実行することにより、図4に示されるように、ストレージ装置1061に、後述する複数の管理テーブル206を格納するとともに、テーブル管理部212、クラスタ管理部216、通信制御部236、およびジョブ実行部256の機能をコンピュータ本体内に構築する。
As shown in FIG. 2, each
テーブル管理部212は、管理テーブル206にアクセスして、その管理テーブル206の記録内容を更新させる。クラスタ管理部216は、自己の傘下のコンピュータ108および他の管理コンピュータ106の傘下にあるコンピュータ108が所属するクラスタの形成・成長・消滅に関わる情報処理を行う。つまり、クラスタ管理部216は、クラスタの状態変化に応じて、クラスタ形成手段、クラスタ成長手段、クラスタ消滅手段として機能する。
The
通信制御部236は、通信装置1063を通じて、自己の傘下のコンピュータ108および他の管理コンピュータ106との間の通信を可能にする。ジョブ実行部256は、自己の傘下のコンピュータ108を含むクラスタにジョブを投入し、それを実行させる。ジョブ実行部256には、最適なクラスタのサイズ、つまりコンピュータ数の特定を容易にするために、ジョブのサイズ、処理時間等を計算する機能を持たせるようにしても良い。
The
コンピュータ108は、管理コンピュータ106と同様のストレージ装置、通信装置、半導体メモリおよびプロセッサを有している。この実施形態では、ストレージ装置に、後述するステータステーブルを格納する。また、CD−ROM等の記録媒体を通じて半導体メモリにロードされたコンピュータプログラムをプロセッサが読み取って実行することにより、クラスタ管理およびジョブの実行に関する種々の機能をコンピュータ本体内に構築する。望ましくは、他のコンピュータ108と命令セット・アーキテクチャ(ISA)がすべて同じ、あるいは同じとみなされるもので、同じ命令セットに従って所要の処理を実行できるものとする。
The
各管理コンピュータ106における傘下のコンピュータ108の数は、任意である。ある管理コンピュータ106では、各種アプリケーションによって与えられるジョブを実行する上で必要な処理能力によって、コンピュータ108の数が割り当てられている。
管理コンピュータ106の傘下にある複数のコンピュータ108におけるISAがそれぞれ同一あるいは同一とみなされる場合には、管理コンピュータ106あるいはネットワークシステム101におけるアダプタビリティを飛躍的に改善することができる。
The number of
When the ISAs of a plurality of
各管理コンピュータ106は、各々自己の傘下のコンピュータ108又は他の管理コンピュータ106の傘下のコンピュータ108のうち1つまたはそれ以上を含んでクラスタを形成し、クラスタ単位でジョブを実行できるようにする。自己の傘下のコンピュータ108と他の管理コンピュータ106の傘下のコンピュータ108との間には、少なくとも一つのクラスタを形成する上での性能上の相違、制約等は存在しない。このように扱うことにより、ジョブは、どの管理コンピュータ106のどのコンピュータ108において実行するかは、さほど重要でなくなる。ジョブの実行結果の受け取り先を、ジョブを依頼した管理コンピュータ106、その傘下のコンピュータ108あるいは後続のジョブを実行する任意のコンピュータ108として指定するだけで足りるようになる。そのため、個々のジョブは、コンピュータ・ネットワーク104に接続されている複数の管理コンピュータ106の傘下のコンピュータ108の間で分散実行することが容易になる。
Each
上記のように各コンピュータ108が、すべて同じ、あるいは同じとみなされるISAを有するものとする場合は、コンピュータ108間の互換性を達成するためのソフトウェアの追加層の計算上の負担も回避されるし、異質なコンピュータ・ネットワークの混在という問題の多くを防ぐことができる。そのため、用途に応じて、そのようなネットワークシステム101を構成するのが望ましい。このようなネットワークシステム101では、コンピュータ・ネットワーク104に接続されている複数の管理コンピュータ106およびコンピュータ108間のアーキテクチャの相違は吸収され、図3に示されるように、各管理コンピュータ106の傘下にある多数のコンピュータ108の各々があたかも情報処理の細胞(Cell)のように機能する、広帯域処理の実現が可能な大規模情報処理統合体WOが形成される。
If each
大規模情報処理統合体WOにおける個々のコンピュータ108は、物理的には自己が所属する管理コンピュータ106によって管理され、単独のコンピュータとして動作したり、その管理コンピュータ106の傘下にある他のコンピュータ108と共にクラスタ化されて協働で動作したりする。しかし、論理的には、管理コンピュータ106による壁はなく、異なる管理コンピュータ106の傘下の他のコンピュータ108との間でのクラスタ化も可能である。このような形態でクラスタ化される場合、一つのジョブを同じクラスタに属する複数のコンピュータ108で分散実行することができる。
Each
<分散コンピューティング>
本発明は、上記のネットワークシステム101のアーキテクチャを利用した効率的な分散コンピューティングの仕組みを提供する。このような仕組みを可能にするため、本発明では、例えば図3に示した大規模情報処理統合体WOのようなネットワークを構成する複数のコンピュータ108の各々がノードとなり、少数のノードからスタートして時間の経過と共にノード数が増加する「成長」、ノード間のリンクの接続手法としての「選択的接続」とを繰り返すことができるようにする。
「選択的接続」とは、新たにネットワークに参加したノードがリンクを張る際に、リンク先のノードを選ぶ基準として、より多くのリンクを既に持っているノードに、より接続しやすくなるいうものである。成長と選択的接続の2つの特徴により、ネットワークは、成長しながらスケールフリーの性質を持つようになる。このような成長と選択的接続の繰り返しにより、ノードの持つリンク数の分布がベキ分布になることは、例えば、Albert Barabasi,Reka Albert,Hawoong“Mean-field theory for scale-free random networks"に詳細に示されている。
<Distributed computing>
The present invention provides an efficient distributed computing mechanism using the architecture of the
“Selective connection” means that when a node newly joined to the network establishes a link, it becomes easier to connect to a node that already has more links as a criterion for selecting a link destination node. It is. The two characteristics of growth and selective connectivity make the network grow and have a scale-free nature. It is detailed in Albert Barabasi, Reka Albert, Hawoong “Mean-field theory for scale-free random networks” that the distribution of the number of links of a node becomes a power distribution by repeating such growth and selective connection. Is shown in
図5は、ノードをランダムに接続した場合と、選択的接続した場合のノードが持つリンクの数を横軸に、そのリンク数を持つノード数を縦軸にして、実測値をプロットしたグラフである。図5(a)は、ノードをランダムに接続した場合の例である。この例の場合は、典型的なリンク数をもつ代表的なノードというものが現れる。図5(b)は、選択的接続した場合の例であり、代表的なノードが現れず、リンク数は、広い範囲に拡がる。つまり、典型的なスケールが現れないという意味で、スケールフリーと称される。図5(b)の分布は、以下のように表され、両対数のグラフで書くと、直線になるような非常に裾野の広い分布となる。
P(k)=AK^(−r)・・・(1)
但し、k:リンク数、P(k):ノード数
FIG. 5 is a graph in which the measured values are plotted with the horizontal axis representing the number of links of nodes when the nodes are randomly connected and the case of selective connection, and the vertical axis representing the number of nodes having the number of links. is there. FIG. 5A shows an example in which nodes are connected at random. In this example, a representative node having a typical number of links appears. FIG. 5B is an example in the case of selective connection, a representative node does not appear, and the number of links extends over a wide range. That is, it is called scale free in the sense that a typical scale does not appear. The distribution of FIG. 5B is expressed as follows, and when written in a log-log graph, the distribution is very wide and forms a straight line.
P (k) = AK ^ (− r) (1)
Where k: number of links, P (k): number of nodes
本発明は、上記の2つの特徴を応用し、個々のノードをクラスタと解釈し、リンクは、互いに結ばれたノードに相当するクラスタに含まれる2つのコンピュータ108であると解釈する。これにより、任意の分布、もちろん、図5(b)に示したベキ分布をもつことも可能な形態でクラスタリングを行い、これにより、効率的な分散コンピューティングを可能にするものである。このようにして成長していくネットワークでは、リンク数は、クラスタに含まれるコンピュータ108の数、つまりクラスタサイズ、あるいはクラスタの計算能力となる。横軸にクラスタに含まれるコンピュータ108の数、縦軸にクラスタの数又はクラスタ化の頻度をプロットすると、それは、図5(b)に示したベキ分布と類似した分布になるはずである。
The present invention applies the above two features, interprets each node as a cluster, and interprets a link as two
以下、上記のようなクラスタリングを可能にするには、個々のコンピュータ108がどのように動作し、各管理コンピュータ106がどのようにコンピュータ108又は他の同種の管理コンピュータ106の動作を監視制御していったら良いかを述べる。
Hereinafter, in order to enable clustering as described above, how each
個々のコンピュータ108は、現在、自己の状態がクラスタ化が可能な状態にあるかどうかを表すコンピュータ・クラスタ・ステータス(クラスタ化可否情報)により管理される。コンピュータ・クラスタ・ステータスは、ステータステーブルに記録され、コンピュータ108の状態の変化に追随して、当該コンピュータ108又はそれを傘下として管理する管理コンピュータ106により更新される。ステータステーブルは、コンピュータ108又は管理コンピュータ106がアクセス可能な任意のメモリ領域に存在すれば足りるが、コンピュータ108のストレージ装置に設けるようにしても良い。
ステータステーブルに記録されるコンピュータ・クラスタ・ステータスの例として、本実施形態では、「clustered」、「run」、「free」の3種類の情報を用いる。「clustered」は既にクラスタ化されており、現在はジョブの実行を待っているコンピュータであることを示す。「run」はジョブを実行中のコンピュータであることを示す。「free」は未稼働状態にあるコンピュータであることを示す。「clustered」、「run」のときは、そのコンピュータ108はクラスタ化ができない。そのため、「clustered」、「run」は、クラスタ化不能の状態を表す情報となる。他方、「free」はクラスタ化可能の状態を表す情報となる。
Each
In this embodiment, three types of information “clustered”, “run”, and “free” are used as examples of computer cluster statuses recorded in the status table. “Clustered” indicates that the computer is already clustered and is currently waiting for job execution. “Run” indicates that the computer is executing a job. “Free” indicates that the computer is in a non-operating state. When “clustered” or “run”, the
管理コンピュータ106の役割の一つは、上述したように、自己の傘下のコンピュータ108を管理することにある。管理テーブル206は、そのために用いられる。上述したように、管理テーブル206は、例えば当該管理コンピュータ106が有するストレージ装置1061に格納される。この管理コンピュータ106は、最大で、自己の傘下にあるコンピュータ108の数だけの管理テーブル206を有する。
One of the roles of the
管理テーブル206には、2種類ある。ある種類に分類される管理テーブル206は、管理コンピュータ106が、初めに自己の傘下のコンピュータ108を含むクラスタを形成する際にそのクラスタの状態に関する情報を記録するための「マスタテーブル」である。もう1つは、他の管理コンピュータ106により形成されるクラスタに追加されるコンピュータ108があるときに、そのクラスタの状態に関する情報を記録するための「スレーブテーブル」である。
There are two types of management table 206. The management table 206 classified into a certain type is a “master table” for recording information regarding the state of the cluster when the
管理コンピュータ106は、マスターテーブルにより自己が管理するクラスタに含まれるコンピュータ108を監視制御するときは「マスター管理コンピュータ」として振る舞う。他方、スレーブテーブルにより他の管理コンピュータ106が管理するクラスタに属する自己の傘下のコンピュータ108を監視制御するときは、「スレーブ管理コンピュータ」として振る舞う。つまり、1つの管理コンピュータ106でありながら、最大で、自己の傘下のコンピュータ108の数だけの種類の管理コンピュータとして振る舞うことになる。
The
マスターテーブルは、マスター管理コンピュータとして振る舞う管理コンピュータ106が生成し、スレーブテーブルは、スレーブ管理コンピュータとして振る舞う管理コンピュータ106が生成する。スレーブテーブルが存在するということは、それに対応するマスターテーブルがどこかの管理コンピュータ106に存在していることを意味する。
The master table is generated by the
ここで、本実施形態におけるマスターテーブルとスレーブテーブルの内容例を具体的に説明する。図6(a)にはマスターテーブル2161、図6(b)にはスレーブテーブル2162の内容例が示されている。
マスターテーブル2161には、クラスタID(IDは識別情報の意、以下同じ)2361、クラスタ・サイズ2362、コンピュータリスト2363、クラスタ・ステータス2364、最大コンピュータ数2365、最小コンピュータ数2366、トータルコンピュータ数2367、クラスタ・コネクションレシオ2368の値(図6(a)の右側のフィールドの記録値)が、それぞれ、そのクラスタの成分(値)として、マスター管理コンピュータにより記録される。
Here, specific examples of contents of the master table and the slave table in the present embodiment will be described. FIG. 6A shows an example of the contents of the master table 2161, and FIG. 6B shows an example of the contents of the slave table 2162.
The master table 2161 includes a cluster ID (ID means identification information, the same shall apply hereinafter) 2361,
クラスタID2361は、形成したクラスタに付与される固有IDである。そのクラスタが存在し続ける限りにおいて一意の情報になれば良いので、例えば、マスター管理コンピュータのIDと初めにクラスタに含まれることになるコンピュータ108のIDとの組をクラスタIDとすることができる。
クラスタ・サイズ2362は、新規あるいは追加でクラスタに含まれることとなったコンピュータ108の総数値である。これは、マスター管理コンピュータが、クラスタ内のコンピュータ数を計測することにより特定することができる。
The
The
コンピュータリスト2363は、クラスタに含まれることになったコンピュータ108の識別情報のリストである。
クラスタ・ステータス2364は、クラスタの現在の状態を表す情報である。本実施形態では、「idle」、「run」、「wait」の3種類の状態をクラスタ・ステータスとして用いる。「idle」はクラスタがジョブを実行していない状態である。クラスタがこの状態のときは、そのクラスタへのコンピュータ108の追加が可能である。「run」はそのクラスタがジョブを実行している状態である。「wait」は保持されているコンピュータ108の数が最大コンピュータ数に達している状態である。この状態では、そのクラスタへのコンピュータ108の追加はできない。
The
The
最大コンピュータ数2365は、クラスタが保持可能な最大コンピュータ数であり、ユーザによって定義されるか、あるいはシステムの保有する定数として定義される。図示の例では、最大で200個のコンピュータを保有できるクラスタであることが示されている。
最小コンピュータ数2366は、クラスタとして保持しなければならない最小コンピュータ数であり、ユーザによって定義されるか、ネットワークシステム101の保有する定数として定義される。図示の例では、3個のコンピュータ108によりクラスタとなることが示されている。
トータルコンピュータ数2367は、そのクラスタに含まれることになる可能性があるコンピュータ108の総数値であり、統計に基づく期待値により求めることができる。図示の例では、48個のコンピュータ108が含まれる可能性のあることが示されている。
The
The minimum number of
The
コネクションレシオ2368は、追加容易性情報の一例となる情報である。本実施形態では、例えば追加候補となるコンピュータ108(候補コンピュータ)が存在するときにそれを20%の確率でクラスタに追加させる、あるいは、必要とするクラスタ・サイズ/トータルコンピュータ数のように、追加のし易さを確率値等により定めた数値をコネクションレシオとして用いる。この数値が高いほど、クラスタにはコンピュータ108が追加され易くなり、クラスタが成長しやすくなる。図示の例では、現在のクラスタサイズを23、トータルコンピュータを48個としたときのコネクションレシオ(=0.48)が示されている。
The
コネクションレシオ2368は、一定値を用いることもできるし、変動値とすることもできる。一定値にしていたものを事後的に変動値に代えることもできるし、その逆にすることもできる。これは、クラスタを形成するときのデフォルト値として自動的に設定されるようにしても良いし、クラスタにジョブを実行させるアプリケーションプログラムがパラメータの一つとしてマスターテーブル2161のコネクションレシオ2368に設定するようにしても良い。
図5のように横軸にクラスタに含まれるコンピュータ108の数、縦軸にクラスタの数又はクラスタ化の頻度をプロットしたときの分布がどのようになるかは、このコネクションレシオをどのようにするかに因るところが大きい。例えば、図5(a)のような正規分布を得ようとするときは、コネクションレシオを一定値とする。これにより、上記の分布は、代表値を中心とする正規分布となる。コンピュータが追加されてクラスタサイズが大きくなるにつれてコネクションレシオが変動するようにしても良い。例えば、1又はいくつかのコンピュータが追加される毎に、コネクションレシオが高くなるようにしても良い。このようにすれば、図5(b)のようなベキ分布を容易に得ることができる。
なお、マスターテーブル2161における上記の成分の持ち方は例示であり、適宜、増減することができる。
The
As shown in FIG. 5, the distribution ratio when the number of
Note that the manner of holding the above-described components in the master table 2161 is merely an example, and can be increased or decreased as appropriate.
スレーブテーブル2162には、クラスタID2461と、コンピュータid2462とが記録される。クラスタID2461は、クラスタを識別するためのID(マスターテーブル2161に記録されているクラスタID2361と同じ)である。コンピュータid2462はクラスタに含まれるコンピュータ108を識別するためのIDである。
スレーブテーブル2162は、クラスタID2461とコンピュータid2462さえ判明していれば、そのクラスタID2461を同一にするマスターテーブル2161とリンクしているので、それに記録されている成分(値)は、マスターテーブル2161よりも簡易なものとなっている。
なお、スレーブテーブル2162における上記の成分(値)の持ち方も例示であり、適宜、増減することができる。
In the slave table 2162, a
If only the
Note that the way of holding the above components (values) in the slave table 2162 is also an example, and can be increased or decreased as appropriate.
<運用形態>
次に、本実施形態のネットワークシステム101による分散コンピューティングの運用形態の一例を説明する。
本実施形態による分散コンピューティングでは、図7に示すように、3段階のクラスタの状態変化のサイクルを繰り返しながら、ジョブを分散実行していく。第1段階の状態変化は、新しいクラスタの形成、成長により生じる(ステップS1)。第2段階の状態変化は、アプリケーションプログラム等から依頼されたジョブの投入により生じる(ステップS2)。そして、第3段階の状態変化は、ジョブ実行後のクラスタの消滅により生じる(ステップS3)。クラスタが消滅すると、それまでそのクラスタに属していたすべてのコンピュータ108は、その時点で他のクラスタへ新たに属することができる候補コンピュータ(ノード)となる。
<Operational form>
Next, an example of an operation mode of distributed computing by the
In the distributed computing according to the present embodiment, as shown in FIG. 7, a job is distributedly executed while repeating a three-stage cluster state change cycle. The state change in the first stage is caused by the formation and growth of a new cluster (step S1). The state change in the second stage occurs when a job requested by an application program or the like is input (step S2). The state change in the third stage occurs due to the disappearance of the cluster after the job is executed (step S3). When the cluster disappears, all the
このサイクルにおける第1段階の状態変化は、ジョブの有無とは無関係に生じる。そして、ある管理コンピュータ106がマスター管理コンピュータとなってクラスタを形成し、それをスレーブ管理コンピュータとの協働により成長させていく。クラスタがどの程度成長するかは、個々のコンピュータ108の稼働状態とコネクションレシオによって決まる。コンピュータ108の稼働状態が「free」でコネクションレシオも高いほど、他のコンピュータ108と接続し易くなる。以下、上述の3段階の状態変化の様子を詳細に説明する。
The first stage state change in this cycle occurs regardless of the presence or absence of a job. Then, a
<第1段階の状態変化>
[新しいクラスタの形成、成長1]
図7は、マスター管理コンピュータ(そのように動作する管理コンピュータ106のクラスタ管理部216)によるクラスタの形成、成長の過程を示す手順説明図である。
マスター管理コンピュータは、自己の傘下のコンピュータ108の稼働状態を調べる。具体的には、各コンピュータ108が保有するステータステーブルに記録されているコンピュータ・クラスタ・ステータスを調べる(ステップS101)。そして、未稼働状態のコンピュータ108、すなわちコンピュータ・クラスタ・ステータスが「free」となっているいくつかのコンピュータ108により1つのクラスタを形成する(ステップS102)。最初に形成するクラスタにいくつのコンピュータを含まるかは、例えば事前の設定により決める。通常は、自己の傘下のコンピュータ108のうち、いくつかのコンピュータ108を残して、クラスタ化する。残ったコンピュータ108は、他のクラスタを成長させ易くするために、なるべく他のクラスタに追加されるような状態にしておく。この状態を図12(a)に示す。
図12(a)の例では、3つのコンピュータ108により1つのクラスタC11が形成されている。このとき、マスター管理コンピュータは、1つのマスターテーブルを生成し、このマスターテーブルの成分(値)をセットする(ステップS104)。マスター管理コンピュータが各コンピュータ108のステータステーブルを管理することになっている場合は、このクラスタに含まれるすべてのコンピュータ108のコンピュータ・クラスタ・ステータスを「free」から「clustered」に更新する(ステップS104)。
<First stage state change>
[Formation and growth of new clusters 1]
FIG. 7 is a procedure explanatory diagram showing the process of cluster formation and growth by the master management computer (the
The master management computer checks the operating state of the
In the example of FIG. 12A, one cluster C11 is formed by three computers. At this time, the master management computer generates one master table and sets the components (values) of this master table (step S104). If the master management computer is to manage the status table of each
その後、マスター管理コンピュータは、ランダムに選定した他の管理コンピュータ106の傘下のコンピュータ108のうち、自己が形成したクラスタに追加するための候補コンピュータが無いかどうか、すなわちコンピュータ・クラスタ・ステータスが「free」になっている他のコンピュータ108が無いかどうかを問い合わせることにより探索する(ステップS105)。探索は、例えば、自己を起点として論理的な距離の短いいくつかの他の管理コンピュータ106をランダムに選定し、逐次、その範囲を拡げていくことにより行う。候補コンピュータが存在する場合は(ステップS106:Yes)、マスターテーブルのコネクションレシオを調べ、コネクションレシオに基づいて、その候補コンピュータをクラスタに追加し、当該候補コンピュータに関する情報をマスターテーブルに記録する(ステップS107)。その後、追加した候補コンピュータのコンピュータ・クラスタ・ステータスを「free」から「clustered」に更新する(ステップS108)。
追加された候補コンピュータを管理する管理コンピュータ106は、その候補コンピュータ108についてのスレーブ管理コンピュータとなり、スレーブテーブルを生成する。候補コンピュータが存在したときの状態を図12(b)に示す。図12(b)の例では、2つのコンピュータ108が候補コンピュータとして追加されて、5つのコンピュータ108が含まれることになったクラスタC14に成長している。マスター管理コンピュータは、追加された新たなコンピュータ108の情報をマスターテーブルに追記する。
なお、ステップS106において、候補コンピュータが存在しない場合は(ステップS106:No)、ステップS105の処理に戻る。
Thereafter, the master management computer determines whether there is no candidate computer to be added to the cluster formed by itself among the
The
In step S106, when there is no candidate computer (step S106: No), the process returns to step S105.
[新しいクラスタの形成、成長2]
図9は、マスター管理コンピュータとならない管理コンピュータ106によるクラスタの成長過程を示す手順説明図である。
クラスタの成長は、図8に示したように、マスター管理コンピュータが能動的に振る舞うことにより実現されるのが原則であるが、マスター管理コンピュータとはならない管理コンピュータ106の方からマスター管理コンピュータにアクセスしてそれを行うこともできる。
すなわち、クラスタ化されていないコンピュータ108を傘下に持つ管理コンピュータ106は、例えばランダムに選定した他の管理コンピュータ106に問い合わせることにより、そのコンピュータ108を追加することができる他のクラスタを探索する(ステップS201)。そして、入り込む先のクラスタのコネクションレシオに基づいてそのクラスタに自己の傘下のコンピュータ108を追加するかどうかを決定する(ステップS202)。追加しないことになった場合は、ステップS201に戻る(ステップS203:No)。
追加する場合は、そのコンピュータ108について、接続先のクラスタに対するスレーブ管理コンピュータとなるので、そのコンピュータ108についてのスレーブテーブルを生成し、このスレーブテーブルに各成分(値)をセットする(ステップS204)。そして、追加するコンピュータ108のコンピュータ・クラスタ・ステータスを「free」から「clustered」に更新する(ステップS205)。さらに、追加される側のクラスタのマスター管理コンピュータに、マスターテーブルをアップデートさせる(ステップS206)。なお、このアップデートは、スレーブ管理コンピュータからマスター管理コンピュータにアクセスして自ら行うようにしても良い。
[Formation and growth of new clusters 2]
FIG. 9 is a procedure explanatory diagram showing a cluster growth process by the
As shown in FIG. 8, the growth of the cluster is basically realized by the master management computer acting actively, but the
In other words, the
When adding, since it becomes a slave management computer with respect to the cluster of a connection destination about the
<第2段階の状態変化>
[ジョブの投入]
第2段階の状態変化は、アプリケーション等からの依頼によりジョブが投入されたいずれかの管理コンピュータ106によるアクションを起点に始まる。ジョブの実行に際しては、ジョブの実行に必要となる計算量と所要時間、例えばコンピュータ108の数がパラメータとなる。このパラメータは、投入されたジョブのサイズに基づいて当該管理コンピュータ106のプロセッサが自動的に生成しても良いし、アプリケーション等を利用するユーザが適宜与えるようにしても良い。アプリケーションが持っているパラメータを使用するようにしても良い。
<Second stage state change>
[Submit Job]
The state change in the second stage starts from an action by any
図9は、ジョブが投入された管理コンピュータ106によるクラスタ利用の手順説明図である。管理コンピュータ106は、上記の計算量に基づいて、クラスタリスト208を参照することにより、あるいは他の管理コンピュータに問い合わせることにより、必要なサイズのクラスタを形成しているマスター管理コンピュータを探索する(ステップS301)。見つかった場合は、そのマスター管理コンピュータに、ジョブの実行を依頼する(ステップS302:Yes、S303)。ジョブの実行依頼は、例えば、ジョブと、その実行に必要なプログラムおよびデータと、実行結果の送出を自己宛とするための指定アドレスとを含むパケットをそのマスター管理コンピュータに送出することにより行う。
FIG. 9 is an explanatory diagram of a procedure for using a cluster by the
マスター管理コンピュータは、そのジョブを実行するクラスタに所属している各コンピュータ108のコンピュータ・クラスタ・ステータスを「idol」又は「wait」から「run」に更新したうえで、各コンピュータ108による分散処理によってジョブの実行を始める。図12(c)は、図12(b)のように成長したクラスタC14を管理するマスター管理コンピュータが、ジョブを実行している状態を表している。ジョブの実行結果は、マスター管理コンピュータから依頼元の管理コンピュータ106に送出される。実行結果を受領した管理コンピュータ106は、その実行結果をジョブの投入元に伝達する(ステップS304:Yes、S305)。
なお、ジョブが、必要なサイズのクラスタを管理しているマスター管理コンピュータに直接投入された場合は、上記ステップS301〜S304は、自ら行う処理手順となる。また、ステップS302において、複数のクラスタに跨ってジョブを実行する必要があると判定した場合、例えば、画像処理と音声処理とを別々のクラスタで実行する必要があると判定した場合は、各クラスタを管理するマスター管理コンピュータに、それぞれジョブの実行を依頼することになる。
The master management computer updates the computer cluster status of each
When a job is directly submitted to the master management computer that manages a cluster of a required size, the above steps S301 to S304 are processing procedures performed by the job. In step S302, if it is determined that a job needs to be executed across a plurality of clusters, for example, if it is determined that image processing and audio processing need to be executed in separate clusters, Each job is requested to be executed by the master management computer that manages the job.
<第3段階の状態変化>
[クラスタの消滅]
クラスタの消滅は、ジョブの実行を行ったクラスタを管理するマスター管理コンピュータが行う。図11は、このクラスタを消滅させるときのマスター管理コンピュータにおける処理手順図である。
マスター管理コンピュータは、ジョブが終了すると(ステップS401:Yes)、それまでジョブを実行したクラスタに含まれるすべてのコンピュータ108についてのコンピュータ・クラスタ・ステータスを「free」に更新する(ステップSS402)。また、そのクラスタのマスターテーブルの成分(値)をクリアする。同時に、クラスタに所属していたコンピュータを傘下にするスレーブ管理コンピュータを通じてスレーブテーブルの成分(値)をクリアする。すなわち、すべてのコンピュータをクラスタ形成前の状態に戻す(ステップS403)。これにより、そのクラスタに所属していたすべてのコンピュータ108は、未稼働状態で、クラスタ化が可能な状態となり、あるコンピュータ108は、直ちにクラスタ化され、他のコンピュータ108は、他のクラスタに追加される状態となる。図12(d)はこの状態を示している。
<3rd stage state change>
[Disappearance of cluster]
The disappearance of the cluster is performed by the master management computer that manages the cluster that has executed the job. FIG. 11 is a processing procedure diagram in the master management computer when this cluster is extinguished.
When the job ends (step S401: Yes), the master management computer updates the computer cluster status for all
このように、この実施形態によれば、投入されるジョブのサイズ、種類、数のいずれかが様々で、それらが時々刻々と変化していくことが予想される不確定要素の多いネットワークシステムであっても、複数存在する管理コンピュータ106の各々が、その傘下のコンピュータ108毎に、それぞれ、マスター管理コンピュータあるいはスレーブ管理コンピュータとして振る舞いながら、最適なサイズのクラスタを形成し、それを成長させていくので、適切なサイズのクラスタにジョブの実行を割り当てることができ、効果的にジョブを実行していくことができる。また、大規模なプロセスから非常に小さなプロセスまで満遍なく一様の手順で対応が可能になるので、柔軟性に富む分散コンピューティングを実現することができる。特に、プロセスのサイズの分布がべき分布になるときには、追加容易性情報を変動可能にし、クラスタサイズもべき分布になるように設定することができるので、最も効果的にプロセスを処理することができ、コンピュータ資源の使用効率を高めることができる。
<変形例>
以上の例では、便宜上、ステータステーブルは、各コンピュータ108が保有し、管理テーブル206(マスターテーブル/スレーブテーブル)は、管理コンピュータ106が保有することを前提として説明したが、これらのテーブルは、各コンピュータ108および管理コンピュータ106がそれらにアクセスできるメモリ領域に存在すれば良い。例えば、管理コンピュータ106が、自己の傘下のコンピュータ108のステータステーブルを備えていても良いし、管理コンピュータ106のテーブル管理部212がアクセス可能なサーバ等に管理テーブル206を一括して格納するようにしても良い。
また、以上の例では、スレーブ管理コンピュータの傘下にある候補コンピュータを他のクラスタに追加するかどうかは、そのスレーブ管理コンピュータが決定するようにしているが、候補コンピュータをクラスタに追加するかどうかは、すべてマスター管理コンピュータにおいて決定するようにしても良い。
As described above, according to this embodiment, in a network system with many uncertainties, which is expected to vary in size, type, or number of jobs to be input and changes from moment to moment. Even if there is a plurality of
<Modification>
In the above example, for the sake of convenience, the description has been given on the assumption that the status table is held by each
In the above example, the slave management computer decides whether or not to add a candidate computer under the slave management computer to another cluster, but whether or not to add a candidate computer to the cluster. All may be determined by the master management computer.
<管理コンピュータによらない場合の実施例>
以上の説明では、複数のコンピュータ108を傘下にする管理コンピュータ106の集合から成るネットワークシステム101の例を示したが、本発明は、管理コンピュータ106によらずに、複数のコンピュータ108の各々が直接参加および離脱することができるネットワークシステムとしての実施も可能である。
<Example in case of not using a management computer>
In the above description, an example of the
このようなネットワークシステムとして実施する場合は、各コンピュータ108のステータステーブルに、コネクションレシオをも記録するようにし、ステータステーブルの管理も自ら行うようにする。例えば、他のコンピュータ108により形成されているクラスタに、自己を追加するときには、自己のコンピュータ・クラスタ・ステータスを「clustered」に更新させる。そして、そのクラスタによるジョブの実行が終了した時点で、自己のコンピュータ・クラスタ・ステータスを「free」に復帰させるようにする。また、上述した管理コンピュータ106と同様の機能を、いずれかのコンピュータ108に持たせるようにする。つまり、自らが主導的にクラスタを形成するときは、そのクラスタの内容を記録したマスターテーブルを生成する。
When implemented as such a network system, the connection ratio is also recorded in the status table of each
クラスタを形成したコンピュータ108は、他のコンピュータが保有するステータステーブルの最新のコンピュータ・クラスタ・ステータスが「free」になっている他の追加候補となる候補コンピュータを探索し、これにより特定された候補コンピュータを、クラスタのコネクションレシオに基づいて追加するかどうかを決定するようにする。クラスタを形成したコンピュータ108は、このようにして成長したクラスタにジョブを実行させ、実行終了後は、そのクラスタを消滅させる。
The
<マルチプロセッサ/マルチ・コア・プロセッサとしての実施例>
本発明は、複数のプロセッサ又はマルチ・コア・プロセッサによるネットワークシステムとして実施することもできる。この場合は、図13(a)に例示したように、内部バスを上述したコンピュータネットワーク104として機能させ、この内部バスに接続されたいずれかのプロセッサ又はマルチ・コア・プロセッサのいずれか一つ又はいくつかを上述した管理コンピュータ106として動作させるとともに、残りのプロセッサ等を上述したコンピュータ108として動作させるようにすれば良い。
図13(b)に例示した個々のマルチ・コア・プロセッサ自体をネットワークシステムとして実施することもできる。この場合は、内部バスに接続されたいずれか一つ又はいくつかのコア(プロセッサ・コア)および入出力制御部(I/O)とキャッシュメモリとで上述した管理コンピュータ106の動作を実現するとともに、残りのコアを上述したコンピュータ108として動作させるようにすれば良い。
[他の実施の形態]
<Embodiment as a multiprocessor / multi-core processor>
The present invention can also be implemented as a network system with a plurality of processors or multi-core processors. In this case, as illustrated in FIG. 13A, the internal bus functions as the
The individual multi-core processors themselves illustrated in FIG. 13B can also be implemented as a network system. In this case, the operation of the
[Other embodiments]
本発明のネットワークシステムは、あるクラスタのコンピュータ108が他のクラスタにアクセスしたときに、当該他のクラスタと関係付けられている別のクラスタにコンピュータ108を追加させるという実施形態も可能である。このような実施形態のモードを「デュープリケーションモード(Duplication Mode)」と称する。この「デュープリケーションモードについては、下記の文献に詳細に記載されている。
デュープリケーションモードでは、上述したコネクションレシオ2368に代えて、アクセスしたクラスタに所属するコンピュータが関係付けられている他のクラスタの識別情報(接続アドレス等)をリストアップしたクラスタリストを用いる。クラスタリストは、例えばマスターテーブルに設けられる。
In the duplication mode, in place of the
図14は、この場合のマスターテーブルの内容例を示している。このマスターテーブル2163は、図6(a)に示したマスターテーブル2161と同じ内容のクラスタID2361、クラスタサイズ1262、コンピュータリスト2363、クラスタ・ステータス2364、最大コンピュータ数2365、最小コンピュータ数2366のほか、クラスタリスト2369を有する。マスター管理コンピュータは、自己が管理するクラスタに新たなクラスタが関係付けられる度に、その新たなクラスタの識別情報をクラスタリスト2369にリストアップする。この実施形態にいう「関係付け」は、あるクラスタに所属するコンピュータと他のクラスタに所属するコンピュータとが論理的につながって(連絡しあって)、連携処理等ができることをいう。
マスター管理コンピュータは、例えばスレーブ管理コンピュータからの求めに応じてクラスタリスト2369にリストアップされた一つのクラスタの識別情報を読み出し、それを当該スレーブ管理コンピュータへ通知する。セキュリティを重視しないで足りる用途では、このクラスタリスト2369を例えばスレーブ管理コンピュータに閲覧させるようにしても良い。
FIG. 14 shows an example of the contents of the master table in this case. This master table 2163 includes a
The master management computer reads the identification information of one cluster listed in the
このクラスタリスト2369からの読み出し順序は、ランダムであっても良く、所定順であっても良い。前者の場合、クラスタリスト2369へのクラスタの識別情報のリストアップの順位は、任意であって良い。他方、後者の場合は、リストアップの順位に重み付けを行う。例えば、そのマスター管理コンピュータが管理するクラスタの処理内容との関連性が高い他のクラスタほど先に読み出されるようにする。この場合の関連性は、例えば、クラスタ間のアクセス回数、クラスタ間の所定時間内の交信回数、クラスタ間の分散処理の関連度合い(画像処理と同期をとるべき音声処理等)等により決めることができる。
The order of reading from the
デュープリケーションモードでの運用形態は、例えば以下のようになる。
いま、ネットワークシステムが、図15の上段のような初期状態であったとする。図15の例では、複数のクラスタC6〜C11が既に形成されている。各クラスタC6〜C11には、それぞれ1又は複数のコンピュータ(上述したコンピュータ108、以下同じ)が所属している。
For example, the operation mode in the duplication mode is as follows.
Assume that the network system is in an initial state as shown in the upper part of FIG. In the example of FIG. 15, a plurality of clusters C6 to C11 are already formed. One or a plurality of computers (the
この状態で、図15中段に示されるように、ネットワークシステムに新たにクラスタC20が形成されたとする。このクラスタC20を形成した管理コンピュータは、当該クラスタC20に所属するコンピュータのほか、他のクラスタを成長させ易くするためのいくつかのコンピュータ、すなわち候補コンピュータ(図示省略)をも自己の傘下として管理しているものとする。この候補コンピュータを他のクラスタに提供する場合、その候補コンピュータを管理する管理コンピュータがスレーブ管理コンピュータとなることは、前述のとおりである。
クラスタC20を管理する管理コンピュータは、クラスタC6〜C11の中から、クラスタC7を探し出す。そして、このクラスタC7を管理しているマスター管理コンピュータに問い合わせ、そのマスターテーブル2163におけるクラスタC7と他のクラスタとの関係付けの情報を入手する。図15中段の場合、クラスタC7はクラスタC11とのみ関係付けられている。そこで、クラスタC20を管理する管理コンピュータは、候補コンピュータをクラスタC11に追加させ、この候補コンピュータとクラスタC20(それに所属するコンピュータ)とを関係付ける(図15下段)。また、自己が保有するスレーブテーブルの内容を更新する。
他方、クラスタC11を管理するマスター管理コンピュータは、マスターテーブル2163に、新たに追加されたコンピュータ(追加前の候補コンピュータ)のリストをコンピュータリスト2363に追加するとともに、クラスタリスト2369に、クラスタC20の識別情報を追加する。
Assume that a new cluster C20 is formed in the network system in this state as shown in the middle part of FIG. The management computer that forms the cluster C20 manages not only the computers belonging to the cluster C20 but also several computers for facilitating the growth of other clusters, that is, candidate computers (not shown) as their own companies. It shall be. As described above, when this candidate computer is provided to another cluster, the management computer that manages the candidate computer becomes a slave management computer.
The management computer that manages the cluster C20 searches for the cluster C7 from the clusters C6 to C11. Then, the master management computer that manages the cluster C7 is inquired, and information on the association between the cluster C7 and another cluster in the master table 2163 is obtained. In the middle of FIG. 15, the cluster C7 is related only to the cluster C11. Therefore, the management computer that manages the cluster C20 adds the candidate computer to the cluster C11 and associates the candidate computer with the cluster C20 (a computer belonging to the computer) (lower row in FIG. 15). Also, the contents of the slave table owned by itself are updated.
On the other hand, the master management computer that manages the cluster C11 adds a list of newly added computers (candidate computers before addition) to the master table 2163 to the
以上は、クラスタC20とクラスタC11(各々のコンピュータ)同士が1対1で関係付けた場合の例であるが、関係付けは必ずしも1対1だけではなく、1対N(Nは2以上の自然数)であっても良い。また、この関係付けは、物理的なコンソール内のコンピュータ同士のつながりとは関係がない。 The above is an example in which the cluster C20 and the cluster C11 (each computer) are associated with each other on a one-to-one basis. However, the association is not necessarily one-to-one, but one-to-N (N is a natural number of 2 or more). ). This association is not related to the connection between computers in the physical console.
例えば、図16(a)は、ネットワークシステムに新たに加わるコンピュータの所属するクラスタC20が形成された場合において、クラスタC20を管理する管理コンピュータが、自己の傘下の候補コンピュータの追加先を探す際に、クラスタC11に到達したとする。クラスタC11のクラスタリストには、クラスタC11のコンピュータと1対1で関係付けられているクラスタC6,C7のほか,クラスタC11の複数のコンピュータと関係付けられているC8,C10がリストアップされていたとすると、候補コンピュータは、クラスタC6,C7,C8,C10のいずれかに追加される。図16(b)の場合も同様である。
なお、これらの場合において、スレーブテーブル、マスターテーブルの記録情報が更新されることは、図15に示した例の場合と同様である。
For example, FIG. 16A shows a case where a management computer that manages a cluster C20 searches for an addition destination of a candidate computer under its control when a cluster C20 to which a computer newly added to the network system belongs is formed. Suppose that the cluster C11 is reached. In the cluster list of the cluster C11, in addition to the clusters C6 and C7 that are associated with the computers of the cluster C11 on a one-to-one basis, C8 and C10 that are associated with a plurality of computers of the cluster C11 are listed. Then, the candidate computer is added to one of the clusters C6, C7, C8, and C10. The same applies to the case of FIG.
In these cases, the recording information of the slave table and the master table is updated as in the example shown in FIG.
デュープリケーションモードでは、クラスタリスト2369とコンピュータリスト2363とを併用した運用形態も可能である。以下、この場合の運用形態例を説明する。
ネットワークシステムに加わる新たにクラスタC20が形成され、クラスタC20を管理する管理コンピュータが、自己の傘下の候補コンピュータの追加先を探し出す際に、クラスタC11に到達するまでは、図16(a),(b)の例と同じである。
クラスタC11のコンピュータリスト2363によれば、図17に示されるように、コンピュータ#1〜#5が所属しており、クラスタリスト2369によれば、コンピュータ#1,#3はクラスタC10、コンピュータ#4はクラスタC7、コンピュータ#5はクラスタC6に、それぞれ関係付けられており、コンピュータ#2はどことも関係付けられていないとする。必ずしもそのようにする必要はないが、コンピュータリスト2363の読み出し順もランダムに行うとすると、コンピュータリスト2363からコンピュータ#1が選ばれたときは、それに関係付けられているクラスタC10に、候補コンピュータが追加される。なお、コンピュータ#2が選ばれたときは、それに関係付けられているクラスタがないので、再選択される。
In the duplication mode, an operation mode in which the
When a new cluster C20 that joins the network system is formed and the management computer that manages the cluster C20 searches for the addition destination of the candidate computer under its control, it reaches the cluster C11 until it reaches the cluster C11. It is the same as the example of b).
According to the
デュープリケーションモードでは、コネクションレシオ2368を設定しなくとも、ベキ分布に従うクラスタリングが可能になるので、コンピュータのクラスタへの追加が、よりスムーズになるという効果がある。
In the duplication mode, it is possible to perform clustering according to the power distribution without setting the
本発明は、コンピュータ同士をつなぐノードの数が、例えば、正規分布あるいはベキ分布に従うクラスタリングを容易にするためのネットワークシステムに適用が可能である。また、投入されるジョブのサイズ、種類、数が様々で、それらが時々刻々と変化していく情報処理を効率的に実行することができる分散コンピューティング全般にも適用が可能なものである。 The present invention can be applied to a network system for facilitating clustering in which the number of nodes connecting computers is, for example, a normal distribution or a power distribution. In addition, the present invention can be applied to all distributed computing that can efficiently execute information processing in which the size, type, and number of jobs to be submitted vary and change from moment to moment.
101・・・ネットワークシステム
104・・・コンピュータ・ネットワーク
106・・・管理コンピュータ
108・・・コンピュータ(候補コンピュータ)
206・・・管理テーブル
208・・・クラスタリスト
212・・・テーブル管理部
216・・・クラスタ管理部
236・・・通信制御部
256・・・ジョブ実行部
315・・・共用DRAM
1061・・・ストレージ装置
1063・・・通信装置
1065・・・半導体メモリ
1067・・・プロセッサ
2161,2163・・・マスターテーブル
2162・・・スレーブテーブル
2361〜2369・・・マスターテーブルの成分(値)
2461〜2462・・・スレーブテーブルの成分(値)
B11・・・バス
WO・・・大規模情報処理統合体
DESCRIPTION OF
206: Management table 208 ...
1061 ...
2461-2462 ... Slave table components (values)
B11 ... Bus WO ... Large-scale information processing integrated body
Claims (27)
各々のコンピュータの状態がそれぞれクラスタ化が可能な状態かどうかを表すクラスタ化可否情報を記録した第1のテーブルと;
既に一又は複数のコンピュータにより形成されているクラスタが他のコンピュータをどの程度追加し易いかを表す追加容易性情報を記録するための第2のテーブルとを含み;
いずれかの前記コンピュータは、前記第1のテーブルのクラスタ化可否情報がクラスタ化可能の状態を表す自己および他のコンピュータを含んだクラスタを形成するとともに、形成したクラスタに含まれるすべてのコンピュータについての前記クラスタ化可否情報を、クラスタ化不能の状態を表す情報に更新し、さらに形成したクラスタについての前記追加容易性情報を前記第2テーブルに記録するクラスタ形成手段を有しており;
クラスタを形成した前記コンピュータは、当該クラスタへの追加候補となる候補コンピュータが存在するときに当該候補コンピュータを前記クラスタに追加するかどうかを前記第2のテーブルに記録されている追加容易性情報に基づいて決定するクラスタ成長手段を有している;ネットワークシステム。 A network system in which a plurality of computers each capable of clustering with other computers can freely join and leave;
A first table that records clusterability information indicating whether each computer is in a clusterable state;
A second table for recording additional ease information indicating how easily a cluster already formed by one or more computers can add another computer;
Any one of the computers forms a cluster including self and other computers whose clusterability information in the first table indicates a clusterable state, and for all the computers included in the formed cluster. A cluster forming unit that updates the clusterability information to information indicating a non-clusterable state, and further records the additional ease information about the formed cluster in the second table;
The computer that has formed the cluster indicates whether or not to add the candidate computer to the cluster when there is a candidate computer to be added to the cluster in the additional ease information recorded in the second table. Having a cluster growth means to determine based on; network system.
請求項1記載のネットワークシステム。 The computer that formed the cluster disappears when the execution of the job by the cluster is completed, and belongs to the additional ease information recorded in the second table and the disappeared cluster. Cluster extinction means for returning the clustering availability information recorded in the first table for all computers to the state before cluster formation;
The network system according to claim 1.
請求項1記載のネットワークシステム。 The additional ease information is a numerical value obtained by quantifying the ease of addition, and the cluster growth means facilitates adding the candidate computer to the cluster as the numerical value increases.
The network system according to claim 1.
請求項3記載のネットワークシステム。 The cluster growth means holds the numerical value at a constant value regardless of addition of candidate computers.
The network system according to claim 3.
請求項3記載のネットワークシステム。 The cluster growth means is variable after recording the numerical value in the second table;
The network system according to claim 3.
請求項5記載のネットワークシステム。 The cluster growth means changes the numerical value when the candidate computer is added to the cluster.
The network system according to claim 5.
各々のコンピュータの状態がそれぞれクラスタ化が可能な状態かどうかを表すクラスタ化可否情報を記録した第1のテーブルと;
既に一又は複数のコンピュータにより形成されたクラスタが他のコンピュータをどの程度追加し易いかを表す追加容易性情報を記録した第2のテーブルとを含み;
少なくとも一つの前記管理コンピュータは、自己の傘下にあるコンピュータおよび他の管理コンピュータの傘下にあるコンピュータのうち前記第1のテーブルのクラスタ化可否情報がクラスタ化可能の状態を表すコンピュータを含んだクラスタを形成するとともに、形成したクラスタに含まれるすべてのコンピュータについての前記クラスタ化可否情報をクラスタ化不能の状態を表す情報に更新するクラスタ形成手段を有しており、
クラスタを形成した前記管理コンピュータは、追加候補となる候補コンピュータが存在するときに当該候補コンピュータを前記クラスタに追加するかどうかを前記第2のテーブルに記録されている追加容易性情報に基づいて決定するクラスタ成長手段を有している、
ネットワークシステム。 A network system in which a plurality of management computers each having one or a plurality of computers that can be clustered with other computers can freely join and leave;
A first table that records clusterability information indicating whether each computer is in a clusterable state;
A second table recording addability information indicating how easily a cluster already formed by one or more computers can add another computer;
At least one of the management computers includes a cluster including a computer under its own control and a computer under the control of another management computer including a computer in which the clusterability information in the first table indicates a clusterable state. Forming and updating the clustering availability information for all the computers included in the formed cluster with information representing a non-clusterable state, and a cluster forming means,
The management computer forming the cluster determines whether to add the candidate computer to the cluster when there is a candidate computer to be added based on the additional ease information recorded in the second table. Having cluster growth means to
Network system.
請求項7記載のネットワークシステム。 The management computer that formed the cluster lost the cluster when the job execution by the cluster was completed, and belonged to the additional ease information recorded in the second table and the deleted cluster Cluster erasure means for returning the clusterability information recorded in the first table for all computers to the state before the cluster formation,
The network system according to claim 7.
請求項8記載のネットワークシステム。 Any of the management computers has the second table of the maximum number of computers under its control,
The network system according to claim 8.
前記追加容易性情報は前記マスターテーブルに記録されており、
前記マスターテーブルを保有する管理コンピュータは、前記第1クラスタの形成、第1クラスタ内のコンピュータ数の変更並びに第1クラスタの消滅に関わる情報処理を主導的に行うマスター管理コンピュータとして振る舞い、前記スレーブテーブルを保有する管理コンピュータは、前記第2クラスタに対するスレーブ管理コンピュータとして振る舞う、
請求項9記載のネットワークシステム。 The second table includes a master table that is generated for the first computer when the management computer that owns it forms a first cluster that includes the first computer under its control, and a management computer that owns the master table. Including at least one of the slave tables generated for the second computer when monitoring and controlling the operation of the second computer under its control, which is added to the second cluster formed by another management computer,
The additional ease information is recorded in the master table,
The management computer having the master table behaves as a master management computer that mainly performs information processing related to formation of the first cluster, change of the number of computers in the first cluster, and disappearance of the first cluster, and the slave table , The management computer that acts as a slave management computer for the second cluster,
The network system according to claim 9.
請求項10記載のネットワークシステム。 The master management computer has search means for searching for candidate computers to be added to the first cluster by inquiring whether any of the management computers is in a clusterable state.
The network system according to claim 10.
請求項10記載のネットワークシステム。 Any of the management computers determines whether 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 master management computer.
The network system according to claim 10.
前記マスター管理コンピュータが有するクラスタ成長手段は、前記数値が高くなるほど前記候補コンピュータを当該第1クラスタに追加させ易くする、
請求項10記載のネットワークシステム。 The additional ease information is a numerical value quantifying the ease of adding a candidate computer to the first cluster,
The cluster growth means of the master management computer makes it easier to add the candidate computer to the first cluster as the numerical value increases.
The network system according to claim 10.
請求項13記載のネットワークシステム。 The cluster growth means holds the numerical value at a constant value regardless of addition of candidate computers.
The network system according to claim 13.
請求項13記載のネットワークシステム。 The cluster growth means makes the value variable after recording the numerical value in the second table.
The network system according to claim 13.
請求項15記載のネットワークシステム。 The cluster growth means varies the numerical value when the candidate computer is added to the first cluster.
The network system according to claim 15.
既に一又は複数のコンピュータにより形成されているクラスタ毎に、当該クラスタに所属するコンピュータに関係付けられている他のクラスタの識別情報をリストアップしたテーブルを含み;
クラスタを形成した前記コンピュータは、追加候補となる候補コンピュータが存在するときに当該候補コンピュータを自己のクラスタに関係付けられている他のクラスタに追加するかどうかを前記テーブルにリストアップされた識別情報に基づいて決定するクラスタ成長手段を有している;
ネットワークシステム。 A network system in which a plurality of computers each capable of clustering with other computers can freely join and leave;
For each cluster already formed by one or more computers, including a table listing identification information of other clusters associated with the computers belonging to the cluster;
The computer that formed the cluster has the identification information listed in the table as to whether or not to add the candidate computer to another cluster associated with its own cluster when there is a candidate computer to be added. Having a cluster growth means to determine based on
Network system.
請求項17記載のネットワークシステム。 The table is preferentially listed so that the candidate computer is added to a related cluster having a higher relevance to the processing executed by the own cluster.
The network system according to claim 17.
いずれかの前記コンピュータは、前記第1のテーブルのクラスタ化可否情報がクラスタ化可能の状態を表す自己および他のコンピュータを含んだクラスタを形成するとともに、形成したクラスタに含まれるすべてのコンピュータについての前記クラスタ化可否情報を、クラスタ化不能の状態を表す情報に更新するクラスタ形成手段を有している、
請求項17記載のネットワークシステム。 Including a first table that records clusterability information indicating whether each computer state is clusterable.
Any one of the computers forms a cluster including self and other computers whose clusterability information in the first table indicates a clusterable state, and for all the computers included in the formed cluster. The cluster forming means for updating the clustering availability information to information indicating a non-clusterable state,
The network system according to claim 17.
他の同種機能を有する管理コンピュータと共に自由に参加および離脱することができるコンピュータネットワークに接続するためのネットワーク接続手段と;
各々のコンピュータの状態がそれぞれクラスタ化が可能な状態かどうかを表すクラスタ化可否情報を記録した第1のテーブル、および、既に一又は複数のコンピュータにより形成されたクラスタが他のコンピュータをどの程度追加し易いかを表す追加容易性情報を記録するための第2のテーブルへのアクセスを可能にするテーブル管理手段と;
自己の傘下にある前記コンピュータおよび他の管理コンピュータの傘下にある前記コンピュータのうち前記第1のテーブルのクラスタ化可否情報がクラスタ化可能の状態を表すコンピュータを含んだクラスタを形成するとともに、形成したクラスタに含まれるすべてのコンピュータについての前記クラスタ化可否情報をクラスタ化不能の状態を表す情報に更新し、さらに、当該クラスタについての前記追加容易性情報を前記第2のテーブルに記録するクラスタ形成手段と;
追加候補となる候補コンピュータが存在するときに当該候補コンピュータを前記クラスタに追加するかどうかを前記第2のテーブルに記録されている追加容易性情報に基づいて決定するクラスタ成長手段と;を有する管理コンピュータ。 Each is a management computer that owns one or more computers that can be clustered with other computers;
Network connection means for connecting to a computer network that can freely join and leave with other management computers having similar functions;
A first table that records whether or not each computer can be clustered, and how much other clusters are added to the cluster already formed by one or more computers Table management means enabling access to a second table for recording additional ease information indicating whether or not
A cluster including a computer in which the clustering availability information in the first table represents a clusterable state among the computers under the control of the own computer and other management computers is formed and formed. Cluster forming means for updating the clusterability information on all computers included in the cluster to information indicating a non-clusterable state, and further recording the additional ease information on the cluster in the second table When;
And a cluster growth means for determining, based on the additional ease information recorded in the second table, whether to add the candidate computer to the cluster when there is a candidate computer to be added. Computer.
請求項20記載の管理コンピュータ。 When the execution of the job by the formed cluster is completed, the cluster is deleted, and the additional ease information recorded in the second table and the first computer for all computers belonging to the deleted cluster. Further comprising cluster erasure means for returning the clustering availability information recorded in the table to the state before the cluster formation,
The management computer according to claim 20.
各コンピュータが、それぞれ自己の状態がクラスタ化が可能な状態かどうかを表すクラスタ化可否情報を第1のテーブルに記録する段階と;
いずれかのコンピュータが、自己と前記第1のテーブルのクラスタ化可否情報がクラスタ化可能の状態を表す他のコンピュータとを含んだクラスタを形成するとともに、形成したクラスタに含まれるすべてのコンピュータについての前記クラスタ化可否情報をクラスタ化不能の状態を表す情報に更新し、さらに、当該クラスタが他のコンピュータをどの程度追加し易いかを表す追加容易性情報を第2のテーブルに記録する段階と;
追加候補となる候補コンピュータが存在するときに当該候補コンピュータを前記クラスタに追加するかどうかを前記第2のテーブルに記録されている追加容易性情報に基づいて決定する段階と;を有するクラスタ管理方法。 A cluster management method in a network system in which a plurality of computers each capable of clustering with other computers can freely join and leave;
Each computer records in the first table clusterability information indicating whether its own state is a state in which clustering is possible;
One of the computers forms a cluster including itself and another computer whose clusterability information in the first table indicates a clusterable state, and for all computers included in the formed cluster. Updating the clusterability information to information indicating a non-clusterable state, and further recording in the second table additional ease information indicating how easy the cluster can add another computer;
Determining whether to add the candidate computer to the cluster based on the additional ease information recorded in the second table when there is a candidate computer as an addition candidate. .
請求項22記載のクラスタ管理方法。 When the computer that formed the cluster ends execution of the job by the formed cluster, the computer disappears and belongs to the additional ease information recorded in the second table and the disappeared cluster. Returning the clusterability information recorded in the first table for all computers to a state before cluster formation.
The cluster management method according to claim 22.
既に一又は複数のコンピュータによりクラスタを形成したコンピュータが、当該クラスタに所属するコンピュータが関係付けられている他のクラスタの識別情報を所定のテーブルにリストアップする段階と;
クラスタを形成した前記コンピュータが、追加候補となる候補コンピュータが存在するときに当該候補コンピュータを当該クラスタと関係付けられている他のクラスタに追加するかどうかを前記テーブルに記録されている識別情報に基づいて決定する段階と;を有する、クラスタ管理方法。 A cluster management method in a network system in which a plurality of computers each capable of clustering with other computers can freely join and leave;
A computer that has already formed a cluster with one or a plurality of computers lists the identification information of other clusters with which the computers belonging to the cluster are associated in a predetermined table;
The identification information recorded in the table indicates whether or not the computer forming the cluster adds the candidate computer to another cluster associated with the cluster when there is a candidate computer to be added. Determining based on: a cluster management method.
各々のコンピュータの状態がそれぞれクラスタ化が可能な状態かどうかを表すクラスタ化可否情報を記録した第1のテーブル、および、既に一又は複数のコンピュータにより形成されたクラスタが他のコンピュータをどの程度追加し易いかを表す追加容易性情報を記録するための第2のテーブルへのアクセスを可能にするテーブル管理手段;
前記第1のテーブルのクラスタ化可否情報がクラスタ化可能の状態を表す自己および他のコンピュータを含んだクラスタを形成するとともに、形成したクラスタに含まれるすべてのコンピュータについての前記第1のテーブルのクラスタ化可否情報をクラスタ化不能の状態を表す情報に更新し、さらに、当該クラスタについての前記追加容易性情報を前記第2のテーブルに記録するクラスタ形成手段;
追加候補となる候補コンピュータが存在するときに当該候補コンピュータを前記クラスタに追加するかどうかを前記第2のテーブルに記録されている追加容易性情報に基づいて決定するクラスタ成長手段;として機能させるためのコンピュータプログラム。 Each computer can be 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, respectively.
A first table that records whether or not each computer can be clustered, and how much other clusters are added to the cluster already formed by one or more computers Table management means enabling access to a second table for recording additional ease information indicating whether it is easy to do;
The clustering availability information of the first table forms a cluster including self and other computers indicating a clusterable state, and the cluster of the first table for all computers included in the formed cluster Cluster forming means for updating the information indicating whether or not to enable clustering to information indicating a non-clusterable state, and further recording the additional ease information for the cluster in the second table;
For functioning as cluster growth means for determining whether to add a candidate computer to the cluster based on the additional ease information recorded in the second table when there is a candidate computer to be added. Computer program.
他の同種機能を有する管理コンピュータと共に自由に参加および離脱することができるコンピュータネットワークに接続するためのネットワーク接続手段;
各々のコンピュータの状態がそれぞれクラスタ化が可能な状態かどうかを表すクラスタ化可否情報を記録した第1のテーブル、および、既に一又は複数のコンピュータにより形成されたクラスタが他のコンピュータをどの程度追加し易いかを表す追加容易性情報を記録するための第2のテーブルへのアクセスを可能にするテーブル管理手段;
自己の傘下にある前記コンピュータおよび他の管理コンピュータの傘下にある前記コンピュータのうち前記第1のテーブルのクラスタ化可否情報がクラスタ化可能の状態を表すコンピュータを含んだクラスタを形成するとともに、形成したクラスタに含まれるすべてのコンピュータについての前記クラスタ化可否情報をクラスタ化不能の状態を表す情報に更新し、さらに、当該クラスタについての前記追加容易性情報を前記第2のテーブルに記録するクラスタ形成手段;
追加候補となる候補コンピュータが存在するときに当該候補コンピュータを前記クラスタに追加するかどうかを前記第2のテーブルに記録されている追加容易性情報に基づいて決定するクラスタ成長手段;として機能させるためのコンピュータプログラム。 The management computer is read and executed by a management computer that owns one or more computers each capable of clustering with another computer;
Network connection means for connecting to a computer network that can freely join and leave with other management computers having similar functions;
A first table that records whether or not each computer can be clustered, and how much other clusters are added to the cluster already formed by one or more computers Table management means enabling access to a second table for recording additional ease information indicating whether it is easy to do;
A cluster including a computer in which the clustering availability information in the first table represents a clusterable state among the computers under the control of the own computer and other management computers is formed and formed. Cluster forming means for updating the clusterability information on all computers included in the cluster to information indicating a non-clusterable state, and further recording the additional ease information on the cluster in the second table ;
For functioning as cluster growth means for determining whether to add a candidate computer to the cluster based on the additional ease information recorded in the second table when there is a candidate computer to be added. Computer program.
既に一又は複数のコンピュータによりクラスタを形成したときに当該クラスタに所属するコンピュータが関係付けられている他のクラスタの識別情報を所定のテーブルにリストアップするクラスタ管理手段;
追加候補となる候補コンピュータが存在するときに当該候補コンピュータを自己のクラスタに関係付けられている他のクラスタに追加するかどうかを前記テーブルにリストアップされた識別情報に基づいて決定するクラスタ成長手段;として機能させるためのコンピュータプログラム。
A plurality of computers each capable of clustering with other computers are read and executed by any computer in the network system that can freely join and leave;
Cluster management means for listing, in a predetermined table, identification information of other clusters associated with computers belonging to the cluster when a cluster is already formed by one or a plurality of computers;
Cluster growth means for determining, based on the identification information listed in the table, whether or not to add a candidate computer to another cluster associated with its own cluster when there is a candidate computer to be added A computer program for functioning as;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005222647A JP4485428B2 (en) | 2004-08-02 | 2005-08-01 | Network system, management computer, cluster management method, and computer program |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004225315 | 2004-08-02 | ||
JP2005222647A JP4485428B2 (en) | 2004-08-02 | 2005-08-01 | Network system, management computer, cluster management method, and computer program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006072987A true JP2006072987A (en) | 2006-03-16 |
JP4485428B2 JP4485428B2 (en) | 2010-06-23 |
Family
ID=36153491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005222647A Active JP4485428B2 (en) | 2004-08-02 | 2005-08-01 | Network system, management computer, cluster management method, and computer program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4485428B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010250778A (en) * | 2009-04-20 | 2010-11-04 | Ntt Data Corp | System and method for providing computer resource and resource transaction program |
JP2011134215A (en) * | 2009-12-25 | 2011-07-07 | Taito Corp | Clustering system |
JP2011150480A (en) * | 2010-01-20 | 2011-08-04 | Ntt Data Corp | Resource providing system, resource providing method, and virtualization apparatus |
Citations (9)
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 |
US5822531A (en) * | 1996-07-22 | 1998-10-13 | International Business Machines Corporation | Method and system for dynamically reconfiguring a cluster of computer systems |
JPH11282695A (en) * | 1998-03-11 | 1999-10-15 | Internatl Business Mach Corp <Ibm> | Method and device for controlling number of servers in multisystem cluster |
US20020103893A1 (en) * | 2001-01-30 | 2002-08-01 | Laurent Frelechoux | Cluster control in network systems |
JP2003067351A (en) * | 2001-08-28 | 2003-03-07 | Nec System Technologies Ltd | Configuration control system of distributed computer |
US20030204786A1 (en) * | 2002-04-29 | 2003-10-30 | Darpan Dinker | System and method for dynamic cluster adjustment to node failures in a distributed data system |
JP2003345770A (en) * | 2002-05-24 | 2003-12-05 | Nec Corp | Cluster system and its method for switching server |
WO2004001598A2 (en) * | 2002-06-20 | 2003-12-31 | British Telecommunications Public Limited Company | Distributed computer |
JP2004341962A (en) * | 2003-05-16 | 2004-12-02 | Toyota Infotechnology Center Co Ltd | Distributed computing system, method, program and recording medium |
-
2005
- 2005-08-01 JP JP2005222647A patent/JP4485428B2/en active Active
Patent Citations (11)
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 |
JPH09171502A (en) * | 1995-06-23 | 1997-06-30 | Data General Corp | Multiprocessor cluster membership manager framework |
US5666486A (en) * | 1995-06-23 | 1997-09-09 | Data General Corporation | Multiprocessor cluster membership manager framework |
US5822531A (en) * | 1996-07-22 | 1998-10-13 | International Business Machines Corporation | Method and system for dynamically reconfiguring a cluster of computer systems |
JPH11282695A (en) * | 1998-03-11 | 1999-10-15 | Internatl Business Mach Corp <Ibm> | Method and device for controlling number of servers in multisystem cluster |
US20020103893A1 (en) * | 2001-01-30 | 2002-08-01 | Laurent Frelechoux | Cluster control in network systems |
JP2003067351A (en) * | 2001-08-28 | 2003-03-07 | Nec System Technologies Ltd | Configuration control system of distributed computer |
US20030204786A1 (en) * | 2002-04-29 | 2003-10-30 | Darpan Dinker | System and method for dynamic cluster adjustment to node failures in a distributed data system |
JP2003345770A (en) * | 2002-05-24 | 2003-12-05 | Nec Corp | Cluster system and its method for switching server |
WO2004001598A2 (en) * | 2002-06-20 | 2003-12-31 | British Telecommunications Public Limited Company | Distributed computer |
JP2004341962A (en) * | 2003-05-16 | 2004-12-02 | Toyota Infotechnology Center Co Ltd | Distributed computing system, method, program and recording medium |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010250778A (en) * | 2009-04-20 | 2010-11-04 | Ntt Data Corp | System and method for providing computer resource and resource transaction program |
JP2011134215A (en) * | 2009-12-25 | 2011-07-07 | Taito Corp | Clustering system |
JP2011150480A (en) * | 2010-01-20 | 2011-08-04 | Ntt Data Corp | Resource providing system, resource providing method, and virtualization apparatus |
Also Published As
Publication number | Publication date |
---|---|
JP4485428B2 (en) | 2010-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2006013992A1 (en) | Network system, management computer, cluster management method, and computer program | |
US7107323B2 (en) | System and method of file distribution for a computer system in which partial files are arranged according to various allocation rules | |
JP4760491B2 (en) | Event processing system, event processing method, event processing apparatus, and event processing program | |
JP5040311B2 (en) | RESOURCE MANAGEMENT SYSTEM, RESOURCE INFORMATION PROVIDING METHOD, AND PROGRAM | |
US9703610B2 (en) | Extensible centralized dynamic resource distribution in a clustered data grid | |
JPH09244940A (en) | Method for managing distributed computer resource | |
US20100138540A1 (en) | Method of managing organization of a computer system, computer system, and program for managing organization | |
JP2003085005A (en) | Computer system configuration automatic changing system | |
JP5375972B2 (en) | Distributed file system, data selection method thereof, and program | |
JPH0954754A (en) | Customer-information control system and method in loosely-coupled parallel processing environment | |
JP2006187438A (en) | System for hall management | |
JP6272190B2 (en) | Computer system, computer, load balancing method and program thereof | |
EP1768024B1 (en) | Processing management device, computer system, distributed processing method, and computer program | |
JP5352367B2 (en) | Virtual machine boot terminal and virtual machine boot program | |
CN106462459A (en) | Managing metadata for distributed processing system | |
JP4485428B2 (en) | Network system, management computer, cluster management method, and computer program | |
JPH0944461A (en) | System and method for control of customer information with api start and cancel transaction function in loosely-coupledparallel processing environment | |
JP2009289161A (en) | Clustered storage system, node device thereof, and method and program for controlling data read/write | |
JP2008304982A (en) | Information management method and information processor | |
JP5238469B2 (en) | Database processing method, database processing program, and database instruction apparatus | |
JP2024514467A (en) | Geographically distributed hybrid cloud cluster | |
JP3688471B2 (en) | Agent system, information processing method, and recording medium recording information processing software | |
KR100827626B1 (en) | Grid database system using ring-based connection structure and load-balancing method therefor | |
JP2006268588A (en) | Client server system and data processing method for it | |
JP2007097222A (en) | Storage network system, management apparatus, management method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080729 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100308 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100323 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100324 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4485428 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130402 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130402 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140402 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |