JP2007226587A - 計算機リソース動的制御装置、計算機リソース動的制御システム及び計算機リソース動的制御方法 - Google Patents
計算機リソース動的制御装置、計算機リソース動的制御システム及び計算機リソース動的制御方法 Download PDFInfo
- Publication number
- JP2007226587A JP2007226587A JP2006047704A JP2006047704A JP2007226587A JP 2007226587 A JP2007226587 A JP 2007226587A JP 2006047704 A JP2006047704 A JP 2006047704A JP 2006047704 A JP2006047704 A JP 2006047704A JP 2007226587 A JP2007226587 A JP 2007226587A
- Authority
- JP
- Japan
- Prior art keywords
- computer
- time
- resource
- processing
- memory
- 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
- Debugging And Monitoring (AREA)
Abstract
【解決手段】本発明の計算機リソース動的制御装置は、プロセスを処理する計算機を複数台接続して連携処理するシステムに接続して、計算機のリソースの不足を検出する計算機負荷量収集部5と、プロセスの処理限界を超すデッドラインミスの発生を検出する処理時間収集部2と、プロセスの処理時間とプロセスの処理で使用する計算機のリソースの使用量とデッドライン時間とを記憶し、計算機の所有リソース量を記憶するシステム構成情報テーブル・メモリ7と、デッドラインミスの発生の通知でプロセスまたは関連するプロセスの処理を異なる計算機に再割当を勧告する移行プロセス決定部3と、勧告通知でプロセスの処理時間がデッドライン時間内となるようプロセスと候補計算機とを抽出し実行させる資源割当部6と、を備えた。
【選択図】図2
Description
また、上記の従来例1では、主としてデータの大きさ、値をもとにして次の処理時間を予測しているが、データの大きさによって処理時間が決定する訳ではない。更に各プロセス様々なデータを受信するが、データの内容はプロセスが受け取る直前まで不明である場合が多くて、事前の予測はできない。このような理由から、従来例1の手法で次の周期処理時間を予測することは不可能である。
また従来例2では、やはりプロセスの量を大きさで区切って単位化して管理するだけであり、プロセスの内容や質により計算機を割当てたり、計算機の環境により処理量を変えたりはしないので、やはりデッドラインミスが発生し続けることを防げない、という課題がある。
また、過去のプロセスの処理時間からプロセスの将来の処理時間を予測し、将来デッドラインミスが発生すると予測された場合には、プロセスマイグレーションを行うことによってプロセスのデッドラインミスの発生を未然に防ぐことを目的とする。
各上記計算機のリソースの使用状態を監視して計算機のこのリソースの使用状態情報を収集し、このリソースの不足を検出する計算機負荷量収集部と、
上記プロセスの処理時間を監視してプロセスの処理時間を収集し、プロセスの処理限界時間を規定したデッドライン時間を超す処理となるデッドラインミスの発生を検出する処理時間収集部と、
システムで処理される上記プロセスの処理時間とこのプロセスの処理で使用する計算機のリソースの使用量とデッドライン時間とをプロセスの識別子と共に記憶し、システムに接続される上記計算機の所有リソース量を計算機の識別子と共に記憶するシステム構成情報テーブル・メモリと、
上記デッドラインミスの発生を検出した通知により上記システム構成情報テーブル・メモリを参照して上記プロセスまたは関連するプロセスの処理を現行の計算機とは異なる計算機に再割当を勧告する移行プロセス決定部と、
上記再割当を勧告する通知を受けて上記システム構成情報テーブル・メモリの上記プロセスの処理時間と上記計算機の所有リソース量とを参照して上記プロセスの処理時間が上記デッドライン時間内となるよう上記再割当を勧告されたプロセスと候補計算機とを抽出し、この抽出したプロセスをこの抽出した候補計算機に割当て実行させると同時に上記システム構成情報テーブル・メモリを更新する資源割当部と、を備えた。
また、デッドラインミスの原因が計算機故障の場合には、故障した計算機上で動作していた全てのプロセスを他の計算機に再割付して、処理の継続が可能となり、可用性の高いシステムが得られる効果がある。
図1は、本実施の形態における計算機リソース動的制御システムの構成を示した図である。即ち、本実施の形態のリソース動的制御システムは、複数の計算機100がネットワーク102によって接続された分散計算機システム環境において、各計算機がシステムに必要な構成要素を分担して持ち、全体として処理が間に合わない事によるデッドラインミスの多発を防止する。図において各計算機100は、それぞれプロセス101の処理を分担して、または独立に行っており、資源割当に応じて新たなプロセスを処理する。
最初に計算機のハードウェア構成を説明するが、図2は、計算機100が計算機リソース動的制御装置100aとなる場合の構成を示す図である。これらの図において、計算機100または計算機リソース動的制御装置100aは、プロセッサ(CPU)11、プログラムやプロセス101を記憶するメモリ12、処理時間監視部1、処理時間収集部2、移行プロセス決定部3、計算機負荷監視部4、計算機負荷量収集部5、資源割当部6、システム構成情報管理テーブル・メモリ7、処理時間履歴テーブル・メモリ8、計算機負荷履歴テーブル・メモリ9、計算機状態テーブル・メモリ10、入力装置13、出力装置14、通信インタフェース15及び各計算機上で動作するプロセス101で構成される。
図1の構成では全体の構成例を示すために、各計算機の詳細接続は示されていないが、各計算機100は図2の詳細構成と同じ構成をしている。例えば右端の計算機は、処理時間監視部1と計算機負荷監視部4と資源割当部6と図示しないメモリ12に書込まれたプロセス101とのみが枠で表示されているが、図2に示すプロセッサ11やメモリ12と内部バス16で接続されている。また資源割当部6等の構成要素は、以下の機能説明で述べるような機能を持つプログラムをメモリに展開して、このプログラムをプロセッサ11が読み出して実行することでその機能を得ている。
このプロセス101は、入力装置13の一種であるCDリーダや他の記録媒体読取り装置で読取られて、または他の計算機から通信回線等を経由して通信インタフェース15で取込まれて、図2に示されるように、実際にはメモリ12に展開して記憶されている。本実施の形態において処理されるプロセス101は、例えばレーダのアプリケーションのように、データのサイズではなくデータの内容によって処理負荷が大きく変動するようなアプリケーションであってもよい。
図3は、本実施の形態におけるプロセスのデータ処理時間を監視する処理時間監視部1の機能を説明する図である。即ち、分散処理を行う各プロセッサ11が割当てられたプロセス101の処理を実行するに当たり、データを受け取ってから処理を開始した時刻(以下、「処理開始時刻」とする)、処理を完了した時刻(以下「処理終了時刻」とする)を処理時間監視部1に報告するステップを設けると共に、処理開始時刻から処理終了時刻までの間で、実際に演算のためにCPU(プロセッサ)を使用した時間(以下「CPU時間」とする)を報告するステップを設ける。なお動作に関係するステップは、後の動作記述で説明する。更に処理時間監視部1は、必要に応じて処理時間収集部2に上記の処理開始時刻、処理終了時刻、CPU時間を通知する役割を持つ。
処理時間監視部1は、それぞれの計算機100に各1つ設けてもよいし、プロセス101毎に各1つ設けてももよいし、システム全体で1つ設けてもよい。図1では、構成の一例として計算機100に各1つ設けた場合の構成を示している。
また図5(a)に示すように、保持している履歴の中で何回デッドラインミスが起きているかを調査して、許容可能な回数以上デッドラインミスが発生していた場合には、移行プロセス決定部3に、デッドラインミスが規定回数発生している旨を通知する機能を持つ。
更に図6に示すように、移行プロセス決定部3から、あるプロセスの処理開始時刻、終了時刻、CPU時間の履歴を送信するようリクエストがあった場合に、該当するプロセスのデータを持つ処理時間履歴テーブル・メモリ8に保持されたデータを送信する機能を持つ。なお、処理時間収集部2が機能を実行するために必要な、処理時間履歴テーブル・メモリ8に保持する過去のデータの個数、プロセスの処理限界時間を規定したデッドライン時間、このデッドライン時間を超えた処理となるデッドラインミスの許容回数はシステム構成情報管理テーブル・メモリ7に記載される。
処理時間収集部2は、プロセス毎に1つ設けてもよいし、計算機毎に1つ設けてもよいし、システム全体で1つ設けるようにしてもよい。
この移行プロセス決定部3は、システムに1つ在ればよい。
また、移行プロセス決定部3や資源割当部6から、CPU11の利用率、空きメモリ量、計算機の正常・異常に関する情報を送信するようリクエストがあった場合に、図10に示すように、計算機負荷履歴テーブル・メモリ9に保持されたデータから対応するデータを取出して送信する機能も持つ。
更に、計算機負荷監視部4からデータが届かなくなった場合には、計算機状態テーブル・メモリ10にある、対応するデータが届かなくなった計算機のエントリを図11(b)のように「異常」を示すように書き換え、同時に移行プロセス決定部3に故障が発生したことを通知する機能も持つ。
更に、計算機負荷履歴テーブル・メモリ9にあるデータを参照し、空きメモリ量や空きCPUリソースが少なくなった計算機があった場合にも、移行プロセス決定部3に通知する機能も持つ。また図12に示すように、移行プロセス決定部3や資源割当部6から正常な計算機100の一覧リストの取得要求があった場合には、計算機状態テーブル・メモリ10を参照して、正常動作する計算機100の識別子の一覧を返す機能も持つ。
図17は、本実施の形態における計算機状態テーブル・メモリ10のデータ構成の例を示す図である。本テーブルには、計算機ごとに「正常/異常」を格納するエントリがあり、計算機負荷量収集部5が、ある一定時間内に計算機負荷監視部4から「データ取得時刻」「CPU使用率」「空きメモリ量」のデータを受信しなければ、計算機に異常が発生したと判断し、該当する計算機のエントリが「異常」と示される。
図2で示したように、計算機リソース動的制御装置100aが必要な全ての構成要素を持つようにしてもよいが、図1に例を示すように、幾つかの計算機が必要な処理時間収集・予測部2等の構成要素を分散して持ち、それらの計算機群が全体として計算機リソース動的制御システムを構成してもよい。
図18は、処理時間監視部1の動作フローの一例を示す図である。図3の機能説明図も参照しながら動作を説明する。ステップS1(以下、ステップの記述を省略する)にて、処理時間監視部1は、プロセッサ11が各プロセス101の処理を開始すると、プロセスの処理開始時刻を取得する。そしてS2において、プロセッサ11がその処理を終了した時に、処理終了時刻とS1からS2までの処理時間中におけるCPU時間を取得する。S3において、処理開始時刻、処理終了時刻、CPU時間を処理時間収集部2に通知する。これが処理時間監視部1の図3の機能による具体的な動作である。
処理時間監視部1はS1〜S3の処理を、プロセッサ11がプロセス101の処理動作を実行する限り繰り返す。なお、各プロセスの処理におけるCPU時間の取得は、例えばオペレーティング・システムがUNIX(登録商標)であれば、times()システムコールや、getrusage()システムコール、psコマンドなどにより得られる。
なお、S1011にて一定時間待っても、計算機負荷監視部4からデータが届かなかった場合には、S1018にて計算機状態テーブル・メモリ10の、データを送信してこなかった計算機負荷監視部4が監視する計算機の欄を「異常」に変更し、S1019にて移行プロセス決定部3に通知する。S1011〜S1019の手順は1つの計算機100に対しての計算機負荷量収集の処理を示したものであり、これを全ての計算機100に対して行う。
S122で、S121で届いたリストに記載されているプロセス名を例えばCPU時間の長い順にテーブルに保持する。S124で、S122で作成したプロセスのテーブルから、プロセス名を1つ取り出す。S126で、正常に動作する計算機100のリストを計算機負荷量収集部5より取得し、例えば負荷の大きい順にテーブルに保持する。そして、S127以下を、S126のテーブルに示されている全計算機について、または、割当先計算機が見つかるまで繰り返す。
S127で、計算機100のリストが示されたテーブル中、最も負荷の大きい計算機を1つ取り出す。S128で、S124で取り出したプロセス101がS127で選択した計算機100上で動作できるかどうかを確認する。動作できるかどうか確認する方法としては、例えば、単純に計算機のCPU使用率のみで判断する方法や、各プロセスの処理周期とCPU時間をもとに処理のタイミングを実際に求め、デッドラインミスが発生せずにスケジューリングできるかどうかを分析する方法が考えられる。
S134にて、システム構成情報管理テーブル・メモリ7の、S124にてテーブルより取り出したプロセスと、プロセスの割当先となった計算機(つまりS127で取り出した計算機)とS124にてテーブルより取り出したプロセスの現在のCPU時間に関する情報を書き換えて、S123に戻り、S122にて作成したテーブルの次のエントリに示されるプロセスの処理を行う。
なお、移行プロセス決定部3から「リソース再割当の候補プロセス群」としてプロセスのリストが与えられた場合には、通知されたすべてのプロセス101に対してリソース再割当を行う必要はなく、1つ以上のプロセスの再割当が決定すれば、S122にて作成したテーブルに示される他のプロセスの割当処理を行わずに終了してもよい。
またS131で、S127で選択した計算機がS124で選択したプロセスを処理するために必要な空きメモリ量を持たない場合には、S126に戻り、テーブルの次のエントリにある計算機について、S127以降を実行する。S126において、全ての計算機についてS127を実行し、かつ割当先が見つからなかった場合には、そのプロセスのリソース割当を断念してS135に進み、S124で選んだプロセスを停止し、S136で、S122にて作成したテーブルから停止させたプロセス名を削除する。
なお、ここで示した再割当の方法はあくまで一例であり、S124〜S136の動作を応用した例は多数考えられるが、その他の例はここでは割愛する。
処理時間収集部2または計算機負荷量収集部5がS141にて、デッドラインミスの発生、または計算機の異常、CPU、メモリ・リソース不足を検出して、移行プロセス決定部3に通知する。この場合の処理時間収集部2の動作はS11〜S16、計算機負荷量収集部5の動作はS1011〜S1018に示すとおりである。その後に移行プロセス決定部3はS142で、上記の通知の内容を調査する。通知の内容が計算機の故障である場合は、S144にて、故障した計算機上で動作していた全てのプロセスを対象として、資源割当部6がS121〜S136の手順によりリソースの割当を行う。計算機の故障でない場合は、S145にて、移行プロセス決定部3が、デッドラインミス発生の原因となったプロセス、リソース不足発生の原因となったプロセス、リソース再割当を行うプロセスを見つけ出す。そしてそれらのプロセスに対してS146にて、資源割当部6がS121〜S136の手順でリソース割当を行う。リソース割当終了後、S147にて資源割当部6は、システム構成情報管理テーブル・メモリ7の、新規にリソース割当を行ったプロセスの識別子と、そのプロセスを処理する割当先計算機、処理に要するCPU時間などに関する情報を新しいものに書き換える。
11)システムを構成するプロセス一覧、各プロセスの平均処理時間、消費メモリ量、CPU時間、各プロセスの1回あたりの処理における制限時間、システムを構成する計算機一覧、計算機が搭載するメモリ量を保持するシステム構成情報管理テーブル。
12)システム上で動作する全プロセスの処理時間、CPU時間の変動の履歴を保持するとともに、プロセスのデッドラインミスの発生を検出する処理時間収集手段。
13)システム上で動作する全計算機のリソースの使用状況の履歴を保持し、過去の計算機リソースの使用状況を他の手段に通知するとともに、リソース不足の発生を検出する計算機負荷収集手段。
14)デッドラインミス、CPUリソース不足、デッドラインミスなどの障害が発生した場合に、リアルタイム処理を継続するためにリソースの再割り当てを行うプロセスを決定する移行プロセス決定手段。
15)移行プロセス決定手段が決定したプロセスに対して、システム構成情報管理テーブルより必要なリソース量を取得し、必要な空きリソースを持つ計算機上にプロセスマイグレーションを行う資源割付手段、を備えた。
各上記計算機のリソースの使用状態を監視して計算機のこのリソースの使用状態情報を収集し、このリソースの不足を検出する計算機負荷量収集部と、
上記プロセスの処理時間を監視してプロセスの処理時間を収集し、プロセスの処理限界時間を規定したデッドライン時間を超す処理となるデッドラインミスの発生を検出する処理時間収集部と、
システムで処理される上記プロセスの処理時間とこのプロセスの処理で使用する計算機のリソースの使用量とデッドライン時間とをプロセスの識別子と共に記憶し、システムに接続される上記計算機の所有リソース量を計算機の識別子と共に記憶するシステム構成情報テーブル・メモリと、
上記デッドラインミスの発生の通知により上記システム構成情報テーブル・メモリを参照して上記プロセスの処理を現行の計算機とは異なる計算機に再割当を勧告する移行プロセス決定部と、
上記再割当の勧告通知を受けて上記システム構成情報テーブル・メモリの上記プロセスの処理時間と上記計算機の所有リソース量とを参照して上記プロセスの処理時間が上記デッドライン時間内となるようプロセスと候補計算機とを抽出し、この抽出したプロセスをこの抽出した候補計算機に割当て実行させると同時に上記システム構成情報テーブル・メモリを更新する資源割当部と、を備えた。
このように、プロセスのデッドラインミスを検出し、規定回数以上デッドラインミスが発生したプロセス101の処理を他の負荷の軽い計算機100に割り付けるか、デッドラインミスが発生した原因となるプロセスを計算機リソースに余裕のある他の計算機に割当ることにより、デッドラインミスの継続を防ぐことが可能となる。
また、原因が計算機故障の場合には、故障した計算機上で動作していた全てのプロセスを他の計算機に再割当することにより、処理の継続が可能となる。
実施の形態1では、計算機がプロセスを処理する実績に基づいてデッドラインミスが生じたプロセスを負荷の軽い計算機に移す場合を説明したが、本実施の形態では学習により将来の予測をしてデッドラインミスが発生しそうであると、プロセスを他の計算機に移して、更にデッドラインミスの発生確率を減らす装置、システムを説明する。
図26は、本実施の形態における計算機リソース動的制御システムの構成の例を示す図である。本実施の形態における計算機リソース動的制御システムは、実施の形態1における構成のほか、デッドラインミス発生時刻予測部21、計算機負荷予測部22、CPU時間予測部23、メモリ使用量予測部24を備えている。その他の構成要素の、処理時間監視部1、計算機負荷監視部4、システム構成情報管理テーブル・メモリ7ないし計算機状態テーブル・メモリ10の機能と動作は、実施の形態1と同一であり、説明を省略する。
同様に図27は、本実施の形態における計算機リソース動的制御装置100bの構成を示す図である。即ち図26に示す分散配置でシステムとして動的制御することに代えて、特定の計算機が全ての構成要素を備えて、制御装置となってもよい。
また、処理時間収集部がデッドラインミス発生時刻予測部21を含んで、処理時間収集・予測部2bとなる構成とし、計算機負荷量収集部が計算機負荷予測部22を含んで、計算機負荷量収集・予測部5bとなる構成としてもよい。
本実施の形態における移行プロセス決定部3bは、処理時間収集部2から、デッドラインミス発生の通知を受け取る機能に加え、デッドラインミス発生時刻予測部21からも通知を受け取る機能を持つ点が実施の形態1と異なる。また、デッドラインミス発生時刻予測部21からデッドラインミス発生の通知を受け取った場合には、計算機負荷予測部22やメモリ使用量予測部24やCPU時間予測部23にも問い合わせることによってデッドラインミス発生時の計算機負荷、メモリ使用量、CPU時間(計算機のプロセッサがそのプロセスを処理する時間)の予測値を取得し、これらの予測値に基づき、将来発生すると思われるデッドラインミス発生の原因を推測する点が実施の形態1と異なる。
本実施の形態における資源割当部6bは、移行プロセス決定部3bがデッドラインミス発生時刻予測部21からデッドラインミス通知を受け取った場合には、計算機負荷予測部22、CPU時間予測部23、メモリ使用量予測部24に問い合わせることによって、プロセスの再割当先として適切な計算機100を選択する点が実施の形態1と異なる。
例えば、図29では、ある計算機の負荷が50ミリ秒ごとに0.5%ずつ増加しているケースを示している。この場合のCPU使用率の近似式はy=0.01×(x−最も古いデータの受信時刻)+10(yはCPU使用率、xは時刻)と求めることができ、例えば、移行プロセス決定部3bから、10時10分10秒450ミリ秒のCPU負荷について問い合わせがあった場合には、14.5%と回答することになる。もし、問い合わせと同じ時刻のデータが存在しなければ、テーブルに示される中で最も近い時刻データを取得し、回答することになる。また、CPU使用率の許容可能な上限値を100%とした場合、本式より、CPU使用率が100%になるのは10時10分28秒になる。
計算機負荷予測部22は、プロセスごとにあってもよいし、システムで1つでもよい。ただしシステムで1つの場合は、全てのプロセスに対して近似式を求めることになる。
例えば、図30では、ある計算機のCPU時間が50ミリ秒ごとに10ミリ秒ずつ増えているケースを示している。この場合のCPU時間の近似式はy=0.2×(x−最も古い受信データ内の処理開始時刻)+9(yはCPU時間、xは処理開始時刻)と求めることができ、例えば、移行プロセス決定部3bから、10時10分10秒450ミリ秒のCPU時間について問い合わせがあった場合には、CPU時間予測部23は、その時間は99ミリ秒と回答することになる。
例えば、図31の例では、ある計算機のメモリ使用量が、50ミリ秒ごとに2MBずつ増加しているケースを示している。この場合のメモリ使用量の近似式は、y=0.04×(x−最も古いデータの受信時刻)+100(yはメモリ使用量、xは時刻)と求めることができる。そして、本計算機の搭載メモリ量が180MBであった場合には、2秒後にメモリ不足が発生することになり、その旨を処理時間収集・予測部2bまたは直接に移行プロセス決定部3bに通知する。また、移行プロセス決定部3bなどから、10時10分10秒450ミリ秒のメモリ使用量について問い合わせがあった場合には、118MBと回答することになる。
メモリ使用量予測部24は、計算機に1つあってもよいし、システムに1つでもよいが、全ての計算機について近似式を求めることになる。
そしてS24にて、デッドラインミスが将来発生するかどうかを求める。デッドラインミスが将来発生するかどうかは、例えばS23にて求めた時刻が現在時刻より前か後かによって判断することができる。デッドラインミスが将来発生すると判断した場合には、S25において、処理時間収集・予測部経由で、または直接で移行プロセス決定部3bに、デッドラインミス発生が予想されるプロセスの名前を通知する。この動作は、プロセスの処理とは同期せずに行ってもよいし、プロセスの処理が終わるたびに行ってもよい。
S203にて、S202で求めた式からCPU使用率が100%ないし決められた上限値になる時刻を求める。そしてCPU使用率が上限に達すると予測されると、S205にて、CPU使用率が上限に達する時刻と、その計算機名を通知する。なお、S201〜S205の処理は、計算機負荷量収集部5からの計算機負荷情報の通知に同期して行ってもよいし、非同期に行ってもよい。
図35は、本実施の形態におけるメモリ使用量予測部24の動作フローの一例を示す図である。S221にて、計算機負荷履歴テーブル・メモリ9の全エントリを参照し、各エントリにおける負荷取得時刻とそのときのメモリ使用量を求める。そしてS222にて、負荷取得時刻とメモリ使用量の関係を、上記の近似式で表したと同様な方法で表す。この処理も、計算機負荷量収集部5への通知に同期して、または非同期で行ってよい。そしてS223にて、メモリ不足が発生する時刻を求める。例えば、S222にて求めた式がy=anxn+an−1xn−1+・・・+a1x+b(y:メモリ使用量、x:時刻)であった場合には、yに例えば計算機搭載メモリ量またはユーザが決定した上限メモリ量を代入した場合のxの値を求めればよい。求めた時刻が現在時刻よりも後であった場合には、メモリ不足が発生させると予測され、S225において、メモリ不足が発生する時刻と、その計算機名を移行プロセス決定部3bに通知する。
S231で、デッドラインミス発生時刻予測部21よりデッドラインミスがある時刻に発生する旨を伝える通知が届く。通知とともに、例えばデッドラインミスが発生したプロセス名が届くことが考えられる。S231でデッドラインミスが発生するプロセスの名前が届くと、S232で、システム構成情報管理テーブル・メモリ7を参照することにより、デッドラインミスが発生するプロセスを処理している計算機名を取得する。そしてS233で、その計算機100上で動作している他のプロセス101の名を取得する。S234にて、S233で見つけたプロセスのうちでデッドラインミス発生の予測時刻においてCPUの処理時間が増えているプロセスを調査する。CPU時間が増えているプロセスは実際に処理負荷が高くなったプロセスを示す。CPU時間が増えているかどうかの判断は、システム構成情報管理テーブルが、各プロセスの平均CPU時間を保持しているので、システム構成情報管理テーブルより平均CPU時間を取得し、更にCPU時間予測部23に、デッドラインミス発生時刻におけるプロセスのCPU時間を問い合わせて取得し、この二つの値を比較することにより判断できる。そしてS235にて、デッドラインミスが発生すると予測されるプロセスと、S234で見つけ出したプロセスを、リソース再割当を行う候補プロセスとして、これらのうちの少なくともどちらか1つを移行させるように資源割当部6bに通知する。
S241にて、メモリ使用量予測部24または計算機負荷予測部22よりデッドラインミス発生の予測通知が届くと、S242で、システム構成情報管理テーブル・メモリ7を参照して、メモリ不足が発生する計算機100上で動作するプロセス101名を取得し、S242で見つけたプロセスをリソース再割当の候補とし、資源割付部6bにこれらのプロセスを通知する。
なお、処理時間収集・予測部2b、計算機負荷量収集部5から通知を受け取った場合の移行プロセス決定部3bの動作は実施の形態1と同一である。
S251で移行プロセス決定部3bから、リソース再割当の候補、リソース再割当対象となるプロセスのリストが届くと、S252で、そのリストに記載されているプロセス名を例えばデッドラインミス発生時において使用するCPU時間の長い順にテーブルに保持する。デッドラインミス発生時のCPU時間は、CPU時間予測部23に問い合わせることにより求められる。
S254において、S252で作成したプロセス名のテーブルから、プロセス名を1つ取り出す。S255で、正常に動作する計算機100の一覧を計算機負荷量収集部5より取得し、例えばデッドラインミス発生時において負荷の大きい順にテーブルに保持する。デッドラインミス発生時刻における計算機負荷は、計算機負荷予測部22に問い合わせることにより求められる。
S257において、計算機のリストで示されたテーブル中、例えば最もCPU使用率の最も高い計算機を1つ取り出す。S258では、S254で取り出したプロセス101がS257で選択した計算機100上で動作できるかどうかを確認する。動作できるかどうかを確認する方法としては、例えば、単純に計算機のCPU使用率のみで判断する方法や、各プロセスの周期をもとにして、どのプロセスがいつCPUを占有するかを実際に調査することによってデッドラインミスが発生せずにスケジューリングできるかどうかを分析する方法が考えられる。
そして十分な空きメモリ量があればS262において、S257で選択した計算機100をS254で取り出したプロセス101の再割当先として決定する。S263において、S261で決定した計算機100上でS254にて取り出したプロセス101を起動し、元の計算機で動作していたプロセスを停止させる。S264にて、システム構成情報管理テーブル・メモリ7の、S254にてテーブルより取り出したプロセスとプロセスの割付先となった計算機100(S256で取り出した計算機)とS254にてテーブルより取り出したプロセス101のデッドラインミス発生時のCPU時間を書き換えてS253に戻り、S252にて作成したテーブルの次のエントリに示されるプロセスについて、S253〜S264の処理を行う。
S259において、S257で選択した計算機100でプロセス101を処理するとデッドラインミスを発生させると判断した場合には、S256に戻り、S255で作成したテーブルに示される他の全計算機100についてS257以下を実行する。
またS261において、S257で選択した計算機100に十分な空きメモリがない場合には、S256に戻り、S255で作成したテーブルに示される全計算機についてS257以下を実行する。S256において、全ての計算機について動作可能であるかどうかチェックを行って未割当の場合には、割当可能な計算機が存在しなかったと判断してリソース割当を断念し、S266にて自プロセスを停止させ、S265にて、そのプロセスをテーブルから削除して、テーブルの次のプロセスについてS253以下の処理を行う。
なお、ここで示した再割当の方法はあくまで一例であり、S254〜S264の動作を応用した例は多数考えられるが、その他の例はここでは割愛する。
図において、S271にて、処理時間収集部2、計算機負荷量収集部5、デッドラインミス発生時刻予測部21、メモリ使用量予測部24が、デッドラインミスの発生、デッドラインミスの発生予測、計算機の異常、CPU・メモリリソース不足、CPU・メモリ・リソース不足の予測を移行プロセス決定部3bに通知する。デッドラインミス発生の検出は、S11〜S16の手順で行われる。デッドラインミスの発生予測の検出はS21〜S25の手順で行われる。計算機の異常検出、CPU・メモリリソース不足の検出はステップS1011〜S1016の手順で行われる。デッドラインミスの発生予測は、S21〜S25の手順で行われる。CPUリソース不足の予測は、ステップS201〜S205の手順で行われる。メモリリソース不足の予測は、ステップS221〜S225の手順で行われる。
するとS272で、移行プロセス決定部3bは、通知の内容を調査する。通知の内容が計算機の故障であれば、S274にて、故障した計算機100上で動作していた全てのプロセス101に対して、資源割当部6bはS251〜S265の手順でリソースの割当を行う。
21)各プロセスの平均処理時間、消費メモリ量、CPU時間、各プロセスの1回あたりの処理における制限時間、システムを構成する計算機一覧を保持するシステム構成情報管理テーブル。
22)システム上で動作する各プロセスの処理時間、CPU時間の変動の履歴を保持するとともに、プロセスのデッドラインミスの発生を検出する処理時間収集手段。
23)各プロセスの処理時間の変動の履歴より、プロセスの処理時間の変動を学習し、将来のデッドラインミスの発生および発生時刻を予測する処理時間予測手段。
24)システム上で動作する全計算機のリソースの使用状況の履歴を保持し、過去の計算機リソースの使用状況を他の手段に通知するとともに、リソース不足の発生を検出する計算機負荷収集手段。
25)計算機のメモリ使用状況の変動をもとに、メモリの使用状況の将来の変動を学習し、将来のメモリ不足の発生を検出するとともに、プロセスのデッドラインミス発生予想時刻やCPUリソース不足発生時刻におけるメモリ使用状況を通知するメモリ使用量予測手段。
26)計算機のCPU使用状況の変動より、CPU使用状況の将来の変動を学習し、将来のCPUリソース不足の発生を検出するとともに、メモリ不足が発生する時刻、デッドラインミス発生予想時刻におけるCPU使用状況を通知するCPU使用率予測手段。
27)デッドラインミス、CPUリソース不足、メモリリソース不足などの障害が発生した場合に、リソースの再割り当てを行うべきプロセスを決定する移行プロセス決定手段。
28)システム構成情報管理テーブルより移行プロセス手段が決定したプロセスが必要なリソース量を取得し、必要な空きリソースを持つ計算機上にプロセスマイグレーションする資源割付手段、を備えた。
計算機のメモリ使用状況の変動を基に、該メモリの必要量を予測するメモリ使用量予測部と、を備え、
計算機負荷量収集部は、計算機リソースの使用状態情報の収集に加えて、リソースと計算機能力との必要量を予測する計算機負荷量収集・予測部を有し、
処理時間収集部は、プロセスの処理時間の収集に加えて、現計算機によるデッドラインミスの発生時刻を予測する処理時間収集・予測部を有し、
移行プロセス決定部は、上記リソースと計算機能力の必要量予測または上記デッドラインミスの発生予測の通知を受けると、該予測に基づいてプロセスの再割当を勧告し、
資源割当部は、上記デッドラインミスの発生時刻の予測と上記メモリの必要量の予測とに基づいて、上記勧告されて抽出したプロセスを抽出した候補計算機に割当て実行させることを特徴とする。
このように、実施の形態1に加え、デッドラインミスの発生をプロセスの処理時間の変動などから学習することによって予測し、デッドラインミス発生を予測してリソース再割当てを行えるようにすることにより、システムのソフトリアルタイム処理だけでなく、ハードリアルタイム処理も実現することができる。また、デッドラインミス発生時のCPU負荷、メモリ使用量も予測してリソース割当を行うことによって、よりデッドラインミスの発生しにくい計算機100にリソース割当を行うことができ、リソース再割当完了後のデッドラインミス再発を高い確率で防止することができる。
デッドラインミスが発生すると予測される場合に、より早くプロセスを他の計算機に移行させて、デッドラインミスの発生を確実に抑える構成と動作を説明する。
本実施の形態における計算機リソース動的制御システムまたは装置の構成は、実施の形態2と同一である。また実施の形態3における処理時間監視部1、処理時間収集・予測部2b、計算機負荷監視部4、計算機負荷量収集部5、処理時間履歴テーブル・メモリ8、計算機負荷履歴テーブル・メモリ9、計算機状態テーブル・メモリ10、CPU時間予測部23の機能と動作は、実施の形態2と同一である。
本実施の形態におけるシステム構成情報管理テーブル・メモリ7cのデータ構成の例を図40に示す。本実施の形態のシステム構成情報管理テーブル・メモリ7cでは、実施の形態2におけるシステム構成情報管理テーブル・メモリ7に示す情報のほか、リソース動的制御システムに関する情報として、「再割付所要時間」、ソフトウェアに関する情報として、「プロセス起動所要時間」を保持する。再割付所要時間とは、デッドラインミス発生、デッドラインミス予測、メモリ不足予測、計算機故障などの通知が移行プロセス決定部3cに届いてから、資源割当部6cが資源の再割当を完了するまでに要する時間を保持するものである。この時間は過去の最悪値としてもよいし、割付完了時間に大きな変動がなければ過去の平均値などでもよい。プロセス起動所要時間とは、動的制御システムがプロセス101を起動してから、プロセスが処理を開始するまでの時間である。この時間は、例えばプロセスをメモリにロードするまでの時間や、プロセス固有の初期化処理が含まれる。
なおS31〜S35の処理は、プロセスの処理が終了に同期して行ってもよいし、プロセスの処理とは非同期に行ってもよい。また、本例ではデッドラインミスが発生する1周期前にリソース割付が完了するか否かでリソース割付を開始するかどうかを判断しているが、必ずしも1周期である必要はなく、ユーザによって任意に決定してよい。
S301では、S221〜S224を実行する。そしてS224にてメモリ不足が将来発生すると判断した場合には、S302にて現在時刻を取得し、メモリ不足が発生するまでの残り時間を求める。そしてS303にてリソース再割当てに要する時間とプロセス起動に要する時間とプロセスの処理周期時間の和を求める。S304にて、S302で求めた時間とS303で求めた時間を比較し、S302で求めた時間のほうが短い、つまりメモリ不足発生までの残り時間が、リソース再割り当てに要する時間とプロセス起動所要時間と処理周期時間の時間の和より短い場合には、S305にて、メモリ不足が発生する時刻とその計算機、現在時刻を移行プロセス決定部3cに通知する。なおS304にて、S302で求めた時間のほうが短い、つまり、ただちにリソース再割当を行った場合にメモリ不足が発生する時刻の1周期よりも前にリソース再割付が終了する場合、メモリ使用量の監視を継続する。なおデッドラインミスが発生する1周期前にリソース割付が完了するか否かでリソース割付を開始するかどうかを判断しているが、必ずしも1周期である必要はなく、ユーザによって任意に決定してよい。
S311では、S201〜S204を実行する。そしてS204にて、CPU使用率がある上限値以上になると判断した場合には、S312にて、現在時刻を取得し、CPU使用率が上限値になるまでの残り時間を求める。そしてS313にて、リソース再割当てに要する時間とプロセス起動に要する時間とプロセスの処理周期時間の和を求める。S314にて、S312で求めた時間とS313で求めた時間を比較し、S312で求めた時間、つまりCPU使用率が上限値になるまでの残り時間が、リソース再割当てに要する時間とプロセス起動所要時間と周期処理のインターバル時間より短い場合には、S315にて、CPUが上限値になる時刻とその計算機、現在時刻を移行プロセス決定部3cに通知する。なお、S314にて、S312の時間のほうが短い、つまり現在時刻でリソース再割当を行っても、CPUリソース不足が発生する時刻の1周期以上前にリソース再割当が終了する場合には何もせず、CPU使用率の監視を継続する。
S321にて、デッドラインミス発生時刻予測部21cより、デッドラインミス発生が予測されるプロセス101と、S32にて取得した現在時刻が届くと、S322にて、実施の形態2におけるステップS232〜S234を実行する。そしてS323にて、S234で見つけたプロセスと、デッドラインミス発生が予測されるプロセスをリソース再割当の候補とし、この候補プロセス群とデッドラインミス発生時刻予測部21cより送られてきた時刻を資源割付部6cに送信する。
本実施の形態における、メモリ使用量予測部24cまたは計算機負荷予測部22cから通知が届いた場合の移行プロセス決定手段3cの動作フローを図45に示す。
S331で、メモリ使用量予測部24cまたは計算機負荷予測部22cから通知が届く。通知の内容は、異常が発生した計算機と、メモリ使用量予測部24cがS312にて取得した現在時刻、計算機負荷予測部22cがS322で取得した現在時刻である。S332において、システム構成情報管理テーブル・メモリ7cを参照して、S331にて通知された計算機で動作するプロセスを取得する。S333にて、S322で見つけたプロセスをリソース再割当の対象、またはリソース割当の候補のプロセスとし、資源割当部6cにこれらのプロセスと、S321にて受信した時刻を通知する。
S341にて、移行プロセス決定部3cから、リソース割当対象、割当候補となるプロセス一覧と、デッドラインミス発生時刻予測部21c、計算機負荷予測部22c、メモリ使用量予測部24cが取得した時刻を受信する。S342では、S252〜S263を実行する。そして253において、S252のテーブルが空か、もしくは対処する必要がないと判断した場合にS343に進み、現在時刻を取得する。そしてS344にて、S343にて得た時刻からS341で受信した時刻を引くことにより、リソース割当に要した時間を求める。そしてS345にて、システム構成情報管理テーブル・メモリ7cに登録されている、リソース割当所要時間を取得する。そしてS344で求めた、今回リソース割当に要した時間と、システム構成情報テーブル・メモリ7cに登録されていたリソース割当時間を取得し、今回リソース割当に要した時間のほうが長くかかっていればS347に進み、システム構成情報管理テーブル・メモリ7cの、リソース割付所要時間の値を、S344で求めた値に書き換える。
S351にて、処理時間収集・予測部2b、計算機負荷量収集部5、デッドラインミス発生時刻予測部21c、メモリ使用量予測部24cが、デッドラインミスの発生、デッドラインミスの発生予測、計算機の異常、CPU・メモリリソース不足、CPU・メモリリソース不足の予測を移行プロセス決定部3cに通知する。デッドラインミス発生の検出はS11〜S16の手順で行われる。デッドラインミスの発生予測の検出はS31〜S35の手順で行われる。計算機の異常検出、CPU・メモリリソース不足の検出はS1011〜S1016の手順で行われる。CPUリソース不足の予測は、S31〜S35の手順で行われる。メモリリソース不足の予測は、S301〜S305の手順で行われる。
するとS352で、移行プロセス決定部3cは、通知の内容を調査する。通知の内容が計算機の故障であればS355にて、故障した計算機上で動作していた全てのプロセスに対して、資源割当部6cはS341〜S347の手順でリソースの割当を行う。
計算機の故障でなければS355にて、デッドラインミス発生の原因となったプロセス、リソース不足を発生させたプロセスの候補を見つけ出し、S356にて、資源割当部6cがS341〜S347の手順でリソース割当を行う。リソース割当終了後、S357にて資源割当部6cは、システム構成情報管理テーブル・メモリ7cの、新規にリソース割当を行ったプロセスの識別子と、そのプロセスが動作する割当先計算機に関する情報などを書き換える。
31)先の実施の形態におけるシステム構成情報管理テーブルに加え、各プロセスにおける、デッドラインミスの発生、デッドラインミスの発生予測、メモリ不足、メモリ不足の予測、計算機故障を検出してからプロセスマイグレーションを完了するまでの時間と、プロセスマイグレーションを完了してからプロセスが処理を開始するまでの時間を保持するシステム構成情報管理テーブル。
32)先の実施の形態における処理時間予測手段において、各プロセスの処理時間の変動の履歴より、プロセスの処理時間の変動を学習し、将来のデッドラインミスの発生および発生時刻を予測し、プロセスマイグレーションを完了してプロセスが処理を開始するまでに要する時間だけ前に移行プロセス決定手段にデッドラインミスの発生予測を通知する機能を持つ処理時間予測手段。
33)先の実施の形態におけるメモリ使用量予測手段において、各計算機のメモリ使用量の変動をもとにメモリ使用状況の将来の変動を予測することによりデッドラインミス発生時刻やCPUリソース不足が発生する時刻におけるメモリ使用量を通知するとともに、メモリ不足が発生する時刻を予測し、プロセスマイグレーションを完了してプロセスが処理を開始するまでに必要な時間だけ前に移行プロセス決定手段にメモリ不足の発生予測を通知する機能を持つメモリ使用量予測手段。
34)先の実施の形態におけるCPU使用率予測手段において、各計算機のCPU使用量の変動をもとに、CPU使用量の将来の変動を予測することによりデッドラインミス発生時刻やメモリ不足が発生する時刻におけるCPU使用量を通知するとともに、CPUリソース不足が発生する時刻を予測し、プロセスマイグレーションが完了してプロセスが処理を開始するまでに必要な時間だけ前に移行プロセス決定手段にCPUリソース不足の発生予測を通知する機能を持つCPU使用率予測手段、を備える。
資源割当部は、上記再割当所要時間とプロセス起動所要時間との和の時間より前に抽出したプロセスを抽出した候補計算機に割当て実行させることを特徴とする。
また、実施の形態2と比べ、デッドラインミス発生直前までアプリケーションの処理時間、メモリ使用量、CPU使用率の変化の振る舞いを調べることができ、より正確なシステムの振る舞いをもとにリソース割付を行うことができる。その結果、直前に振る舞いが変わり、デッドラインミス、メモリ不足、CPUリソース不足が発生しないことがわかった場合には、実施の形態2と比べ、リソース割付に伴って加わる処理オーバーヘッドを削減することができる。また、システム構成情報テーブルに、リソース割付時間の最悪値を保持、絶えず更新し、その最悪値の時間だけ先立ってリソース割付を開始することにより、デッドラインミス発生前にリソース割付処理が完了する可能性が高くなる。
本実施の形態においては、リソースが不足すると、重要度が高いプロセスを優先して処理する構成と動作を説明する。
本実施の形態における計算機リソース動的制御装置または計算機リソース動的制御システムの構成要素は、実施の形態1と同一である。即ち処理時間監視部1、処理時間収集・予測部2b、移行プロセス決定部3、計算機負荷監視部4、計算機負荷量収集部5、処理時間履歴テーブル・メモリ8、計算機負荷履歴テーブル・メモリ9、計算機状態テーブル・メモリ10の構成は、実施の形態1と同一である。
本実施の形態におけるシステム構成情報管理テーブル・メモリ7dの構成を図48に示す。本実施の形態のシステム構成情報管理テーブル・メモリ7dは、実施の形態1におけるシステム構成情報管理テーブル・メモリ7に示す情報のほか、各プロセスの「重要度」を保持する。ここで重要度とは、システムを構成する全プロセスを動作させるだけの計算機リソースがなくなった場合に空きリソースを作り出すためにプロセスを停止させる際、プロセスを停止させる順序を示すものである。すなわち、重要度に示す順序に応じてプロセスを停止させることにより、重要度の高いプロセスほどリソースが足りなくなっても動作し、重要度の低いプロセスはシステム全体の計算機リソースが足りなくなった場合には停止する。
S401にて、移行プロセス決定部3から、リソース割当の候補、リソース割当対象となるプロセス101のリストが届くと、S402にて、S401にて受け取ったリストを重要度の高い順に並べ替え、テーブルに保持する。そしてS404にて、S402のテーブルの先頭にある重要度の高いプロセス名を取り出す。そしてS405で、正常に動作する計算機100の名前を負荷の大きい順にテーブルに持つ。そしてS406にて、S405にて作成したテーブルの先頭にある計算機名を取り出す。そしてS407にて、S406にて取り出した計算機100のCPU使用状況などを調査し、S404で選択したプロセス101が、S406で選択した計算機100上でデッドラインミス発生することなく動作できるかどうか調べる。デッドラインミスなく動作可能と判断した場合には、S409にて、S406にて取り出した計算機100の空きメモリ量を調査し、S404で選択したプロセス101が動作可能であるかどうか調べる。動作可能であると判断した場合には、S411にて、S406で選択した計算機100をS404で選択したプロセス101の移行先として決定し、S412で、S411で割当を決定した計算機100のうえで、S404で選択したプロセス101を起動し、元の計算機上で動作していたS404で選択したプロセスを停止させる。S413で、システム構成情報管理テーブルの、割当た計算機とプロセス、現在のプロセスの処理時間を書き換える。
S415にて、次のエントリに示される計算機がなければ、すでに全ての計算機100について動作可能かどうか調査し、どの計算機でも動作しないということがわかったことになる。これはすなわち、計算機リソースに空きがないことを示す。この場合はS417に進み、S404のプロセス101よりも重要度の低いプロセスがあるかどうか調べ、あればS419に進み、動作するプロセスの中で最も重要度の低いプロセスを停止させる。S420で、S402で作成したテーブルに、停止させたプロセスがあれば、そのエントリを削除する。重要度の低いプロセスが停止したことにより、計算機リソースに空きができたことになる。そして、S405に進み、再度計算機の負荷順に並べ替えて、プロセス101を割付可能なリソースを調査する。
S417にて、現在調査中のプロセスよりも重要度の低いプロセスがなくなった場合には、S418にて自プロセスは停止させることにより、一連の処理は終了となる。S413にてプロセスの再割当が完了したか、S418でプロセスが停止したら、S414にて、テーブルから先頭エントリ、すなわち、S404で選択したプロセス名を削除し、S402のテーブルにおいて、今回調査したエントリの次のエントリに示されるプロセスについて、プS404以降の処理を繰り返し行う。
図のS421にて、処理時間収集・予測部2bまたは、計算機負荷量収集部5から、デッドラインミスの発生、または計算機の異常が移行プロセス決定部3に通知される。この場合の処理時間収集・予測部2bの動作はS11〜S16、計算機負荷量収集部5の動作はS1011〜S1018に示すとおりである。するとS422で、移行プロセス決定部3は、デッドラインミスの原因を調査する。S423にて、原因が計算機の故障にあるかどうかを調査し、計算機の故障であればS424にて、故障した計算機100上で動作していた全てのプロセス101に対して、資源割当部6はS401〜S420の手順によりリソースの割当を行う。リソース割当の際、どの計算機にも割当可能な空きリソースがなければ、重要度の低いプロセス101から順に停止させて空きリソースを作成し、再度リソースの割当を試行する。
計算機の故障でなければS425で、移行プロセス決定部3により、デッドラインミス発生の原因となったプロセス、リソース不足発生の原因となったプロセス、リソース再割付を行うプロセスを見つけ出す。そしてS426にて、デッドラインミス発生の原因となったプロセス、または、リソース不足を発生させた原因と考えられるプロセスに対して、資源割当部6がS401〜S420の手順でリソース割当を行う。リソース割当の際、どの計算機100にも割当可能な空きリソースがなければ、重要度の低いプロセスから順に停止させて空きリソースを作成し、再度リソース割当を試行する。そしてS427にて、リソース割当終了後に資源割当部6は、システム構成情報管理テーブル・メモリ7dの、新規にリソース割当を行ったプロセス101の識別子と、そのプロセスが動作する割当先の計算機100、処理に要するCPU時間などに関する情報を書き換える。
41)実施の形態1のシステム構成テーブルに加え、全てのプロセスを動作させるだけのシステムリソースが足りなくなった場合に優先動作させるプロセスの順位を保持するシステム構成情報管理テーブル。
42)実施の形態1の資源割付手段において、移行プロセス決定手段が決定したプロセスが動作できるための空きリソースが無い場合に、システム構成情報管理テーブルが持つプロセスの動作順位をもとに、順位の低いプロセスを停止させることにより計算機に空きリソースを作成し、その計算機上にプロセスマイグレーションを行う資源割付手段、を備える。
資源割当部は、現在の計算機ではデッドラインミスの発生が予測されると、上記システム構成情報テーブル・メモリを参照して、プロセスの処理優先順位が高いプロセスを候補計算機に割当て実行させることを特徴とする。
このように、システム内で独立した複数の処理が動作している場合に、計算機故障などにより全てのプロセス101を動作させるだけのシステムリソースがなくなってしまった場合においても、プロセスに重要度を与え、重要性の低い処理は停止させることによってシステムリソースに空きを作り出し、重要度のより高い処理を優先させて動作継続させることが可能になる。
本実施の形態においては、各計算機100の性能にばらつきがある場合に、その性能差を考慮して割当を行える装置、システムを説明する。
本実施の形態における動的リソース制御装置またはシステムの構成要素は、実施の形態1と同一である。本実施の形態における、即ち処理時間監視部1、処理時間収集・予測部2b、移行プロセス決定部3、計算機負荷監視部4、計算機負荷量収集部5、処理時間履歴テーブル・メモリ8ないし計算機状態テーブル・メモリ10の構成は、実施の形態1と同一である。
本実施の形態におけるシステム構成情報管理テーブル・メモリ7eが持つ情報の例を図51に示す。システム構成情報管理テーブル・メモリ7eには、実施の形態1におけるシステム構成情報管理テーブル・メモリ7に示す情報のほか、プロセス101としてのアプリケーションごとに「動作可能計算機名」、計算機100ごとに「性能値」が示されている。性能値としては、例えばSPECIntのような、計算機の性能値を示すベンチマークプログラムのデータが示されることが考えられる。
図において、S501で、移行プロセス決定部3から、リソース割当の候補、リソース割当対象となるプロセスのリストが届くと、S502にて、プロセス101のリストを例えばCPU時間の多い順に並べ、テーブルに保持する。S502にて作成したテーブルが空であれば、処理を終了する。
空でなければS504において、S502にて作成したテーブルからプロセス101の名を1つ取り出す。そして、S504のプロセス101が動作可能で、かつ正常に動作している計算機100を、例えば計算機負荷の大きい順に並べ替え、テーブルに保持する。各プロセスが動作可能な計算機の一覧は、システム構成情報管理テーブル・メモリ7eに示されているので、それを参照して計算機の識別子を取得する。そしてS507以下を、S505にて作成したテーブルにある全計算機について、または、リソース割当先となる計算機100が決定するまで行う。S507にて、S505にて作成したテーブルから計算機を1つ選ぶ。そしてS508にて、S507の計算機100の性能値と、現在動作中の計算機の性能値を、システム構成情報管理テーブル・メモリ7eを参照して取得する。そしてS509にて、S508にて求めた値より、S504にて選択したプロセス101の現在のCPU時間を補正する。例えば、現在動作中の計算機の性能値が100、S507で選択した計算機の性能値が85であった場合には、補正後のCPU時間は100/85倍になる。S510にて、この補正後の値をもとに、S504で選択したプロセスが、S507で選択した計算機上でデッドラインミスを発生させることなく動作できるかどうかを確認する。
S506において、S505のテーブルに示される全計算機についてS507以下を実施した場合には、割付可能な計算機が見つからなかったということであるため、S504で選択したプロセスのリソース再割付を断念し、S518にてプロセス101を停止させ、S502で作成したテーブルから停止させたプロセス名を削除する。
S511、S513にて、S504で選択したプロセスが動作不可能であった場合には、S506に戻り、次のエントリの計算機についてS507以降の処理を行う。
S521にて、処理時間収集・予測部2bまたは、計算機負荷量収集部5は、デッドラインミスの発生、または計算機の異常、CPU、メモリリソース不足を検出して、移行プロセス決定部3に通知する。この場合の処理時間収集・予測部2bの動作はS11〜S16、計算機負荷量収集部5の動作はS1011〜S1018に示すとおりである。するとS522で、移行プロセス決定部3は、通知の内容を調査する。通知の内容が計算機の故障であればS524にて、故障した計算機上で動作していた全てのプロセス101に対して、資源割当部6eはS501〜S518の手順によりリソースの割当を行う。計算機の故障でなければS525で、移行プロセス決定部3により、デッドラインミス発生の原因と考えられるプロセス、リソース不足発生の原因と考えられるプロセスを見つけ出す。そしてS146にて、S525で見つけたプロセスに対して、資源割当部6eがS501〜S518の手順でリソース割当を行う。リソース割当終了後S527にて、資源割当部6eは、システム構成情報管理テーブル・メモリ7eの、新規にリソース割当を行ったプロセス101の識別子と、そのプロセスが動作する割当先の計算機100、処理に要するCPU時間などに関する情報を書き換える。
51)実施の形態1のシステム構成情報管理テーブルに加え、各プロセスが動作可能な計算機の一覧と、各計算機の性能を示す値を保持するシステム構成情報管理テーブル。
52)実施の形態1の資源割付手段において、移行プロセス決定手段が決定したプロセスが動作可能な計算機をプロセスマイグレーション先となる計算機候補とし、システム構成情報管理テーブルが持つ計算機の性能値を用いて、この計算機候補にプロセスを移行した場合にプロセスが必要とする計算機リソースを算出することにより、十分な空きリソースを持つ計算機にプロセスマイグレーションを行う資源割付手段、を備える。
資源割当部は、再割当の勧告通知を受けると、上記システム構成情報テーブル・メモリを参照して、上記動作可能計算機の識別子と計算機の性能値とを調べてプロセスを候補計算機に割当て実行させることを特徴とする。
このように、システム構成情報管理テーブル・メモリ7eが、各プロセス101が動作可能な計算機名、および、計算機の性能値を示すことにより、システム内の計算機のOSやCPUアーキテクチャ、性能値がそれぞれ異なる場合においても、動作可能な計算機を正しく判別し、CPU時間などを正しく補正し、デッドラインミスが発生しない計算機への割付が可能となる。
デッドラインミス発生予測時間が迫っていても、短時間の内に該当するプロセスを処理する計算機の移行を行って、デッドラインミスの発生を防止する構成と動作を説明する。具体的には、そうしたプロセスを移行すべき計算機を想定して起動をかけておき、待機させる。
本実施の形態におけるリソース動的制御システムの構成を図54に示す。また一つの装置としてまとめた場合の計算機リソース動的制御装置100cの構成を図55に示す。本実施の形態における動的リソース制御システムまたは装置における構成要素は、実施の形態3の構成に加え、レプリカ管理部25をもつ。
その他の本実施の形態における処理時間監視部1、処理時間収集部2(または処理時間収集・予測部2b)、移行プロセス決定部3、計算機負荷監視部4、計算機負荷量収集部5(または計算機負荷量収集・予測部5b)、資源割当部6、システム構成情報管理テーブル・メモリ7、処理時間履歴テーブル・メモリ8ないし計算機状態テーブル・メモリ10、デッドラインミス発生時刻予測部21、計算機負荷予測部22、CPU時間予測部23、メモリ使用量予測部24の構成は実施の形態3と同一である。
本実施の形態におけるレプリカ管理部25は、計算機負荷量収集部5が持つデータを参照し、十分に空きメモリがある計算機100上でレプリカを起動する。そしてデッドラインミスなどが発生すると予測される場合において、資源割当部6がプロセスに資源再割当を行う際に、どの計算機100でプロセスのレプリカが動作しているのかを資源割当部6に通知する役割を持つ。また、レプリカが動作する計算機上でメモリ不足発生が予測される場合には、プロセスのレプリカを停止させる役割を持つ。
図57は、システム運用中に、ある計算機100のメモリが不足した場合のレプリカ管理部25による動作を示した図である。メモリ不足発生時のメモリ使用量予測部24の動作は別途説明する。S601にて、メモリ使用量予測部24より、ある計算機のレプリカ停止要求が届くと、S602にて、指定された計算機100上で動作するレプリカを停止させる。ここで、停止させるレプリカは、全て停止させてもよいし、メモリ使用量の多い順に停止させてもよいし、メモリ使用量の少ない順に停止させてもよい。そしてS603で、レプリカを停止させた計算機以外の計算機のメモリ使用量を計算機負荷量収集部5より取得し、S604で、停止させたレプリカが動作可能だけのメモリ空き容量を持つ計算機100で、レプリカを再起動する。なおS604に関しては、S602で停止させた全レプリカについて実行する。
S624にて、S622のテーブルからプロセス名を1つ取り出し、S625にて、S624のプロセスのレプリカが動作する計算機100の識別子をレプリカ管理部25より取得し、CPU使用率の高い順に並べ、テーブルに保持する。そして、S625で作成したテーブルに示される全計算機についてS627以降を実行する。まずS627にて、S625にて作成したテーブルから計算機名を取り出す。そして、S624で取り出したプロセスがS627で取り出した計算機上で動作できるかどうかを確認する。動作可能であればS631にて、ステップS627で選んだ計算機を割付先として決定し、S632にて、S631で決定した計算機上でプロセスを起動し、元の計算機で動作していたプロセスを停止させる。そしてS633にて、システム構成情報管理テーブル・メモリ7の、プロセスと計算機、現在の処理時間の情報を書き換える。そしてS634にて、S624で取り出したプロセスのレプリカを起動するよう要求する。そしてS636にて、S624で取り出したプロセスの名前をテーブルから削除し、テーブルから他のプロセスを選択して、S623以降を行う。またS629にて、S627で選んだ計算機に十分な空きCPUがなかった場合には、S627に戻り、他の計算機についてS627〜S629を実行する。S625で作成したテーブル内の全ての計算機についてS627〜S629を実行し、かつ割当先が決定しなかった場合には、リソース再割当を断念し、S63にて自プロセスを停止させ、S636にてS624で選択したプロセスをテーブルより削除し、他のプロセスについてS623以降を実施する。なお、レプリカが動作していない場合には、実施の形態3と同一の手順で動作を行うことになる。
S651にて、処理時間収集部2、計算機負荷量収集部5、デッドラインミス発生時刻予測部21、メモリ使用量予測部24が、デッドラインミスの発生、デッドラインミスの発生予測、計算機の異常、CPU・メモリリソース不足、CPU・メモリリソース不足の予測を移行プロセス決定部3に通知する。デッドラインミス発生の検出はS11〜S16の手順で行われ、デッドラインミスの発生予測の検出はS31〜S35の手順で行われる。計算機の異常検出、CPU・メモリリソース不足の検出はS1011〜S1016の手順で行われ、CPUリソース不足の予測はS31〜S35の手順で行われる。メモリリソース不足の予測は、S301〜S305の手順で行われる。するとS652で、移行プロセス決定部3は、通知の内容を調査する。通知の内容が計算機の故障であればS655にて、故障した計算機上で動作していた全てのプロセスに対して、資源割当部6fはS341〜S347の手順でリソースの割当を行う。
計算機の故障でなければS655にて、デッドラインミス発生の原因と考えられるプロセス、リソース不足を発生させた原因と考えられるプロセスに対して、資源割当部6fがS621〜S634の手順でリソース割当を行う。S656にて、リソース割当終了後、資源割当部6fは、システム構成情報管理テーブル・メモリ7の、新規にリソース割当を行ったプロセスの識別子と、そのプロセスが動作する割当先計算機に関する情報などを書き換える。
61)計算機負荷収集手段が持つデータを参照し、十分に空きリソース量がある計算機にプロセスのコピーをあらかじめ起動しておき、プロセスマイグレーションを行うプロセスのコピーが動作する計算機を資源割付手段に通知するレプリカ管理手段。
62)実施の形態3の資源割付手段において、移行プロセス決定手段が決定したプロセスのコピーが動作している計算機をプロセスマイグレーション先となる計算機候補とし、計算機候補の中で十分な空きCPUリソースを持つ計算機にプロセスマイグレーションを行う資源割付手段、を備える。
資源割当部は、再割当の勧告通知を受けると、上記選択した計算機に上記レプリカ管理部で起動をかけていて動作可能であれば、該動作可能な計算機に上記プロセスの割当を実行させることを特徴とする。
このように、レプリカ管理部25によって各プロセスに対して予めそのプロセスのレプリカを起動し、待機させておくことにより、リソース再割当を開始してから実際にプロセスの処理を開始するまでの所要時間を短縮することができ、デッドラインミス発生やメモリ不足発生までの残り時間が短い場合においても短時間で移行処理を完了し、システムのハードリアルタイム処理を継続することが可能になる。
プロセスがパイプライン処理の一部を構成している場合は、パイプライン処理のステージの前後における処理に影響があるので、制約が加わる。こうした場合におけるデッドラインミスの発生は影響が広範囲になるので、適切な原因除去が必要である。本実施の形態においては、こうしたパイプライン処理における移行を説明する。
本実施の形態において、計算機リソース動的制御システムが適用対象とするプロセスの処理形態の一例を図61に示す。図に示すように、1つの入力に対して複数のプロセスが連なって(以下パイプライン処理と呼ぶ)、各プロセスが順々に処理を行うことにより1回の周期処理が完了するものとする。また、この独立したパイプライン処理が複数個存在することにより、システムが構成されるものとする。パイプライン処理を構成する各プロセス101は、同一計算機100上で動作する場合もあれば、それぞれ異なる計算機で動作する場合もある。なお、実施の形態1から実施の形態6で適用対象としているプロセスのように、単一のプロセスで処理が完結する場合は、本実施の形態ではパイプラインの長さ1のパイプライン処理を行っている。
本実施の形態におけるリソース動的制御システムの構成は実施の形態5と同じである。
本実施の形態における処理時間監視部1、計算機負荷監視部4、計算機負荷量収集部5、資源割当部6、処理時間履歴テーブル・メモリ8、計算機負荷履歴テーブル・メモリ9、計算機状態テーブル・メモリ10の役割、構成は実施の形態1と同一であり、詳細説明を省略する。
本実施の形態における処理時間収集部2は、実施の形態1に示す役割のほか、パイプライン処理の先頭の処理を行うプロセスの処理開始時刻、およびパイプライン処理の最後の処理を行うプロセスの処理終了時刻から1回のパイプライン処理に要する時間を求める役割を持つ。また、処理時間履歴テーブル・メモリ8に保有している全プロセスの処理時間の履歴を参照し、システムを構成するパイプライン処理が何回デッドラインミスを発生させているかを調査する。そして、許容可能な回数以上デッドラインミスが発生していた場合には、移行プロセス決定部3に、パイプライン処理において、デッドラインミスが規定回数以上発生している旨を通知する役割を持つ。パイプライン処理のデッドラインミスの回数は、パイプライン処理の先頭の処理を行うプロセスの処理開始時刻とパイプライン処理の最後の処理を行うプロセスの処理終了時刻を取得し、両方の値を引き、システム構成情報管理テーブルに示される「パイプライン処理のデッドライン」の値と比較することにより求められる。これを、処理時間履歴テーブルに示される全てのデータについて行うことになる。
本実施の形態における処理時間収集部2gの動作を図63に示す。S71で、処理時間監視部1からデータを受け取る。そしてS72にて、処理時間履歴テーブル・メモリ8にデータを書き込む。S72で書き込んだデータがパイプライン処理の最後に処理を行うプロセスの処理完了時刻であればS74に進み、パイプライン処理の先頭の処理を行ったプロセスの、同一処理周期における処理開始時刻を求める。S75にて、同様に、パイプライン処理の最後の処理を行ったプロセスの、同一処理周期における処理完了時刻を求める。そしてS76にて、S74とS75から、パイプライン処理の1回の処理時間を求め、デッドラインミスが発生しているかどうかを調べる。デッドラインミスが発生していれば、処理時間履歴テーブル・メモリ8に残されたデータ中に何回デッドラインミスが発生しているのかを調べ、規定回数以上デッドラインミスが発生していれば、移行プロセス決定部3に通知する。そしてS79にて、各プロセスにおける次の周期の処理データを格納するために、処理時間履歴テーブルのエントリを1つ先に勧める。S73にて、書き込んだデータがパイプライン処理の最後に処理を行うプロセスのデータでない場合、またはS76にて、デッドラインミスが発生していなければ、S79に直接進む。
S701にて、処理時間収集部2からパイプライン処理のデッドラインミス通知が届くと、S702にて、デッドラインミスが発生したパイプライン処理を構成するプロセス名の一覧を取得する。そしてS703にて、S702で取得した全プロセスについて処理時間が大きく増加しているプロセスを見つけ出す。この見つけ出したプロセスをデッドラインミス発生の原因となったプロセスとみなす。デッドラインミス発生の原因となったプロセスは複数ある場合も考えられる。S703で見つけた全プロセスについて、S704以下を実行する。S705にて、S703で見つけ出した各プロセスから1つ選択し、S706にて、そのプロセスが動作する計算機を見つけ出し、S707にて、S704で見つけ出した計算機上で動作する他のプロセスを見つけ出す。そしてS708にて、S706にて見つけ出した計算機が正常に動作するかどうかを調べ、正常に動作するのであれば、S707で見つけたプロセスのうち、CPU時間が最も増加しているプロセス、または、S705のプロセスをリソース再割当の候補とする。この場合、S707において最もCPU時間が増加しているプロセスか、S705のプロセスのどちらかについてリソース再割当ができればよい。そしてS710にて、資源割当部6に通知する。S708にて計算機が正常に動作していなければ、S711に進み、S707で見つけた全てのプロセスをリソース再割当の対象とし、資源割当部6に通知する。
S711で、処理時間収集部2g、または、計算機負荷量収集部5が、パイプライン処理のデッドラインミスの発生、計算機故障、メモリ不足の発生、などを移行プロセス決定部3に通知する。処理時間収集部2gはS71〜S79の手順でデッドラインミスの発生を検出し、計算機負荷量収集部5は、S1011〜S1019の手順で計算機故障、メモリ・CPUリソース不足を検出する。
するとS712で、移行プロセス決定部3gは、通知の内容を解析し、原因が計算機故障であればS716に進み、資源割当部6がS121〜S136の手順で、故障していた計算機上で動作していたプロセスを他の計算機上で再起動させる。原因が故障でなければ、移行プロセス決定部3gがS714にてS701〜S710の手順でデッドラインミス発生、リソース不足の発生の原因と考えられるプロセスを見つけ出し、S715で、そのプロセスに対して、資源割当部6が、S121〜S136の手順でリソースの再割り当てを行う。そしてS717にて、システム構成テーブル・メモリ7gの、リソース再割り当てが行われた計算機などに関する情報を書き換える。
71)実施の形態1のシステム構成情報管理テーブルに加え、1つの周期処理を行うプロセス群、周期処理時間、処理の制限時間、処理名を保持するシステム構成情報管理テーブル。
72)実施の形態1の処理時間収集手段において、複数のプロセスによって構成された一連の処理全体の所要時間を求め、デッドラインミスが発生した場合に移行プロセス決定手段に通知する処理時間収集手段。
73)実施の形態1の移行プロセス決定手段において、処理時間収集手段から通知が届いた場合に、一連の処理を構成する全プロセスの処理時間の変動を調査することによって、デッドラインミス発生の原因となったプロセスを求め、資源割付手段にそのプロセスを通知する移行プロセス決定手段、を備える。
移行プロセス決定部は、デッドラインミスの発生、または発生予測を受けると、上記システム構成情報テーブル・メモリを参照して上記発生の原因となるパイプライン処理のプロセスを特定し、勧告を行うことを特徴とする。
このように、本実施の形態により、複数のプロセスで構成されたパイプライン処理にデッドラインが与えられた場合において、パイプライン処理にデッドラインミスが発生した場合においてもその原因を取り除き、デッドラインミス解消が可能となる。
なお、上記の各実施の形態を組合わせた実施の形態であってもよく、その場合は各実施の形態で述べられた特徴を組合わせた効果が得られる。
Claims (10)
- 対象となるプロセスを処理する計算機を複数台接続して、複数の上記プロセスを連携処理するシステム、に接続して、
各上記計算機のリソースの使用状態を監視して計算機の該リソースの使用状態情報を収集し、該リソースの不足を検出する計算機負荷量収集部と、
上記プロセスの処理時間を監視してプロセスの処理時間を収集し、プロセスの処理限界時間を規定したデッドライン時間を超す処理となるデッドラインミスの発生を検出する処理時間収集部と、
システムで処理される上記プロセスの処理時間と該プロセスの処理で使用する計算機のリソースの使用量とデッドライン時間とをプロセスの識別子と共に記憶し、システムに接続される上記計算機の所有リソース量を計算機の識別子と共に記憶するシステム構成情報テーブル・メモリと、
上記デッドラインミスの発生を検出した通知により上記システム構成情報テーブル・メモリを参照して上記プロセスまたは関連するプロセスの処理を現行の計算機とは異なる計算機に再割当を勧告する移行プロセス決定部と、
上記再割当を勧告する通知を受けて上記システム構成情報テーブル・メモリの上記プロセスの処理時間と上記計算機の所有リソース量とを参照して上記プロセスの処理時間が上記デッドライン時間内となるよう上記再割当を勧告されたプロセスと候補計算機とを抽出し、該抽出したプロセスを該抽出した候補計算機に割当て実行させると同時に上記システム構成情報テーブル・メモリを更新する資源割当部と、を備えたことを特徴とする計算機リソース動的制御装置。 - 計算機によるプロセッサ処理状況の変動を基に、該プロセッサの使用時間を予測するプロセッサ時間予測部と、
計算機のメモリ使用状況の変動を基に、該メモリの必要量を予測するメモリ使用量予測部と、を備え、
計算機負荷量収集部は、計算機リソースの使用状態情報の収集に加えて、上記メモリ使用量と上記プロセッサの使用時間を予測する計算機負荷量収集・予測部を有し、
処理時間収集部は、プロセスの処理時間の収集に加えて、現計算機によるデッドラインミスの発生時刻を予測する処理時間収集・予測部を有し、
移行プロセス決定部は、上記リソースと計算機能力の必要量予測または上記デッドラインミスの発生予測の通知を受けると、該予測に基づいてプロセスの再割当を勧告し、
資源割当部は、上記デッドラインミスの発生時刻の予測と上記計算機負荷量収集・予測部が行う予測とに基づいて、上記勧告されて抽出したプロセスを抽出した候補計算機に割当て実行させることを特徴とする請求項1記載の計算機リソース動的制御装置。 - システム構成情報テーブル・メモリは、プロセスを候補計算機に再割当する再割当所要時間と該候補計算機でプロセスを起動するプロセス起動所要時間とを記憶し、
資源割当部は、上記再割当所要時間とプロセス起動所要時間との和の時間より前の時間に抽出したプロセスを抽出した候補計算機に割当て実行させることを特徴とする請求項1記載の計算機リソース動的制御装置。 - システム構成情報テーブル・メモリは、プロセスの処理優先順位を記憶し、
資源割当部は、現在の計算機ではデッドラインミスの発生が予測されると、上記システム構成情報テーブル・メモリを参照して、プロセスの処理優先順位が高いプロセスを候補計算機に割当て実行させることを特徴とする請求項1記載の計算機リソース動的制御装置。 - システム構成情報テーブル・メモリは、対象プロセスを処理可能な動作可能計算機の識別子と計算機の性能値とを記憶し、
資源割当部は、再割当の勧告通知を受けると、上記システム構成情報テーブル・メモリを参照して、上記動作可能計算機の識別子と計算機の性能値とを調べてプロセスを候補計算機に割当て実行させることを特徴とする請求項1記載の計算機リソース動的制御装置。 - 選択した計算機に所定のプロセスの処理起動をかけて、及びプロセスの処理終了をさせて、これらの状態を管理するレプリカ管理部を備えて、
資源割当部は、再割当の勧告通知を受けると、上記選択した計算機に上記レプリカ管理部で起動をかけていて動作可能であれば、該動作可能な計算機に上記プロセスの割当を実行させることを特徴とする請求項1記載の計算機リソース動的制御装置。 - システム構成情報テーブル・メモリは、パイプライン処理を構成するプロセス名とデッドライン時間を記憶し、
移行プロセス決定部は、デッドラインミスの発生、または発生の予測通知を受けると、上記システム構成情報テーブル・メモリを参照して上記発生の原因となるパイプライン処理のプロセスを特定し、勧告を行うことを特徴とする請求項1または請求項2記載の計算機リソース動的制御装置。 - 計算機のリソースの使用状態を監視して計算機負荷量収集部に該計算機のリソースの使用状態情報を送信する計算機負荷監視部と、
プロセスの処理時間を監視して処理時間収集部に該プロセスの処理時間を送信する処理時間監視部と、を備えたことを特徴とする請求項1または請求項2記載の計算機リソース動的制御装置。 - 対象となるプロセスを処理する計算機を複数台接続して、複数の上記プロセスを連携処理するシステム、に接続される上記計算機であって、
各上記計算機のリソースの使用状態を監視して計算機の該リソースの使用状態情報を収集し、該リソースの不足を検出する計算機負荷量収集部と、
上記プロセスの処理時間を監視してプロセスの処理時間を収集し、プロセスの処理限界時間を規定したデッドライン時間を超す処理となるデッドラインミスの発生を検出する処理時間収集部と、
システムで処理される上記プロセスの処理時間と該プロセスの処理で使用する計算機のリソースの使用量とデッドライン時間とをプロセスの識別子と共に記憶し、システムに接続される上記計算機の所有リソース量を計算機の識別子と共に記憶するシステム構成情報テーブル・メモリと、
上記デッドラインミスの発生の通知により上記システム構成情報テーブル・メモリを参照して上記プロセスの処理を現行の計算機とは異なる計算機に再割当を勧告する移行プロセス決定部と、
上記再割当の勧告通知を受けて上記システム構成情報テーブル・メモリの上記プロセスの処理時間と上記計算機の所有リソース量とを参照して上記プロセスの処理時間が上記デッドライン時間内となるようプロセスと候補計算機とを抽出し、該抽出したプロセスを該抽出した候補計算機に割当て実行させると同時に上記システム構成情報テーブル・メモリを更新する資源割当部と、の各構成要素をいずれか一つ、または複数の上記構成要素を分担して備える計算機群で構成され、
該計算機群が、全体として上記構成要素を全て含むシステムとなることを特徴とする計算機リソース動的制御システム。 - 対象となるプロセスを処理する計算機を複数台接続して、複数の上記プロセスを連携処理するシステム、における制御方法において、
計算機負荷量収集部が、各上記計算機のリソースの使用状態を監視して、上記計算機のリソースの使用状態情報を収集し、該リソースの不足を検出する計算機負荷量収集ステップと、
処理時間収集部が、上記プロセスの処理時間を監視して、上記プロセスの処理時間を収集し、プロセスの処理限界時間を規定したデッドライン時間を超す処理となるデッドラインミスの発生を検出する処理時間収集ステップと、
システムで処理される上記プロセスの処理時間と該プロセスの処理で使用する計算機のリソースの使用量とデッドライン時間とをプロセスの識別子と共に記憶し、システムに接続される上記計算機の所有リソース量を計算機の識別子と共に記憶するシステム構成情報テーブル・メモリ、を参照して、
移行プロセス決定部が、上記デッドラインミスの発生を検出した通知により上記プロセスまたは関連するプロセスの処理を現行の計算機とは異なる計算機に再割当を勧告する移行プロセス決定ステップと、
資源割当部が、上記再割当を勧告する通知を受けて上記システム構成情報テーブル・メモリの上記プロセスの処理時間と上記計算機の所有リソース量とを参照して上記プロセスの処理時間が上記デッドライン時間内となるよう上記再割当を勧告されたプロセスと候補計算機とを抽出し、該抽出したプロセスを該抽出した候補計算機に割当て実行させると同時に上記システム構成情報テーブル・メモリを更新する資源割当ステップと、を備えたことを特徴とする計算機リソース動的制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006047704A JP4523921B2 (ja) | 2006-02-24 | 2006-02-24 | 計算機リソース動的制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006047704A JP4523921B2 (ja) | 2006-02-24 | 2006-02-24 | 計算機リソース動的制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007226587A true JP2007226587A (ja) | 2007-09-06 |
JP4523921B2 JP4523921B2 (ja) | 2010-08-11 |
Family
ID=38548345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006047704A Expired - Fee Related JP4523921B2 (ja) | 2006-02-24 | 2006-02-24 | 計算機リソース動的制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4523921B2 (ja) |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009199349A (ja) * | 2008-02-21 | 2009-09-03 | Canon Inc | 情報処理装置及びその制御方法、プログラム |
JP2009211620A (ja) * | 2008-03-06 | 2009-09-17 | Hitachi Information Systems Ltd | 仮想環境複製方法とシステムおよびプログラム |
JP2010015192A (ja) * | 2008-06-30 | 2010-01-21 | Hitachi Ltd | 情報処理システムおよびそのシステムにおける省電力制御方法 |
JP2010079670A (ja) * | 2008-09-26 | 2010-04-08 | Oki Electric Ind Co Ltd | Sipアプリケーションサーバのロードバランサおよびその動作方法 |
JP2010277589A (ja) * | 2009-05-28 | 2010-12-09 | Palo Alto Research Center Inc | データ・センタのバッチ・ジョブのサービスの質コントロール |
JP2010282533A (ja) * | 2009-06-08 | 2010-12-16 | Mitsubishi Electric Corp | 計算機システム、計算機リソース制御方法および計算機リソース制御プログラム |
JP2011044464A (ja) * | 2009-08-19 | 2011-03-03 | Nuflare Technology Inc | 荷電粒子ビーム描画装置、荷電粒子ビーム描画方法、および、荷電粒子ビーム描画用データの処理装置 |
JP2011249509A (ja) * | 2010-05-26 | 2011-12-08 | Nuflare Technology Inc | 荷電粒子ビーム描画装置およびその制御方法 |
WO2012001835A1 (ja) * | 2010-07-02 | 2012-01-05 | パナソニック株式会社 | マルチプロセッサシステム |
JP2012003653A (ja) * | 2010-06-21 | 2012-01-05 | Mitsubishi Electric Corp | 計算機システム及びコンピュータプログラム及びパイプライン処理方法 |
JP2012043409A (ja) * | 2010-08-20 | 2012-03-01 | Internatl Business Mach Corp <Ibm> | データ・ストリームを処理するためのコンピュータ実装方法、システム及びコンピュータ・プログラム |
JP2013502642A (ja) * | 2009-08-18 | 2013-01-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | イベント・ドリブン・システムにおける非集中負荷分散の方法およびコンピュータ・プログラム |
WO2013018289A1 (ja) * | 2011-08-04 | 2013-02-07 | 日本電気株式会社 | 計算機および性能データ収集方法 |
WO2013030908A1 (ja) * | 2011-08-26 | 2013-03-07 | 富士通株式会社 | スケジューリングシステム、データ処理システムおよびスケジューリング方法 |
JP2013196576A (ja) * | 2012-03-22 | 2013-09-30 | Nec Corp | 情報処理装置、情報処理方法及び情報処理プログラム |
US8881157B2 (en) | 2009-09-11 | 2014-11-04 | Empire Technology Development Llc | Allocating threads to cores based on threads falling behind thread completion target deadline |
JPWO2013008325A1 (ja) * | 2011-07-13 | 2015-02-23 | 富士通株式会社 | マルチコアプロセッサシステム、および制御方法 |
US9189282B2 (en) | 2009-04-21 | 2015-11-17 | Empire Technology Development Llc | Thread-to-core mapping based on thread deadline, thread demand, and hardware characteristics data collected by a performance counter |
US9569270B2 (en) | 2009-04-21 | 2017-02-14 | Empire Technology Development Llc | Mapping thread phases onto heterogeneous cores based on execution characteristics and cache line eviction counts |
JP2018511850A (ja) * | 2015-02-03 | 2018-04-26 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | Cpuリソースを割り当てる装置、デバイス及び方法 |
JP2018147339A (ja) * | 2017-03-08 | 2018-09-20 | 日本電気株式会社 | システム管理装置、システム管理方法、プログラム、情報処理システム |
JP2019003568A (ja) * | 2017-06-19 | 2019-01-10 | Necネクサソリューションズ株式会社 | 処理計画装置、処理計画方法及びプログラム |
KR20200023660A (ko) * | 2018-08-13 | 2020-03-06 | 인천대학교 산학협력단 | 딥러닝 모델을 통한 추론 서비스를 제공할 때, 적어도 하나의 프로세서의 성능을 제어하는 전자 장치 및 그의 동작 방법 |
US10718862B2 (en) | 2017-01-17 | 2020-07-21 | Denso Ten Limited | Radar device and target detecting method |
EP3764229A1 (en) | 2019-07-08 | 2021-01-13 | Fujitsu Limited | Information processing program, information processing method, and information processing apparatus |
US20220229696A1 (en) * | 2019-12-12 | 2022-07-21 | Mitsubishi Electric Corporation | Data processing execution device, data processing execution method and computer readable medium |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08272627A (ja) * | 1995-03-30 | 1996-10-18 | Ricoh Co Ltd | リアルタイムタスク制御装置 |
JPH0944095A (ja) * | 1995-07-25 | 1997-02-14 | Seiji Sakai | 車用磁気プレート広告具 |
JPH09231181A (ja) * | 1996-02-28 | 1997-09-05 | Mitsubishi Electric Corp | 並列計算機における動的負荷分散方法 |
JP2001236236A (ja) * | 2000-02-25 | 2001-08-31 | Nec Microsystems Ltd | タスク制御装置およびそのタスクスケジューリング方法 |
JP2002073354A (ja) * | 2000-08-29 | 2002-03-12 | Ricoh Co Ltd | タスク制御装置とタスク制御方法 |
JP2002108839A (ja) * | 2000-09-28 | 2002-04-12 | Mitsubishi Electric Corp | 通信ネットワークシステム、ジョブ割当方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2002342097A (ja) * | 2001-05-17 | 2002-11-29 | Matsushita Electric Ind Co Ltd | タスク割当可能時間決定装置及びタスク割当可能時間決定方法 |
JP2003248591A (ja) * | 2002-02-22 | 2003-09-05 | Advanced Telecommunication Research Institute International | タスクスケジューリング方法 |
JP2004038518A (ja) * | 2002-07-03 | 2004-02-05 | Hitachi Ltd | オブジェクト障害回復方法 |
WO2004092934A1 (ja) * | 2003-04-17 | 2004-10-28 | Matsushita Electric Industrial Co., Ltd. | 起動時間短縮装置および電子機器 |
JP2005284351A (ja) * | 2004-03-26 | 2005-10-13 | Toshiba Corp | リアルタイムスケジューリング可能性判定方法およびリアルタイムシステム |
-
2006
- 2006-02-24 JP JP2006047704A patent/JP4523921B2/ja not_active Expired - Fee Related
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08272627A (ja) * | 1995-03-30 | 1996-10-18 | Ricoh Co Ltd | リアルタイムタスク制御装置 |
JPH0944095A (ja) * | 1995-07-25 | 1997-02-14 | Seiji Sakai | 車用磁気プレート広告具 |
JPH09231181A (ja) * | 1996-02-28 | 1997-09-05 | Mitsubishi Electric Corp | 並列計算機における動的負荷分散方法 |
JP2001236236A (ja) * | 2000-02-25 | 2001-08-31 | Nec Microsystems Ltd | タスク制御装置およびそのタスクスケジューリング方法 |
JP2002073354A (ja) * | 2000-08-29 | 2002-03-12 | Ricoh Co Ltd | タスク制御装置とタスク制御方法 |
JP2002108839A (ja) * | 2000-09-28 | 2002-04-12 | Mitsubishi Electric Corp | 通信ネットワークシステム、ジョブ割当方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2002342097A (ja) * | 2001-05-17 | 2002-11-29 | Matsushita Electric Ind Co Ltd | タスク割当可能時間決定装置及びタスク割当可能時間決定方法 |
JP2003248591A (ja) * | 2002-02-22 | 2003-09-05 | Advanced Telecommunication Research Institute International | タスクスケジューリング方法 |
JP2004038518A (ja) * | 2002-07-03 | 2004-02-05 | Hitachi Ltd | オブジェクト障害回復方法 |
WO2004092934A1 (ja) * | 2003-04-17 | 2004-10-28 | Matsushita Electric Industrial Co., Ltd. | 起動時間短縮装置および電子機器 |
JP2005284351A (ja) * | 2004-03-26 | 2005-10-13 | Toshiba Corp | リアルタイムスケジューリング可能性判定方法およびリアルタイムシステム |
Cited By (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009199349A (ja) * | 2008-02-21 | 2009-09-03 | Canon Inc | 情報処理装置及びその制御方法、プログラム |
US8230420B2 (en) | 2008-02-21 | 2012-07-24 | Canon Kabushiki Kaisha | Apparatus for transferring a virtual machine using stored correspondence information |
JP2009211620A (ja) * | 2008-03-06 | 2009-09-17 | Hitachi Information Systems Ltd | 仮想環境複製方法とシステムおよびプログラム |
JP2010015192A (ja) * | 2008-06-30 | 2010-01-21 | Hitachi Ltd | 情報処理システムおよびそのシステムにおける省電力制御方法 |
US8200995B2 (en) | 2008-06-30 | 2012-06-12 | Hitachi, Ltd. | Information processing system and power-save control method for use in the system |
JP2010079670A (ja) * | 2008-09-26 | 2010-04-08 | Oki Electric Ind Co Ltd | Sipアプリケーションサーバのロードバランサおよびその動作方法 |
US9569270B2 (en) | 2009-04-21 | 2017-02-14 | Empire Technology Development Llc | Mapping thread phases onto heterogeneous cores based on execution characteristics and cache line eviction counts |
US9189282B2 (en) | 2009-04-21 | 2015-11-17 | Empire Technology Development Llc | Thread-to-core mapping based on thread deadline, thread demand, and hardware characteristics data collected by a performance counter |
JP2010277589A (ja) * | 2009-05-28 | 2010-12-09 | Palo Alto Research Center Inc | データ・センタのバッチ・ジョブのサービスの質コントロール |
JP2010282533A (ja) * | 2009-06-08 | 2010-12-16 | Mitsubishi Electric Corp | 計算機システム、計算機リソース制御方法および計算機リソース制御プログラム |
JP2013502642A (ja) * | 2009-08-18 | 2013-01-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | イベント・ドリブン・システムにおける非集中負荷分散の方法およびコンピュータ・プログラム |
JP2011044464A (ja) * | 2009-08-19 | 2011-03-03 | Nuflare Technology Inc | 荷電粒子ビーム描画装置、荷電粒子ビーム描画方法、および、荷電粒子ビーム描画用データの処理装置 |
US8881157B2 (en) | 2009-09-11 | 2014-11-04 | Empire Technology Development Llc | Allocating threads to cores based on threads falling behind thread completion target deadline |
JP2011249509A (ja) * | 2010-05-26 | 2011-12-08 | Nuflare Technology Inc | 荷電粒子ビーム描画装置およびその制御方法 |
US9188853B2 (en) | 2010-05-26 | 2015-11-17 | Nuflare Technology, Inc. | Charged particle beam drawing apparatus and control method thereof |
JP2012003653A (ja) * | 2010-06-21 | 2012-01-05 | Mitsubishi Electric Corp | 計算機システム及びコンピュータプログラム及びパイプライン処理方法 |
JP5653431B2 (ja) * | 2010-07-02 | 2015-01-14 | パナソニックIpマネジメント株式会社 | マルチプロセッサシステム |
US9170841B2 (en) | 2010-07-02 | 2015-10-27 | Panasonic Intellectual Property Management Co., Ltd. | Multiprocessor system for comparing execution order of tasks to a failure pattern |
WO2012001835A1 (ja) * | 2010-07-02 | 2012-01-05 | パナソニック株式会社 | マルチプロセッサシステム |
JP2012043409A (ja) * | 2010-08-20 | 2012-03-01 | Internatl Business Mach Corp <Ibm> | データ・ストリームを処理するためのコンピュータ実装方法、システム及びコンピュータ・プログラム |
JPWO2013008325A1 (ja) * | 2011-07-13 | 2015-02-23 | 富士通株式会社 | マルチコアプロセッサシステム、および制御方法 |
US9547576B2 (en) | 2011-07-13 | 2017-01-17 | Fujitsu Limited | Multi-core processor system and control method |
JP5534108B2 (ja) * | 2011-08-04 | 2014-06-25 | 日本電気株式会社 | 計算機および性能データ収集方法 |
WO2013018289A1 (ja) * | 2011-08-04 | 2013-02-07 | 日本電気株式会社 | 計算機および性能データ収集方法 |
WO2013030908A1 (ja) * | 2011-08-26 | 2013-03-07 | 富士通株式会社 | スケジューリングシステム、データ処理システムおよびスケジューリング方法 |
JP2013196576A (ja) * | 2012-03-22 | 2013-09-30 | Nec Corp | 情報処理装置、情報処理方法及び情報処理プログラム |
JP2018511850A (ja) * | 2015-02-03 | 2018-04-26 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | Cpuリソースを割り当てる装置、デバイス及び方法 |
US10718862B2 (en) | 2017-01-17 | 2020-07-21 | Denso Ten Limited | Radar device and target detecting method |
JP2018147339A (ja) * | 2017-03-08 | 2018-09-20 | 日本電気株式会社 | システム管理装置、システム管理方法、プログラム、情報処理システム |
US11362890B2 (en) | 2017-03-08 | 2022-06-14 | Nec Corporation | System management device, system management method, program, and information processing system |
JP2019003568A (ja) * | 2017-06-19 | 2019-01-10 | Necネクサソリューションズ株式会社 | 処理計画装置、処理計画方法及びプログラム |
JP7074286B2 (ja) | 2017-06-19 | 2022-05-24 | Necネクサソリューションズ株式会社 | 処理計画装置、処理計画方法及びプログラム |
KR20200023660A (ko) * | 2018-08-13 | 2020-03-06 | 인천대학교 산학협력단 | 딥러닝 모델을 통한 추론 서비스를 제공할 때, 적어도 하나의 프로세서의 성능을 제어하는 전자 장치 및 그의 동작 방법 |
KR102159953B1 (ko) | 2018-08-13 | 2020-09-25 | 인천대학교 산학협력단 | 딥러닝 모델을 통한 추론 서비스를 제공할 때, 적어도 하나의 프로세서의 성능을 제어하는 전자 장치 및 그의 동작 방법 |
EP3764229A1 (en) | 2019-07-08 | 2021-01-13 | Fujitsu Limited | Information processing program, information processing method, and information processing apparatus |
US11720397B2 (en) | 2019-07-08 | 2023-08-08 | Fujitsu Limited | Information processing method and apparatus to migrate tasks between resources |
US20220229696A1 (en) * | 2019-12-12 | 2022-07-21 | Mitsubishi Electric Corporation | Data processing execution device, data processing execution method and computer readable medium |
Also Published As
Publication number | Publication date |
---|---|
JP4523921B2 (ja) | 2010-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4523921B2 (ja) | 計算機リソース動的制御装置 | |
JP7409622B2 (ja) | 計算機システム及び方法 | |
US8191069B2 (en) | Method of monitoring performance of virtual computer and apparatus using the method | |
US10055252B2 (en) | Apparatus, system and method for estimating data transfer periods for job scheduling in parallel computing | |
JP6437656B2 (ja) | ストレージ装置、ストレージシステム、ストレージシステムの制御方法 | |
US11194569B2 (en) | Method, electronic device and medium for upgrading a hyper-converged infrastructure node | |
JP2007286860A (ja) | データ転送方法及び情報処理装置 | |
JP2004246852A (ja) | 論理ボリュームコピー先性能調整方法及び装置 | |
JP5323554B2 (ja) | ジョブ処理方法、ジョブ処理プログラムを格納したコンピュータ読み取り可能な記録媒体、および、ジョブ処理システム | |
CN111343219B (zh) | 计算服务云平台 | |
JP2007018407A (ja) | データ複製システム | |
US11212174B2 (en) | Network management device and network management method | |
JPWO2009069385A1 (ja) | デバイス検出装置、デバイス検出方法及びプログラム | |
JP5169117B2 (ja) | データストリーム解析システム、およびそれに用いる装置、方法並びにプログラム | |
JP2013148938A (ja) | 情報処理装置及び情報処理システム | |
JP5617586B2 (ja) | 情報処理プログラム、中継装置及び中継管理装置 | |
JP5782962B2 (ja) | Raidグループ制御装置 | |
US20100085870A1 (en) | Global detection of resource leaks in a multi-node computer system | |
JP2009123238A (ja) | 制御装置、計算機システム、制御装置のプロセス制御方法、計算機システムの計算機制御方法、計算機制御プログラムおよびプロセス制御プログラム | |
JP2008027162A (ja) | データ記録装置およびデータ記録プログラム | |
WO2004084095A9 (ja) | 情報検索システム | |
JP4408122B2 (ja) | 計算機システム、計算機システムの計算機制御方法および計算機制御プログラム | |
JP2010218235A (ja) | アーカイブ装置、分散管理装置および分散管理プログラム | |
JP6701846B2 (ja) | 管理装置、バックアップシステム、バックアップ管理方法、プログラム | |
JP2024007858A (ja) | 情報処理装置、及び情報処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080810 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100309 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100427 |
|
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: 20100525 |
|
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: 20100528 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4523921 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: 20130604 Year of fee payment: 3 |
|
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 |