JP2010282533A - 計算機システム、計算機リソース制御方法および計算機リソース制御プログラム - Google Patents

計算機システム、計算機リソース制御方法および計算機リソース制御プログラム Download PDF

Info

Publication number
JP2010282533A
JP2010282533A JP2009136926A JP2009136926A JP2010282533A JP 2010282533 A JP2010282533 A JP 2010282533A JP 2009136926 A JP2009136926 A JP 2009136926A JP 2009136926 A JP2009136926 A JP 2009136926A JP 2010282533 A JP2010282533 A JP 2010282533A
Authority
JP
Japan
Prior art keywords
cluster
computer
time
execution
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009136926A
Other languages
English (en)
Other versions
JP5377093B2 (ja
Inventor
Kazuhiro Murayama
和宏 村山
Masayuki Meguro
正之 目黒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2009136926A priority Critical patent/JP5377093B2/ja
Publication of JP2010282533A publication Critical patent/JP2010282533A/ja
Application granted granted Critical
Publication of JP5377093B2 publication Critical patent/JP5377093B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】複数の計算機クラスタがネットワーク接続された計算機システムにおいて、計算機システム内に余剰リソースが存在する限り、全てのプロセス処理を継続させられるようにすることを目的とする。
【解決手段】計算機クラスタ2aの移行プロセス決定部111Bは、クラスタ内でパイプライン処理が制限時間内に完了しなかった場合、パイプライン処理を実行する計算機群をクラスタ内で変更する。計算機クラスタ2aにパイプライン処理を制限時間内に実行できる計算機群が無い場合、計算機クラスタ2bおよび計算機クラスタ2cの移行プロセス決定部111Bは、そのパイプライン処理を制限時間内に実行できる計算機群がクラスタ内に有るか判定する。当該計算機群がクラスタ内に有る場合、当該計算機群を有するクラスタの移行プロセス決定部111Bは当該パイプライン処理を当該計算機群に移行させる。
【選択図】図6

Description

本発明は、例えば、各計算機クラスタで所定のパイプライン処理を実行する計算機システム、計算機リソース制御方法および計算機リソース制御プログラムに関するものである。
従来の計算機リソース制御方法は、複数台の計算機を接続して複数のプロセスを連携処理する計算機システムにおいて、各プロセスに必要なリソース量と各計算機の余剰リソース量とを考慮し、各プロセスを処理させる計算機を決定する(特許文献1)。例えば、プロセスの処理量の増加や計算機の故障などによりプロセスに必要なリソース量を所定の計算機に確保できなくなった場合、プロセスに必要なリソース量を保持する他の計算機にそのプロセスを移行させる。これにより、プロセスのデッドラインミスの発生を防ぐ。
特開2008−123205号公報
しかしながら、上記の計算機リソース制御方法では、複数の計算機クラスタがネットワーク接続された計算機システムのリソースを有効的に制御することができない。例えば、計算機故障によりある計算機クラスタ内のリソースが不足した場合、全てのプロセス処理を継続させることができない。
本発明は、例えば、複数の計算機クラスタがネットワーク接続された計算機システムにおいて、計算機システム内に余剰リソースが存在する限り、全てのプロセス処理を継続させられるようにすることを目的とする。
本発明の計算機システムは、
複数の計算機で構成されるクラスタを複数有し、一つのクラスタ内の一部の計算機群により特定処理を実行する計算機システムであって、
前記特定処理が制限時間内に完了しなかった場合、前記特定処理を実行した計算機群を実行計算機群として含む実行クラスタが、前記特定処理を制限時間内に完了する実行可能計算機群を含むかCPU(Central Processing Unit)を用いて判定する実行クラスタ判定部と、
前記実行クラスタ判定部により前記実行クラスタが前記実行可能計算機群を含むと判定された場合、前記特定処理を実行させる計算機群を前記実行クラスタの前記実行計算機群から前記実行クラスタの前記実行可能計算機群に変更するクラスタ内計算機群変更部と、
前記実行クラスタ判定部により前記実行クラスタが前記実行可能計算機群を含まないと判定された場合、前記実行可能計算機群を含む実行可能クラスタが有るかCPUを用いて判定する実行可能クラスタ判定部と、
前記実行可能クラスタ判定部により実行可能クラスタが有ると判定された場合、前記特定処理を実行させる計算機群を前記実行クラスタの前記実行計算機群から前記実行可能クラスタの前記実行可能計算機群に変更するクラスタ間計算機群変更部と
をそれぞれ所定の計算機に備える。
本発明によれば、例えば、複数の計算機クラスタがネットワーク接続された計算機システムにおいて、計算機システム内に余剰リソースが存在する限り、全てのプロセス処理(特定処理)を継続させることができる。
実施の形態1における計算機システム1の構成図。 実施の形態1におけるパイプライン処理を示す図。 実施の形態1におけるパイプライン処理を示す図。 実施の形態1における計算機リソース制御システム100の機能構成図。 実施の形態1におけるプロセス構成定義部112Aに記憶されるプロセス定義テーブル191およびパイプライン処理定義テーブル192を示す図。 実施の形態1における計算機リソース制御システム100の機能配置の一例を示す図。 実施の形態1における計算機リソース制御システム100の計算機負荷収集処理(空きCPU時間)の概要図。 実施の形態1における計算機Aの空きCPU時間Eを示す図。 実施の形態1における計算機リソース制御システム100の計算機負荷収集処理(処理時間・CPU時間)の概要図。 実施の形態1におけるパイプライン処理の制限時間の超過を示す図。 実施の形態1における計算機リソース制御システム100の計算機リソース制御方法を示すフローチャート。 実施の形態1におけるプロセス再配置処理(S100)の概要図。 実施の形態1におけるプロセス再配置処理(S100)の概要図。 実施の形態1におけるプロセス再配置処理(S100)の概要図。 実施の形態1における計算機リソース制御システム100のプロセス再配置処理(S100)のフローチャート。 実施の形態1におけるクラスタ間プロセス移行処理(S120)のフローチャート。 実施の形態1におけるクラスタ間プロセス起動・停止処理(S130)のフローチャート。 実施の形態1における計算機リソース制御システム100の計算機のハードウェア資源の一例を示す図。 実施の形態2における計算機負荷テーブル193を示す図。 実施の形態2におけるクラスタ負荷テーブル194を示す図。 実施の形態2における計算機負荷テーブル193とクラスタ負荷テーブル194との関係図。 実施の形態2における計算機リソース制御システム100の計算機負荷収集処理(空きCPU時間)の概要図。 実施の形態2における計算機リソース制御システム100の計算機リソース制御方法を示すフローチャート。 実施の形態2におけるクラスタ間プロセス移行処理(S120)のフローチャート。 実施の形態3における計算機負荷テーブル演算計算機負荷テーブル193Aおよび計算機負荷テーブル中継計算機負荷テーブル193Bを示す図。 実施の形態3におけるクラスタ負荷テーブルクラスタ上演算計算機負荷テーブル194Aおよびクラスタ負荷テーブルクラスタ上中継計算機負荷テーブル194Bを示す図。 実施の形態3における各計算機負荷テーブルと各クラスタ負荷テーブルとの関係図。 実施の形態3における計算機リソース制御システム100の計算機負荷収集処理(空きCPU時間)の概要図。 実施の形態3における計算機リソース制御システム100の計算機リソース制御方法を示すフローチャート。 実施の形態3におけるクラスタ間プロセス移行処理(S120)のフローチャート。 実施の形態4における計算機リソース制御システム100のプロセス再配置処理(S100)のフローチャート。 実施の形態4における他プロセス移行処理(S200)のフローチャート。 実施の形態4における移行パイプライン調査処理(S300)のフローチャート。 実施の形態5における計算機リソース制御システム100のプロセス再配置処理(S100)のフローチャート。 実施の形態5におけるパイプライン分割移行処理(S400)のフローチャート。 実施の形態5におけるパイプライン分割処理(S410)のフローチャート。 実施の形態5におけるパイプライン分割処理(S410)の概要図。
実施の形態1.
複数の計算機で構成されるクラスタを複数有し、クラスタ内の計算機群で所定のパイプライン処理を実行する計算機システムの計算機リソース制御方法について説明する。
図1は、実施の形態1における計算機システム1の構成図である。
実施の形態1における計算機システム1の構成について、図1に基づいて以下に説明する。
計算機システム1は複数の計算機クラスタ(2a、2b)を有し、各計算機クラスタは複数台の計算機を有する。
各計算機クラスタが有する複数台の計算機には、他の計算機クラスタと通信できる中継計算機(5a、5b)と他の計算機クラスタと通信できない演算計算機(6a−1〜4、6b−1〜4)とが含まれる。中継計算機と演算計算機とは、一つの計算機クラスタ内に1台だけ有っても複数台有っても構わない。
各計算機クラスタの中継計算機はネットワーク3に接続し、ネットワーク3を介して他の計算機クラスタの中継計算機と通信を行う。
各中継計算機および演算計算機は、計算機クラスタ内のネットワーク(4a、4b)に接続し、計算機クラスタ内で互いに通信を行う。
例えば、中継計算機5aは計算機クラスタ2a内の各演算計算機(6a−1〜4)および計算機クラスタ2bの中継計算機5bと通信し、演算計算機6a−1は計算機クラスタ2a内の各計算機(5a、6a−2〜4)と通信する。
特定の計算機(中継計算機)だけに他の計算機クラスタと通信する機能を与えることにより、計算機クラスタ内でだけ使用したい秘密情報が漏えいすることを防ぐことができる。
図2および図3は、実施の形態1におけるパイプライン処理を示す図である。
各計算機クラスタにより実行されるパイプライン処理について、図2および図3に基づいて以下に説明する。
図2に示すように、パイプライン処理(8a、8b)は、複数のプロセス(7a−1〜4、7b−1〜4)から成り、複数のプロセスの実行順序が決まっている。一つのパイプライン処理を構成する複数のプロセスは、一つの計算機クラスタ内で実行される。
プロセスとは、パイプライン処理を構成する一部の処理または当該処理を実行する実行部である。
各プロセスは、処理したデータを次のプロセスに渡すことにより、連携して動作する。
例えば、パイプライン処理8aは4つのプロセス(7a−1〜4)で構成され、プロセス7a−1、プロセス7a−2、プロセス7a−3、プロセス7a−4の順で実行される。
パイプライン処理の始めのプロセスおよび終わりのプロセスは、計算機クラスタ間でデータを受け渡す場合があるため、中継計算機により実行される。
例えば、計算機クラスタ2aの中継計算機5a−2はパイプライン処理8aの末尾(終わり、最終)のプロセス7a−4を実行し、プロセス7a−4で処理したデータを計算機クラスタ2bの中継計算機5b−1に送信する。中継計算機5b−1はデータを受信し、パイプライン処理8bの先頭(始め、最初)のプロセス7b−1を実行して受信データを処理する。
始めのプロセスおよび終わりのプロセス以外の中間のプロセスは、演算計算機または中継計算機により実行される。
演算計算機および中継計算機は、一つのパイプライン処理内の2つ以上のプロセスを実行しても構わない。つまり、X個のプロセスで構成されるパイプライン処理をX台より少ない計算機で実行しても構わない。
図3(1)は、分岐しないパイプライン処理を示している。
パイプライン処理は、図3(2)に示すように、あるプロセスから複数のプロセスに枝分かれする場合がある。この場合、分岐先のプロセス群を一つのパイプライン処理として扱う。
例えば、プロセス7c−1〜プロセス7c−4およびプロセス7c−4に続くプロセスがパイプライン処理8cを構成し、プロセス7c−2から枝分かれしたプロセス7d−1、プロセス7d−2およびプロセス7d−2に続くプロセスがパイプライン処理8dを構成する。
各計算機クラスタは、計算機クラスタ毎に決められた1つまたは複数のパイプライン処理を実行する。
各計算機(中継計算機、演算計算機)には、実行するプロセスが割り当てられる。
各プロセス(またはパイプライン処理)には優先度が決められ、各計算機は割り当てられた複数のプロセスを優先度順に実行する。
以下、各パイプライン処理の優先度は処理対象のデータが発生する周期(以下、「処理周期」という)の短い順に高いものとする。つまり、最も処理周期が短いパイプライン処理のプロセスが最も優先度の高いプロセスであり、最も処理周期が長いパイプライン処理のプロセスが最も優先度の低いプロセスである。
通常、各パイプライン処理および各プロセスに要する処理時間はほぼ一定である。しかし、データ量の増減などによって計算機の負荷が増減した場合、各パイプライン処理および各プロセスに要する処理時間は変動する。
図4は、実施の形態1における計算機リソース制御システム100の機能構成図である。
実施の形態1における計算機リソース制御システム100の機能構成について、図4に基づいて以下に説明する。
計算機リソース制御システム100は、各計算機(演算計算機、中継計算機)に計算機負荷監視部101と資源割当部102とを備える。
計算機負荷監視部101は、計算機内で動作する各プロセスから処理開始および処理終了の通知を受け、各プロセスの処理開始時刻、処理終了時刻およびCPU時間とを特定し、計算機の空きCPU時間を算出する。
CPU時間とは、処理時間(処理開始時刻から処理終了時刻までの時間)のうちCPUを使用した時間である。
空きCPU時間とは、単位時間のうちCPUが使用されなかった時間である。
資源割当部102は、プロセスの起動および停止を行う。
計算機リソース制御システム100は、クラスタ(計算機クラスタ、以下同様)毎に、クラスタ内のいずれか一台の計算機に処理時間収集部111Aとプロセス構成定義部112Aとを備える。各図において、処理時間収集部111Aとプロセス構成定義部112Aとの左下に斜線マークを記す。
処理時間収集部111Aは、クラスタ内の各計算機の計算機負荷監視部101により特定される各プロセスの処理開始時刻および処理終了時刻に基づいて、クラスタ内で実行される各パイプライン処理の処理時間を算出する。そして、処理時間収集部111Aは、各パイプライン処理の処理時間が制限時間を超過していないか判定する。
プロセス構成定義部112Aは、クラスタ内で実行される各パイプライン処理の情報を記憶して管理する。
図5は、実施の形態1におけるプロセス構成定義部112Aに記憶されるプロセス定義テーブル191およびパイプライン処理定義テーブル192を示す図である。
実施の形態1におけるプロセス構成定義部112Aに記憶されるプロセス定義テーブル191およびパイプライン処理定義テーブル192について、図5に基づいて以下に説明する。
パイプライン処理定義テーブル192には、クラスタ内で実行される各パイプライン処理の「パイプライン処理名」「プロセス数」「制限時間」および「処理周期」が予め設定される。
「パイプライン処理名」は、各パイプライン処理の識別名を示す。図5の説明において、「パイプライン処理名」で識別されるパイプライン処理を「当該パイプライン処理」という。
「プロセス数」は、当該パイプライン処理を構成するプロセスの数を示す。
「制限時間」は、当該パイプライン処理に要する処理時間の上限を示す。処理周期と同じであってもよい。
「処理周期」は、当該パイプライン処理が実行される時間間隔、すなわち、当該パイプライン処理の対象データが発生する時間間隔を示す。
プロセス定義テーブル191には、各パイプライン処理を構成する各プロセスの「プロセス名」「パイプライン処理名」「処理順序」および「定常時処理時間」が予め設定されている。
「プロセス名」は、各プロセスの識別名を示す。図5の説明において、「プロセス名」で識別されるプロセスを「当該プロセス」という。
「パイプライン処理名」は、当該プロセスが属するパイプライン処理の識別名を示す。
「処理順序」は、パイプライン処理内での当該プロセスの実行順序を示す。
「定常時処理時間」は、当該プロセスに要する通常の処理時間の設計値または実測値を示す。
図4に戻り、計算機リソース制御システム100の機能構成の説明を続ける。
計算機リソース制御システム100は、クラスタ毎に、クラスタ内のいずれか一台の中継計算機に移行プロセス決定部111Bとクラスタ負荷収集部112Bとを備える。各図において、移行プロセス決定部111B(実行クラスタ判定部、クラスタ内計算機群変更部、非実行特定処理判定部、非実行単位処理判定部の一例)とクラスタ負荷収集部112Bとの右下に斜線マークを記す。
移行プロセス決定部111Bは、パイプライン処理(特定処理の一例)が制限時間内に完了しなかった場合、当該パイプライン処理を制限時間内に完了できる実行可能計算機群がクラスタ内に有るかCPU(Central Processing Unit)を用いて判定する。
移行プロセス決定部111Bは、実行可能計算機群がクラスタ内に有ると判定した場合、当該パイプライン処理を実行させる計算機群をその実行可能計算機群に変更する。
クラスタ負荷収集部112Bは、クラスタ内の各計算機の計算機負荷監視部101により算出される各計算機の空きCPU時間に基づいて、クラスタの空きCPU時間を算出する。
計算機リソース制御システム100は、システム内のいずれか一台の中継計算機に移行クラスタ決定部121(実行可能クラスタ判定部、クラスタ間計算機群変更部の一例)とシステム構成管理部122(クラスタ空き時間管理部の一例)とを備える。各図において、移行クラスタ決定部121とシステム構成管理部122との右下に墨付きマークを記す。
移行クラスタ決定部121は、移行プロセス決定部111Bにより実行可能計算機群が当該クラスタ内に無いと判定された場合、システム内に実行可能計算機群を持つ実行可能クラスタが有るかCPUを用いて判定する。
移行クラスタ決定部121は、実行可能クラスタが有ると判定した場合、制限時間を超過した当該パイプライン処理を実行させる計算機群を実行可能クラスタの実行可能計算機群に変更する。
システム構成管理部122は、各クラスタのクラスタ負荷収集部112Bにより算出された各クラスタの空きCPU時間を記憶して管理する。
図6は、実施の形態1における計算機リソース制御システム100の機能配置の一例を示す図である。
図6に示すように、計算機負荷監視部101と資源割当部102とは全ての計算機に備わる。処理時間収集部111Aとプロセス構成定義部112Aとはクラスタ毎(2a、2b、2c)に一台の計算機(6a−3、6b−2、6c−2)に備わる。移行プロセス決定部111Bとクラスタ負荷収集部112Bとはクラスタ毎に一台の中継計算機(5a、5b、5c)に備わる。移行クラスタ決定部121はシステム内の一台の中継計算機(5b)に備わる。システム構成管理部122はシステム内の一台の中継計算機(5c)に備わる。
次に、計算機リソース制御システム100の処理として、定期的に実行される「計算機負荷収集処理」と、パイプライン処理の時間超過が発生したときに実行される「プロセス再配置処理」とについて説明する。
まず、各計算機の空きCPU時間、各パイプライン処理に要した処理時間、各プロセスに要したCPU時間などの負荷情報を収集する計算機負荷収集処理について説明する。
図7は、実施の形態1における計算機リソース制御システム100の計算機負荷収集処理(空きCPU時間)の概要図である。
各計算機の空きCPU時間を管理する計算機負荷収集処理について、図7に基づいて以下に説明する。
(1)各計算機の計算機負荷監視部101は、単位時間における自計算機の空きCPU時間を算出する。
例えば、計算機負荷監視部101は、自計算機で動作する各プロセス(m−n、k−l、x−y)について単位時間におけるCPU時間を算出し、単位時間から各プロセスのCPU時間を引いた時間を自計算機の空きCPU時間として算出する。Linux(登録商標)であれば、各プロセスのCPU時間は、/procファイルシステム以下に記録される。
以下、計算機内で最も優先度が低いプロセスの「処理周期」を当該計算機の空きCPU時間の「単位時間」とする。また、パイプライン処理の「処理周期」を当該パイプライン処理に属する各プロセスの「処理周期」とする。
図8は、実施の形態1における計算機Aの空きCPU時間Eを示す図である。
図8において、3つのプロセス(m−n、k−l、x−y)が計算機Aで動作し、3つのプロセスの優先度はプロセスm−n、プロセスk−l、プロセスx−yの順で高いものとする。「プロセスa−b」は、パイプライン処理aのb番目のプロセスを意味する。各プロセスのCPU時間を太線で示す。
計算機Aの空きCPU時間Eは、計算機Aで動作する3つのプロセス(m−n、k−l、x−y)のうち優先度が最も低いプロセスx−yの処理周期(単位時間)内でいずれのプロセスにもCPUを使用されなかった時間(EA1、EA2)の合計時間に相当する。
計算機Aで動作するN個のプロセスを優先度の高い順にプロセス1、プロセス2、・・・、プロセスNとした場合(優先度:プロセス1>プロセス2>・・・>プロセスN)、計算機Aの空きCPU時間Eは、以下の式(1)で求められる。
式(1)において、「C」はプロセスXの処理周期を示し、「P」はプロセスXのCPU時間を示す。
Figure 2010282533
図7に戻り、計算機負荷収集処理(空きCPU時間)の説明を続ける。
(2)各計算機の計算機負荷監視部101は、自計算機が属するクラスタのクラスタ負荷収集部112Bに自計算機の空きCPU時間を通知する。
(3)各クラスタのクラスタ負荷収集部112Bは、自クラスタの各計算機の計算機負荷監視部101から通知された各計算機の空きCPU時間に基づいて、自クラスタの空きCPU時間を算出する。
クラスタの空きCPU時間とは、所定時間における各計算機の空きCPU時間の合計時間である。
(4)各クラスタのクラスタ負荷収集部112Bは、自クラスタの空きCPU時間をシステムのシステム構成管理部122に通知する。
(5)システムのシステム構成管理部122は、各クラスタのクラスタ負荷収集部112Bから通知された各クラスタの空きCPU時間を管理する。
図9は、実施の形態1における計算機リソース制御システム100の計算機負荷収集処理(処理時間・CPU時間)の概要図である。
各パイプライン処理の処理時間および各プロセスのCPU時間を管理する計算機負荷収集処理について、図9に基づいて以下に説明する。
(1)各プロセスは、処理開始時と処理終了時に、自己が動作する計算機の計算機負荷監視部101に通知を出す。
図9では、プロセス7a−1〜4がパイプライン処理を構成している。プロセス7a−1は周期的に発生するデータを受信すると処理開始通知(データ受信通知)を計算機負荷監視部101に出力する。プロセス7a−1は受信データの処理を完了すると処理したデータを次のプロセス7a−2に送信すると共に処理終了通知(処理完了通知)を計算機負荷監視部101に出力する。その後、プロセス7a−2〜4は、前のプロセスからデータを受信すると処理開始通知を計算機負荷監視部101に出力し、受信データの処理を完了すると処理終了通知を計算機負荷監視部101に出力する。
(2)計算機負荷監視部101は、各プロセスの処理開始時刻、処理終了時刻およびCPU時間を自計算機が属するクラスタの処理時間収集部111Aに通知する。
例えば、処理開始時刻は計算機負荷監視部101がプロセスから処理開始通知を受けた時刻であり、処理終了時刻は計算機負荷監視部101がプロセスから処理終了通知を受けた時刻である。CPU時間は、処理開始時刻から処理終了時刻までの間に当該プロセスがCPUを使用した時間である。
(3)各クラスタの処理時間収集部111Aは、自クラスタの各計算機の計算機負荷監視部101から通知された各プロセスの処理開始時刻および処理終了時刻に基づいて、自クラスタで動作する各パイプライン処理の処理時間を算出する。
例えば、処理時間収集部111Aは、パイプライン処理の先頭プロセスの処理開始時刻から最終プロセスの処理終了時刻までの時間を当該パイプライン処理の処理時間として算出する。各パイプライン処理のプロセスの処理順序はプロセス構成定義部112Aで管理されている(図5参照)。
また、各クラスタの処理時間収集部111Aは、自クラスタの各計算機の計算機負荷監視部101から通知された各プロセスのCPU時間を記録する。各プロセスのCPU時間は後述するプロセス再配置処理で用いられる。
(4)各クラスタの処理時間収集部111Aは、算出した各パイプライン処理の処理時間に基づいて、制限時間を超過したパイプライン処理の有無を判定する。各パイプライン処理の制限時間はプロセス構成定義部112Aで管理されている(図5参照)。
図10は、実施の形態1におけるパイプライン処理の制限時間の超過を示す図である。
制限時間を超過したパイプライン処理とは、図10に示すように、処理時間が制限時間より長いパイプライン処理のことである。
図11は、実施の形態1における計算機リソース制御システム100の計算機リソース制御方法を示すフローチャートである。
実施の形態1における計算機リソース制御システム100の計算機リソース制御方法について、図11に基づいて以下に説明する。
計算機リソース制御システム100の各「〜部」は、以下に説明する処理をCPUを用いて実行する。
ステップS1001〜ステップS1005は計算機負荷収集処理(空きCPU時間)(図7参照)に相当し、ステップS1011〜ステップS1014は計算機負荷収集処理(処理時間・CPU時間)(図9参照)に相当する。
ステップS1001において、各計算機の計算機負荷監視部101は、自計算機の空きCPU時間を定期的に算出する(図7(1))。
ステップS1001の後、ステップS1002に進む。
ステップS1002において、各計算機の計算機負荷監視部101は、自計算機の空きCPU時間を自クラスタのクラスタ負荷収集部112Bに通知する(図7(2))。
ステップS1002の後、ステップS1003に進む。
ステップS1003において、各クラスタのクラスタ負荷収集部112Bは、各計算機の計算機負荷監視部101から通知された各計算機の空きCPU時間に基づいて、自クラスタ全体の空きCPU時間を算出する(図7(3))。
ステップS1003の後、ステップS1004に進む。
ステップS1004において、各クラスタのクラスタ負荷収集部112Bは、自クラスタ全体の空きCPU時間をシステムのシステム構成管理部122に通知する(図7(4))。
ステップS1004の後、ステップS1005に進む。
ステップS1005において、システム構成管理部122は、各クラスタの空きCPU時間を記録して保持する(図7(5))。
ステップS1005により、計算機負荷収集処理(空きCPU時間)は終了する。
ステップS1011において、各計算機の計算機負荷監視部101は、自計算機の各プロセスから処理開始通知および処理終了通知を受信する(図9(1))。
ステップS1011の後、ステップS1012に進む。
ステップS1012において、各計算機の計算機負荷監視部101は、各プロセスから受信した処理開始通知および処理終了通知に基づいて各プロセスの処理開始時刻および処理開始終了時刻を特定し、特定した処理開始時刻および処理終了時刻を自クラスタの処理時間収集部111Aに通知する。また、各計算機の計算機負荷監視部101は、各プロセスのCPU時間を特定し、各プロセスのCPU時間を自クラスタの処理時間収集部111Aに通知する。各プロセスのCPU時間は、後述するプロセス再配置処理(S100)で使用される(図9(2))。
ステップS1012の後、ステップS1013に進む。
ステップS1013において、各クラスタの処理時間収集部111Aは、各計算機の計算機負荷監視部101から通知された各プロセスの処理開始時刻および処理終了時刻に基づいて、自クラスタで動作する各パイプライン処理の処理時間を算出する。また、各クラスタの処理時間収集部111Aは、各計算機の計算機負荷監視部101から通知された各プロセスのCPU時間を保持する(図9(3))。
ステップS1013の後、ステップS1014に進む。
ステップS1014において、各クラスタの処理時間収集部111Aは、各パイプライン処理の処理時間に基づいて、制限時間を超過したパイプライン処理が有るか判定する(図9(4))。
ステップS1014の後、ステップS1015に進む。
ステップS1015において、制限時間を超過したパイプライン処理が有る場合(YES)、プロセス再配置処理(S100)に進む。
制限時間を超過したパイプライン処理が無い場合(NO)、計算機負荷収集処理(処理時間・CPU時間)は終了する。
計算機リソース制御方法は、繰り返し実行される。
次に、パイプライン処理の時間超過が発生したとき(図11のS1015「YES」)に実行されるプロセス再配置処理(S100)について説明する。
図12、図13および図14は、実施の形態1におけるプロセス再配置処理(S100)の概要図である。
実施の形態1におけるプロセス再配置処理(S100)について、図12〜図14に基づいて以下に説明する。
(1)パイプライン処理の時間超過が発生したクラスタの処理時間収集部111Aは、制限時間を超過したパイプライン処理を自クラスタの移行プロセス決定部111Bに通知する。
以下、制限時間を超過したパイプライン処理を「時間超過パイプライン」という。
(2)移行プロセス決定部111Bは、時間超過パイプラインを自クラスタに配置可能か調査する。「自クラスタに配置可能」とは、自クラスタで動作する全パイプライン処理(時間超過パイプラインを含む)を各パイプライン処理の制限時間内に完了するように、時間超過パイプラインを自クラスタに配置できることを意味する。
以下、時間超過パイプラインの各プロセスを「時間超過プロセス」という。
このとき、移行プロセス決定部111Bは、時間超過プロセス毎に、新たに時間超過プロセスを実行した場合に自計算機の全プロセス(時間超過プロセスを含む)を各プロセスが属するパイプライン処理の処理周期内に完了できる計算機(以下、「実行可能計算機」という)が有るか判定する。実行可能計算機が時間超過プロセス毎に有れば、時間超過パイプラインを自クラスタに配置可能である。
但し、時間超過パイプライン処理の先頭プロセスおよび最終プロセスの実行可能計算機は、自クラスタ内のいずれかの中継計算機でなければならない(図2参照)。
以下、時間超過パイプライン処理の先頭プロセスおよび最終プロセスを「時間超過中継プロセス」という。
移行プロセス決定部111Bは、時間超過中継プロセスの実行可能計算機(中継計算機)が有るか判定し、時間超過中継プロセスの実行可能計算機が有る場合にその他の時間超過プロセスについて実行可能計算機(中継計算機または演算計算機)が有るか判定する。
時間超過プロセスの実行可能計算機の条件式(2)および条件式(3)を以下に示す。条件式(2)および条件式(3)を満たす計算機が時間超過プロセスの実行可能計算機である。
Figure 2010282533
条件式(2)および条件式(3)において、パイプライン処理の時間超過が発生したクラスタを「クラスタA」とする。クラスタAに含まれるL台の計算機を計算機群K={KA_1、・・・、KA_L}とし、計算機群Kのうち中継計算機をKA_Rとする。計算機KA_x∈Kで動作するN個のプロセスを優先度の低い順に並べたものを計算機プロセス群PA_X={PA_x_1、・・・、PA_x_N}とする。時間超過パイプラインQを構成するM個のプロセス(時間超過プロセス)を処理順に並べたものをQ={q、・・・、q}とする。時間超過プロセスq∈Qの優先度は計算機プロセスPA_x_iより高く、計算機プロセスPA_x_i+1より低いものとする。時間超過プロセスqより優先度が低い計算機プロセスを「PA_x_z(1≦z≦i)」とする。プロセスXの処理周期をC(X)とし、プロセスXのCPU時間をCPU(X)とする。
プロセスXの処理周期C(X)はプロセスXが属するパイプライン処理の処理周期としてプロセス構成定義部112Aで管理されている。プロセスXのCPU時間は処理時間収集部111Aで管理される。
条件式(2)を満たす計算機KA_xは、時間超過プロセスqおよび時間超過プロセスqより優先度の高い各計算機プロセス(PA_x_i+1、・・・、PA_x_N)を各プロセスの処理周期内に完了可能な計算機である。
条件式(3)を満たす計算機KA_xは、時間超過プロセスqより優先度の低い各計算機プロセス(PA_x_1、・・・、PA_x_i)を各プロセスの処理周期内に完了可能な計算機である。
したがって、条件式(2)および条件式(3)を満たす計算機KA_xは、計算機プロセス群PA_xおよび時間超過プロセスqを各プロセスの処理周期内に完了可能な計算機(実行可能計算機)である。時間超過プロセスqは条件式(2)および条件式(3)を満たす計算機KA_xに配置可能である。
但し、時間超過プロセスqおよび時間超過プロセスqの対象は計算機群Kのうち中継計算機KA_Rだけである。その他の時間超過プロセス(q、・・・、qM−1)の対象は計算機群Kに含まれる全ての計算機(KA_1、・・・、KA_L)である。
時間超過パイプラインQの全プロセス(q、・・・、q)についてクラスタAの計算機群Kに配置可能であれば、時間超過パイプラインQはクラスタAに配置可能である。
(3A−1)時間超過パイプラインを自クラスタに配置可能な場合、移行プロセス決定部111Bは、各実行可能計算機の資源割当部102に当該時間超過プロセスの起動を指示し、時間超過プロセスが動作していた各計算機の資源割当部102に当該時間超過プロセスの停止を指示する。
(3A−2)時間超過プロセスの起動を指示された各資源割当部102は当該時間超過プロセスを起動し、時間超過プロセスの停止を指示された各資源割当部102は当該時間超過プロセスを停止する。
(3B)時間超過パイプラインを自クラスタに配置可能でない場合、移行プロセス決定部111Bは、システムの移行クラスタ決定部121に時間超過パイプラインを通知する。次に、図13に進む。
(4)移行クラスタ決定部121は、システム構成管理部122で管理される各クラスタの空きCPU時間に基づいて、時間超過パイプラインの配置先にするクラスタの候補を選択する。空きCPU時間をシステム構成管理部122に通知したクラスタは正常に動作しているクラスタである。
(5)移行クラスタ決定部121は、選択したクラスタの移行プロセス決定部111Bに時間超過パイプラインの配置を指示する。
(6)時間超過パイプラインの配置を指示された移行プロセス決定部111Bは、図12(2)と同様に、自クラスタに時間超過パイプラインを配置可能か調査する。
上記式(2)および式(3)において、クラスタを表す添え字「A」は、時間超過パイプラインの配置を指示された移行プロセス決定部111Bのクラスタを意味する。
(7)時間超過パイプラインを自クラスタに配置可能な場合、移行プロセス決定部111Bは、各実行可能計算機の資源割当部102に当該時間超過プロセスの起動を指示する。
(8)時間超過プロセスの起動を指示された各資源割当部102は、当該時間超過プロセスを起動する。次に、図14に進む。
(9)時間超過パイプラインを配置したクラスタ2bの移行プロセス決定部111Bは、時間超過パイプラインの配置終了を移行クラスタ決定部121に通知する。
(10)移行クラスタ決定部121は、時間超過パイプラインが発生したクラスタ2aの移行プロセス決定部111Bに時間超過パイプラインの配置終了を通知する。
(11)時間超過パイプラインの配置終了を通知された移行プロセス決定部111Bは、時間超過プロセスが動作している各計算機の資源割当部102に時間超過プロセスの停止を指示する。
(12)時間超過プロセスの停止を指示された各資源割当部102は、当該時間超過プロセスを停止する。
図15は、実施の形態1における計算機リソース制御システム100のプロセス再配置処理(S100)のフローチャートである。
実施の形態1における計算機リソース制御システム100のプロセス再配置処理(S100)について、図15に基づいて以下に説明する。
プロセス再配置処理(S100)は、パイプライン処理の制限時間の超過が発生したときに実行される。
計算機リソース制御システム100の各「〜部」は、以下に説明する処理をCPUを用いて実行する。
ステップS101において、処理時間収集部111Aは、パイプライン処理の制限時間の超過が発生した場合、制限時間を超過したパイプライン処理(時間超過パイプライン)を移行プロセス決定部111Bに通知する。
ステップS101は図12(1)に相当する。
ステップS101の後、ステップS102に進む。
ステップS102において、移行プロセス決定部111Bは、前記式(2)および式(3)を用いて、時間超過パイプラインをクラスタ内に配置可能か調査する。クラスタ内で配置可能とは、クラスタ内で動作する全パイプライン処理(時間超過パイプラインを含む)を各パイプライン処理の制限時間内に完了するように、時間超過パイプラインをクラスタ内に配置できることを意味する。
ステップS102は図12(2)に相当する。
ステップS102の後、ステップS103に進む。
ステップS103において、時間超過パイプラインをクラスタ内に配置可能な場合(YES)、ステップS111に進む。
時間超過パイプラインをクラスタ内に配置可能でない場合(NO)、クラスタ間プロセス移行処理(S120)に進む。クラスタ間プロセス移行処理(S120)によりプロセス再配置処理(S100)は終了する。
ステップS111において、移行プロセス決定部111Bは、ステップS102の調査結果に基づいて、時間超過パイプラインのプロセス(時間超過プロセス)を新たに配置する各計算機(移行先計算機群)の資源割当部102に当該プロセスの起動を指示する。
さらに、移行プロセス決定部111Bは、時間超過プロセスが動作していた各計算機(移行元計算機群)の資源割当部102に当該時間超過プロセスの停止を指示する。
ステップS111は図12(3A−1)に相当する。
ステップS111の後、ステップS112に進む。
ステップS112において、時間超過プロセスの起動を指示された各資源割当部102は当該時間超過プロセスを起動し、時間超過プロセスの停止を指示された各資源割当部102は当該時間超過プロセスを停止する。
ステップS112は図12(3A−2)に相当する。
ステップS112により、プロセス再配置処理(S100)は終了する。
図16は、実施の形態1におけるクラスタ間プロセス移行処理(S120)のフローチャートである。
実施の形態1におけるクラスタ間プロセス移行処理(S120)について、図16に基づいて以下に説明する。
クラスタ間プロセス移行処理(S120)は、時間超過パイプラインをクラスタ内に配置可能でない場合に実行される。
ステップS121において、移行プロセス決定部111Bは、移行クラスタ決定部121にクラスタ内に配置可能でない時間超過パイプラインを通知する。
ステップS121は図12(3B)に相当する。
ステップS121の後、ステップS122に進む。
ステップS122において、移行クラスタ決定部121は、時間超過パイプラインを通知したクラスタ以外のクラスタを一つ選択する。
例えば、移行クラスタ決定部121は、システム構成管理部122で管理される各クラスタの空きCPU時間に基づいて、空きCPU時間の多い順にクラスタを選択する。
ステップS122は図13(4)に相当する。
ステップS122の後、ステップS123に進む。
ステップS123において、移行クラスタ決定部121は、選択したクラスタの移行プロセス決定部111Bに時間超過パイプラインの配置を指示する。
ステップS123は図13(5)に相当する。
ステップS123の後、ステップS124に進む。
ステップS124において、時間超過パイプラインの配置を指示された移行プロセス決定部111Bは、ステップS102と同様に、時間超過パイプラインをクラスタ内に配置可能か調査する。
ステップS124は図13(6)に相当する。
ステップS124の後、ステップS125に進む。
ステップS125において、時間超過パイプラインをクラスタ内に配置可能な場合(YES)、クラスタ間プロセス起動・停止処理(S130)に進む。クラスタ間プロセス起動・停止処理(S130)により、クラスタ間プロセス移行処理(S120)は終了する。
時間超過パイプラインをクラスタ内に配置可能でない場合(NO)、ステップS126に進む。
ステップS126において、未選択のクラスタが残っている場合(YES)、ステップS122に戻る。ステップS122において、移行クラスタ決定部121は、未選択のクラスタを一つ選択する。
未選択のクラスタが残っていない場合(NO)、クラスタ間プロセス移行処理(S120)は終了する。
図17は、実施の形態1におけるクラスタ間プロセス起動・停止処理(S130)のフローチャートである。
実施の形態1におけるクラスタ間プロセス起動・停止処理(S130)について、図17に基づいて以下に説明する。
クラスタ間プロセス起動・停止処理(S130)は、時間超過パイプラインを他のクラスタに配置するときに実行される。
ステップS131において、時間超過パイプラインを配置可能なクラスタ(移行先クラスタ)の移行プロセス決定部111Bは、ステップS124の調査結果に基づいて、時間超過プロセスを新たに配置する各計算機(移行先計算機)の資源割当部102に当該時間超過プロセスの起動を指示する。
ステップS131は図13(7)に相当する。
ステップS131の後、ステップS132に進む。
ステップS132において、時間超過プロセスの起動を指示された各資源割当部102は当該時間超過プロセスを起動する。
ステップS132は図13(8)に相当する。
ステップS133において、移行先クラスタの移行プロセス決定部111Bは、時間超過プロセスの起動終了を移行クラスタ決定部121に通知する。
ステップS133は図14(9)に相当する。
ステップS133の後、ステップS134に進む。
ステップS134において、移行クラスタ決定部121は、時間超過パイプラインが動作していたクラスタ(移行元クラスタ)の移行プロセス決定部111Bに時間超過プロセスの停止を指示する。
ステップS134は図14(10)に相当する。
ステップS134の後、ステップS135に進む。
ステップS135において、移行プロセス決定部111Bは、時間超過プロセスが動作していた各計算機(移行元計算機)の資源割当部102に当該時間超過プロセスの停止を指示する。
ステップS135は図14(11)に相当する。
ステップS135の後、ステップS136に進む。
ステップS136において、時間超過プロセスの停止を指示された各資源割当部102は当該時間超過プロセスを停止する。
ステップS136は図14(12)に相当する。
ステップS136により、クラスタ間プロセス起動・停止処理(S130)は終了する。
図18は、実施の形態1における計算機リソース制御システム100の計算機のハードウェア資源の一例を示す図である。
図18において、計算機リソース制御システム100の各計算機は、CPU911(マイクロプロセッサ、マイクロコンピュータともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、通信ボード915、ドライブ装置904、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。ドライブ装置904は、FD(Flexible・Disk・Drive)、CD(Compact Disc)、DVD(Digital・Versatile・Disc)などの記憶媒体を読み書きする装置である。その他に、表示装置、キーボード、マウス、プリンタ装置などと接続してもよい。
通信ボード915は、有線または無線で、LAN(Local Area Network)、インターネット、電話回線などの通信網に接続している。
磁気ディスク装置920には、OS921(オペレーティングシステム)、プログラム群923、ファイル群924が記憶されている。
プログラム群923には、実施の形態において「〜部」として説明する機能を実行するプログラムが含まれる。プログラムは、CPU911により読み出され実行される。すなわち、プログラムは、「〜部」としてコンピュータを機能させるものであり、また「〜部」の手順や方法をコンピュータに実行させるものである。
ファイル群924には、実施の形態において説明する「〜部」で使用される各種データ(入力、出力、判定結果、計算結果、処理結果など)が含まれる。
実施の形態において構成図およびフローチャートに含まれている矢印は主としてデータや信号の入出力を示す。
実施の形態において「〜部」として説明するものは「〜回路」、「〜装置」、「〜機器」であってもよく、また「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ファームウェア、ソフトウェア、ハードウェアまたはこれらの組み合わせのいずれで実装されても構わない。
実施の形態1において、例えば、以下のような計算機リソース制御システム100について説明した。
計算機リソース制御システム100は、計算機システム1の計算機リソースを制御する。
計算機システム1は、1台以上の計算機がネットワークに接続された計算機クラスタが複数存在する。計算機クラスタ内に存在する、計算機システム1は、複数のネットワークカードを搭載した計算機が、クラスタ内ネットワーク、および他の複数のネットワークカードを搭載した計算機間でネットワーク接続することにより、各計算機クラスタがネットワーク結合される。さらに、計算機システム1は、各計算機クラスタ上の計算機群で複数のプロセスが連携または独立して動作する。各プロセスは、一定の時間周期で処理を行い、制限時間内に処理を完了することが求められる。
計算機リソース制御システム100は、処理時間収集部111A、計算機負荷監視部101、移行プロセス決定部111B、資源割当部102およびプロセス構成定義部112Aを持つ。
処理時間収集部111Aは、プロセスの処理時間を収集し、監視する。
計算機負荷監視部101は、計算機の空きCPU時間を監視する。
移行プロセス決定部111Bは、プロセスが制限時間内に処理を完了できない場合に、プロセスの再配置先を決定する。
資源割当部102は、プロセスの起動、停止を行う。
プロセス構成定義部112Aは、システム内で動作するプロセスの種別、プロセスの処理順序や定常時の処理時間を保持する。
計算機リソース制御システム100に以下の構成を付加することにより、十分な空きCPU時間を持つ他のクラスタの計算機へのプロセス群の再配置を可能とし、プロセス群の再配置後の計算機システム全体の処理時間の制限時間超過の発生を防止する。
・システム内に存在するクラスタの識別子を保持するシステム構成管理部122。
・クラスタ内の各計算機の空きCPU時間を収集するとともに、クラスタが動作している旨をシステム構成管理部に通知するクラスタ負荷収集部112B。
・クラスタ内でプロセスの再配置ができない場合に、プロセス群の再配置を行うクラスタを選択する移行クラスタ決定部121。
あるクラスタ内の計算機故障や計算機CPUリソース不足によりパイプライン処理に制限時間超過が発生した場合、システム構成管理部122がシステム内にあるクラスタを管理し、移行クラスタ決定部121がシステム内に存在するクラスタをシステム構成管理部122に問い合わることにより任意の1つのクラスタを選択する。計算機リソース制御システム100は、クラスタを構成する計算機に、制限時間超過を発生させたパイプライン処理を構成する全プロセスを全て移行させることを可能とする。これにより、クラスタ内の計算機リソース不足が発生しても、処理を他のクラスタの計算機で動作させて、システム全体の動作継続が可能となる。
また例えば、以下のような計算機リソース制御システム100について説明した。
計算機リソース制御システム100は、複数の計算機で構成されるクラスタを複数有し、一つのクラスタ内の一部の計算機群により特定処理(パイプライン処理)を実行する。
計算機リソース制御システム100は、実行クラスタ判定部(移行プロセス決定部111B)、クラスタ内計算機群変更部(移行プロセス決定部111B)、実行可能クラスタ判定部(移行クラスタ決定部121)、クラスタ間計算機群変更部(移行クラスタ決定部121)をそれぞれ所定の計算機に備える。
実行クラスタ判定部は、前記特定処理が制限時間内に完了しなかった場合、前記特定処理(時間超過パイプライン)を実行した計算機群を実行計算機群として含む実行クラスタが、前記特定処理を制限時間内に完了する実行可能計算機群を含むかCPUを用いて判定する。
クラスタ内計算機群変更部は、前記実行クラスタ判定部により前記実行クラスタが前記実行可能計算機群を含むと判定された場合、前記特定処理を実行させる計算機群を前記実行クラスタの前記実行計算機群(移行元計算機群)から前記実行クラスタの前記実行可能計算機群(移行先計算機群)に変更する。
実行可能クラスタ判定部は、前記実行クラスタ判定部により前記実行クラスタが前記実行可能計算機群を含まないと判定された場合、前記実行可能計算機群を含む実行可能クラスタが有るかCPUを用いて判定する。
クラスタ間計算機群変更部は、前記実行可能クラスタ判定部により実行可能クラスタが有ると判定された場合、前記特定処理を実行させる計算機群を前記実行クラスタの前記実行計算機群(移行元計算機群)から前記実行可能クラスタの前記実行可能計算機群(移行先計算機群)に変更する。
実施の形態2.
時間超過パイプラインの制限時間内の空きCPU時間が時間超過パイプラインに要するCPU時間以上であるクラスタから先に、時間超過パイプラインを配置可能か調査する形態について説明する。
以下、実施の形態1と異なる事項について主に説明する。説明を省略する事項は実施の形態1と同様である。
計算機システム1および計算機リソース制御システム100の構成は、実施の形態1(図1〜図6参照)と同様である。
但し、各クラスタのクラスタ負荷収集部112Bは計算機負荷テーブル193を用いてクラスタ内の各計算機の空きCPU時間を管理し、システム構成管理部122はクラスタ負荷テーブル194を用いて各クラスタの空きCPU時間を管理する。
図19は、実施の形態2における計算機負荷テーブル193を示す図である。
実施の形態2におけるクラスタ負荷収集部112Bにより管理される計算機負荷テーブル193について、図19に基づいて以下に説明する。
計算機負荷テーブル193は、クラスタ負荷収集部112Bが動作する計算機のメモリ上に配置される。
計算機負荷テーブル193には、「計算機名」「周期」および「空きCPU時間」が設定される。
「計算機名」は、クラスタ内の各計算機の識別名を示す。
「周期」は、計算機毎に複数の所定時間を示す。
「空きCPU時間」は、計算機毎に各周期における空きCPU時間を示す。
「周期」に示される複数の所定時間は、クラスタ内の各計算機からクラスタ負荷収集部112Bに通知される空きCPU時間の単位時間である。単位時間とは、実施の形態1で述べたように、当該計算機で動作する複数のプロセスのうち優先度が最も低いプロセスの処理周期である。
例えば、図19において、「100ミリ秒」は計算機5−1の単位時間であり、「200ミリ秒」は計算機5−2の単位時間であり、「300ミリ秒」は計算機503の単位時間である。
つまり、図19において、計算機負荷テーブル193に設定されている計算機5−1の100ミリ秒あたりの空きCPU時間「10ミリ秒」、計算機5−2の200ミリ秒あたりの空きCPU時間「20ミリ秒」および計算機5−3の300ミリ秒あたりの空きCPU時間「5ミリ秒」は、各計算機(5−1〜3)からクラスタ負荷収集部112Bに通知された空きCPU時間である。
それ以外の周期の空きCPU時間は、各計算機から通知される空きCPU時間に基づいて算出される。
例えば、計算機5−1の200ミリ秒あたりの空きCPU時間「20ミリ秒」や計算機5−1の300ミリ秒あたりの空きCPU時間「30ミリ秒」は、計算機5−1から通知される100ミリ秒あたりの空きCPU時間「10ミリ秒」に基づいて算出される。
各周期の空きCPU時間の算出方法については後述する。
クラスタ負荷収集部112Bは、各計算機の空きCPU時間の和を周期毎に求め、求めた各周期の空きCPU時間をクラスタの空きCPU時間としてシステム構成管理部122に通知する。
例えば、図19において、クラスタ負荷収集部112Bは、100ミリ秒あたりの空きCPU時間「10ミリ秒(=10ミリ秒+0ミリ秒+0ミリ秒)」、200ミリ秒あたりの空きCPU時間「45ミリ秒(=20ミリ秒+20ミリ秒+5ミリ秒)」および300ミリ秒あたりの空きCPU時間「55ミリ秒(=30ミリ秒+20ミリ秒+5ミリ秒)」をクラスタの空きCPU時間としてシステム構成管理部122に通知する。
図20は、実施の形態2におけるクラスタ負荷テーブル194を示す図である。
実施の形態2におけるシステム構成管理部122により管理されるクラスタ負荷テーブル194について、図20に基づいて以下に説明する。
クラスタ負荷テーブル194は、システム構成管理部122が動作する計算機のメモリ上に配置される。
クラスタ負荷テーブル194には、「クラスタ名」「周期」および「空きCPU時間」が設定される。
「クラスタ名」は、各クラスタの識別名を示す。
「周期」は、クラスタ毎に複数の所定時間を示す。
「空きCPU時間」は、クラスタ毎に各周期における空きCPU時間を示す。
「周期」に示される複数の所定時間は、当該クラスタのクラスタ負荷収集部112Bからシステム構成管理部122に通知される複数の空きCPU時間それぞれの周期である。
「空きCPU時間」に示される各周期における空きCPU時間は、当該クラスタのクラスタ負荷収集部112Bからシステム構成管理部122に通知される各周期の空きCPU時間である。
例えば、図20は、クラスタ2−1のクラスタ負荷収集部112Bから100ミリ秒あたりの空きCPU時間「10ミリ秒」、200ミリ秒あたりの空きCPU時間「45ミリ秒」および300ミリ秒あたりの空きCPU時間「55ミリ秒」が通知されたことを示している。
図21は、実施の形態2における計算機負荷テーブル193とクラスタ負荷テーブル194との関係図である。
図21に示すように、クラスタ負荷テーブル194には、各周期における空きCPU時間がクラスタ毎に設定される。クラスタ負荷テーブル194に設定される各周期における空きCPU時間は、当該周期における各計算機の空きCPU時間の和である。各計算機の空きCPU時間は各クラスタのクラスタ負荷収集部112Bにより計算機負荷テーブル193で管理される。
例えば、クラスタ負荷テーブル194に設定されるクラスタ2−1の200ミリ秒あたりの空きCPU時間「145ミリ秒」は、クラスタ2−1のクラスタ負荷収集部112Bにより管理される計算機負荷テーブル193に設定された各計算機(5−1〜3)の200ミリ秒あたりの空きCPU時間「20ミリ秒」「115ミリ秒」および「10ミリ秒」の和である。
図22は、実施の形態2における計算機リソース制御システム100の計算機負荷収集処理(空きCPU時間)の概要図である。
実施の形態2における計算機リソース制御システム100の計算機負荷収集処理(空きCPU時間)について、図22に基づいて以下に説明する。
実施の形態2における計算機負荷収集処理(空きCPU時間)は、実施の形態1(図7参照)に対して、クラスタの空きCPU時間が各計算機の空きCPU時間の周期(単位時間)毎に算出される点が異なる。
(1)各計算機の計算機負荷監視部101は、実施の形態1で説明したように、自計算機で最も優先度が低いプロセス(最低優先度プロセス)の処理周期における空きCPU時間を算出する。
(2b)各計算機の計算機負荷監視部101は、自計算機が属するクラスタのクラスタ負荷収集部112Bに自計算機の空きCPU時間と空きCPU時間の周期(最低優先度プロセスの処理周期)とを通知する。
(3b−1)各クラスタのクラスタ負荷収集部112Bは、自クラスタの各計算機の計算機負荷監視部101から通知された計算機の空きCPU時間および空きCPU時間の周期に基づいて、各空きCPU時間の周期における各計算機の空きCPU時間を算出する。クラスタ負荷収集部112Bは、算出した各空きCPU時間を計算機負荷テーブル193(図19参照)に保持する。
例えば、クラスタ負荷収集部112Bは、大きい周期から順に各計算機の空きCPU時間を算出する。
計算機Aの空きCPU時間Xの周期がCである場合、計算機Bの空きCPU時間の周期Cにおける計算機Aの空きCPU時間X は、以下の式(4)で求められる。
Figure 2010282533
(3b−2)各クラスタのクラスタ負荷収集部112Bは、計算機負荷テーブル193に保持する各計算機の周期毎の空きCPU時間に基づいて、自クラスタの周期毎の空きCPU時間を算出する。
クラスタの周期毎の空きCPU時間とは、各計算機の空きCPU時間を周期毎に合計して得られる時間である。
(4b)各クラスタのクラスタ負荷収集部112Bは、自クラスタの周期毎の空きCPU時間をシステムのシステム構成管理部122に通知する。
(5b)システムのシステム構成管理部122は、各クラスタのクラスタ負荷収集部112Bから通知された各クラスタの周期毎の空きCPU時間をクラスタ負荷テーブル194(図20参照)を用いて管理する。
図23は、実施の形態2における計算機リソース制御システム100の計算機リソース制御方法を示すフローチャートである。
実施の形態2における計算機リソース制御システム100の計算機リソース制御方法について、図23に基づいて以下に説明する。
実施の形態2における計算機リソース制御システム100の計算機リソース制御方法は、実施の形態1(図11参照)に対して、クラスタの空きCPU時間が各計算機の空きCPU時間の周期毎に算出される点が異なる。
ステップS1001〜ステップS1005bは計算機負荷収集処理(空きCPU時間)(図22参照)に相当する。
ステップS1001において、各計算機の計算機負荷監視部101は、自計算機の空きCPU時間を定期的に算出する(図22(1))。
ステップS1002bにおいて、各計算機の計算機負荷監視部101は、自計算機の空きCPU時間と空きCPU時間の周期とを自クラスタのクラスタ負荷収集部112Bに通知する(図22(2b))。
ステップS1003b−1において、各クラスタのクラスタ負荷収集部112Bは、各計算機のクラスタ負荷収集部112Bから通知された計算機の空きCPU時間および空きCPU時間の周期に基づいて、各周期における各計算機の空きCPU時間を算出する。クラスタ負荷収集部112Bは、算出した各空きCPU時間を計算機負荷テーブル193に保持する(図22(3b−1))。
ステップS1003b−2において、各クラスタのクラスタ負荷収集部112Bは、計算機負荷テーブル193に保持する各計算機の周期毎の空きCPU時間に基づいて、自クラスタの周期毎の空きCPU時間を算出する(図22(3b−2))。
ステップS1004bにおいて、各クラスタのクラスタ負荷収集部112Bは、自クラスタの周期毎の空きCPU時間をシステムのシステム構成管理部122に通知する(図22(4b))。
ステップS1005bにおいて、システム構成管理部122は、各クラスタの周期毎の空きCPU時間をクラスタ負荷テーブル194に保持する(図22(5b))。
ステップS1011〜ステップS1015は、実施の形態1と同じである。
ステップS100のプロセス再配置処理は、実施の形態1(図15参照)と同様である。
但し、クラスタ間プロセス移行処理(S120)が一部異なる。
図24は、実施の形態2におけるクラスタ間プロセス移行処理(S120)のフローチャートである。
実施の形態2におけるクラスタ間プロセス移行処理(S120)について、図24に基づいて以下に説明する。
実施の形態2におけるクラスタ間プロセス移行処理(S120)は、実施の形態1(図16)のステップS121をステップS121bに変更し、ステップS122をステップS122b−1〜ステップS122b−4に変更したものである。
ステップS121bにおいて、移行プロセス決定部111Bは、クラスタ内に配置可能でない時間超過パイプラインと時間超過パイプラインに要するCPU時間とを移行クラスタ決定部121に通知する。
時間超過パイプラインに要するCPU時間とは、時間超過パイプラインを構成する各プロセス(時間超過プロセス)のCPU時間の総和である。各時間超過プロセスのCPU時間は処理時間収集部111Aで管理される。
ステップS121bの後、ステップS122b−1に進む。
ステップS122b−1において、移行クラスタ決定部121は、時間超過パイプラインに要するCPU時間より大きい空きCPU時間を持つクラスタを第一条件クラスタとして特定する。
第一条件クラスタの空きCPU時間の周期は、時間超過パイプラインの処理周期より短い周期でも、長い周期(同じ周期を含む)でも構わない。
各クラスタの周期毎の空きCPU時間は、システム構成管理部122のクラスタ負荷テーブル194に保持される。
ステップS122b−1の後、ステップS122b−2に進む。
ステップS122b−2において、第一条件クラスタが有る場合(YES)、ステップS122b−3に進む。
第一条件クラスタが無い場合(NO)、クラスタ間プロセス移行処理(S120)は終了する。
ステップS122b−3において、移行クラスタ決定部121は、各第一条件クラスタのうち時間超過パイプラインの処理周期より短い周期において時間超過パイプラインに要するCPU時間を持つクラスタを第二条件クラスタとして特定する。
ステップS122b−3の後、ステップS122b−4に進む。
ステップS122b−4において、移行クラスタ決定部121は、各第二条件クラスタを優先して各第一条件クラスタからクラスタを一つ選択する。
ステップS122b−4の後、ステップS123に進む。
ステップS123以降は、実施の形態1と同様である。
移行クラスタ決定部121は選択したクラスタの移行プロセス決定部111Bに時間超過パイプラインの配置を指示し(S123)、移行プロセス決定部111Bは時間超過パイプラインをクラスタ内に配置可能か調査する(S124)。
時間超過パイプラインをクラスタ内に配置可能な場合(S125「YES」)、クラスタ間プロセス起動・停止処理(S130)が実行される。
時間超過パイプラインをクラスタ内に配置可能でない場合(S125「NO」)、未選択の第一条件クラスタが残っていれば(S126「YES」)、ステップS122b−4に戻る。ステップS122b−4において、移行クラスタ決定部121は、未選択の各第一条件クラスタからクラスタを一つ選択する。
未選択の第一条件クラスタが残っていなければ(S126「NO」)、クラスタ間プロセス移行処理(S120)は終了する。
実施の形態2において、例えば、以下のような計算機リソース制御システム100について説明した。
計算機リソース制御システム100に以下の特徴を加えることにより、より短時間でのプロセス群の再配置を実現可能とする。
・クラスタ負荷収集部112Bは、クラスタ内の各計算機の空きCPU時間を収集するとともに、空きリソースの総量をシステム構成管理部122に通知する。
・システム構成管理部122は、各クラスタ上にて動作するクラスタ負荷収集部122Bより各クラスタの空きCPU時間を収集する。
・移行クラスタ決定部121は、システム構成管理部122が持つ各クラスタの空きCPU時間が必要量以上であるクラスタをプロセス群の再配置候補とする。
計算機リソース制御システム100は、各クラスタの周期ごとの空きCPU時間を管理する。計算機リソース制御システム100は、制限時間超過が起きたパイプライン処理を構成するプロセス群が動作できるだけの空きCPU時間を持つクラスタから順に、制限時間超過が起きたパイプライン処理を構成するプロセス群の再配置先として調査をする。これにより、より短時間で再配置先クラスタを決定することができる。
また例えば、以下のような計算機リソース制御システム100について説明した。
計算機リソース制御システム100は、複数の所定時間それぞれの時間内におけるCPU空き時間をクラスタ毎に管理するクラスタ空き時間管理部(システム構成管理部122)を所定の計算機に備える。
実行可能クラスタ判定部(移行クラスタ決定部121)は、前記クラスタ空き時間管理部により管理される各クラスタのCPU空き時間に基づいて、特定処理(時間超過パイプライン)に要するCPU使用時間以上のCPU空き時間を前記特定処理の処理周期内に有するクラスタから先に実行可能クラスタであるか判定する。
実施の形態3.
時間超過パイプラインの制限時間における中継計算機のCPU空き時間が中継計算機により実行される時間超過プロセスに要するCPU時間以上であるクラスタから先に、時間超過パイプラインを配置可能か調査する形態について説明する。
以下、実施の形態2と異なる事項について主に説明する。説明を省略する事項は実施の形態2と同様である。
図25は、実施の形態3における演算計算機負荷テーブル193Aおよび中継計算機負荷テーブル193Bを示す図である。
実施の形態3におけるクラスタ負荷収集部112Bにより管理される演算計算機負荷テーブル193Aおよび中継計算機負荷テーブル193Bについて、図25に基づいて以下に説明する。
クラスタ負荷収集部112Bは、演算計算機負荷テーブル193Aを用いてクラスタ内の各演算計算機の空きCPU時間を管理し、中継計算機負荷テーブル193Bを用いてクラスタ内の各中継計算機の空きCPU時間を管理する。
演算計算機負荷テーブル193Aおよび中継計算機負荷テーブル193Bは、クラスタ負荷収集部112Bが動作する計算機のメモリ上に配置される。
演算計算機負荷テーブル193Aと中継計算機負荷テーブル193Bとは、実施の形態2で説明した計算機負荷テーブル193(図19参照)を演算計算機用のテーブルと中継計算機用のテーブルとに分けたものである。
演算計算機負荷テーブル193Aおよび中継計算機負荷テーブル193Bの構成および設定内容は、対象計算機が演算計算機または中継計算機であることを除いて、実施の形態2の計算機負荷テーブル193と同じである。
図26は、実施の形態3におけるクラスタ上演算計算機負荷テーブル194Aおよびクラスタ上中継計算機負荷テーブル194Bを示す図である。
実施の形態3におけるシステム構成管理部122により管理されるクラスタ上演算計算機負荷テーブル194Aおよびクラスタ上中継計算機負荷テーブル194Bについて、図26に基づいて以下に説明する。
システム構成管理部122は、クラスタ上演算計算機負荷テーブル194Aを用いて各クラスタの演算計算機の空きCPU時間を管理し、クラスタ上中継計算機負荷テーブル194Bを用いて各クラスタの中継計算機の空きCPU時間を管理する。
クラスタ上演算計算機負荷テーブル194Aおよびクラスタ上中継計算機負荷テーブル194Bは、システム構成管理部122が動作する計算機のメモリ上に配置される。
クラスタ上演算計算機負荷テーブル194Aとクラスタ上中継計算機負荷テーブル194Bとは、実施の形態2で説明したクラスタ負荷テーブル194(図20参照)を演算計算機用のテーブルと中継計算機用のテーブルとに分けたものである。
クラスタ上演算計算機負荷テーブル194Aおよびクラスタ上中継計算機負荷テーブル194Bの構成および設定内容は、対象計算機が演算計算機または中継計算機であることを除いて、実施の形態2のクラスタ負荷テーブル194と同じである。
図27は、実施の形態3における各計算機負荷テーブルと各クラスタ負荷テーブルとの関係図である。
図27に示すように、クラスタ上演算計算機負荷テーブル194Aには、各周期における演算計算機の空きCPU時間がクラスタ毎に設定される。クラスタ上演算計算機負荷テーブル194Aに設定される各周期における空きCPU時間は、当該周期における各演算計算機の空きCPU時間の和である。各演算計算機の空きCPU時間は各クラスタのクラスタ負荷収集部112Bにより演算計算機負荷テーブル193Aを用いて管理される。
図27に示すように、クラスタ上中継計算機負荷テーブル194Bには、各周期における中継計算機の空きCPU時間がクラスタ毎に設定される。クラスタ上中継計算機負荷テーブル194Bに設定される各周期における空きCPU時間は、当該周期における各中継計算機の空きCPU時間の和である。各中継計算機の空きCPU時間は各クラスタのクラスタ負荷収集部112Bにより中継計算機負荷テーブル193Bで管理される。
図28は、実施の形態3における計算機リソース制御システム100の計算機負荷収集処理(空きCPU時間)の概要図である。
実施の形態3における計算機リソース制御システム100の計算機負荷収集処理(空きCPU時間)について、図28に基づいて以下に説明する。
実施の形態3における計算機負荷収集処理(空きCPU時間)は、実施の形態2(図22参照)に対して、クラスタの空きCPU時間が各演算計算機の空きCPU時間と各中継計算機の空きCPU時間とに分けて算出される点が異なる。
(1)各計算機の計算機負荷監視部101は、実施の形態1で説明したように、自計算機で最も優先度が低いプロセス(最低優先度プロセス)の処理周期における空きCPU時間を算出する。
(2b)各計算機の計算機負荷監視部101は、実施の形態2で説明したように、自計算機が属するクラスタのクラスタ負荷収集部112Bに自計算機の空きCPU時間と空きCPU時間の周期(最低優先度プロセスの処理周期)とを通知する。
(3c−1)各クラスタのクラスタ負荷収集部112Bは、実施の形態2と同様に、自クラスタの各演算計算機の計算機負荷監視部101から通知された演算計算機の空きCPU時間および空きCPU時間の周期に基づいて、各周期における各演算計算機の空きCPU時間を算出する。クラスタ負荷収集部112Bは、算出した各空きCPU時間を演算計算機負荷テーブル193A(図25参照)に保持する。
さらに、各クラスタのクラスタ負荷収集部112Bは、実施の形態2と同様に、自クラスタの各中継計算機の計算機負荷監視部101から通知された中継計算機の空きCPU時間および空きCPU時間の周期に基づいて、各周期における各中継計算機の空きCPU時間を算出する。クラスタ負荷収集部112Bは、算出した各空きCPU時間を中継計算機負荷テーブル193B(図25参照)に保持する。
(3c−2)各クラスタのクラスタ負荷収集部112Bは、実施の形態2と同様に、演算計算機負荷テーブル193Aに保持する各演算計算機の周期毎の空きCPU時間に基づいて、演算計算機について自クラスタの周期毎の空きCPU時間を算出する。
さらに、各クラスタのクラスタ負荷収集部112Bは、実施の形態2と同様に、中継計算機負荷テーブル193Bに保持する各中継計算機の周期毎の空きCPU時間に基づいて、中継計算機について自クラスタの周期毎の空きCPU時間を算出する。
(4c)各クラスタのクラスタ負荷収集部112Bは、演算計算機と中継計算機とのそれぞれについて自クラスタの周期毎の空きCPU時間をシステムのシステム構成管理部122に通知する。
(5c)システムのシステム構成管理部122は、各クラスタのクラスタ負荷収集部112Bから演算計算機について通知された各クラスタの周期毎の空きCPU時間をクラスタ上演算計算機負荷テーブル194A(図26参照)を用いて管理する。
さらに、システムのシステム構成管理部122は、各クラスタのクラスタ負荷収集部112Bから中継計算機について通知された各クラスタの周期毎の空きCPU時間をクラスタ上中継計算機負荷テーブル194B(図26参照)を用いて管理する。
図29は、実施の形態3における計算機リソース制御システム100の計算機リソース制御方法を示すフローチャートである。
実施の形態3における計算機リソース制御システム100の計算機リソース制御方法について、図29に基づいて以下に説明する。
実施の形態3における計算機リソース制御システム100の計算機リソース制御方法は、実施の形態2(図23参照)に対して、クラスタの空きCPU時間が演算計算機と中継計算機とに分けて算出される点が異なる。
ステップS1001〜ステップS1005cは計算機負荷収集処理(空きCPU時間)(図28参照)に相当する。
ステップS1001において、各計算機の計算機負荷監視部101は、自計算機の空きCPU時間を定期的に算出する(図28(1))。
ステップS1002bにおいて、各計算機の計算機負荷監視部101は、自計算機の空きCPU時間と空きCPU時間の周期とを自クラスタのクラスタ負荷収集部112Bに通知する(図28(2b))。
ステップS1003c−1において、各クラスタのクラスタ負荷収集部112Bは、各計算機のクラスタ負荷収集部112Bから通知された計算機の空きCPU時間および空きCPU時間の周期に基づいて、各周期における各演算計算機の空きCPU時間および各中継計算機の空きCPU時間を算出する。クラスタ負荷収集部112Bは、算出した各空きCPU時間を演算計算機負荷テーブル193Aまたは中継計算機負荷テーブル193Bに保持する(図28(3c−1))。
ステップS1003c−2において、各クラスタのクラスタ負荷収集部112Bは、演算計算機負荷テーブル193Aに保持する各演算計算機の周期毎の空きCPU時間と中継計算機負荷テーブル193Bに保持する各中継計算機の周期毎の空きCPU時間とに基づいて、演算計算機と中継計算機とのそれぞれについて自クラスタの周期毎の空きCPU時間を算出する(図28(3c−2))。
ステップS1004cにおいて、各クラスタのクラスタ負荷収集部112Bは、演算計算機と中継計算機とのそれぞれについて自クラスタの周期毎の空きCPU時間をシステムのシステム構成管理部122に通知する(図28(4c))。
ステップS1005cにおいて、システム構成管理部122は、演算計算機と中継計算機とのそれぞれについて各クラスタの周期毎の空きCPU時間をクラスタ上演算計算機負荷テーブル194Aまたはクラスタ上中継計算機負荷テーブル194Bに保持する(図28(5c))。
ステップS1011〜ステップS1015は、実施の形態1と同じである。
ステップS100のプロセス再配置処理は、実施の形態2(図24参照)と同様である。
但し、クラスタ間プロセス移行処理(S120)が一部異なる。
図30は、実施の形態3におけるクラスタ間プロセス移行処理(S120)のフローチャートである。
実施の形態3におけるクラスタ間プロセス移行処理(S120)について、図30に基づいて以下に説明する。
実施の形態3におけるクラスタ間プロセス移行処理(S120)は、実施の形態2(図24参照)のステップS121bをステップS121cに変更し、ステップS122b−1〜ステップS122b−4をステップS122c−1〜ステップS122c−4に変更したものである。
ステップS121cにおいて、移行プロセス決定部111Bは、クラスタ内に配置可能でない時間超過パイプラインと各中継計算機で動作する必要がある時間超過プロセス(時間超過中継プロセス)に要するCPU時間の総和とその他の時間超過プロセスに要するCPU時間の総和とを移行クラスタ決定部121に通知する。
時間超過中継プロセスとは、時間超過パイプラインを構成する各プロセスのうち先頭プロセスおよび最終プロセスのことである。
以下、時間超過中継プロセス以外の時間超過プロセスを「時間超過演算プロセス」という。
ステップS121cの後、ステップS122c−1に進む。
ステップS122c−1において、移行クラスタ決定部121は、各時間超過中継プロセスに要するCPU時間の総和より大きい空きCPU時間を中継計算機に持ち、且つ、各時間超過演算プロセスに要するCPU時間の総和より大きい空きCPU時間を演算計算機に持つクラスタを第一条件クラスタとして特定する。
第一条件クラスタの空きCPU時間の周期は、時間超過パイプラインの処理周期より短い周期でも、長い周期(同じ周期を含む)でも構わない。
演算計算機と中継計算機とのそれぞれについて各クラスタの周期毎の空きCPU時間は、システム構成管理部122のクラスタ上演算計算機負荷テーブル194Aまたはクラスタ上中継計算機負荷テーブル194Bに保持される。
ステップS122c−1の後、ステップS122c−2に進む。
ステップS122c−2において、第一条件クラスタが有る場合(YES)、ステップS122c−3に進む。
第一条件クラスタが無い場合(NO)、クラスタ間プロセス移行処理(S120)は終了する。
ステップS122c−3において、移行クラスタ決定部121は、各第一条件クラスタのうち時間超過パイプラインの処理周期より短い周期において、特定の中継計算機と特定の演算計算機とを有するクラスタを第二条件クラスタとして特定する。
特定の中継計算機とは、各時間超過中継プロセスに要するCPU時間の総和より大きい空きCPU時間を持つ中継計算機のことである。
特定の演算計算機とは、各時間超過演算プロセスに要するCPU時間の総和より大きい空きCPU時間を持つ演算計算機のことである。
ステップS122c−3の後、ステップS122c−4に進む。
ステップS122c−4において、移行クラスタ決定部121は、第二条件クラスタおよび空きCPU時間の大きいクラスタを優先して各第一条件クラスタからクラスタを一つ選択する。
例えば、移行クラスタ決定部121は、未選択の各第二条件クラスタのうち演算計算機の空きCPUが最も大きいクラスタを選択する。
ステップS122c−4の後、ステップS123に進む。
ステップS123以降は、実施の形態1と同様である。
移行クラスタ決定部121は選択したクラスタの移行プロセス決定部111Bに時間超過パイプラインの配置を指示し(S123)、移行プロセス決定部111Bは時間超過パイプラインをクラスタ内に配置可能か調査する(S124)。
時間超過パイプラインをクラスタ内に配置可能な場合(S125「YES」)、クラスタ間プロセス起動・停止処理(S130)が実行される。
時間超過パイプラインをクラスタ内に配置可能でない場合(S125「NO」)、未選択の第一条件クラスタが残っていれば(S126「YES」)、ステップS122c−4に戻る。ステップS122c−4において、移行クラスタ決定部121は、未選択の各第一条件クラスタからクラスタを一つ選択する。
未選択の第一条件クラスタが残っていなければ(S126「NO」)、クラスタ間プロセス移行処理(S120)は終了する。
実施の形態3において、例えば、以下のような計算機リソース制御システム100について説明した。
計算機リソース制御システム100に以下の特徴を加えることにより、プロセス群の再配置の所要時間をより短縮可能とする。
・クラスタ負荷収集部112Bは、クラスタ内の各計算機の空きCPU時間を収集するとともに、クラスタ間でデータを中継する計算機の空きCPU時間の総量、前記計算機以外の計算機の空きCPU時間の総量を求め、それぞれをシステム構成管理部122に通知する。
・システム構成管理部122は、各クラスタ上で動作するクラスタ負荷収集部112Bより、各クラスタにおける、クラスタ間でデータを中継する計算機の空きCPU時間の総量、前記計算機以外の計算機の空きCPU時間の総量を収集し、保持する。
・移行クラスタ決定部121は、システム構成管理部122が持つ、クラスタ間でデータを中継する計算機の空きCPU時間が、プロセス群再配置に必要な空きCPU時間以上であるクラスタをプロセス群の再配置候補とする。
計算機システム1は、パイプライン処理の両端のプロセスを中継計算機に配置する必要がある。そこで、計算機リソース制御システム100は、各クラスタの中継計算機の空きCPU時間も保持し、中継計算機に十分な空きCPU時間があるクラスタからプロセス群の移行先として調査していく。これにより、中継計算機の負荷が高い場合において、より短時間で再配置先クラスタを決定することができる。
また例えば、以下のような計算機リソース制御システム100について説明した。
各クラスタは、複数の単位処理から成る特定処理の所定の単位処理(先頭プロセス、最終プロセス)を実行する特定計算機(中継計算機)と特定計算機以外の通常計算機(演算計算機)とを有する。
クラスタ空き時間管理部(システム構成管理部122)は、各クラスタのCPU空き時間を前記特定計算機のCPU空き時間と前記通常計算機のCPU空き時間とに分けて管理する。
実行可能クラスタ判定部(移行クラスタ決定部121)は、前記特定処理(時間超過パイプライン)の処理周期における特定計算機のCPU空き時間が、前記所定の単位処理に要するCPU使用時間以上であるクラスタから先に実行可能クラスタであるか判定する。
実施の形態4.
時間超過パイプラインをいずれのクラスタにも配置できない場合、時間超過パイプライン以外のパイプライン処理を他のクラスタに配置して以後の時間超過を防ぐ形態について説明する。
以下、実施の形態1〜3と異なる事項について主に説明する。説明を省略する事項は実施の形態1〜3と同様である。
図31は、実施の形態4における計算機リソース制御システム100のプロセス再配置処理(S100)のフローチャートである。
実施の形態4における計算機リソース制御システム100のプロセス再配置処理(S100)について、図31に基づいて以下に説明する。
実施の形態4における計算機リソース制御システム100のプロセス再配置処理(S100)は、実施の形態1(図15参照)にステップS104および他プロセス移行処理(S200)を加えたものである。
ステップS104において、クラスタ間プロセス処理(S120)により時間超過パイプラインを他のクラスタに配置できた場合(YES)、プロセス再配置処理(S100)は終了する。
クラスタ間プロセス処理(S120)により時間超過パイプラインを他のクラスタに配置できなかった場合(NO)、時間超過パイプライン以外のパイプライン処理を他のクラスタに配置する他プロセス移行処理(S200)に進む。他プロセス移行処理(S200)によりプロセス再配置処理(S100)は終了する。
図32は、実施の形態4における他プロセス移行処理(S200)のフローチャートである。
実施の形態4における他プロセス移行処理(S200)について、図32に基づいて以下に説明する。
ステップS201において、移行クラスタ決定部121は、時間超過パイプライン以外のパイプライン処理を他のクラスタに配置するパイプライン処理として選択することを指示する。
以下、他のクラスタに配置するパイプライン処理を「移行パイプライン」という。
ステップS201の後、時間超過が解消する移行パイプラインの有無を調査する移行パイプライン調査処理(S300)に進む。
移行パイプライン調査処理(S300)については後述する。
移行パイプライン調査処理(S300)後、ステップS202に進む。
ステップS202において、1つ以上の移行パイプライン(移行パイプライン群)が有る場合(YES)、ステップS203に進む。
移行パイプライン群が無い場合(NO)、他プロセス移行処理(S200)は終了する。
ステップS203において、移行クラスタ決定部121は、移行パイプライン群からパイプライン処理を1つ選択する。以下、ステップS203で選択されたパイプライン処理を「移行パイプライン」という。
ステップS203の後、ステップS204に進む。
ステップS204において、移行クラスタ決定部121は、各クラスタの移行プロセス決定部111Bに移行パイプラインの配置を指示する。
ステップS204の後、ステップS205に進む。
ステップS205において、各クラスタの移行プロセス決定部111Bは、時間超過パイプラインの配置調査(S102)と同様に、移行パイプラインをクラスタ内に配置可能か調査する。
ステップS205の後、ステップS206に進む。
ステップS206において、移行パイプラインを他のクラスタに配置可能な場合(YES)、ステップS207に進む。
移行パイプラインを他のクラスタに配置可能でない場合(NO)、他プロセス移行処理(S200)は終了する。
ステップS204〜ステップS206は、ステップS122〜ステップS126(図16参照)と同様に、クラスタを一つずつ選択し、選択したクラスタに移行パイプラインを配置可能か判定する処理であってもよい。
ステップS207において、移行パイプライン群に未選択の移行パイプラインが残っている場合(YES)、ステップS203に戻る。ステップS203において、移行クラスタ決定部121は未選択の移行パイプラインを選択する。
未選択の移行パイプラインが残っていない場合(NO)、つまり、移行パイプライン群をシステム内に配置可能な場合、ステップS208に進む。
ステップS208において、クラスタ間プロセス起動・停止処理(S130)と同様に、各移行パイプラインの各プロセス(移行プロセス)を配置する各計算機(移行先計算機)の資源割当部102は移行プロセスを起動し、移行プロセスが動作していた計算機(移行元計算機)の資源割当部102は移行プロセスを停止する。
ステップS208により他プロセス移行処理(S200)は終了する。
図33は、実施の形態4における移行パイプライン調査処理(S300)のフローチャートである。
実施の形態4における移行パイプライン調査処理(S300)について、図33に基づいて以下に説明する。
ステップS301において、移行プロセス決定部111Bは、時間超過パイプラインを構成する各プロセスのうち処理時間が定常時処理時間より長かったプロセスを特定する。
各プロセスの定常時処理時間は、プロセス構成定義部112Aにより管理される(図5参照)。
以下、ステップS301において特定された一つ以上のプロセスを「原因プロセス群」という。
原因プロセス群を特定する理由は、少なくとも1つのプロセスの処理時間が長時間にわたっている場合にパイプライン処理の制限時間の超過が発生すると考えられるためである。時間超過パイプラインには原因プロセス群が含まれるものとする。
ステップS301の後、ステップS302に進む。
ステップS302において、移行プロセス決定部111Bは、定常時処理時間を超過した時間(処理超過時間)の長い順に原因プロセス群からプロセスを一つ選択する。
処理超過時間は、実際に要した処理時間の値から定常時処理時間の値を引いて得られる値である。
以下、ステップS302で選択されたプロセスを「原因プロセス」という。
原因プロセスを処理超過時間の長い順に選択することにより、他のクラスタに配置する移行プロセスの数を少なくすることができる。
ステップS302の後、ステップS303に進む。
ステップS303において、移行プロセス決定部111Bは、原因プロセスを実行した計算機(時間超過計算機)で動作する各プロセスのうち原因プロセスより優先度が高いプロセスを特定する。
以下、ステップS303で特定された一つ以上のプロセスを「優先プロセス群」という。
優先度が低い原因プロセスは優先度が高い優先プロセス群の完了後に実行されるため、優先プロセス群は原因プロセスが定常時処理時間を超過した原因である可能性がある。
ステップS303の後、ステップS304に進む。
ステップS304において、優先プロセス群が有る場合(YES)、ステップS305に進む。
優先プロセス群が無い場合(NO)、ステップS311に進む。
ステップS305において、移行プロセス決定部111Bは、原因プロセスの処理周期(時間超過パイプラインの処理周期)におけるCPU時間(CPUの占有時間)の長い順に、優先プロセス群からプロセスを一つ選択する。以下、優先プロセス群に含まれる各プロセスを「優先プロセス」という。
原因プロセスの処理周期におけるCPU時間が長い優先プロセスは、原因プロセスが定常時処理時間を超過した原因である可能性が高いプロセスである。
原因プロセスの処理周期における優先プロセスのCPU時間Pは、以下の式(5)で求められる。
式(5)において、時間超過パイプラインの処理周期を「C」、優先プロセスの処理周期を「C」、優先プロセスの一回あたりのCPU時間を「P」とする。
Figure 2010282533
ステップS305の後、ステップS306に進む。
ステップS306において、移行プロセス決定部111Bは、ステップS305で選択した優先プロセスが属するパイプライン処理を移行パイプライン候補として記憶する。
ステップS306の後、ステップS307に進む。
ステップS307において、移行プロセス決定部111Bは、各移行パイプライン候補を動作させなければ時間超過パイプラインの時間超過を解消できるか調査する。
時間超過プロセスが動作する各計算機が以下の式(6)を満たせば、時間超過パイプラインの時間超過を解消できる。
Figure 2010282533
式(6)において、各計算機で動作するK個のプロセスを計算機プロセス「q(1≦j≦K)」とする。計算機プロセスqには各移行パイプライン候補を構成するプロセスは含まない。
計算機プロセスqの制限時間を「D(q)」、計算機プロセスqのCPU時間を「CPU(q)」、計算機プロセスqの周期をC(q)とする。制限時間D(q)はプロセスqが属するパイプライン処理の制限時間に等しく、周期C(q)はプロセスqが属するパイプライン処理の周期に等しい。
時間超過パイプライン処理Pを構成するN個の時間超過プロセスを「P(1≦i≦N)」、時間超過プロセスPの処理時間をExec(P)とする。
時間超過パイプラインの処理周期をC(P)、時間超過パイプラインの制限時間をD(P)、原因プロセスを「P」とする。
ステップS307の後、ステップS308に進む。
ステップS308において、時間超過パイプラインの時間超過を解消できる場合(YES)、ステップS309に進む。
時間超過パイプラインの時間超過を解消できない場合(NO)、ステップS310に進む。
ステップS309において、移行プロセス決定部111Bは、各移行パイプライン候補を移行パイプライン群とする。
ステップS310において、優先プロセス群に未選択のプロセスが残っている場合(YES)、ステップS305に戻る。ステップS305で移行プロセス決定部111Bは未選択の優先プロセスを選択する。
優先プロセス群に未選択のプロセスが残っていない場合(NO)、ステップS311に進む。
ステップS311において、原因プロセス群に未選択のプロセスが残っている場合(YES)、ステップS302に戻る。ステップS302で移行プロセス決定部111Bは原因プロセス群から未選択のプロセスを原因プロセスとして選択する。
原因プロセス群に未選択のプロセスが残っていない場合(NO)、ステップS312に進む。
ステップS312において、移行プロセス決定部111Bは、移行パイプライン群が無いと判定する。
ステップS312により、移行パイプライン調査処理(S300)は終了する。
実施の形態4において、例えば、以下のような計算機リソース制御システム100について説明した。
計算機リソース制御システム100に以下の特徴を加えることにより、制限時間の超過を発生させた一連のプロセス群以外の一連のプロセス群を他クラスタに配置する。
・移行クラスタ決定部121は、制限時間を超過したプロセス群の他クラスタへの配置が不可能である場合、制限時間を超過したプロセス群が動作するクラスタにて動作する移行プロセス決定部111Bに対し、他のプロセス群を選択するよう指示する。
・移行プロセス決定部111Bは、制限時間を超過したプロセス群と同一計算機で動作しているプロセスおよび、そのプロセスと連携して動作するプロセスを他のクラスタに移行させた場合に、制限時間を超過したプロセス群の制限時間の超過が解消されるような、プロセス群を調査、抽出する。
・移行クラスタ決定部121は、移行プロセス決定部111Bが抽出したプロセス群の、他クラスタへの再配置を試行する。
制限時間の超過が起きたパイプライン処理以外のパイプライン処理を他のクラスタに移行させることにより、制限時間の超過が発生してもシステム全体の処理継続の可能性をより高めることができる。
また例えば、以下のような計算機リソース制御システム100について説明した。
計算機リソース制御システム100は、非実行特定処理判定部(移行プロセス決定部111B)を所定の計算機に備える。
前記非実行特定処理判定部は、実行可能クラスタ判定部(移行クラスタ決定部121)により実行可能クラスタが無いと判定された場合、実行クラスタにより実行される複数の特定処理(パイプライン処理)のうち制限時間内に完了しなかった時間超過特定処理(時間超過パイプライン)以外の特定処理であって実行クラスタにより実行されなければ前記時間超過特定処理が制限時間内に完了する非実行特定処理(移行パイプライン)が有るかCPUを用いて判定する。
実行可能クラスタ判定部(移行クラスタ決定部121)は、前記非実行特定処理判定部により非実行特定処理が有ると判定された場合、非実行特定処理を制限時間内に完了する非実行特定処理クラスタが有るか判定する。
クラスタ間計算機群変更部(移行クラスタ決定部121)は、前記実行可能クラスタ判定部により非実行特定処理クラスタが有ると判定された場合、非実行特定処理を実行させるクラスタを実行クラスタから非実行特定処理クラスタに変更する。
実施の形態5.
時間超過パイプラインの一部のプロセスを他のクラスタに配置する形態について説明する。
以下、実施の形態1〜4と異なる事項について主に説明する。説明を省略する事項は実施の形態1〜4と同様である。
図34は、実施の形態5における計算機リソース制御システム100のプロセス再配置処理(S100)のフローチャートである。
実施の形態5における計算機リソース制御システム100のプロセス再配置処理(S100)について、図34に基づいて以下に説明する。
実施の形態5における計算機リソース制御システム100のプロセス再配置処理(S100)は、実施の形態1(図15参照)のクラスタ間プロセス移行処理(S120)をパイプライン分割移行処理(S400)に変更したものである。
図35は、実施の形態5におけるパイプライン分割移行処理(S400)のフローチャートである。
実施の形態5におけるパイプライン分割移行処理(S400)について、図35に基づいて以下に説明する。
ステップS410において、移行プロセス決定部111Bは、時間超過パイプラインの一部のプロセスを移行プロセス群として決定するパイプライン分割処理を実行する。
パイプライン分割処理(S410)については後述する。
移行プロセス群を他のクラスタに配置することにより、時間超過パイプラインの時間超過を解消することができる。
ステップS410の後、ステップS401に進む。
ステップS401において、移行プロセス決定部111Bは、移行プロセス群を移行クラスタ決定部121に通知する。
ステップS401の後、ステップS402に進む。
ステップS402において、移行クラスタ決定部121は、各クラスタの移行プロセス決定部111Bに移行プロセス群の配置を指示する。
ステップS402の後、ステップS403に進む。
ステップS403において、各クラスタの移行プロセス決定部111Bは、時間超過パイプラインの配置調査(S102)と同様に、移行プロセス群をクラスタ内に配置可能か調査する。
ステップS403の後、ステップS404に進む。
ステップS404において、移行プロセス群を他のクラスタに配置可能な場合(YES)、ステップS405に進む。
移行プロセス群を他のクラスタに配置可能でない場合(NO)、パイプライン分割移行処理(S400)は終了する。
ステップS402〜ステップS404は、ステップS122〜ステップS126(図16参照)と同様に、クラスタを一つずつ選択し、選択したクラスタに移行プロセス群を配置可能か判定する処理であってもよい。
ステップS405において、クラスタ間プロセス起動・停止処理(S130)と同様に、各移行プロセス群の各プロセス(移行プロセス)を配置する各計算機(移行先計算機)の資源割当部102は移行プロセスを起動し、移行プロセスが動作していた計算機(移行元計算機)の資源割当部102は移行プロセスを停止する。
ステップS405によりパイプライン分割移行処理(S400)は終了する。
図36は、実施の形態5におけるパイプライン分割処理(S410)のフローチャートである。
実施の形態5におけるパイプライン分割処理(S410)について、図36に基づいて以下に説明する。
ステップS411において、移行プロセス決定部111Bは、時間超過パイプラインから処理順にプロセスを1つ選択する。
以下、ステップS411で選択されたプロセスを「選択プロセス」という。
ステップS411の後、ステップS412に進む。
ステップS412において、移行プロセス決定部111Bは、時間超過パイプラインの先頭プロセスから選択プロセスまでのプロセス群について、定常時処理時間と時間超過が発生したときに要した処理時間(超過時処理時間)との差を「処理時間差」として算出する。各プロセスの定常時処理時間は、プロセス構成定義部112Aにより管理される(図5参照)。
以下、定常時処理時間から超過時処理時間を引いた時間を処理時間差とする。
処理時間差は、以下の式(7)により求められる。
式(7)において、時間超過パイプライン内での選択プロセスの処理の順番を「N」、時間超過パイプラインのi番目のプロセスPの定常時処理時間を「S(P)」、プロセスPの超過時処理時間を「Exec(P)」とする。
Figure 2010282533
ステップS412の後、ステップS413に進む。
ステップS413において、処理時間差が負の値である場合、つまり、超過時処理時間が定常時処理時間を超えている場合(YES)、ステップS414に進む。
処理時間差が正の値である場合、つまり、超過時処理時間が定常時処理時間を超えていない場合(NO)、ステップS415に進む。
ステップS414において、移行プロセス決定部111Bは、選択プロセスの識別名を「原因プロセス名」として記憶する。
以下、原因プロセス名により識別されるプロセスを「原因プロセス」という。
ステップS414の後、ステップS416に進む。
ステップS415において、移行プロセス決定部111Bは、各原因プロセス名を削除する。
ステップS415の後、ステップS416に進む。
ステップS416において、時間超過パイプラインに未選択のプロセスが残っている場合(YES)、ステップS411に戻る。
時間超過パイプラインに未選択のプロセスが残っていない場合(NO)、ステップS417に進む。
ステップS417において、移行プロセス決定部111Bは、各原因プロセスに基づいて移行プロセス群を決定する。
例えば、移行プロセス決定部111Bは、各原因プロセスのうち処理順が最も早いプロセス(先頭原因プロセス)から時間超過パイプラインの最終プロセスまでのプロセス群を移行プロセス群とする。
また例えば、移行プロセス決定部111Bは、時間超過パイプラインの先頭プロセスから先頭原因プロセスまでのプロセス群と、先頭原因プロセスから時間超過パイプラインの最終プロセスまでのプロセス群とのうち超過時処理時間が短い方のプロセス群を移行プロセス群とする。
ステップS417により、パイプライン分割処理(S410)は終了する。
図37は、実施の形態5におけるパイプライン分割処理(S410)の概要図である。
パイプライン分割処理(S410)で決定される移行プロセス群の具体例について、図37に基づいて以下に説明する。
時間超過パイプラインのうちプロセス7−2およびプロセス7−4で定常時処理時間より超過時処理時間の方が長くなるものとする。
1番目のプロセス7−1は定常時の処理時間内に終了した。プロセス7−1では定常時処理時間が超過時処理時間より長く、プロセス7−1は時間超過の原因プロセスとして記憶されない。
2番目のプロセス7−2は長い処理時間を要した。プロセス7−2では超過時処理時間の方が長く、プロセス7−2は原因プロセスとして記憶される。
3番目のプロセス7−3は短時間で終了した。プロセス7−3では定常時処理時間の方が長く、プロセス7−3は原因プロセスとして記憶されない。また、プロセス7−3の終了時点では処理時間の超過が起きていないため、プロセス7−2は原因プロセスから削除される。
4番目のプロセス7−4は長い処理時間を要した。プロセス7−4では超過時処理時間の方が長く、プロセス7−4は原因プロセスとして記憶される。
5番目のプロセス7−5は時間超過パイプラインの最終プロセスであるため、プロセス7−5では超過時処理時間の方が長く、プロセス7−5は原因プロセスとして記憶される。
したがって、プロセス7−4およびプロセス7−5が原因プロセスとして記憶される。
例えば、原因プロセスとして記憶されたプロセス7−4およびプロセス7−5が移行プロセス群となる。
また例えば、プロセス7−1(先頭プロセス)〜プロセス7−4(先頭原因プロセス)とプロセス7−4(先頭原因プロセス)〜プロセス7−5(最終プロセス)とのうち、超過時処理時間の短い方が移行プロセス群となる。
実施の形態5において、実施の形態2や実施の形態3のように、時間超過パイプラインの制限時間内に必要な空きCPU時間を有するクラスタから先に移行プロセス群を配置できるか判定してもよい。
また、実施の形態4のように、時間超過パイプラインを他のクラスタに配置できない場合に他のパイプライン処理(または、他のパイプライン処理の一部のプロセス)を移行プロセス群として他のクラスタに配置してもよい。
実施の形態5において、例えば、以下のような計算機リソース制御システム100について説明した。
計算機リソース制御システム100に以下の特徴を加えることにより、制限時間の超過を発生させた一連のプロセス群のうちの一部を他クラスタに配置することを可能とした。
・移行プロセス決定部111Bは、制限時間を超過した一連のプロセス群の中で、制限時間の超過が発生したクラスタで動作可能なプロセス群のみ前記のクラスタで動作させ、それ以外のプロセス群を他のクラスタに移行させるよう指示する。
制限時間の超過が発生したパイプライン処理を分割することにより、他のクラスタに移行させるプロセス数を最小限に留めることができる。これにより、他のクラスタの空きCPU時間が少なくともシステム全体の動作継続が可能となる。さらに、プロセスの停止、起動の回数が削減されるため、パイプライン処理の移行に要する時間も削減可能となる。
また例えば、以下のような計算機リソース制御システム100について説明した。
計算機リソース制御システム100は、非実行単位処理判定部(移行プロセス決定部111B)を所定の計算機に備える。
前記非実行単位処理判定部は、実行可能クラスタ判定部(移行クラスタ決定部121)により実行可能クラスタが無いと判定された場合、複数の単位処理(プロセス)から成る特定処理(時間超過パイプライン)の単位処理であって実行クラスタにより実行されなければ特定処理が制限時間内に完了する非実行単位処理(移行プロセス群)が有るかCPUを用いて判定する。
前記実行可能クラスタ判定部は、非実行単位処理判定部により非実行単位処理が有ると判定された場合、非実行単位処理を制限時間内に完了する非実行単位処理クラスタが有るか判定する。
クラスタ間計算機群変更部(移行クラスタ決定部121)は、実行可能クラスタ判定部により非実行単位処理クラスタが有ると判定された場合、非実行単位処理を実行させるクラスタを実行クラスタから非実行単位処理クラスタに変更する。
1 計算機システム、2 計算機クラスタ、3 ネットワーク、4 ネットワーク、5 中継計算機、6 演算計算機、7 プロセス、8 パイプライン処理、100 計算機リソース制御システム、101 計算機負荷監視部、102 資源割当部、111A 処理時間収集部、112A プロセス構成定義部、111B 移行プロセス決定部、112B クラスタ負荷収集部、121 移行クラスタ決定部、122 システム構成管理部、191 プロセス定義テーブル、192 パイプライン処理定義テーブル、193 計算機負荷テーブル、193A 演算計算機負荷テーブル、193B 中継計算機負荷テーブル、194 クラスタ負荷テーブル、194A クラスタ上演算計算機負荷テーブル、194B クラスタ上中継計算機負荷テーブル、904 ドライブ装置、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 磁気ディスク装置、921 OS、923 プログラム群、924 ファイル群。

Claims (7)

  1. 複数の計算機で構成されるクラスタを複数有し、一つのクラスタ内の一部の計算機群により特定処理を実行する計算機システムであって、
    前記特定処理が制限時間内に完了しなかった場合、前記特定処理を実行した計算機群を実行計算機群として含む実行クラスタが、前記特定処理を制限時間内に完了する実行可能計算機群を含むかCPU(Central Processing Unit)を用いて判定する実行クラスタ判定部と、
    前記実行クラスタ判定部により前記実行クラスタが前記実行可能計算機群を含むと判定された場合、前記特定処理を実行させる計算機群を前記実行クラスタの前記実行計算機群から前記実行クラスタの前記実行可能計算機群に変更するクラスタ内計算機群変更部と、
    前記実行クラスタ判定部により前記実行クラスタが前記実行可能計算機群を含まないと判定された場合、前記実行可能計算機群を含む実行可能クラスタが有るかCPUを用いて判定する実行可能クラスタ判定部と、
    前記実行可能クラスタ判定部により実行可能クラスタが有ると判定された場合、前記特定処理を実行させる計算機群を前記実行クラスタの前記実行計算機群から前記実行可能クラスタの前記実行可能計算機群に変更するクラスタ間計算機群変更部と
    をそれぞれ所定の計算機に備えたことを特徴とする計算機システム。
  2. 前記計算機システムは、さらに、
    複数の所定時間それぞれの時間内におけるCPU空き時間をクラスタ毎に管理するクラスタ空き時間管理部を所定の計算機に備え、
    前記実行可能クラスタ判定部は、前記クラスタ空き時間管理部により管理される各クラスタのCPU空き時間に基づいて、前記特定処理に要するCPU使用時間以上のCPU空き時間を前記特定処理の処理周期内に有するクラスタから先に前記実行可能クラスタであるか判定する
    ことを特徴とする請求項1記載の計算機システム。
  3. 各クラスタは、複数の単位処理から成る特定処理の所定の単位処理を実行する特定計算機と前記特定計算機以外の通常計算機とを有し、
    前記クラスタ空き時間管理部は、各クラスタのCPU空き時間を特定計算機のCPU空き時間と通常計算機のCPU空き時間とに分けて管理し、
    前記実行可能クラスタ判定部は、前記特定処理の処理周期における特定計算機のCPU空き時間が、前記所定の単位処理に要するCPU使用時間以上であるクラスタから先に前記実行可能クラスタであるか判定する
    ことを特徴とする請求項2記載の計算機システム。
  4. 前記実行クラスタは、複数の特定処理を実行し、
    前記計算機システムは、さらに、
    前記実行可能クラスタ判定部により実行可能クラスタが無いと判定された場合、前記実行クラスタにより実行される複数の特定処理のうち制限時間内に完了しなかった時間超過特定処理以外の特定処理であって前記実行クラスタにより実行されなければ前記時間超過特定処理が制限時間内に完了する非実行特定処理が有るかCPUを用いて判定する非実行特定処理判定部を所定の計算機に備え、
    前記実行可能クラスタ判定部は、前記非実行特定処理判定部により前記非実行特定処理が有ると判定された場合、前記非実行特定処理を制限時間内に完了する非実行特定処理クラスタが有るか判定し、
    前記クラスタ間計算機群変更部は、前記実行可能クラスタ判定部により非実行特定処理クラスタが有ると判定された場合、前記非実行特定処理を実行させるクラスタを前記実行クラスタから前記非実行特定処理クラスタに変更する
    ことを特徴とする請求項1〜請求項3いずれかに記載の計算機システム。
  5. 前記計算機システムは、さらに、
    前記実行可能クラスタ判定部により実行可能クラスタが無いと判定された場合、複数の単位処理から成る前記特定処理の単位処理であって前記実行クラスタにより実行されなければ前記特定処理が制限時間内に完了する非実行単位処理が有るかCPUを用いて判定する非実行単位処理判定部を所定の計算機に備え、
    前記実行可能クラスタ判定部は、前記非実行単位処理判定部により前記非実行単位処理が有ると判定された場合、前記非実行単位処理を制限時間内に完了する非実行単位処理クラスタが有るか判定し、
    前記クラスタ間計算機群変更部は、前記実行可能クラスタ判定部により非実行単位処理クラスタが有ると判定された場合、前記非実行単位処理を実行させるクラスタを前記実行クラスタから前記非実行単位処理クラスタに変更する
    ことを特徴とする請求項1〜請求項4いずれかに記載の計算機システム。
  6. 複数の計算機で構成されるクラスタを複数有し、一つのクラスタ内の一部の計算機群により特定処理を実行する計算機システムであって、実行クラスタ判定部とクラスタ内計算機群変更部と実行可能クラスタ判定部とクラスタ間計算機群変更部とをそれぞれ所定の計算機に備える計算機システムにおいて、
    前記実行クラスタ判定部が、前記特定処理が制限時間内に完了しなかった場合、前記特定処理を実行した計算機群を実行計算機群として含む実行クラスタが、前記特定処理を制限時間内に完了する実行可能計算機群を含むかCPU(Central Processing Unit)を用いて判定し、
    前記クラスタ内計算機群変更部が、前記実行クラスタ判定部により前記実行クラスタが前記実行可能計算機群を含むと判定された場合、前記特定処理を実行させる計算機群を前記実行クラスタの前記実行計算機群から前記実行クラスタの前記実行可能計算機群に変更し、
    前記実行可能クラスタ判定部が、前記実行クラスタ判定部により前記実行クラスタが前記実行可能計算機群を含まないと判定された場合、前記実行可能計算機群を含む実行可能クラスタが有るかCPUを用いて判定し、
    前記クラスタ間計算機群変更部が、前記実行可能クラスタ判定部により実行可能クラスタが有ると判定された場合、前記特定処理を実行させる計算機群を前記実行クラスタの前記実行計算機群から前記実行可能クラスタの前記実行可能計算機群に変更する
    ことを特徴とする計算機リソース制御方法。
  7. 請求項6記載の計算機リソース制御方法をコンピュータに実行させる計算機リソース制御プログラム。
JP2009136926A 2009-06-08 2009-06-08 計算機システム、計算機リソース制御方法および計算機リソース制御プログラム Expired - Fee Related JP5377093B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009136926A JP5377093B2 (ja) 2009-06-08 2009-06-08 計算機システム、計算機リソース制御方法および計算機リソース制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009136926A JP5377093B2 (ja) 2009-06-08 2009-06-08 計算機システム、計算機リソース制御方法および計算機リソース制御プログラム

Publications (2)

Publication Number Publication Date
JP2010282533A true JP2010282533A (ja) 2010-12-16
JP5377093B2 JP5377093B2 (ja) 2013-12-25

Family

ID=43539185

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009136926A Expired - Fee Related JP5377093B2 (ja) 2009-06-08 2009-06-08 計算機システム、計算機リソース制御方法および計算機リソース制御プログラム

Country Status (1)

Country Link
JP (1) JP5377093B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016088163A1 (ja) * 2014-12-01 2016-06-09 株式会社日立製作所 計算機システム及びリソース管理方法
JP2018511850A (ja) * 2015-02-03 2018-04-26 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited Cpuリソースを割り当てる装置、デバイス及び方法
CN111045804A (zh) * 2019-11-26 2020-04-21 泰康保险集团股份有限公司 一种任务分配方法、装置、介质及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002259353A (ja) * 2001-03-01 2002-09-13 Nippon Telegr & Teleph Corp <Ntt> 広域クラスタ通信の設定方法、クラスタノードマネージャ装置、クラスタ装置および広域クラスタネットワーク
JP2005234931A (ja) * 2004-02-20 2005-09-02 Toshiba Corp リソース探索方法、及び、クラスタマネージャ装置
JP2007226587A (ja) * 2006-02-24 2007-09-06 Mitsubishi Electric Corp 計算機リソース動的制御装置、計算機リソース動的制御システム及び計算機リソース動的制御方法
JP2008123205A (ja) * 2006-11-10 2008-05-29 Internatl Business Mach Corp <Ibm> ジョブ実行方法、ジョブ実行システム及びジョブ実行プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002259353A (ja) * 2001-03-01 2002-09-13 Nippon Telegr & Teleph Corp <Ntt> 広域クラスタ通信の設定方法、クラスタノードマネージャ装置、クラスタ装置および広域クラスタネットワーク
JP2005234931A (ja) * 2004-02-20 2005-09-02 Toshiba Corp リソース探索方法、及び、クラスタマネージャ装置
JP2007226587A (ja) * 2006-02-24 2007-09-06 Mitsubishi Electric Corp 計算機リソース動的制御装置、計算機リソース動的制御システム及び計算機リソース動的制御方法
JP2008123205A (ja) * 2006-11-10 2008-05-29 Internatl Business Mach Corp <Ibm> ジョブ実行方法、ジョブ実行システム及びジョブ実行プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016088163A1 (ja) * 2014-12-01 2016-06-09 株式会社日立製作所 計算機システム及びリソース管理方法
JP2018511850A (ja) * 2015-02-03 2018-04-26 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited Cpuリソースを割り当てる装置、デバイス及び方法
CN111045804A (zh) * 2019-11-26 2020-04-21 泰康保险集团股份有限公司 一种任务分配方法、装置、介质及电子设备
CN111045804B (zh) * 2019-11-26 2024-03-19 泰康保险集团股份有限公司 一种任务分配方法、装置、介质及电子设备

Also Published As

Publication number Publication date
JP5377093B2 (ja) 2013-12-25

Similar Documents

Publication Publication Date Title
US10055252B2 (en) Apparatus, system and method for estimating data transfer periods for job scheduling in parallel computing
JP4659526B2 (ja) ストレージシステムにインストールされるプログラムのライセンスを管理する管理計算機、計算機システム及び制御方法
US9766822B2 (en) Computer system and its renewal method
JP5600277B2 (ja) クラウドサービス再配置システムと方法およびプログラム
US20170161117A1 (en) Apparatus and method to determine a service to be scaled out based on a predicted virtual-machine load and service importance
US20110029930A1 (en) Distributed processing device and distributed processing method
JPWO2017179537A1 (ja) ソフトウェア更新制御装置、ソフトウェア更新制御システム、ソフトウェア更新制御方法、及び、ソフトウェア更新制御プログラムが格納された記録媒体
JP2010128985A (ja) ストレージ管理サーバ、ストレージ構成の再配置方法
JP5377093B2 (ja) 計算機システム、計算機リソース制御方法および計算機リソース制御プログラム
JP6501694B2 (ja) 計算機システム及び計算機システムのタスク実行方法
JPH09218858A (ja) 分散型データベース管理システム
JP6115575B2 (ja) データセット多重度変更装置、サーバ、データセット多重度変更方法、およびコンピュータ・プログラム
JP2014153897A (ja) 計算機システム及びリソース管理装置並びにリソース管理方法
JP2011170679A (ja) 仮想計算機システムおよびその資源配分制御方法
CN102576294A (zh) 含有多个存储装置的存储系统、方法及程序
JP2011108014A (ja) 仮想マシン管理装置、仮想マシン管理方法、及び仮想マシン管理プログラム
JP5444900B2 (ja) ジョブ実行管理システム、ジョブ実行管理方法、ジョブ実行管理プログラム
JP2012160045A (ja) 仮想化環境リソース管理構成変更システム、及びプログラム
CN115061811A (zh) 一种资源调度方法、装置、设备及存储介质
JP5235154B2 (ja) 管理装置および管理プログラム
CN114697213A (zh) 一种升级方法及装置
JP2012164260A (ja) コンピュータ運用管理システム、コンピュータ運用管理方法及びコンピュータ運用管理プログラム
JP5549347B2 (ja) 管理サーバおよび仮想マシン配置制御方法
JP5543653B2 (ja) 管理計算機
JP5942014B2 (ja) 管理計算機及び更改方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130702

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130807

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: 20130827

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130924

R150 Certificate of patent or registration of utility model

Ref document number: 5377093

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

LAPS Cancellation because of no payment of annual fees