JP6303806B2 - 並列計算機システム,プロセス制御プログラム,及び並列計算機システムの制御方法 - Google Patents
並列計算機システム,プロセス制御プログラム,及び並列計算機システムの制御方法 Download PDFInfo
- Publication number
- JP6303806B2 JP6303806B2 JP2014106115A JP2014106115A JP6303806B2 JP 6303806 B2 JP6303806 B2 JP 6303806B2 JP 2014106115 A JP2014106115 A JP 2014106115A JP 2014106115 A JP2014106115 A JP 2014106115A JP 6303806 B2 JP6303806 B2 JP 6303806B2
- Authority
- JP
- Japan
- Prior art keywords
- processes
- submaster
- monitoring process
- monitoring
- calculation
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0715—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5017—Task decomposition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Factory Administration (AREA)
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
Description
られた計算ノードのみが利用可能な場合などが考えられる) 上に生成される。
前記監視プロセスが割り当てられた各計算ノードが、割り当てられた監視プロセスの配下の計算プロセスの総数の目標値である第1の目標値と、前記割り当てられた監視プロセスの直下に配置される監視プロセス及び計算プロセスの数の目標値である第2の目標値とに基づいて、前記監視の階層構造を変更する処理を行う
ことを特徴とする並列計算機システムである。
図1は、マスタワーカ型並列プログラム(以下、単に「並列プログラム」と表記する)を実行する並列計算機システムの構成例を示す。並列計算機システムは、複数の計算ノードNがネットワーク(NW)を介して接続された計算機クラスタを含む。
(CPU)11と、メモリ12と、ネットワーク(NW)との通信インタフェース(通信IF)13と、入出力装置(コンソール)14を含む。CPU11は、プロセッサ(制御装置)の一例である。
,EEPROM,フラッシュメモリなどであり、CPU11によって実行されるプログラムや、プログラムの実行に際して使用されるデータを記憶する。プログラムには、並列プログラム(プロセス制御プログラム)が含まれる。揮発性記憶媒体は、例えばRandom Acc
ess Memory(RAM)であり、CPU11の作業領域として使用される。メモリ12は、「記憶装置」、「記憶媒体」の一例である。
次に、実施形態に係る並列プログラムについて説明する。並列プログラムでは、投入されたマスタワーカ型ジョブ(以下単に「ジョブ」という)を実行するための計算タスクが複数のサブタスクに分割される。計算タスクは、並列プログラムの実行によって行われる「処理」の一例であり、サブタスクは、「処理の一部」、「計算」の一例である。
な計算ノードNの群(計算ノード群)と、当該計算ノード群の使用時間とが決定される。このとき、ジョブが要求する計算資源の大きさに応じて、複数の計算ノードNの全てがジョブに割り当てられることもあれば、複数の計算ノードNの一部がジョブに割り当てられることもある。ジョブの実行中において、ジョブに割り当てられた計算ノード群をなす各計算ノードNは、プロセスの割り当てに応じて、マスタプロセス,サブマスタプロセス,ワーカプロセスのいずれかとして動作することができる。
ス数”との2つとなる。階層の深さ(マスタプロセスとワーカプロセスとの間に存在する
サブマスタプロセスの数) は、上記2つのパラメータに依存して決定される。
げ) で計算することができる。但し、上記計算において、マスタプロセスは0番目と数えられる。
(1)マスタプロセスは、ジョブ実行中の各時点において実行可能となったサブタスクを選択し、ワーカプロセスを生成し、生成したワーカプロセスに選択したサブタスクを実行させる。
タプロセスは、さらに配下のサブマスタプロセスに対し(存在する場合)、上記目標値の通知を行う。このようにして、サブマスタプロセスは、各目標値を配下のサブマスタプロセスに伝搬する。これによって、各目標値は、全てのサブマスタプロセスに伝搬される。但し、“配下ワーカプロセス総数”の目標値は、配下のサブマスタプロセスに適した値に更新される。
次に、サブマスタプロセスの処理例について説明する。図4〜図10は、各サブマスタプロセスの処理例を示すフローチャートである。図11は、サブマスタプロセス(マスタプロセスを含む)の処理にあたって使用されるパラメータを示すテーブルを示す図であり、図12は、サブマスタプロセス(マスタプロセス含む)の処理に当たってサブマスタプロセスが管理するリスト群のテーブルを示す図である。
2の目標値」の一例である。
で実行されている(または実行を開始しようとしている)配下ワーカプロセス総数を示し、配下のワーカプロセスの増減に応じて増減する値である。
ト“submaster_list”と、消滅サブマスタリスト“dead_submaster_list”とが記憶され
る。
プロセスのリストである。サブマスタプロセスは、ワーカリストに登録された各ワーカプロセスに対する管理(監視など)を行う。ワーカリストには、サブマスタプロセスの直下に位置する各ワーカプロセスの情報(識別情報、属性情報など)が情報要素(要素ともいう)として登録される。図12の例では、各ワーカプロセスa,b,c・・・の情報が”worker_a”, “worker_b” “worker_c”,..として登録されている。
サブマスタプロセスであって、終了(消滅)を決定したサブマスタプロセス(消滅サブマスタプロセス)のリストである。消滅サブマスタリストには、情報要素として、各消滅サブマスタプロセスの情報(サブマスタリストに登録されていた情報)が記憶される。図12の例では、各サブマスタプロセスx,y,z・・・の情報が”sub_x”, “sub_y” “sub_z”,..として登録されている。
マスタプロセスは、ワーカリスト“worker_list”,サブマスタリスト“submaster_list
”及び消滅サブマスタリスト“dead_submaster_list”を空(ヌル)に設定する。
タリストの要素数であり、サブマスタプロセスの直下にあるサブマスタプロセス数を示す。“dead_submaster_list.length”は、消滅サブマスタリストの要素数であり、消滅サブマスタプロセスの数を示す。要素数は、例えば、CPU11が各リストに記憶された要素数を計数することで得られる。要素数は、事前に算出してリスト中に記憶しておき、002で参照するようにしても良い。
)に代入する。
がサブマスタプロセス自身の「終了通知」であるか否かを判定する。このとき、リクエストが「終了通知」であれば(004,YES)であれば、処理が005(図5)に進む。これに対し、「終了通知」でなければ、処理が008に進む。
リクエストが受信された場合には、008において、次の処理が実行される。サブマスタプロセスは、メモリ12に記憶された“num_child”の値を、リクエストで指定された直
下の配下プロセス数の目標値“recv_req.num_child”に設定(更新)する。また、サブマスタプロセスは、メモリ12に記憶された “num_descendant”の値を、リクエストで指
定された“num_descendant”の値“recv_req.num_descendant”に設定(更新)する。
モリ12の“num_child”の値で除した値を“num_child_descendant”として設定する(
メモリ12に記憶する)。ここで、“div_ceil()”は、小数点以下を切り上げる除算を行うことを意味する。上記除算の結果として、小数点以下を切り上げた値が設定される。010の処理が、上述した“ワーカプロセス総数/(直下の配下プロセス数)n”の演算に相当し、“num_child_descendant”の値が、直下のサブマスタプロセスに通知される「第1の目標値」となる。
数の目標値“num_child”より大きいか否か(目標値を超過しているか否か)を判定する
。このとき、直下のサブマスタプロセス数が目標値を超過している場合(011,YES)には、処理が012に進み、そうでない場合(011,NO)には、処理が014(図7)に進む。
タリストがヌルであれば、“submaster_list.length”の値は0として扱われる。
セスを消滅させるために、サブマスタリスト“submaster_list”の先頭に登録されたサブマスタプロセス(0番目のサブマスタプロセス:submaster_list[0])に対し、「終了通
知」を送信する。
に追加する。「終了通知」の送信先に該当するサブマスタプロセスからのレスポンスの待ち受けに使用するためである。
過している場合には、サブマスタリストの先頭(submaster_list[0])に対する012及
び013の処理が実行される。このようにして、サブマスタプロセス自身の直下のサブマスタプロセス数が目標値“num_child”以下になるまで、011〜013のループ処理が
繰り返される。
ス自身の直下にあるワーカプロセスの数“worker_list.length”との和(直下の配下プロセス数(子プロセス数))を求める。サブマスタプロセスは、求めた直下の配下プロセス数が、サブマスタプロセス自身の直下の配下プロセス数の目標値“num_child”以下か否
かを判定する。このとき、直下の配下プロセス数が目標値を上回るとき(014,NO)には、処理が022(図8)に進む。これに対し、直下の配下プロセス数が目標値以下のとき(014,YES)には、処理が015に進む。
のとき、iの値が直下のサブマスタプロセス数より小さいとき(016,YES)には、処理が017に進み、そうでないとき(016,NO)には、処理が033(図10)に進む。当該処理は、サブマスタリストのi番目(最初は先頭(=0))のサブマスタプロセスから順に、リスト中の全サブマスタプロセスについて017〜021のループ処理を行うことを意味する。以下、サブマスタリストにおけるi番目の要素(サブマスタプロセス)を“サブマスタプロセス[i]”と表記する。
とサブマスタプロセス[i]の子孫のワーカプロセス総数“submaster_list[i].num_descendant”との和から1を減じたものを算出する。そして、サブマスタプロセスは、算出した値がサブマスタプロセス自身の直下の配下プロセス数の目標値“num_child”以下か否か
を判定する。このとき、算出値が目標値以下であれば(017,YES)、処理が018に進み、そうでなければ(017,NO)、処理が021に進む。
標値を超えないことは、当該サブマスタプロセス[i]の配下ワーカプロセスの管理を上位プロセスに委譲(移管)しても問題ない(目標値以下に収まる)ことを意味する。なお、上記算出値の算出において減じられる1は、管理権の委譲(ワーカプロセスの配置変更)に伴い消滅させるサブマスタプロセスの数を表している。
”に追加する。
セス[i]の子孫プロセス数からサブマスタプロセス[i]の数(1)を減じたもの“(submaster_list[i].num_descendant)−1”を加える。
iの値が直下のサブマスタプロセス数より小さいとき(023,YES)には、処理が024に進み、そうでないとき(023,NO)には、処理が029(図9)に進む。
(余裕の数)と同数のワーカプロセスを取り除き、サブマスタプロセス[i]に割り当てる。このとき、サブマスタプロセスは、サブマスタプロセス[i]の子孫ワーカプロセス数を
割り当てたワーカプロセスの数だけ増加させる。その後、処理が028に進む。026の処理により、サブマスタプロセス[i]の直下にある配下ワーカプロセス数が目標値“num_child_descendant”となる。
ス数の目標値“num_child”未満であるか否かを判定する(条件1)。また、サブマスタ
プロセスは、サブマスタプロセス自身の直下のプロセス数(submaster_list.length+worker_list.length)が目標値“num_child”より大きいかを判定する(条件2)。
プロセスの配下ワーカプロセス総数の目標値(num_child_descendant)と同数のワーカプロセスを取り除き、新たなサブマスタプロセスに割り当てる(管理権を委譲する)。このとき、サブマスタプロセスは、新たなサブマスタプロセスの子孫ワーカプロセス数として、割り当てたワーカプロセスの数を設定する。
ロセスに割り当てられた)ワーカプロセスの情報を設定する。
マスタプロセスは、これまでに説明したサブマスタプロセスが有する機構に加え、サブタスクを選択する機構とワーカプロセスを生成する機構とを備えたプロセスである。サブマスタプロセスは、マスタプロセスによって生成されたワーカプロセスの管理権を受け取るだけであるが、マスタプロセスは、自らワーカプロセスを生成し、マスタプロセス自身の直下の配下にすることができる。
ほぼ同様である。但し、以下の点で、サブマスタプロセスの処理と異なる。図13は、マスタプロセスの処理例を示すフローチャートである。すなわち、図13に示すように、図4の002に相当する002Aにおいて、マスタプロセスは、「親プロセスからのリクエストが受信可能か」の判定に代えて、「新規のサブタスクが実行可能か否か」の判定を行う。このとき、新規のサブタスクが実行可能であれば(002A,YES)、003Aにおいて、実行可能なサブタスクについてワーカプロセスを生成する。
して、上位プロセスから通知された値ではなく、マニュアル操作や所定アルゴリズムで設定された(メモリ12に予め記憶されている)“直下の配下プロセス数”の値を“num_child”に設定する。また、マスタプロセスは、003Aにて生成したワーカプロセスの数
(ワーカプロセス総数)を“num_descendant”の値に設定する。さらに、003Aにて生成したワーカプロセスの情報をワーカリストに追加する。その後、処理が009に進む。
,030)。このとき、マスタプロセスは、該サブマスタプロセスに“num_child_descendant”の数のワーカプロセスを割り当てる(031)。
設定並びにワーカリストの追加を行うことができ、以降の処理を行うことが可能となる。
ジョブを実行する並列プログラムの実行に際しては、例えば、ジョブ実行の開始時点での初期設定として、ジョブが割り当てられた複数の計算ノードN上で、マスタプロセスと、必要な数のサブマスタプロセス及びワーカプロセスが生成され、各計算ノードNに割り当てられる。
プロセスは、予め設定された(メモリ12に記憶された)「直下の配下プロセス数」(例えば2)を用いて、マスタプロセスの直下の(子の)各サブマスタプロセスに対する配下ワーカプロセス総数“5000”を求める(図6,010)。
000個分のワーカプロセスのリスト)”である。各サブマスタプロセスは、010(図6)において、“num_child_descendant=2500”を求める。そして、各サブマスタプロセスは、029〜032のループ(図9)において、サブマスタプロセス自身の直下に2つのサブマスタプロセス(第2層)を生成する(030)。マスタプロセスは、2500個分のワーカプロセスの管理権を、各配下のサブマスタプロセス(第2層)に委譲する(031)。
、当該ワーカプロセスの配置位置を下位プロセスに移動させる。或いは、ワーカプロセスの減少に基づき、階層数が減少するように更新した“num_descendant”を含むリクエストを下位プロセスに送信する。
ば、ワーカプロセス数の減少に伴い“num_child”の値を増加させたり、ワーカプロセス
数の増加に伴い“num_child”の値を減少させたりすることができる。この場合でも、マ
スタプロセス及びサブマスタプロセスが監視する(直下に配置される)プロセス数は、マスタプロセス及びサブマスタプロセス間で均等となるので、監視コストの均一化が維持される。
サブマスタリスト“submaster_list”(図12)で管理する。ワーカリスト“worker_list”,及びサブマスタリスト“submaster_list”は、マスタプロセスとして動作する計算
ノードN,サブマスタプロセスとして動作する計算ノードNのそれぞれのメモリ12に記憶される。
して動作する計算ノードN(CPU11)は、新たなサブマスタプロセスが管理するワーカプロセスの情報を送る。新たにサブマスタプロセスとして動作する計算ノードNのCPU11は、例えば、上記依頼の送信元アドレスから、新たなサブマスタプロセスの上位プロセスの存在位置を認識することができる。また、当該CPU11は、ワーカプロセスの情報をメモリ12上のワーカリスト(図12)に追加する。これによって、ワーカプロセスの配置位置が、上位プロセスから直下のサブマスタプロセスへ変更されたこととなる。
11・・・CPU
12・・・メモリ
13・・・通信インタフェース
Claims (10)
- 所定計算をそれぞれ行う複数の計算プロセスと複数の監視プロセスとを生成し、各監視プロセスが自身の直下に配置された監視プロセス及び計算プロセスを監視する監視の階層構造を形成するための並列プログラムを実行可能な複数の計算ノードであって、各計算ノードが、前記計算プロセスが割り当てられたときに前記計算プロセスとして動作し、前記監視プロセスが割り当てられたときに前記監視プロセスとして動作する複数の計算ノードを含み、
前記監視プロセスが割り当てられた各計算ノードが、割り当てられた監視プロセスの配下の計算プロセスの総数の目標値である第1の目標値と、前記割り当てられた監視プロセスの直下に配置される監視プロセス及び計算プロセスの数の目標値である第2の目標値とに基づいて、前記監視の階層構造を変更する処理を行う
ことを特徴とする並列計算機システム。 - 前記監視プロセスが割り当てられた各計算ノードは、前記監視の階層構造を変更する処理として、前記割り当てられた監視プロセスの直下の監視プロセスの生成及び消滅、並びに前記直下の監視プロセスの生成及び消滅に伴う計算プロセスの配置変更を制御する
請求項1に記載の並列計算機システム。 - 前記監視プロセスが割り当てられた各計算ノードは、前記割り当てられた監視プロセスの配下の計算プロセスの総数が前記第1の目標値を超過するときに、前記第1の目標値を超過する数の計算プロセスの配置位置を前記割り当てられた監視プロセスの上位プロセスに該当する監視プロセスの直下に変更することを決定する
請求項1又は2に記載の並列計算機システム。 - 前記監視プロセスが割り当てられた各計算ノードは、前記割り当てられた監視プロセスの直下に計算プロセスが配置されており、且つ直下に配置された監視プロセス及び計算プロセスの数が前記第2の目標値を超過しており、さらに前記割り当てられた監視プロセスの直下に配置された配下の監視プロセスであって、当該配下の監視プロセスにとっての配下の計算プロセスの総数が、当該配下の監視プロセスにとっての配下の計算プロセスの総数の目標値を下回るような、当該配下の監視プロセスが存在するときに、前記配下の監視
プロセスにとっての配下の計算プロセスの総数が、当該配下の監視プロセスにとっての配下の計算プロセスの総数の目標値を超えない範囲で前記割り当てられた監視プロセスの直下にある計算プロセスの配置位置を前記配下の監視プロセスの配下に変更することを決定する
請求項1から3のいずれか1項に記載の並列計算機システム。 - 前記監視プロセスが割り当てられた各計算ノードは、前記割り当てられた監視プロセスの直下に配置された監視プロセスの数が前記第2の目標値を下回っているが、前記割り当てられた監視プロセスの直下に配置された監視プロセス及び計算プロセスの数が前記第2の目標値を上回る場合には、前記割り当てられた監視プロセスの直下に新たな監視プロセスを生成し、前記割り当てられた監視プロセスの直下にある計算プロセスの一部又は全部の配置位置を前記新たな監視プロセスの直下に変更することを決定する
請求項1から4のいずれか1項に記載の並列計算機システム。 - 前記監視プロセスが割り当てられた各計算ノードは、前記割り当てられた監視プロセスの直下に配置された或る監視プロセスの配下にある計算プロセスの配置位置を前記割り当てられた監視プロセスの直下に変更しても当該割り当てられた監視プロセスの直下に配置される監視プロセス及び計算プロセスの数が前記第2の目標値を超えないときに、前記或る監視プロセスを終了させて前記或る監視プロセスの配下にある計算プロセスの配置位置を前記割り当てられた監視プロセスの直下に変更することを決定する
請求項1から4のいずれか1項に記載の並列計算機システム。 - 前記監視プロセスが割り当てられた各計算ノードは、前記第1の目標値を前記割り当てられた監視プロセス向けに供給された第2の目標値で除して求めた値を、前記割り当てられた監視プロセスの直下に配置された監視プロセスにとっての、配下の計算プロセスの総数の目標値に決定する
請求項1から6のいずれか1項に記載の並列計算機システム。 - 前記監視プロセスが割り当てられた各計算ノードは、前記割り当てられた監視プロセスの直下に配置された監視プロセスの数が前記第2の目標値を超過するときに、前記直下に配置された監視プロセスの数が前記第2の目標値以下となるように、前記直下に配置された監視プロセスのうちの一部を終了させることを決定する
請求項1から7のいずれか1項に記載の並列計算機システム。 - 複数の計算ノードによって実行される、所定計算をそれぞれ行う複数の計算プロセスと複数の監視プロセスとを生成し、各監視プロセスが自身の直下に配置された監視プロセス及び計算プロセスを監視する監視の階層構造を形成するためのプロセス制御プログラムであって、
各計算ノードに対し、
前記計算プロセスが割り当てられたときに前記計算プロセスとして動作する処理と、
前記監視プロセスが割り当てられたときに前記監視プロセスとして動作し、割り当てられた監視プロセスの配下の計算プロセスの総数の目標値である第1の目標値と、前記割り当てられた監視プロセスの直下に配置される監視プロセス及び計算プロセスの数の目標値である第2の目標値とに基づいて、前記監視の階層構造を変更する処理と
を実行させるプロセス制御プログラム。 - 複数の計算ノードによって実行される、所定計算をそれぞれ行う複数の計算プロセスと複数の監視プロセスとを生成し、各監視プロセスが自身の直下に配置された監視プロセス及び計算プロセスを監視する監視の階層構造を形成するための並列プログラムを実行可能な複数の計算ノードを含む並列計算機システムの制御方法であって、
各計算ノードが、
前記計算プロセスが割り当てられたときに前記計算プロセスとして動作し、
前記監視プロセスが割り当てられたときに前記監視プロセスとして動作し、割り当てられた監視プロセスの配下の計算プロセスの総数の目標値である第1の目標値と、前記割り当てられた監視プロセスの直下に配置される監視プロセス及び計算プロセスの数の目標値である第2の目標値とに基づいて、前記監視の階層構造を変更する処理を行う
ことを含む並列計算機システムの制御方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014106115A JP6303806B2 (ja) | 2014-05-22 | 2014-05-22 | 並列計算機システム,プロセス制御プログラム,及び並列計算機システムの制御方法 |
EP15168275.4A EP2950212A3 (en) | 2014-05-22 | 2015-05-19 | Parallel computer system and method for controlling parallel computer system |
US14/718,132 US9942309B2 (en) | 2014-05-22 | 2015-05-21 | Parallel computer system and method for controlling parallel computer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014106115A JP6303806B2 (ja) | 2014-05-22 | 2014-05-22 | 並列計算機システム,プロセス制御プログラム,及び並列計算機システムの制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015222476A JP2015222476A (ja) | 2015-12-10 |
JP6303806B2 true JP6303806B2 (ja) | 2018-04-04 |
Family
ID=53189715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014106115A Active JP6303806B2 (ja) | 2014-05-22 | 2014-05-22 | 並列計算機システム,プロセス制御プログラム,及び並列計算機システムの制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9942309B2 (ja) |
EP (1) | EP2950212A3 (ja) |
JP (1) | JP6303806B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2551518B (en) | 2016-06-20 | 2020-06-03 | Jaguar Land Rover Ltd | Control system having a hierarchical distributed architecture |
CN106776034B (zh) * | 2016-12-27 | 2020-07-31 | 国网浙江省电力公司电力科学研究院 | 一种任务批处理计算方法、主站计算机及系统 |
US10642718B2 (en) * | 2018-07-31 | 2020-05-05 | Nutanix, Inc. | Framework for testing distributed systems |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7418470B2 (en) | 2000-06-26 | 2008-08-26 | Massively Parallel Technologies, Inc. | Parallel processing systems and method |
EP1502203A2 (en) | 2002-01-10 | 2005-02-02 | Massively Parallel Technologies, Inc. | Parallel processing systems and method |
JP2003280933A (ja) | 2002-03-20 | 2003-10-03 | Nippon Telegr & Teleph Corp <Ntt> | リソース管理プロセスのn重化システム |
JP4203001B2 (ja) | 2004-01-28 | 2008-12-24 | 株式会社東芝 | 並列計算方法、並列計算プログラム及び計算機 |
JP2005346563A (ja) * | 2004-06-04 | 2005-12-15 | Mitsubishi Electric Corp | 並列処理システムおよび並列処理方法 |
WO2006029714A2 (en) * | 2004-09-13 | 2006-03-23 | Fujitsu Siemens Computers, Inc. | Method and computer arrangement for controlling and monitoring a plurality of servers |
US7882210B2 (en) * | 2007-08-02 | 2011-02-01 | Sap Ag | Dynamic agent formation for efficient data provisioning |
JP2010045720A (ja) * | 2008-08-18 | 2010-02-25 | Oki Electric Ind Co Ltd | ネットワークシステム、ノード及び通信プログラム |
CN102486739B (zh) * | 2009-11-30 | 2015-03-25 | 国际商业机器公司 | 高性能计算集群中分发数据的方法和系统 |
US20120185776A1 (en) * | 2011-01-14 | 2012-07-19 | Microsoft Corporation | Analyzing resource consumption of software executing during a usage scenario |
US8825710B2 (en) * | 2011-05-26 | 2014-09-02 | Planet Technologies | Cloud computing method for dynamically scaling a process across physical machine boundaries |
JP5949385B2 (ja) * | 2012-09-24 | 2016-07-06 | 富士通株式会社 | 管理プログラム、管理方法、管理装置及び情報処理システム |
US9185007B2 (en) * | 2013-04-30 | 2015-11-10 | Splunk Inc. | Proactive monitoring tree with severity state sorting |
US9142049B2 (en) * | 2013-04-30 | 2015-09-22 | Splunk Inc. | Proactive monitoring tree providing distribution stream chart with branch overlay |
US9230001B2 (en) * | 2013-11-14 | 2016-01-05 | Vmware, Inc. | Intelligent data propagation using performance monitoring |
US9413849B2 (en) * | 2013-12-05 | 2016-08-09 | International Business Machines Corporation | Distributing an executable job load file to compute nodes in a parallel computer |
-
2014
- 2014-05-22 JP JP2014106115A patent/JP6303806B2/ja active Active
-
2015
- 2015-05-19 EP EP15168275.4A patent/EP2950212A3/en not_active Withdrawn
- 2015-05-21 US US14/718,132 patent/US9942309B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP2950212A2 (en) | 2015-12-02 |
US20150341424A1 (en) | 2015-11-26 |
JP2015222476A (ja) | 2015-12-10 |
US9942309B2 (en) | 2018-04-10 |
EP2950212A3 (en) | 2016-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20080115143A1 (en) | Job Execution Method, Job Execution System, and Job Execution Program | |
JP6364880B2 (ja) | 並列計算機システム,ジョブ管理装置の制御プログラム,及び並列計算機システムの制御方法 | |
CN107851039B (zh) | 用于资源管理的系统和方法 | |
JP5332065B2 (ja) | クラスタ構成管理方法、管理装置及びプログラム | |
JP6233413B2 (ja) | タスク割り当て判定装置、制御方法、及びプログラム | |
JP7003874B2 (ja) | リソース予約管理装置、リソース予約管理方法およびリソース予約管理プログラム | |
WO2012056596A1 (ja) | 計算機システム及び処理制御方法 | |
CN108701132B (zh) | 资源管理系统和方法 | |
KR20130115553A (ko) | 동적 자원 관리를 위한 2단계 자원 관리 방법 및 장치 | |
JP2012058815A (ja) | 計算機システム、及び、計算機システムの制御方法 | |
JP2011065645A (ja) | マルチコアプロセッサシステム | |
KR20160087706A (ko) | 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치 및 할당 방법 | |
JP6303806B2 (ja) | 並列計算機システム,プロセス制御プログラム,及び並列計算機システムの制御方法 | |
KR20130019698A (ko) | 사용자 스케줄러와 마이그레이션(Migration)을 통한 자원 최적화 방법 및 시스템 | |
CN112231098A (zh) | 任务处理方法、装置、设备及存储介质 | |
WO2018235739A1 (ja) | 情報処理システムおよびリソース割り当て方法 | |
JP2008204243A (ja) | ジョブ実行制御方法およびシステム | |
JP2010237901A (ja) | 監視制御システム、監視制御方法、監視制御サーバ及び監視制御プログラム | |
WO2020163120A1 (en) | Efficient scaling of a container-based application in a distributed computing system | |
KR102676385B1 (ko) | 가상화 서버에서 가상머신 cpu 자원을 관리하는 장치 및 방법 | |
JP2010282550A (ja) | 仮想計算機システム及びその物理資源の割当方法 | |
CN115904640A (zh) | 分布式任务处理系统及方法 | |
JP2011215812A (ja) | 仮想計算機管理方法、計算機システム及びリソース管理プログラム | |
JP2010231601A (ja) | グリッドコンピューティングシステム、リソース制御方法およびリソース制御プログラム | |
JP2004192400A (ja) | ジョブスケジューリング方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170206 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171121 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171212 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180117 |
|
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: 20180206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180219 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6303806 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |