JP4370313B2 - 制御装置、制御装置のプロセス制御方法およびプロセス制御プログラム - Google Patents
制御装置、制御装置のプロセス制御方法およびプロセス制御プログラム Download PDFInfo
- Publication number
- JP4370313B2 JP4370313B2 JP2006188821A JP2006188821A JP4370313B2 JP 4370313 B2 JP4370313 B2 JP 4370313B2 JP 2006188821 A JP2006188821 A JP 2006188821A JP 2006188821 A JP2006188821 A JP 2006188821A JP 4370313 B2 JP4370313 B2 JP 4370313B2
- Authority
- JP
- Japan
- Prior art keywords
- computer
- time
- unit
- resource
- cpu
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Hardware Redundancy (AREA)
Description
また、上記の従来例1では、主としてデータの大きさ、値をもとにして次の処理時間を予測しているが、データの大きさによって処理時間が決定する訳ではない。更に各プロセス様々なデータを受信するが、データの内容はプロセスが受け取る直前まで不明である場合が多くて、事前の予測はできない。このような理由から、従来例1の手法で次の周期処理時間を予測することは不可能である。
また従来例2では、やはりプロセスの量を大きさで区切って単位化して管理するだけであり、プロセスの内容や質により計算機を割当てたり、計算機の環境により処理量を変えたりはしないので、やはりデッドラインミスが発生し続けることを防げない、という課題がある。
また、過去のプロセスの処理時間からプロセスの将来の処理時間を予測し、将来デッドラインミスが発生すると予測された場合には、プロセスマイグレーションやアプリケーションプログラムの停止を行うことによってプロセスのデッドラインミスの発生を未然に防ぐことを目的とする。
図1は、実施の形態1における計算機システム200の構成図である。
実施の形態1における計算機システム200の構成について、図1に基づいて以下に説明する。
以下、所定時間内に終了しないことをデッドラインミスが発生したと言う。
このアプリケーションプログラムは順次に処理される複数のプロセスからなり、計算機システム200は、各プロセスをそれぞれ任意の計算機で順次に処理することにより、アプリケーションプログラムを実行する。
プロセスは周期的に実行され、アプリケーションプログラムの処理にデッドラインミスが発生した状態とは、プロセスの実行が周期内に終了しない状態のことである。
また、プロセスの実行に必要なリソース使用量(例えば、CPU使用時間、メモリ使用量)は処理するデータ量・データ内容などに従って変動し、リソース使用量が確保できない場合、当該プロセスの実行は周期内に終了しない。
また、プロセスは特定の優先度を持ち、アプリケーションプログラムは特定の重要度を持つ。プロセスの優先度は、同時間帯に実行する複数のプロセス間における各プロセスの実行順序を示し、優先度が高いプロセスは優先度が低いプロセスより先に実行される。また、アプリケーションプログラムの重要度はアプリケーションプログラムの実行終了の必須度を示し、いずれかのアプリケーションプログラムを停止しなければならない状況において、重要度が低いアプリケーションプログラムは重要度が高いアプリケーションプログラムより先に停止される。
また、プロセスは所定の数のサブプロセスに分割することができる。サブプロセスの優先度はプロセスの優先度と同じである。
また、制御装置300は、プロセス制御に際して、CPU(Central Processing Unit)使用率の低い計算機210が計算機システム200に存在するようにすることを目的とする。つまり、制御装置300は、計算機システム200内の少なくともいずれかの計算機210になるべく大きなCPU空き時間を与えるように、プロセス制御を実行する。
また、制御装置300は、デッドラインミスの発生を防止するために重要度の低いアプリケーションプログラムを停止しなければならないという状況をなるべく避けるように、プロセス制御を行うことを目的とする。つまり、制御装置300は全アプリケーションプログラムを実行することを目的とする。
ここで、プロセス制御前は、計算機210aがプロセスa、プロセスAを実行し、計算機210bがプロセスbを実行し、計算機210cがプロセスcを実行し、計算機210dがプロセスdを実行し、計算機210eがプロセスeを実行し、計算機210fがプロセスfを実行する予定であったものとする。
また、非終了プロセス以外のプロセスであり、他の計算機210に移行されるプロセスを「移行プロセス(特定プロセス)」とする。上記例2におけるプロセスcと上記例3におけるプロセスdとは移行プロセスの一例である。
また、非終了プロセス以外のプロセスであり、停止されるプロセスを「停止プロセス(特定第2プロセス)」とする。上記例4におけるプロセスAと上記例5におけるプロセスfとは停止プロセスの一例である。
また、非終了プロセスの移行先の計算機210を「非終了プロセス移行先計算機」とする。上記例1における計算機210bは非終了プロセス移行先計算機の一例である。
また、移行プロセスの移行元の計算機210を「移行プロセス移行元計算機(特定プロセス移行元計算機)」とする。「移行プロセス移行元計算機」は「非終了プロセス移行先計算機」にもなる。上記例2における計算機210cと上記例3における計算機210dとは移行プロセス移行元計算機の一例である。
また、移行プロセスの移行先の計算機210を「移行プロセス移行先計算機(特定プロセス移行先計算機)」とする。上記例2における計算機210aと上記例3における計算機210eとは移行プロセス移行先計算機の一例である。
また、停止プロセスを停止する計算機210を「プロセス停止計算機(特定第2プロセス計算機)」とする。「プロセス停止計算機」は「非終了プロセス移行先計算機」にもなる。上記例4における計算機210aと上記例5における計算機210fとはプロセス停止計算機の一例である。
また、「プロセスの移行」は、例えば、移行先の計算機210にプロセスを起動させて当該プロセスをCPUによる実行待ち状態にすることや、移行先の計算機210にプロセスを特定の周期で実行するようにメモリにスケジュール設定させることや、プロセスの実行に用いられる制御情報を移行元の計算機210のメモリから移行先の計算機210のメモリにコピーすることを意味する。また、「プロセスの移行」は移行先の計算機210にCPUを用いてプロセスを実行させることを意味する。「プロセスの移行」が行われることにより当該プロセスは、それ以降または特定の時間帯において移行先の計算機210に実行される。
図2において、制御装置300、計算機210は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、通信ボード915、表示装置901、キーボード902、マウス903、FDD904(Flexible・Disk・ Drive)、CDD905(コンパクトディスク装置)、プリンタ装置906、スキャナ装置907、マイク908、スピーカー909、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶機器、記憶装置あるいは記憶部の一例である。
通信ボード915、キーボード902、スキャナ装置907、FDD904などは、入力機器、入力装置あるいは入力部の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力機器、出力装置あるいは出力部の一例である。
磁気ディスク装置920には、OS921(オペレーティングシステム)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、OS921、ウィンドウシステム922により実行される。
ファイル群924には、実施の形態において、「〜部」の機能を実行した際の「〜の判定結果」、「〜の計算結果」、「〜の処理結果」などの結果データ、「〜部」の機能を実行するプログラム間で受け渡しするデータ、その他の情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、実施の形態において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disc)等の記録媒体に記録される。また、データや信号値は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
制御装置300は発生時間帯予測部310、リソース有無判定部320、非終了プロセス移行部330、移行プロセス移行部340、停止プロセス停止部350、非終了プロセス停止部360、制御対象時刻設定部370、リソース情報取得部380、制御装置記憶部390を備える。
条件a)非終了プロセスを実行した場合
条件b1)実行する予定の特定プロセスの代わりに非終了プロセスを実行した場合
条件b2)条件b1の特定プロセスを実行した場合(条件b1の特定プロセスを実行する予定の計算機を除く)
条件c)実行する予定の特定第2プロセスを停止して非終了プロセスを実行した場合
前記移行プロセス移行元計算機は、上記条件b1において非終了プロセスの発生時間帯に空きリソースを有するものである。
前記移行プロセス移行先計算機は、上記条件b2において非終了プロセスの発生時間帯に空きリソースを有するものである。
前記プロセス停止計算機は、上記条件cにおいて非終了プロセスの発生時間帯に空きリソースを有するものである。
前記停止プロセスは、上記条件cにおいて非終了プロセスの発生時間帯に空きリソースを有する計算機が存在する場合の特定第2プロセスのことである。
条件A)リソース有無判定部320が非終了プロセス移行先計算機が有ると判定した場合
条件B1)非終了プロセス移行部330が非終了プロセス移行先計算機に非終了プロセスを実行できない場合
条件B2)リソース有無判定部320が移行プロセス移行元計算機が有ると判定した場合
条件B3)リソース有無判定部320が移行プロセス移行先計算機が有ると判定した場合
条件C1)非終了プロセス移行部330が非終了プロセス移行先計算機に非終了プロセスを実行できない場合
条件C2)移行プロセス移行部340が移行プロセス移行元計算機に移行プロセスのかわりに非終了プロセスを実行できない場合
条件C3)リソース有無判定部320がプロセス停止計算機が有ると判定した場合
条件D1)非終了プロセス移行部330が非終了プロセス移行先計算機に非終了プロセスを実行できない場合
条件D2)移行プロセス移行部340が移行プロセス移行元計算機に移行プロセスのかわりに非終了プロセスを実行できない場合
条件D3)停止プロセス停止部350がプロセス停止計算機に停止プロセスの停止と非終了プロセスの実行とをできない場合
・各計算機210が過去に実行した各プロセスについてのリソース情報(リソース情報は各プロセスのリソース使用量の履歴を示す)
・リソース情報に基づいて予測された非終了プロセスの発生時間帯
・リソース情報に基づいて予測された各プロセスの今後のリソース使用量
・プロセスが所定時間内に終了するか否かの判定基準とする所定のリソース量(以下、リソース基準量とする)
・所定のプロセスの周期
・所定のプロセスの優先度
・所定のプロセスの有効分割数
・所定のアプリケーションプログラムの重要度
・制御対象時刻
・制御対象目標時刻
実施の形態1における制御装置300が実行するプロセス制御処理について、図4に基づいて以下に説明する。
「〜部」で説明する制御装置300の各構成要素は以下の処理をCPU911を用いて実行する。
発生時間帯予測部310は、複数の計算機210により実行される複数のプロセスについて、所定時間内に終了しない非終了プロセスが発生する発生時間帯をCPU911を用いて予測する。
例えば、発生時間帯予測部310は、制御装置記憶部390からリソース情報とリソース基準量とを取得し、取得したリソース情報が示す過去に使用されたリソースの変化量に基づいて各プロセスの今後のリソース使用量を予測する。そして、発生時間帯予測部310は取得したリソース基準量と予測したリソース使用量とを比較し、予測したリソース使用量がリソース基準量より大きい値になる時間帯を非終了プロセスの発生時間帯として算出する。算出した発生時間帯は非終了プロセスになる時間帯が何回目の周期であるかを示す。但し、時間帯は時刻を示しても構わない。
例えば、発生時間帯予測部310は以下のようにして非終了プロセスの発生時間帯を算出する。
ここで、プロセスaの周期が50ミリ秒であり、過去のCPU使用時間(リソース使用量の一例)が「1回目:19ミリ秒(処理開始時刻:10時10分10秒050ミリ秒)」、「2回目:29ミリ秒(処理開始時刻:10時10分10秒100ミリ秒)」、「3回目:39ミリ秒(処理開始時刻:10時10分10秒150ミリ秒)」であり、CPU基準時間(リソース基準量の一例)が50ミリ秒であるものとする。
発生時間帯予測部310はプロセスaのx回目の周期におけるCPU使用時間yを近似式「y=1回目のCPU使用時間+(x×変化量)」で算出する。そして、発生時間帯予測部310はCPU使用時間yがCPU基準時間を越える周期の回数xを関係式「CPU基準時間<1回目のCPU使用時間+((x−1)×変化量)」で算出し、算出したxを非終了プロセス(プロセスa)の発生時間帯とする。各値を代入すると関係式は「50<19+((x−1)×10)」であるから、この場合の非終了プロセスの発生時間帯は、プロセスaの5回目の周期(処理開始時刻:10時10分10秒250ミリ秒)以降となる。
発生時間帯予測部310は非終了プロセスの発生時間帯における他のプロセスのリソース使用量も予測し、非終了プロセスの発生時間帯、非終了プロセスの発生時間帯における非終了プロセスのリソース使用量および非終了プロセスの発生時間帯における他のプロセスのリソース使用量を制御装置記憶部390に記憶するものとする。
発生時間帯予測部310は今後のリソース使用量を表す近似式を線形方程式で生成してもよいし、非線形方程式で生成してもよい。
非終了プロセス移行部330は、以下の条件Aを満たす場合に、非終了プロセスを非終了プロセス計算機から非終了プロセス移行先計算機に移行する「非終了プロセス移行制御」を実行する。非終了プロセス移行部330は、例えば、前記プロセス制御(例1)を実行する。
条件A)リソース有無判定部320が非終了プロセス移行先計算機が有ると判定した場合
制御装置300は、S2102において非終了プロセス移行部330が非終了プロセス移行制御を実行した場合、プロセス制御処理を終了し、S2102において非終了プロセス移行部330が非終了プロセス移行制御を実行しなかった場合(前記条件B1、C1、D1に該当する)、S2104を処理する。
移行プロセス移行部340は、以下の条件B2とB3とを満たす場合に、移行プロセスを移行プロセス移行元計算機から移行プロセス移行先計算機に移行すると共に非終了プロセスを非終了プロセス計算機から移行プロセス移行元計算機に移行する「移行プロセス移行制御」を実行する。移行プロセス移行部340は、例えば、前記プロセス制御(例2、例3)を実行する。
条件B2)リソース有無判定部320が移行プロセス移行元計算機が有ると判定した場合
条件B3)リソース有無判定部320が移行プロセス移行先計算機が有ると判定した場合
制御装置300は、S2104において移行プロセス移行部340が移行プロセス移行制御を実行した場合、プロセス制御処理を終了し、S2104において移行プロセス移行部340が移行プロセス移行制御を実行しなかった場合(前記条件C2、D2に該当する)、S2106を処理する。
停止プロセス停止部350は、以下の条件C3を満たす場合に、プロセス停止計算機の停止プロセスを停止すると共に非終了プロセスを非終了プロセス計算機からプロセス停止計算機に移行する「停止プロセス停止制御」を実行する。停止プロセス停止制御を実行する場合、停止プロセス停止部350は非終了プロセスを含むアプリケーションより重要度の低いアプリケーションの各プロセスを停止する。停止プロセス停止部350は、例えば、前記プロセス制御(例4、例5)を実行する。
条件C3)リソース有無判定部320がプロセス停止計算機が有ると判定した場合
制御装置300は、S2106において停止プロセス停止部350が停止プロセス停止制御を実行した場合、プロセス制御処理を終了し、S2106において停止プロセス停止部350が停止プロセス停止制御を実行しなかった場合(前記条件D3に該当する)、S2108を処理する。
非終了プロセス停止部360は非終了プロセス計算機の非終了プロセスを停止する「非終了プロセス停止制御」を実行する。
図5は、実施の形態1(詳細例1)における非終了プロセス移行処理S2102、移行プロセス移行処理S2104、停止プロセス停止処理S2106を示すフローチャートである。
前記プロセス制御処理における非終了プロセス移行処理S2102、移行プロセス移行処理S2104、停止プロセス停止処理S2106の詳細例1について、図5に基づいて以下に説明する。
「〜部」で説明する制御装置300の各構成要素は以下の処理をCPU911を用いて実行する。
リソース有無判定部320は、空きリソースをS2101で予測された非終了プロセスの発生時間帯に有する計算機210の有無を判定する。
移行プロセス移行処理S2104の場合、リソース有無判定部320は、以下の条件b1において非終了プロセスの発生時間帯に空きリソースを有する移行プロセス移行元計算機の有無と、以下の条件b2において非終了プロセスの発生時間帯に空きリソースを有する移行プロセス移行先計算機の有無とを判定する。
停止プロセス停止処理S2106の場合、リソース有無判定部320は以下の条件cにおいて非終了プロセスの発生時間帯に空きリソースを有するプロセス停止計算機の有無を判定する。
条件a)非終了プロセスを実行した場合
条件b1)実行する予定の特定プロセスの代わりに非終了プロセスを実行した場合
条件b2)条件b1の特定プロセスを実行した場合(条件b1の特定プロセスを実行する予定の計算機を除く)
条件c)実行する予定の特定第2プロセスを停止して非終了プロセスを実行した場合
制御装置300は、S2201においてリソース有無判定部320が当該計算機210(非終了プロセス移行先計算機、移行プロセス移行元計算機、移行プロセス移行先計算機、プロセス停止計算機)が有ると判定した場合、S2203を処理し、S2201においてリソース有無判定部320が当該計算機210が無いと判定した場合、処理を終了する。
非終了プロセス移行部330が非終了プロセス移行制御を実行し、または、移行プロセス移行部340が移行プロセス移行制御を実行し、または、停止プロセス停止部350が停止プロセス停止制御を実行する。
詳細例2では、「全アプリケーションプログラムの実行」の実現性を向上させるために、プロセスをサブプロセスに分割する例について説明する。
前記プロセス制御処理における非終了プロセス移行処理S2102、移行プロセス移行処理S2104、停止プロセス停止処理S2106の詳細例2について、図6に基づいて以下に説明する。
「〜部」で説明する制御装置300の各構成要素は以下の処理をCPU911を用いて実行する。
リソース有無判定部320は、前記S2201と同様に、当該計算機210(非終了プロセス移行先計算機、移行プロセス移行元計算機、移行プロセス移行先計算機、プロセス停止計算機)の有無を判定する。
制御装置300は、S2301においてリソース有無判定部320が当該計算機210が有ると判定した場合、S2305を処理し、S2301においてリソース有無判定部320が当該計算機210が無いと判定した場合、S2303を処理する。
非終了プロセス移行部330、移行プロセス移行部340または停止プロセス停止部350は、制御装置記憶部390に記憶されているプロセスの有効分割数と現在のプロセス(非終了プロセス、移行プロセス)の分割数とを比較し、現在の分割数が有効分割数未満であればS2304を処理し、現在の分割数が有効分割数以上であれば処理を終了する。
非終了プロセス移行部330、移行プロセス移行部340または停止プロセス停止部350はプロセスの分割数を増加(例えば、+1)する。
プロセスの分割後、制御装置300はS2301を処理する。
例えば、リソース有無判定部320は、プロセスのCPU使用時間(リソース使用量の一例)を分割数で割った値を各サブプロセスのCPU使用時間とし、各サブプロセスのCPU使用時間に基づいて当該計算機210の有無を判定する。
また例えば、リソース有無判定部320は、サブプロセスの数(プロセスの分割数)と同じ数の当該計算機210の有無を判定し、当該計算機210の数がサブプロセスの数より少ない場合は当該計算機210が無いものとして判定する。
非終了プロセス移行部330が非終了プロセス移行制御を実行し、または、移行プロセス移行部340が移行プロセス移行制御を実行し、または、停止プロセス停止部350が停止プロセス停止制御を実行する。
S2304においてプロセスが分割された場合、非終了プロセス移行部330、移行プロセス移行部340または停止プロセス停止部350は、例えば、各サブプロセスをそれぞれ異なる計算機210に移行する。
詳細例3では、「CPU空き時間の大きな計算機210の確保」の実現性を向上させるために、プロセスをサブプロセスに分割する例について説明する。
前記プロセス制御処理における非終了プロセス移行処理S2102、移行プロセス移行処理S2104、停止プロセス停止処理S2106の詳細例3について、図7に基づいて以下に説明する。
「〜部」で説明する制御装置300の各構成要素は以下の処理をCPU911を用いて実行する。
リソース有無判定部320は、前記S2301と同様に、当該計算機210(非終了プロセス移行先計算機、移行プロセス移行元計算機、移行プロセス移行先計算機、プロセス停止計算機)の有無を判定する。
非終了プロセス移行部330、移行プロセス移行部340または停止プロセス停止部350は、前記S2303と同様に、プロセスの有効分割数と現在の分割数とを比較し、現在の分割数が有効分割数未満であればS2313を処理し、現在分割数が有効分割数以上であればS2314を処理する。
非終了プロセス移行部330、移行プロセス移行部340または停止プロセス停止部350はプロセスの分割数を増加(例えば、+1)する。
プロセスの分割後、制御装置300はS2311を処理する。
制御装置300は、リソース有無判定部320が少なくともいずれかのプロセス分割数において当該計算機210が有ると判定した場合、S2315を処理し、リソース有無判定部320がいずれのプロセス分割数においても当該計算機210が無いと判定した場合、処理を終了する。
非終了プロセス移行部330が非終了プロセス移行制御を実行し、または、移行プロセス移行部340が移行プロセス移行制御を実行し、または、停止プロセス停止部350が停止プロセス停止制御を実行する。
このとき、非終了プロセス移行部330、移行プロセス移行部340または停止プロセス停止部350は、空きリソース量が最も大きい計算機210が存在するプロセスの分割数および計算機群を選択し、選択した分割数のサブプロセスそれぞれを選択した計算機群の各計算機210に移行する。
詳細例4では、「全アプリケーションプログラムの実行」と「デッドラインミスの長期防止」との実現性を向上させるために、非終了プロセスの発生時間帯の代わりに制御対象時刻を設定する例について説明する。
制御対象時刻は、制御対象時刻設定部370がリソース有無判定部320による元の制御対象時刻における当該計算機210(非終了プロセス移行先計算機、移行プロセス移行元計算機、移行プロセス移行先計算機、プロセス停止計算機)の有無の判定結果に基づいて設定し、制御装置記憶部390に記憶する時刻データである。
また、制御対象時刻は、非終了プロセス移行制御(S2102)、移行プロセス移行制御(S2104)または停止プロセス停止制御(S2106)を実行することが可能な、できるだけ先の時刻を示す。つまり、制御対象時刻が先の時刻を示すほど、制御装置300はデッドラインミスをより長期間防止することができる。
例えば、制御対象時刻設定部370はリソース有無判定部320が当該計算機210が制御対象時刻に有ると判定した場合に、制御対象時刻より後の時刻を新たな制御対象時刻として設定する。また、制御対象時刻設定部370はリソース有無判定部320が当該計算機210が制御対象時刻に無いと判定した場合に、制御対象時刻より前の時刻を新たな制御対象時刻として設定する。
また例えば、制御対象時刻設定部370はS2101において発生時間帯予測部310が予測した非終了プロセスの発生時間帯(非終了プロセスが最も最短に発生する時刻とする)と所定の制御対象目標時刻とを用いて反復解法により制御対象時刻を設定する。反復解法には二分法、はさみうち法などがある。反復解法を実行する際に、制御対象時刻設定部370はリソース有無判定部320が前記式1で算出できるCPU911の空き時間(前記式1において「k=1」とした場合の左辺の値[0と大小比較している数式部分の値])を利用してもよいし、発生時間帯予測部310が生成するリソース使用量を表す近似式を利用してもよい。
例えば、制御対象時刻設定部370は非終了プロセスの発生時間帯から対象目標時刻までの時間内の任意の時刻を制御対象時刻の初期値とし、対象目標時刻を最大評価時刻の初期値とし、非終了プロセスの発生時間帯を最小評価時刻の初期値とする。
リソース有無判定部320が当該計算機210が制御対象時刻に無いと判定した場合、制御対象時刻設定部370は最小評価時刻(初期値:非終了プロセスの発生時間帯)と制御対象時刻との中間の時刻を新たな制御対象時刻とし、それまでの制御対象時刻を新たな最大評価時刻とする。
また、リソース有無判定部320が当該計算機210が制御対象時刻に有ると判定した場合、制御対象時刻設定部370は最大評価時刻(初期値:制御対象目標時刻)と制御対象時刻との中間の時刻を新たな制御対象時刻とし、それまでの制御対象時刻を新たな最小評価時刻とする。
以後、制御対象時刻設定部370はリソース有無判定部320の判定結果に基づいて最小評価時刻と最大評価時刻との時間幅を絞り込み、リソース有無判定部320が当該計算機210が有ると判定するなるべく先の時刻を制御対象時刻として設定する。
・リソース有無判定部320が制御対象時刻について算出したCPU911の空き時間、または、発生時間帯予測部310が生成したリソース使用量を表す非線形方程式で算出される制御対象時刻におけるCPU空き時間が、「0」または「0以上所定の時間以下」の場合
・制御対象時刻と最小評価時刻との時間幅または制御対象時刻と最大評価時刻との時間幅が所定の時間以下の場合
・制御対象時刻設定処理を所定回数または所定時間以上、実行した場合
・現在時刻から制御対象時刻までの時間が非終了プロセス移行制御(S2102)、移行プロセス移行制御(S2104)または停止プロセス停止制御(S2106)に必要な時間との差が所定時間以下の場合(例えば、各制御に必要な時間は予め制御装置記憶部390に記憶しておく)
前記プロセス制御処理における非終了プロセス移行処理S2102、移行プロセス移行処理S2104、停止プロセス停止処理S2106の詳細例4について、図8に基づいて以下に説明する。
「〜部」で説明する制御装置300の各構成要素は以下の処理をCPU911を用いて実行する。
リソース有無判定部320は、前記S2201と同様に、当該計算機210(非終了プロセス移行先計算機、移行プロセス移行元計算機、移行プロセス移行先計算機、プロセス停止計算機)の有無を判定する。
制御装置300は、S2321においてリソース有無判定部320が当該計算機210が有ると判定した場合、S2323を処理し、S2321においてリソース有無判定部320が当該計算機210が無いと判定した場合、S2325を処理する。
制御対象時刻設定部370は制御対象時刻設定処理の終了判定を行い、終了条件を満たさない場合、S2324を処理し、終了条件を満たす場合、S2327を処理する。
制御対象時刻設定部370は現在の制御対象時刻より後の時刻を新たな制御対象時刻として設定する。
制御対象時刻設定部370は制御対象時刻設定処理の終了判定を行い、終了条件を満たさない場合、S2326を処理し、終了条件を満たす場合、S2327を処理する。
制御対象時刻設定部370は現在の制御対象時刻より前の時刻を新たな制御対象時刻として設定する。
制御装置300は、いずれかの制御対象時刻についてリソース有無判定部320が当該計算機210が有ると判定した場合、S2328を処理し、いずれの制御対象時刻においてもリソース有無判定部320が当該計算機210が無いと判定した場合、処理を終了する。
非終了プロセス移行部330が非終了プロセス移行制御を実行し、または、移行プロセス移行部340が移行プロセス移行制御を実行し、または、停止プロセス停止部350が停止プロセス停止制御を実行する。
このとき、非終了プロセス移行部330、移行プロセス移行部340または停止プロセス停止部350は、最も先の時刻を示す制御対象時刻を対象として各制御を実行する。
詳細例5では、「全アプリケーションプログラムの実行」と「デッドラインミスの長期防止」との実現性を向上させるために、プロセスをサブプロセスに分割し、非終了プロセスの発生時間帯の代わりに制御対象時刻を設定する例について説明する。
詳細例5は上記詳細例2と上記詳細例4とを組み合わせた例である。
前記プロセス制御処理における非終了プロセス移行処理S2102、移行プロセス移行処理S2104、停止プロセス停止処理S2106の詳細例5について、図9に基づいて以下に説明する。
「〜部」で説明する制御装置300の各構成要素は以下の処理をCPU911を用いて実行する。
リソース有無判定部320は、前記S2301と同様に、当該計算機210(非終了プロセス移行先計算機、移行プロセス移行元計算機、移行プロセス移行先計算機、プロセス停止計算機)の有無を判定する。
制御装置300は、S2401においてリソース有無判定部320が当該計算機210が有ると判定した場合、S2403を処理し、S2401においてリソース有無判定部320が当該計算機210が無いと判定した場合、S2405を処理する。
制御対象時刻設定部370は制御対象時刻設定処理の終了判定を行い、終了条件を満たさない場合、S2404を処理し、終了条件を満たす場合、S2409を処理する。
制御対象時刻設定部370は現在の制御対象時刻より後の時刻を新たな制御対象時刻として設定する。
非終了プロセス移行部330、移行プロセス移行部340または停止プロセス停止部350は、前記S2303と同様に、プロセスの有効分割数と現在の分割数とを比較し、現在の分割数が有効分割数未満であればS2407を処理し、現在の分割数が有効分割数以上であれば処理を終了する。
非終了プロセス移行部330、移行プロセス移行部340または停止プロセス停止部350はプロセスの分割数を増加(例えば、+1)する。
プロセスの分割後、制御装置300はS2401を処理する。
制御対象時刻設定部370は制御対象時刻設定処理の終了判定を行い、終了条件を満たさない場合、S2408を処理し、終了条件を満たす場合、S2409を処理する。
制御対象時刻設定部370は現在の制御対象時刻より前の時刻を新たな制御対象時刻として設定する。
制御装置300は、いずれかの制御対象時刻についてリソース有無判定部320が当該計算機210が有ると判定した場合、S2410を処理し、いずれの制御対象時刻についてもリソース有無判定部320が当該計算機210が無いと判定した場合、処理を終了する。
非終了プロセス移行部330が非終了プロセス移行制御を実行し、または、移行プロセス移行部340が移行プロセス移行制御を実行し、または、停止プロセス停止部350が停止プロセス停止制御を実行する。
このとき、非終了プロセス移行部330、移行プロセス移行部340または停止プロセス停止部350は、最も先の時刻を示す制御対象時刻を対象として各制御を実行する。
また、最も先の時刻を示す制御対象時刻についてS2406においてプロセスが分割された場合、非終了プロセス移行部330、移行プロセス移行部340または停止プロセス停止部350は、例えば、各サブプロセスをそれぞれ異なる計算機210に移行する。
詳細例6では、「CPU空き時間の大きな計算機210の確保」と「全アプリケーションプログラムの実行」と「デッドラインミスの長期防止」との実現性を向上させるために、プロセスをサブプロセスに分割し、非終了プロセスの発生時間帯の代わりに制御対象時刻を設定する例について説明する。
詳細例6は上記詳細例3と上記詳細例4とを組み合わせた例である。
前記プロセス制御処理における非終了プロセス移行処理S2102、移行プロセス移行処理S2104、停止プロセス停止処理S2106の詳細例6について、図10に基づいて以下に説明する。
「〜部」で説明する制御装置300の各構成要素は以下の処理をCPU911を用いて実行する。
リソース有無判定部320は、前記S2301と同様に、当該計算機210(非終了プロセス移行先計算機、移行プロセス移行元計算機、移行プロセス移行先計算機、プロセス停止計算機)の有無を判定する。
非終了プロセス移行部330、移行プロセス移行部340または停止プロセス停止部350は、前記S2303と同様に、プロセスの有効分割数と現在の分割数とを比較し、現在の分割数が有効分割数未満であればS2503を処理し、現在分割数が有効分割数以上であればS2504を処理する。
非終了プロセス移行部330、移行プロセス移行部340または停止プロセス停止部350はプロセスの分割数を増加(例えば、+1)する。
プロセスの分割後、制御装置300はS2501を処理する。
制御装置300は、リソース有無判定部320が少なくともいずれかのプロセス分割数において当該計算機210が有ると判定した場合、S2505を処理し、リソース有無判定部320がいずれのプロセス分割数においても当該計算機210が無いと判定した場合、S2507を処理する。
制御対象時刻設定部370は制御対象時刻設定処理の終了判定を行い、終了条件を満たさない場合、S2506を処理し、終了条件を満たす場合、S2509を処理する。
制御対象時刻設定部370は現在の制御対象時刻より後の時刻を新たな制御対象時刻として設定する。
制御対象時刻設定部370は制御対象時刻設定処理の終了判定を行い、終了条件を満たさない場合、S2508を処理し、終了条件を満たす場合、S2509を処理する。
制御対象時刻設定部370は現在の制御対象時刻より前の時刻を新たな制御対象時刻として設定する。
制御装置300は、いずれかの制御対象時刻およびプロセス分割数についてリソース有無判定部320が当該計算機210が有ると判定した場合、S2510を処理し、いずれの制御対象時刻およびプロセス分割数についてもリソース有無判定部320が当該計算機210が無いと判定した場合、処理を終了する。
非終了プロセス移行部330が非終了プロセス移行制御を実行し、または、移行プロセス移行部340が移行プロセス移行制御を実行し、または、停止プロセス停止部350が停止プロセス停止制御を実行する。
このとき、非終了プロセス移行部330、移行プロセス移行部340または停止プロセス停止部350は、最も先の時刻を示す制御対象時刻を対象として、または、空きリソース量が最も大きい計算機210が存在するプロセスの分割数および計算機群を選択して、各制御を実行する。
前記実施の形態1と同様の計算機システム200を前提に、制御装置300について以下に説明する。
<説明に用いる記号>
a:アプリケーションプログラムのデッドラインミス発生の要因となったプロセス、
M:システム内の計算機の台数、
T0:現在時刻、
T1:デッドラインミス発生時刻、つまり、非終了プロセスが発生する発生時間帯
T2:T1より「配置所要時間」と「プロセスの切り替えに要する時間」だけ先の時刻(「配置所要時間」、「プロセスの切り替えに要する時間」は例えばあらかじめ求めてあり、制御装置記憶部390に記載されているものとする)、
P(x):プロセスxの処理周期、
c(x,i)プロセスxの時刻iにおける消費CPU時間、
E(i,j):計算機iの時刻jにおける空きCPU時間。
手順1.非終了プロセス移行部330は、T2の時刻において、ある計算機に最も大きな空きCPU時間ができるような配置方法で最適配置する(S1001)。
手順2.1で配置方法が存在しない場合(S1002)、非終了プロセス移行部330は、時刻T2からT1の間で可能な配置方法のうち、最もT2に近い時刻における配置方法で最適配置する(S1003)。
手順3.1〜2で配置方法が存在しない場合(S1004)、移行プロセス移行部340は、既存のプロセスを他の計算機に移動させ、空いたところに配置可能かどうかを探索し、配置可能であればそれで非終了プロセス移行部330が最適配置する(S1008)。
手順4.1〜3で配置方法が存在しない場合(S1009)、停止プロセス停止部350は重要度の低いアプリケーションプログラムを停止させ、非終了プロセス移行部330は空いたリソースに配置可能かどうかを調査する(S1010)。
手順1.図20と併せて以下に説明する。
<S1011>
手順1−1:リソース有無判定部320による時刻T2におけるプロセスaの動作可能性の調査
リソース情報取得部380は、M台の計算機の時刻T2におけるaから見た相対的な空きCPU時間を調査し、リソース有無判定部320は、リソース情報取得部380が収集した相対的な空きCPU時間をもとに、aから見た空きCPU時間がプロセスaの消費CPU時間よりも大きい事を確認する。プロセスaから見た相対的な空きCPU時間とは、aの周期P(a)からaよりも優先度の高い全プロセスが使用するCPU時間の合計を引いたものとなる。
例えば、ある計算機上で、プロセスx(1)〜x(n)が動作し、そこにプロセスaが参入しようとしているとする。プロセスaよりも優先度の高いプロセスとして、x(n−1)とx(n)が存在するとする。
本図によると、プロセスaの周期内でプロセスx(n−1)は2回、プロセスx(n)は4回動作可能である。
そして、プロセスaの周期から、x(n−1)の処理回数(=2)×1回の処理時間とx(n)の処理回数(=4)×プロセスx(n)の1回のCPU時間を引いたものが、プロセスaのCPU時間よりも大きければ、プロセスaは周期内に動作可能であると言える。
また、本実施の形態では、プロセスを複数の処理に分割することも可能としている。このため、1台の計算機にはプロセスaを動作させるだけの空きCPU時間はなくとも、プロセスaの処理を複数の処理に分割すれば、プロセスaの周期はそのままで、プロセスaが必要とするCPU時間は短くなるため、複数の計算機でプロセスaの処理を分散実行させることにより、プロセスaの処理が周期内に完了する可能性もある。
これらのことから、本手順では、リソース情報取得部380は、各計算機における、プロセスaから見た相対的なCPU空き時間を求め、リソース有無判定部320はそれらの和を求めるとともに、和とプロセスaのCPU時間とを比較することにより、プロセスaが動作できるかどうかを調べる。
リソース有無判定部320が求めた和の値がプロセスaが必要とするCPU時間よりも短ければ、システム内にプロセスaを動作させるだけの空きCPUが存在しないことになる。
ここで、各計算機で動作するプロセスを「x1,x2,…,xn」とし、「m<n」の場合、「xmの優先度<xnの優先度」とする。そして、「xk−1の優先度<プロセスaの優先度<xkの優先度」とする。
このとき、リソース情報取得部380が求める、計算機iの時刻T2におけるプロセスaから見た相対的な空きCPU時間Ea(i,T2)は以下の式(a)となる。
式(b)を満たせば、システム内に、少なくともプロセスaを動作させるだけのリソースがあると判断し、「手順1−2」へ進む。
式(b)を満たすことができなければ、リソース有無判定部320は時刻T2ではプロセスaを動作させるだけのCPU時間がシステム内に存在しないと判断し、「手順2(S1022)」に進む。
このとき、後述するプロセスaの分割数はjは1であり(S1013)、プロセスaの分割数jは最大分割数q以下である(S1014)。
分割数jが最大分割数q以下であれば手順1−2へ進む。
分割数jが最大分割数q以下でなければ手順1−6へ進む。
手順1−2:非終了プロセス移行部330によりプロセスaを1からqまで分割した場合の、リソース有無判定部320による分割後のプロセスが動作できるだけの空きリソースを持つ計算機の調査
本手順では、非終了プロセス移行部330がプロセスaをいくつかに分割した場合、各分割プロセス(以下サブプロセス)が動作できるだけの計算機を調べる。なお、プロセスaを分割しても、各プロセスの優先度はaと同一であるとする。
図13では、非終了プロセス移行部330がプロセスaを3つに分割した例を示している。
式(a)で、リソース情報取得部380は各計算機についてプロセスaから見た空きCPU時間を求める。
そして、リソース有無判定部320は、非終了プロセス移行部330によりプロセスaを3分割した場合のCPU時間とプロセスaから見た各計算機の空きCPU時間とを比較し、空きCPU時間の方が大きい計算機を抽出する。
本実施の形態では、プロセスaを3分割した各サブプロセスのCPU時間は、単純に、プロセスaのCPU時間の1/3とする。本例では、リソース有無判定部320が調査したところ、プロセスaのサブプロセスよりも空きCPU時間が大きい計算機はA,C,Eの3台であるとする。本例では非終了プロセス移行部330によりプロセスaを3分割しているので、aのサブプロセスよりも空きCPU時間が大きい計算機が3つ以上あれば、非終了プロセスはがこれらのうち3つの計算機に配置すればプロセスaは周期内で処理することができる。もし、aのサブプロセスよりも空きCPU時間が大きい計算機が2台以下であれば、3分割した本例では処理できないことになるので、非終了プロセス移行部330は分割数を変更する。
ここで、プロセスaの分割数をjとし、jは1からqまで変動するものとする。また、qは、プロセスaが分割可能な数の最大値であり、制御装置記憶部390に記載されているものとする。
リソース有無判定部320の調査の結果、式(c)を満たす計算機がj台以上存在しなければ、非終了プロセス移行部330はサブプロセスを配置することができないため、分割数jの値を1増やす。
「j(分割数)>q(最大分割数)」であれば、手順1−6(S1021)へ進む。
そうでなければ、手順1−2(S1015)へ戻る。
式(c)を満たす計算機がj台以上存在すれば、手順1−3(S1017)へ進む。
手順1−3:非終了プロセス移行部330による、プロセスaのサブプロセスを動作させると仮定した場合に、リソース有無判定部320による、プロセスaのサブプロセスよりも優先度が低いプロセスが動作できるだけの空きリソースを持つ計算機の抽出
本手順では、リソース有無判定部320は、非終了プロセス移行部330が手順1−2で得られたv台(v≧分割数j)の計算機上でプロセスaのサブプロセスを動作させた場合に、プロセスaのサブプロセスよりも実行優先度が低いプロセスがデッドラインミスなく動作できるかどうかを調べる。
そこで、リソース有無判定部320は、プロセスaよりも実行優先度の低い全てのプロセスについて、手順1−1と同様の方法で、デッドライン内での動作可能性を調べる。手順1−1と異なる点は、調査対象プロセスの周期内におけるaのサブプロセスのCPU時間の総和が考慮されている点である。
ここで、計算機i上で動作するプロセスを優先度の低い順にソートしたものを「xi 1,…,xi p,aのサブプロセス,xi (p+1),…,xi n」とする。
そして、リソース有無判定部320は、xi k(k=1…p)が以下の式(d)を満たすかどうかを確認する。
手順1−2で得られたv台の計算機中、プロセスaのサブプロセスよりも優先度の低い全てのプロセスが式(d)を満たす計算機が分割数j台以上存在しない場合、プロセスaのサブプロセスを配置できないため、非終了プロセス移行部330は、分割数jの値を+1する。
「j(分割数)>q(最大分割数)」であれば手順1−6(S1021)へ進む。
そうでなければ手順1−2(S1015)へ戻る。
手順1−2で得られたv台の計算機中、プロセスaのサブプロセスよりも優先度の低い全てのプロセスが式(d)を満たす計算機が分割数j台以上存在する場合、手順1−4(S1019)へ進む。
手順1−4:非終了プロセス移行部330によるj個のサブプロセスを配置する計算機群の候補の決定
リソース有無判定部320は、式(d)を満たすw(w≧j)台の計算機について各計算機の空きCPU時間を求める。
プロセスaのサブプロセスを含めた全てのプロセスをx1〜xnとすると、計算機u(u=1〜w)の空きCPU時間は、以下の式(e)で求められる。
手順1−5:リソース情報取得部380による、j個のサブプロセス配置後の各計算機の空きCPU時間の調査
リソース情報取得部380は、手順1−4で候補となったj個の計算機群にプロセスaのサブプロセスを動作させた場合のシステム内の全計算機の空きCPU時間を求める。
求めた各計算機の空きCPU時間の大きい順にソートし、ソート後の計算機を「fj 1,…,fj M」とする。つまり、m<nにおいて、「E1(fj m,T2) > E1(fj n,T2)」となる。
手順1−6:非終了プロセス移行部330によるリソース再配置を行う計算機の決定
制御装置の各部が手順1−2〜手順1−5をq(最大分割数)回行うことにより、z個の最適配置候補が求められていたとする。
「z=0」であれば、手順2へ進む。
方法は以下の通りである。
最大のものが1台のみで、それがfy 1であった場合には、[ey 1,…,ey j]が最適配置となる。
最大のものが複数台あった場合には、最大のものだけでf2の値を比較し、f2が最も大きいものを抽出する。
最も大きいものが1台のみで、それがfy 2であった場合には[ey 1,…,ey j]が最適配置となる。
非終了プロセス移行部330はこの操作を、最大の空きCPU時間を持つ計算機が1台となるまで繰り返すことにより、最適配置を決定する。
手順1で制御装置により最適配置が求められない場合、T2の時刻ではシステム内に空きCPU時間が足りないことが原因と考えられる。
そこで、図16に示すように、制御対象時刻設定部370がT2を少しずつ現在の時刻に近づけることにより、最適配置の候補を求める。
求め方は、パラメータとして、評価時刻Tを設け、制御対象時刻設定部370がTを変動させ、最適配置が存在すると思われる時刻の範囲を二分法によって徐々に絞り込んでいくことによって行う。
<S1101>
手順2−1:リソース有無判定部320による、デッドラインミス発生時刻におけるプロセスaの動作可能性の調査
制御対象時刻設定部370は初期値としてT=T1とする。
手順1−1と同様、リソース情報取得部380は時刻T1におけるプロセスaからみた相対的なシステム内の空き時間の総和を求める。求め方は、式(a),(b)において、T2をT1に置き換えればよい。
リソース有無判定部320はリソース情報取得部380が求めた空き時間の総和とプロセスaのT1におけるCPU時間:c(a,T1)を比較し、CPU時間:c(a,T1)よりも小さければ、デッドラインミス発生時刻において、プロセスaを動作させるだけの空きCPU時間がシステム内に存在しないことになるので、制御装置は手順4の処理を実施する。
そうでなければ、手順2−2の処理を実施する。
このとき、後述するプロセスaの分割数はjは1であり(S1103)、プロセスaの分割数jは最大分割数q以下である(S1104)。
分割数jが最大分割数q以下であれば手順2−2へ進む。
分割数jが最大分割数q以下でなければ手順2−5へ進む。
手順2−2:非終了プロセス移行部330によりプロセスaを1からqまで分割した場合の、リソース有無判定部320による、分割後のプロセスを動作可能な空きCPU時間を持つ計算機の調査
非終了プロセス移行部330はプロセスaの分割数をjとする。「j=1,…,q」とする。最大分割数qは、制御装置記憶部390に記載されている、プロセスaの分割最大値である。
手順1−2と同様、リソース有無判定部320は時刻T1において、式(c)を満たす計算機を抽出する。手順1−2の式(c)のT2をT1に置き換えればよい。
時刻T1において式(c)を満たす計算機がj台以上存在しなければ、時刻T1において、分割数jでは、最適配置が見つからないことになるから、手順2−5へ進む。
時刻T1において式(c)を満たす計算機がj台以上存在すれば、手順2−3へ進む。
手順2−3:リソース有無判定部320による、プロセスaのサブプロセスを動作させた場合の、プロセスaのサブシステムよりも優先度が低いプロセスが動作できるだけの空きCPU時間を持つ計算機の抽出
手順2−2でリソース有無判定部320によりv(v≧j)台の計算機が見つかったとする。
手順1−3と同様、リソース有無判定部320はj個のサブプロセスをv台の計算機にそれぞれ配置した場合において、プロセスaのサブプロセスが動作した場合にプロセスaのサブプロセスよりも優先度の低いプロセスが動作できるかどうかを調べる。これは、リソース有無判定部320が式(d)を用いて調べることができる。手順1−3の式(d)において、T2をT1に置き換えればよい。
v台の計算機のうち、時刻T1において式(d)を満たす計算機がj台以上存在しなければ、非終了プロセス移行部330はj個のサブプロセスを配置できないため、手順2−5へ進む。
v台の計算機のうち、時刻T1において式(d)を満たす計算機がj台以上存在すれば、手順2−4へ進む。
手順2−4:j個のサブプロセスを配置する計算機群の候補の決定
手順2−3にて、式(d)を満たす計算機がw(≧j)台以上存在したら、リソース情報取得部380およびリソース有無判定部320は各計算機の空きCPU時間E1(i,T1)(1≦i≦w)を求める。空きCPU時間は、式(e)においてT2をT1とすればよい。
リソース有無判定部320は各計算機を空きCPU時間E1(i,T1)の小さい順にソートし、ソート後の計算機を「ej 1,…,ej w」とする。つまり、「m<n」の場合には「E1(ej m,T1)<E1(ej n,T1)」となる。
非終了プロセス移行部330は、w台の計算機のうち計算機群[ej 1,ej 2,…,ej j]を最適配置の候補とし、手順2−6へ進む。
手順2−5:非終了プロセス移行部330は、jの値を+1する。
「j(分割数)>q(最大分割数)」であればデッドラインミス発生時刻において配置方法が見つからなかったことになるので手順3へ進む。
「j≦q」であれば、手順2−2へ進む。
手順2−6:制御対象時刻設定部370はパラメータとして最大評価時刻Ty、最小評価時刻Tzを設け、「Ty=T2」、「Tz=T1」とする。
手順2−7:最適配置が存在する時刻の範囲の絞り込み
「Ty−Tz」が「最小評価時刻間隔」以下であれば、非終了プロセス移行部330は、手順2−4または手順2−9で求めた最新の最適配置計算機群が最適配置とする。
なお、「最小評価時刻間隔」はあらかじめ制御装置記憶部390に示される値である。
本手法では、制御対象時刻設定部370がTyとTzの間隔を1/2ずつ縮めていくことにより解を絞り込む。このとき、TyとTzの間隔は無限に小さくすることができるので、システム側で、TyとTzの間隔の最小値(最小評価時刻間隔)を定めておき、TyとTzの間隔の値が最小値に等しくなった時点で絞込みを終了させS1118に進む。
「Ty−Tz」が最小評価時刻間隔以下でなければ(S1112)、制御対象時刻設定部370は「T=(Ty−Tz)/2」とし、リソース情報取得部380は時刻Tでのプロセスaから見た相対的な計算機の空きCPU時間の総和を求め、リソース有無判定部320は式(b)を用いることによりプロセスaが動作できるだけのリソースがあるかどうかを調べる(S1113)。これは、式(b)において、T2をTとすればよい。
式(b)を満たさない場合には(S1114)、最適配置は時刻T1〜Tの間に存在することになるので、制御対象時刻設定部370はTy=Tとして(S1115)、手順2−7へ進む。
式(b)を満たす場合には(S1114)、手順2−8へ進む。
「Ty−Tz」が最小評価時刻間隔以下であれば、S1118へ進む。
手順2−8:非終了プロセス移行部330は現在の分割数をj(j=1,…,q)とする。手順2−9へ進む。
手順2−9:リソース有無判定部320による時刻Tにおけるj個のサブプロセスの配置可能計算機群の抽出、最適配置がある時刻の絞込み
時刻Tにおいて、制御装置は手順2−2〜手順2−4を行う。
つまり、リソース有無判定部320は時刻Tにおいて式(c)を満たす計算機を抽出する。式(c)のT2をTにすればよい。
そして、時刻Tにおいて式(c)を満たす計算機がj台存在しなければjの値を+1する。
「j≦q」であれば手順2−9へ進む。
「j>q」であれば、時刻T〜Tyの間には最適配置が存在しないことになるので、制御対象時刻設定部370は「Ty=T」として手順2−7に進む。
そして、式(d)を満たす計算機がj台未満であれば、非終了プロセス移行部330はjの値を+1する。
「j≦q」であれば手順2−9へ進む。
「j>q」であれば、時刻T〜Tyの間には最適配置がないことになるので、制御対象時刻設定部370は「Ty=T」として手順2−7に進む。
非終了プロセス移行部330は、手順2−4または手順2−9にて候補として抽出した計算機群のうち、最もT2に近い配置計算機群を最適配置として決定する。
手順2で最適配置が存在しない場合、システム内にプロセスaを動作させるだけの空きリソースは存在するが、各計算機にある空きリソースが小さいためにプロセスaをサブプロセスに分割しても最適配置できない可能性がある。
本手順では、移行プロセス移行部340は、各計算機上にある、プロセスaよりも優先度が高く、CPU時間の短いプロセスを他の計算機に移行させ、非終了プロセス移行部330はその計算機にプロセスaを配置することを試行する。
手順3−1:リソース情報取得部380による、各計算機の、プロセスaからみた場合の相対的な空きCPU時間の調査
リソース有無判定部320は、時刻T1における、プロセスaから見た場合の各計算機の相対的な空きCPU時間Ea(i,T1)の値を大きい順にソートし、ソート後の計算機を「f1,…,fM」とする。つまり、「m<n」の場合は「Ea(fm,T1)>Ea(fn,T1)」となる。
手順3−2へ進む。
手順3−2:
移行プロセス移行部340はソートした計算機から移動元計算機fuを1台選択し、手順3−3へ進む。ここで、移動元計算機をfu(u=1,…,M)とする(S1202)。
全ての移動元計算機fuを選択済みの場合(S1203)、手順4へ進む。
手順3−3:移行プロセス移行部340は、計算機fuの中で、プロセスaよりも実行優先度が高いプロセスについて、CPU時間の小さい順にソートし、ソート後のプロセスを「p1,…,po」とする。つまり、「o<n」であれば、「c(po,T1)<c(pn,T1)」となる。
手順3−4:移行プロセス移行部340による、計算機fu上で動作するプロセスで、プロセスaが動作するために移動すべきプロセスの選択
リソース有無判定部320は計算機fuにおいて、以下の式(f)を満足するプロセスをn個抽出する。
移行プロセス移行部340は、このプロセス群を、リソース情報取得部380によって得られたCPU時間の短い順にソートし、(f)を満たすプロセスpx(x=1〜n)が存在すれば、移行プロセス移行部340がプロセスpxを他の計算機に動かせば、非終了プロセス移行部330は計算機fuにてプロセスaは動作することができるので、手順3−5へ進む。
プロセスpxが存在せず、「u=M」であれば、移行プロセス移行部340は全ての計算機について調査済みであり、移行プロセス移行部340がどのプロセスを移動してもプロセスaはデッドライン内に処理不可能なので、手順4へ進む。
プロセスがpxが存在せず、「u<M」であれば、移行プロセス移行部340により調査していない計算機があるので、移行プロセス移行部340は、移動元計算機uの値を1増やして、手順3−2へ進む。
手順3−6:リソース情報取得部380、リソース有無判定部320による移動対象プロセスpxが動作可能なだけの空きCPU時間調査
移行プロセス移行部340は、pxの分割数をj(j=1,…,q)とする。qは、制御装置記憶部390に記載されている、pxの分割最大値である。
また、リソース情報取得部380は計算機fuを除いた各計算機について、プロセスpxから見た相対的な空き時間を式(a)を使用することにより求め、リソース有無判定部320は式(b)を満たすかどうかを確認する。
リソース有無判定部320による調査の結果、式(b)が満たせない場合には、pxを動作させるだけの空きCPU時間が存在しないことになるので、移行プロセス移行部340は、xの値を+1する。
「x≦n」であれば、手順3−6へ進む。
「x>n」であり、「u<M」であれば、uの値を1増やして、手順3−3へ進む。
「u≧M」であれば、非終了プロセス移行部330がプロセスaを配置する計算機は存在しないので、手順4へ進む。
式(b)を満たす場合、手順3−7へ進む。
手順3−7:移行プロセス移行部340によるpxの配置計算機の決定
移行プロセス移行部340は手順1−2〜1−4と同様の手法によりpxの配置先候補計算機を決定する。
プロセスpxが配置できない場合には、手順3−4に進む。
配置先候補計算機の決定後、手順3−8へ進む。
手順3−8:リソース有無判定部320による計算機fuへのプロセスaの配置可能性調査
リソース有無判定部320は計算機fuにプロセスaを配置できるかどうか調べる。
具体的には、fu上で動作するプロセスを優先度順にソートしたものを、「b1,…,bm,a,bm+1,…,bn」とすると、リソース有無判定部320はbj(1≦j≦m)が以下の式(g)を満たすかどうかを調べる。
1≦j≦mにて式(g)を満たさなければ(S1211)、非終了プロセス移行部330はプロセスaを配置できないので、手順3−4に進む。
式(g)が満たせれば(S1211)、終了(S1212)。
手順1〜3で配置可能な計算機が存在しない場合、システム内に十分な空きCPU時間がないことになる。この場合、停止プロセス停止部350が重要でないアプリケーションプログラムを構成する全てのプロセスを停止させることにより空きCPU時間を作成し、非終了プロセス移行部330により、手順1と同様の手法によって最適配置を決定する。
例えば、図17ではプロセスx(n)、プロセスx(n−1)の占有する時間が多いために、プロセスaが動作できない例を示している。
ここで、プロセスx(n)が、重要でないアプリケーションを構成するプロセスである場合、停止プロセス停止部350がプロセスx(n)を停止させれば、図18のように、非終了プロセス移行部330によりプロセスaを動作させることができるようになる。
本手順では、制御装置の各部がこのような操作を行うことにより、プロセスaを動作できるようにする。
手順4−1:停止プロセス停止部350、リソース有無判定部320による、システムリソースを空けられるかどうかの調査
停止プロセス停止部350は、プロセスaが属するアプリケーションプログラムAよりも重要度が低いアプリケーションプログラムを構成するプロセス群に、実行優先度がプロセスaより高いプロセスがあるかどうかを調べる。
実行優先度がプロセスaより高いプロセスがなければ、プロセスaを含むアプリケーションプログラムは制限時間内に動作不可能であるため、非終了プロセス停止部360はプロセスaの処理を停止する(S1306)。
実行優先度がプロセスaより高いプロセスがあれば、手順4−2へ進む。
手順4−2:停止プロセス停止部350による重要度が低いアプリケーションを構成する全プロセスの停止
アプリケーションAよりも重要度が低く、その中でも最も重要度の低いアプリケーションBを構成するプロセス群に、実行優先度がプロセスaより高いプロセスがある場合、停止プロセス停止部350がそのアプリケーションBを停止し、リソース有無判定部320がプロセスaが動作できるかどうかを確認する。プロセスaが動作できるかどうかは、リソース情報取得部380がアプリケーションBの全プロセス停止後の、時刻T1における計算機のプロセスaから見た相対的な空きCPU時間をリソース情報取得部380が式(a)で求めた上で、リソース有無判定部320が時刻T1において式(b)を満たせばよい。
式(b)が満たされない場合には、手順4−1に戻る。
停止プロセス停止部350が重要度が低いアプリケーションを構成する全プロセスの停止後、手順4−4へ進む。
手順4−3:非終了プロセス移行部330は、現在の分割数をj(j=1…q)とする。リソース有無判定部320は、時刻T1において式(c)を満たす計算機を抽出する。
式(c)を満たす計算機がj台以上存在しなければ、非終了プロセス移行部330はj個のサブプロセスを配置できないことになる。
jの値を+1する。
「j>q」であれば、手順4−2へ進む。
そうでなければ、手順4−3へ進む。
手順4−4:非終了プロセス移行部330による配置計算機の決定
式(c)を満たす計算機がv(v≧j)台存在したとし、v台の計算機上でaのサブプロセスが動作した場合、アプリケーションB停止後における、aのサブプロセスよりも実行優先度が低いプロセスが動作できるかどうかをリソース有無判定部320が式(d)においてT2をT1に置き換えることによって調べる。
式(d)を満たす計算機がj台以上あれば、リソース情報取得部380は式(d)を満たす計算機の時刻T1における空きCPU時間を式(e)において、T2をT1に置き換えることによって求める。
空きCPU時間の大きい順に並べ替え、ソート後の計算機を「ej 1,…,ej w」とする。つまり、「m<n」の場合に「E1(ej m,T1)>E1(ej n,T1)」となる。
非終了プロセス移行部330は、v台の計算機のうち計算機群[ej 1,ej 2,…,ej j]を配置計算機とし、終了。
例えば、最適配置を決めるまでの時間制約として、手順1〜2が必ず行えるだけの時間と手順4が行えるだけの時間の最大値を設けておく。そして、手順1(S1001)、手順2(S1003)を行い、手順2(S1003)が終わった時点での残り時間が手順4が行えるだけの時間の最大値よりも大きければ、手順3(S1008)を手順4(S1010)を始めるべき時間まで行う。このようにして処理を行うことにより、重要度の低いアプリケーションプログラムを極力停止させることなくプロセスの配置先計算機を決定することができる。
Claims (13)
- 複数の計算機により実行される複数のプロセスについて、所定時間内に終了しない非終了プロセスが発生する発生時間帯をCPU(Central Proccessing Unit)を用いて予測する発生時間帯予測部と、
前記発生時間帯予測部により予測された発生時間帯の複数のCPUの空き時間を計算機毎に合計した各計算機のCPU空き合計時間をCPUを用いて計算するリソース情報取得部と、
前記リソース情報取得部の計算結果に基づいて、非終了プロセスを実行して前記発生時間帯にCPU空き合計時間が不足しない計算機を実行可能計算機として実行可能計算機の有無をCPUを用いて判定するリソース有無判定部と、
前記リソース有無判定部により実行可能計算機が有ると判定された場合に、実行可能計算機を非終了プロセス移行先計算機として非終了プロセス移行先計算機に非終了プロセスを前記発生時間帯に実行させるようCPUを用いて命令する非終了プロセス移行部と
を備え、
前記非終了プロセス移行部は、前記リソース有無判定部により実行可能計算機が複数有ると判定された場合に、CPU空き合計時間が最も短い実行可能計算機を非終了プロセス移行先計算機として選択し、非終了プロセス移行先計算機に非終了プロセスを実行させる
ことを特徴とする制御装置。 - 前記リソース有無判定部は、非終了プロセスを分割した複数の非終了サブプロセスでありCPUの使用時間が均等な複数の非終了サブプロセスのうち一つの非終了サブプロセスを実行して前記発生時間帯にCPU空き合計時間が不足しない計算機を実行可能計算機として、実行可能計算機が分割数以上有るか判定し、
前記非終了プロセス移行部は、前記リソース有無判定部により実行可能計算機が分割数以上有ると判定された場合に、非終了プロセスを複数の非終了サブプロセスに分割し、分割数以上の実行可能計算機からCPU空き合計時間の短い順に分割数と同数の実行可能計算機をそれぞれ非終了プロセス移行先計算機として選択し、選択した各非終了プロセス移行先計算機に非終了サブプロセスを一つずつ実行させる
ことを特徴とする請求項1記載の制御装置。 - 前記リソース有無判定部は、実行可能計算機が分割数以上有るか複数の異なる分割数で判定し、
前記非終了プロセス移行部は、分割数と同数の非終了プロセス移行先計算機を分割数毎に選択し、
前記リソース情報取得部は、前記発生時間帯に各非終了プロセス移行先計算機が非終了サブプロセスを実行した場合の前記発生時間帯のCPU空き合計時間であり各非終了プロセス移行先計算機を含む全ての計算機それぞれのCPU空き合計時間をCPUを用いて計算し、全ての計算機のうちCPU空き合計時間が最も長い計算機を最長計算機として分割数毎にCPUを用いて特定し、
前記非終了プロセス移行部は、前記リソース情報取得部により分割数毎に特定された最長計算機のCPU空き合計時間を比較して最長計算機のCPU空き合計時間が最も長い分割数を特定し、特定した分割数で非終了プロセスを非終了サブプロセスに分割し、特定した分割数と同数の非終了プロセス移行先計算機に非終了サブプロセスを一つずつ実行させる
ことを特徴とする請求項2記載の制御装置。 - 前記制御装置は、さらに、
前記発生時間帯内の特定の時刻を制御対象時刻としてCPUを用いて設定する制御対象時刻設定部を備え、
前記リソース情報取得部は、前記制御対象時刻設定部により設定された制御対象時刻の各計算機のCPU空き合計時間を計算し、
前記リソース有無判定部は、前記リソース情報取得部の計算結果に基づいて、前記制御対象時刻に非終了プロセスを実行してCPU空き合計時間が不足しない実行可能計算機の有無を判定し、
前記制御対象時刻設定部は、前記リソース有無判定部により実行可能計算機が有ると判定された場合に、前記発生時間帯内で前記制御対象時刻より後の時刻を新たな制御対象時刻としてCPUを用いて設定し、前記リソース有無判定部により実行可能計算機が無いと判定された場合に、前記発生時間帯内で前記制御対象時刻より前の時刻を新たな制御対象時刻としてCPUを用いて設定し、
前記非終了プロセス移行部は、実行可能計算機が有る最も後の制御対象時刻に非終了プロセスを非終了プロセス移行先計算機に実行させる
ことを特徴とする請求項1〜請求項3いずれかに記載の制御装置。 - 前記制御対象時刻設定部は、現在時刻から制御対象時刻までの時間と前記非終了プロセス移行部が非終了プロセス移行先計算機に非終了プロセスを実行させるまでに要する時間との差が所定の時間以上である場合に、前記新たな制御対象時刻を設定する
ことを特徴とする請求項4記載の制御装置。 - 前記制御対象時刻設定部は、前記リソース有無判定部により計算された実行可能計算機のCPU空き合計時間が所定の時間以上である場合に、前記新たな制御対象時刻を設定することを特徴とする請求項4記載の制御装置。
- 前記制御対象時刻設定部は、制御対象時刻と所定の時刻との時間幅が所定の時間以上である場合に、前記新たな制御対象時刻を設定する
ことを特徴とする請求項4記載の制御装置。 - 前記リソース有無判定部は、実行可能計算機が無いと判定した場合、実行予定の少なくともいずれかのプロセスである特定プロセスを実行する代わりに非終了プロセスを実行して前記発生時間帯にCPU空き合計時間が不足しない計算機を第1の実行可能計算機として第1の実行可能計算機の有無を判定し、特定プロセスを実行して前記発生時間帯にCPU空き合計時間が不足しない計算機を第2の実行可能計算機として第2の実行可能計算機の有無を判定し、
前記制御装置は、さらに、
前記リソース有無判定部により前記第1の実行可能計算機と前記第2の実行可能計算機とが有ると判定された場合に、前記第1の実行可能計算機を特定プロセス移行元計算機として特定プロセス移行元計算機に特定プロセスを実行させる代わりに非終了プロセスを実行させるようCPUを用いて命令すると共に前記第2の実行可能計算機を特定プロセス移行先計算機として特定プロセス移行先計算機に特定プロセスを実行させるようCPUを用いて命令する特定プロセス移行部を備える
ことを特徴とする請求項1〜請求項7いずれかに記載の制御装置。 - 前記リソース有無判定部は、前記第1の実行可能計算機と前記第2の実行可能計算機との少なくともいずれかが無いと判定した場合、実行予定の少なくともいずれかのプロセスである特定第2プロセスを停止すると共に非終了プロセスを実行して前記発生時間帯にCPU空き合計時間が不足しない計算機を第3の実行可能計算機として第3の実行可能計算機の有無を判定し、
前記制御装置は、さらに、
前記リソース有無判定部により第3の実行可能計算機が有ると判定された場合に、第3の実行可能計算機を特定第2プロセス計算機として特定第2プロセス計算機に特定第2プロセスを停止させると共に非終了プロセスを実行させるようCPUを用いて命令する特定第2プロセス停止部と、
前記リソース有無判定部により第3の実行可能計算機が無いと判定された場合に、非終了プロセスを実行する予定の計算機に非終了プロセスを停止させるようCPUを用いて命令する非終了プロセス停止部と
を備えることを特徴とする請求項8記載の制御装置。 - 発生時間帯予測部が、複数の計算機により実行される複数のプロセスについて、所定時間内に終了しない非終了プロセスが発生する発生時間帯をCPU(Central Proccessing Unit)を用いて予測する発生時間帯予測処理を行い、
リソース情報取得部が、前記発生時間帯予測部により予測された発生時間帯の複数のCPUの空き時間を計算機毎に合計した各計算機のCPU空き合計時間をCPUを用いて計算するリソース情報取得処理を行い、
リソース有無判定部が、前記リソース情報取得部の計算結果に基づいて、非終了プロセスを実行して前記発生時間帯にCPU空き合計時間が不足しない計算機を実行可能計算機として実行可能計算機の有無をCPUを用いて判定するリソース有無判定処理を行い、
非終了プロセス移行部が、前記リソース有無判定部により実行可能計算機が有ると判定された場合に、実行可能計算機を非終了プロセス移行先計算機として非終了プロセス移行先計算機に非終了プロセスを前記発生時間帯に実行させるようCPUを用いて命令する非終了プロセス移行処理を行う
制御装置のプロセス制御方法であり、
前記非終了プロセス移行部は、前記リソース有無判定部により実行可能計算機が複数有ると判定された場合に、CPU空き合計時間が最も短い実行可能計算機を非終了プロセス移行先計算機として選択し、非終了プロセス移行先計算機に非終了プロセスを実行させる
ことを特徴とする制御装置のプロセス制御方法。 - 前記リソース有無判定部は、実行可能計算機が無いと判定した場合、実行予定の少なくともいずれかのプロセスである特定プロセスを実行する代わりに非終了プロセスを実行して前記発生時間帯にCPU空き合計時間が不足しない計算機を第1の実行可能計算機として第1の実行可能計算機の有無を判定し、特定プロセスを実行して前記発生時間帯にCPU空き合計時間が不足しない計算機を第2の実行可能計算機として第2の実行可能計算機の有無を判定し、
特定プロセス移行部が、前記リソース有無判定部により前記第1の実行可能計算機と前記第2の実行可能計算機とが有ると判定された場合に、前記第1の実行可能計算機を特定プロセス移行元計算機として特定プロセス移行元計算機に特定プロセスを実行させる代わりに非終了プロセスを実行させるようCPUを用いて命令すると共に前記第2の実行可能計算機を特定プロセス移行先計算機として特定プロセス移行先計算機に特定プロセスを実行させるようCPUを用いて命令する特定プロセス移行処理を行う
ことを特徴とする請求項10記載の制御装置のプロセス制御方法。 - 前記リソース有無判定部は、前記第1の実行可能計算機と前記第2の実行可能計算機との少なくともいずれかが無いと判定した場合、実行予定の少なくともいずれかのプロセスである特定第2プロセスを停止すると共に非終了プロセスを実行して前記発生時間帯にCPU空き合計時間が不足しない計算機を第3の実行可能計算機として第3の実行可能計算機の有無を判定し、
特定第2プロセス停止部が、前記リソース有無判定部により第3の実行可能計算機が有ると判定された場合に、第3の実行可能計算機を特定第2プロセス計算機として特定第2プロセス計算機に特定第2プロセスを停止させると共に非終了プロセスを実行させるようCPUを用いて命令する特定第2プロセス停止処理を行い、
非終了プロセス停止部が、前記リソース有無判定部により第3の実行可能計算機が無いと判定された場合に、非終了プロセスを実行する予定の計算機に非終了プロセスを停止させるようCPUを用いて命令する非終了プロセス停止処理を行う
ことを特徴とする請求項11記載の制御装置のプロセス制御方法。 - 請求項10〜請求項12いずれかに記載のプロセス制御方法をコンピュータに実行させることを特徴とするプロセス制御プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006188821A JP4370313B2 (ja) | 2006-07-10 | 2006-07-10 | 制御装置、制御装置のプロセス制御方法およびプロセス制御プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006188821A JP4370313B2 (ja) | 2006-07-10 | 2006-07-10 | 制御装置、制御装置のプロセス制御方法およびプロセス制御プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008015958A JP2008015958A (ja) | 2008-01-24 |
JP4370313B2 true JP4370313B2 (ja) | 2009-11-25 |
Family
ID=39072877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006188821A Expired - Fee Related JP4370313B2 (ja) | 2006-07-10 | 2006-07-10 | 制御装置、制御装置のプロセス制御方法およびプロセス制御プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4370313B2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4308241B2 (ja) | 2006-11-10 | 2009-08-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ジョブ実行方法、ジョブ実行システム及びジョブ実行プログラム |
WO2010131778A1 (ja) * | 2009-05-15 | 2010-11-18 | 日本電気株式会社 | ワークフロー監視制御システム、監視制御方法および監視制御プログラム |
JP4941507B2 (ja) * | 2009-05-27 | 2012-05-30 | 沖電気工業株式会社 | 負荷分散制御装置、プログラム及び方法、並びに、負荷分散装置及び情報処理装置 |
JP5534002B2 (ja) | 2010-03-25 | 2014-06-25 | 富士通株式会社 | マルチコアプロセッサシステム、制御プログラム、および制御方法 |
JP5465105B2 (ja) * | 2010-06-21 | 2014-04-09 | 三菱電機株式会社 | 計算機システム及びコンピュータプログラム及びパイプライン処理方法 |
JP5470177B2 (ja) * | 2010-07-06 | 2014-04-16 | 株式会社日立製作所 | トレースシステム |
JP5867238B2 (ja) * | 2012-03-30 | 2016-02-24 | 富士通株式会社 | オートスケーリング方法,オートスケーリングプログラムおよびコンピュータノード |
JP6277827B2 (ja) | 2014-03-31 | 2018-02-14 | 富士通株式会社 | 情報処理装置、スケール管理方法およびプログラム |
JP2015200986A (ja) * | 2014-04-04 | 2015-11-12 | 株式会社東芝 | クラウド制御システム、及びクラウド制御システムの制御プログラムのスケジューリング方法 |
CN105988872B (zh) * | 2015-02-03 | 2020-02-18 | 阿里巴巴集团控股有限公司 | 一种cpu资源分配的方法、装置及电子设备 |
JP2017072876A (ja) * | 2015-10-05 | 2017-04-13 | Necエンジニアリング株式会社 | 仮想マシン管理システム、管理サーバ及び仮想マシン管理方法 |
-
2006
- 2006-07-10 JP JP2006188821A patent/JP4370313B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008015958A (ja) | 2008-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4370313B2 (ja) | 制御装置、制御装置のプロセス制御方法およびプロセス制御プログラム | |
JP5218390B2 (ja) | 自律制御サーバ、仮想サーバの制御方法及びプログラム | |
US5053970A (en) | Work scheduling method | |
US5325505A (en) | Intelligent storage manager for data storage apparatus having simulation capability | |
US7383417B2 (en) | Prefetching apparatus, prefetching method and prefetching program product | |
JP5516744B2 (ja) | スケジューラ、マルチコアプロセッサシステムおよびスケジューリング方法 | |
JP5408356B2 (ja) | スケジューラプログラム、マルチコアプロセッサシステムおよびスケジューリング方法 | |
US20170017686A1 (en) | Access path optimization through system statistics | |
JP6191691B2 (ja) | 異常検出装置、制御方法、及びプログラム | |
RU2651216C2 (ru) | Способ, устройство и компьютерный носитель данных для перемещения данных | |
CN101743534A (zh) | 通过增长和收缩资源分配来进行调度 | |
US20130152089A1 (en) | Job management apparatus and job management method | |
CN110058882A (zh) | 一种用于cnn加速的opu指令集定义方法 | |
JP6432333B2 (ja) | 情報処理装置、データ処理方法、およびデータ処理プログラム | |
JP2009087190A (ja) | ストリームデータ解析高速化装置、方法およびプログラム | |
KR20230128954A (ko) | 함수 계산에 사용되는 자원 제어 방법, 장치, 설비 및 매체 | |
CN113886036B (zh) | 用于优化分布式系统集群配置的方法和系统 | |
JP5776813B2 (ja) | マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法および制御プログラム | |
KR102089450B1 (ko) | 데이터이주장치 및 그 동작 방법 | |
JP3642772B2 (ja) | コンピュータ装置及びプログラム実行方法 | |
JP4778538B2 (ja) | ストレージデータ管理システム及びストレージデータ管理プログラム | |
EP2405353A1 (en) | Multi-Core query processing using asynchronous buffers | |
JPH09231144A (ja) | データファイル管理方法およびデータファイル管理装置 | |
Samadi | TUNEX: A knowledge-based system for performance tuning of the UNIX operating system | |
JP4535784B2 (ja) | プロセス配置装置、プロセス配置方法及びプロセス配置プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080825 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080909 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081106 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090203 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090428 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090724 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20090804 |
|
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: 20090825 |
|
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: 20090831 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4370313 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: 20120904 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130904 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |