JP2007018282A - プロセス制御システム及びその制御方法 - Google Patents
プロセス制御システム及びその制御方法 Download PDFInfo
- Publication number
- JP2007018282A JP2007018282A JP2005199309A JP2005199309A JP2007018282A JP 2007018282 A JP2007018282 A JP 2007018282A JP 2005199309 A JP2005199309 A JP 2005199309A JP 2005199309 A JP2005199309 A JP 2005199309A JP 2007018282 A JP2007018282 A JP 2007018282A
- Authority
- JP
- Japan
- Prior art keywords
- cpu usage
- usage rate
- control
- control target
- entire system
- 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
- 238000000034 method Methods 0.000 title claims abstract description 493
- 238000004886 process control Methods 0.000 title claims abstract description 55
- 230000008569 process Effects 0.000 claims abstract description 484
- 238000001514 detection method Methods 0.000 claims description 54
- 239000000725 suspension Substances 0.000 claims description 40
- 238000012937 correction Methods 0.000 claims description 32
- 238000000611 regression analysis Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 abstract description 13
- 230000006866 deterioration Effects 0.000 abstract description 6
- 238000012545 processing Methods 0.000 description 17
- 230000004913 activation Effects 0.000 description 9
- 239000008186 active pharmaceutical agent Substances 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012369 In process control Methods 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 238000010965 in-process control Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
【解決手段】 コンピュータで所定のプロセスが起動したことを検知し、このプロセスが予め定められた制御対象プロセスか否かを判断するプロセス状態検知部10と、このプロセス状態検知部10により制御対象プロセスが起動したと判断された場合に、システム全体のCPU使用率を取得し、予め定められたシステム全体のCPU使用率の目標値と比較する比較部30と、この比較部30による比較結果に基づいて、制御対象プロセスの停止・実行再開を制御するプロセス一時停止制御部40とを備える。
【選択図】 図1
Description
また、プログラム自身が、予め実行の優先順位を細かく設定可能であり、システム全体のCPU使用率への影響を抑制できるようにしたものも存在する。
さらに、システム全体のCPU使用率を測定し、所定の上限を超えないようにプロセスの起動を制御する従来技術も存在する(例えば、特許文献2参照)。
しかしながら、プログラムプロセスに属するスレッドの優先順位を変更する従来技術の場合、完全にメモリ上でのデータ処理を行うプロセスに対しては効果的な制御が可能であるが、周辺装置へのI/Oアクセスを伴うプロセス(例えば、アンチウイルスプログラムのようにデータの比較とディスクI/Oを繰り返すプロセス)では、あまり効果的ではなかった。これは、後者のようなプロセスでは、I/O待ちの時間の方が長く、メインスレッドのタスク実行時間が非常に少なくなっているので、そのスレッドのタスク優先順位をアイドルレベル(最低優先順位)に変えても、CPU使用率にはほとんど影響がないためである。
また、システム全体のCPU使用率の目標値として、上限値と下限値を設定しておき、プロセス一時停止制御部は、比較部によりシステム全体のCPU使用率の現在値が上限値を上回っていると判断された場合に、制御対象プロセスを停止させ、現在値が下限値を下回っていると判断され、かつ制御対象プロセスが停止している場合に、制御対象プロセスの実行を再開させるようにしても良い。
具体的には、プロセス制御システムを次のように構成する。すなわち、制御対象プロセスを記述した制御対象プロセス記述ファイルを用意する。プロセス状態検知部は、起動したことを検知したプロセスが制御対象プロセス記述ファイルに記述されているか否かを調べて、プロセスが制御対象プロセスか否かを判断することとする。制御対象修正部は、例えば定期的にOS実行部から動作中のプロセスごとのプロセス別CPU使用率を取得し、このプロセス別CPU使用率に基づいて特定される所定のプロセスが制御対象プロセス記述ファイルに記載されているか否かを調べる。そして、この所定のプロセスが制御対象プロセス記述ファイルに記載されていない場合に、所定のプロセスを制御対象プロセス記述ファイルに記載する。
まず、本発明の概要を説明する。本発明によるコンピュータのプロセス制御は、システム全体によるCPU使用率の目標値と、制御対象のプロセス(以下、制御対象プロセス)とを設定する。制御対象プロセスとしては、同時に実行されるプロセスのうち、システム全体のCPU使用率を上げる原因と推定される1または複数のプロセスが選択される。
このように、本発明は、個々のプロセスのCPU使用率や優先度に関わらず、システム全体のCPU使用率をフィードバックして、個々のプロセス(制御対象プロセス)の実行時間を動的に制御する。
図1に示すように、本実施形態のプロセス制御システム100は、プロセス状態検知部10と、CPU使用率取得部20と、比較部30と、プロセス一時停止制御部40と、プロセス別CPU使用率取得部50と、制御対象修正部60とを備える。図1に示すこれらの機能ブロックは、コンピュータにおけるプログラム制御されたCPU(Central Processing Unit)およびメインメモリにより実現される。
ここで、制御対象プロセス記述ファイル71には、本実施形態によりプロセスまたはそのスレッドの停止・実行を切り替え制御する対象となるプロセスを特定する情報が記述されている。この記述内容は、初期的にはユーザによる入力操作等によって外部から与えられるが、システム稼働後は、プロセス制御の実績に応じて動的に更新することができる。
また、目標値記述ファイル72には、制御対象プロセスまたはそのスレッドを一次停止または実行再開させるための基準となるシステム全体のCPU使用率の目標値が記述されている。この記述内容は、ユーザによる入力操作等によって外部から与えられる。
・任意のプロセスの起動・終了の検知
・システム全体および個別プロセスのCPU使用率の測定
・任意のプロセスの一時停止・再開
そして、本実施形態のプロセス制御システム100は、これらのAPIの機能を利用して、OS実行部200からプロセス制御に必要な情報を取得し、制御対象プロセスに対する一時停止・実行再開の制御を行う。
CPU使用率取得部20は、比較部30の要求に応じて、OSが有する必要なAPIを使用してシステム全体のCPU使用率を取得し、比較部30に提供する。
プロセス一時停止制御部40は、比較部30の要求に応じて、OSが有する必要なAPIを使用して制御対象プロセスの停止・実行を制御する。
制御対象修正部60は、定期的にあるいはユーザからのコマンド入力等のイベントに応じて、プロセス別CPU使用率取得部50に対してコンピュータで実行されたプロセス別のCPU使用率を要求する。
プロセス別CPU使用率取得部50は、制御対象修正部60の要求に応じて、OS実行部200が有する必要なAPIを使用してプロセス別のCPU使用率を取得し、制御対象修正部60に提供する。
本実施形態によるプロセス制御は、大きく分けて、制御対象の検知処理(プロセスの起動・終了の検知)と制御処理(プロセスの停止・実行の制御)とからなる。また、この一連の制御動作とは別に、制御対象プロセスの修正が行われる。以下、それぞれの動作についてフローチャートを参照して説明する。
初期動作として、プロセス状態検知部10の初期化処理が行われ、プロセス状態検知部10は、OS実行部200に対してプロセス起動・終了検知イベントの開始を要求する。これにより、OS実行部200においてAPIにより所定のプロセスの開始または終了が検出されると、OS実行部200からプロセス状態検知部10へコールバックがなされ、プロセス状態検知部10のイベント検出処理ルーチンに制御が移ることとなる。なお、この初期化処理は、本実施形態のプロセス制御システムのメインプログラムが起動する際の初期化処理において実行される。
プロセス状態検知部10は、まず、検出されたイベントがプロセスの新規起動か否かを調べる(ステップ201)。プロセスの新規起動である場合、プロセス状態検知部10は、制御対象プロセス記述ファイル71を参照して、起動されたプロセスが制御対象プロセスか否かを調べる(ステップ202)。そして、起動されたプロセスが制御対象プロセスであれば、プロセス状態検知部10は、比較部30に制御の開始を指示して処理を終了する(ステップ203)。一方、起動されたプロセスが制御対象プロセスでない場合、プロセス状態検知部10は、何ら処理を行わずにイベント検出処理を終了する(ステップ202)。
プロセス状態検知部10の終了処理が行われると、プロセス状態検知部10は、OS実行部200に対してプロセス起動・終了検知イベントの終了を要求する。これにより、OS実行部200において所定のプロセスの開始または終了が検出されても、プロセス状態検知部10のイベント検出処理ルーチンに制御が移らなくなる。この終了処理は、本実施形態のプロセス制御システムのメインプログラムが終了する際の終了処理において実行される。
初期動作として、比較部30およびプロセス一時停止制御部40の初期化が行われ、比較部30が制御対象プロセス記述ファイル71を読み込み、既に起動しているプロセスに対する制御スレッドが作成される。初期動作の時点で起動していないプロセスについては、プロセス状態検知部10から制御開始指示がなされたときに、制御スレッドが作成される。個々の制御スレッドは、互いに干渉しない独立したスレッドとして、自身に対応するプロセスの一時停止・実行再開を制御する。なお、この初期化処理は、本実施形態のプロセス制御システムのメインプログラムが起動する際の初期化処理において実行される。
制御スレッドにおいて、比較部30は、まずCPU使用率取得部20に対してシステム全体のCPU使用率の現在値を要求する(ステップ301)。CPU使用率取得部20は、この要求に従って、OS実行部200からシステム全体のCPU使用率の現在値を取得し、比較部30に転送する。
また、本実施形態のプロセス制御システムのメインプログラムが終了する際の終了処理が実行された場合は、この終了処理において全ての制御スレッドに対する停止要求がなされる。各制御スレッドにおいて比較部30は、上記ステップ306のスリープ状態から再起動した際に、この停止要求に従い、上述の手順で制御スレッドを終了する。
図4は、本実施形態によるプロセス制御の基本的な概念を説明する図である。図4において、Y(S)はシステム全体のCPU使用率(現在値)、X(S)は制御対象プロセスXのCPU使用率(現在値)、D(S)は制御対象でないプロセス(以下、他プロセス)のCPU使用率(現在値)である。また、G(S)はシステム全体のCPU使用率への影響を表す相関関数(伝達関数)であり、R(S)はシステム全体のCPU使用率の目標値である。
Y(S)=(1−(Ui+Ki)/Et)×100%
また、制御対象プロセスXのCPU使用率X(S)は、制御対象プロセスXのユーザモード時間をUx、制御対象プロセスXのカーネルモード時間をKxとして、次のように計算できる。
X(S)=(Ux+Kx)/Et×100%
ただし、本実施形態では、X(S)の計算は必要なく、Y(S)の計算結果とR(S)との比較のみにより、制御対象プロセスXの一時停止および実行再開を制御できる。
Y(S)=G(S)×(X(S)+D(S))
となる。そして、
Y(S)>R(S)
となった場合、制御対象プロセスXが停止されて(図4のスイッチがオフ)、
X(S)=0
となる。このとき、システム全体のCPU使用率Y(S)は、
Y(S)=G(S)×D(S)
である。制御対象プロセスXの停止により、システム全体のCPU使用率Y(S)は次第に低下していき、一定時間が経過すると、
Y(S)<R(S)
となる。
Y(S)=G(S)×(X(S)+D(S))
となる。そして、システム全体のCPU使用率Y(S)が上昇していき、目標値R(S)を超えたならば、上述のフィードバックがかかることになる。
なお、システム全体のCPU使用率Y(S)がCPU使用率の目標値R(S)を下回った時点で直ちに制御対象プロセスXを実行再開させるのではなく、ある程度のヒステリシスを持たせて制御するようにしても良い。例えば、目標値R(S)を30%と設定した場合に、さらに20%減の10%までシステム全体のCPU使用率Y(S)が低下したときに、制御対象プロセスXを実行再開させるような制御が可能である。また、予め目標値として上限値と下限値の2種類を設定しておき、システム全体のCPU使用率Y(S)が上限値を上回ったときに制御対象プロセスXを一時停止させ、下限値を下回ったときに制御対象プロセスXを実行再開させるといった制御も可能である。
図5は、複数の制御対象プロセスを設定した場合の本実施形態によるプロセス制御の概念を説明する図である。図5において、制御対象プロセスはN個設定されており、個々の制御対象プロセスXn(n:1≦n≦N)のCPU使用率(現在値)がXn(S)で表されている。制御対象プロセスXnとしては、例えば、CPU使用率監視部P1により個々のプロセスのCPU使用率を監視し、CPU使用率の高いプロセス上位N個を選択することができる。CPU使用率監視部P1の機能は、既存のCPU使用率監視用プログラムによりコンピュータのCPUを制御して実現できる。また、図中のY(S)、G(S)、R(S)は図4に示したものと同様である。なお、図5には他プロセスのCPU使用率D(S)が記載されていないが、動作するプロセスがN個以上あるときは、CPU使用率が上位N個に入らないプロセスを他プロセスとしてCPU使用率D(S)を考慮する。
Xn(S)=(Uxn+Kxn)/Et×100%
この計算は、CPU使用率監視部P1により行われる。なお、Etは経過時間である。また、システム全体のCPU使用率Y(S)は、図4の場合と同様に計算することができる。
また、単純にCPU使用率の上位数個分の制御対象プロセスXnを選択するのではなく、各制御対象プロセスXnのCPU使用率Xn(S)とシステム全体のCPU使用率Y(S)の共分散を一定時間分計算し、強い正の相関を示す制御対象プロセスXnを選択して一時停止・実行再開の制御を行うこともできる。
図6に示す例では、システム全体のCPU使用率Y(S)に基づいて制御対象プロセスXnの制御を行うためのフィードバックループ中に、重回帰分析部P2が挿入されている。重回帰分析部P2の機能は、既存の重回帰分析プログラムによりコンピュータのCPUを制御して実現できる。この重回帰分析部P2は、システム全体のCPU使用率Y(S)と各制御対象プロセスXnのCPU使用率Xn(S)とを入力し、重回帰分析を行ってシステム全体のCPU使用率の予測値Yf(S)を算出する。そして、このCPU使用率の予測値Yf(S)と目的値R(S)との比較結果に基づいて、制御対象プロセスXあるいはXnに対する一時停止・実行再開の制御が行われる。なお、重回帰分析による予測値の計算が制御対象のシステムのCPU使用率に著しく影響を与える場合には、予測の計算のみを別のシステムで行わせる構成としても良い。
上述したように、本実施形態のプロセス制御システムは、上記一連のプロセス制御とは別に、定期的に、コンピュータで実行されているプロセスのCPU使用率を調べ、制御対象プロセスを修正する。この処理では、CPU使用率の上位のプロセスから順に、制御対象記述ファイルに記述されているかどうかをチェックし、記述されていなければ制御対象記述ファイルを更新する。
初期動作として、プロセス別CPU使用率取得部50および制御対象修正部60の初期化が行われ、制御対象プロセスの修正処理用のスレッドが作成される。なお、この初期化処理は、本実施形態のプロセス制御システムのメインプログラムが起動する際の初期化処理において実行される。
制御対象プロセスの修正処理用のスレッドにおいて、制御対象修正部60は、一定時間おきに、プロセス別CPU使用率取得部50に対して、プロセス別のCPU使用率の取得要求を行う(ステップ701)。プロセス別CPU使用率取得部50は、この要求に従って、OS実行部200から動作中のプロセスに関するプロセス別のCPU使用率の情報を取得し、制御対象修正部60に転送する。
修正処理が終了した後、制御対象修正部60は、一定時間、スリープ状態となる(ステップ704)。そして、再起動後、自スレッドに対する停止要求(後述)がなされていなければ、ステップ701に戻ってプロセス別CPU使用率取得部50に要求を出し、処理を繰り返す(ステップ705)。一方、自スレッドに対する停止要求がなされた場合、処理を終了する(ステップ705)。
制御対象修正部60は、まず、ステップ702でソートされたプロセス名のリストに基づき、最もCPU使用率の高いプロセスを選択して(ステップ801)、選択されたプロセスのCPU使用率の現在値と目標値記述ファイル72に記述された目標値とを比較する(ステップ802)。そして、選択されたプロセスのCPU使用率が目標値以下であれば、何ら処理を行わずに制御対象修正処理を終了する。
本実施形態では、新たに実行されるプログラムの種類にかかわらず、単にCPU使用率の高いプログラムから順に、一時停止・実行再開の制御を行えば良い。すなわち、いつ、どのプログラムが起動するか特定できないシステムでも、新規プログラムの起動等による外乱の影響をすばやく解消することができる。
Claims (18)
- コンピュータで所定のプロセスが起動したことを検知し、当該プロセスが予め定められた制御対象プロセスか否かを判断するプロセス状態検知部と、
前記プロセス状態検知部により前記制御対象プロセスが起動したと判断された場合に、システム全体のCPU使用率を取得し、予め定められた当該システム全体のCPU使用率の目標値と比較する比較部と、
前記比較部による比較結果に基づいて、前記制御対象プロセスの停止・実行再開を制御するプロセス一時停止制御部と
を備えることを特徴とするプロセス制御システム。 - 前記プロセス一時停止制御部は、前記比較部によりシステム全体のCPU使用率の現在値が前記目標値を上回っていると判断された場合に、前記制御対象プロセスを停止させ、当該現在値が前記目標値を下回っていると判断され、かつ前記制御対象プロセスが停止している場合に、当該制御対象プロセスの実行を再開させることを特徴とする請求項1に記載のプロセス制御システム。
- 前記システム全体のCPU使用率の目標値として、上限値と下限値が設定され、
前記プロセス一時停止制御部は、前記比較部によりシステム全体のCPU使用率の現在値が前記上限値を上回っていると判断された場合に、前記制御対象プロセスを停止させ、当該現在値が前記下限値を下回っていると判断され、かつ前記制御対象プロセスが停止している場合に、当該制御対象プロセスの実行を再開させることを特徴とする請求項1に記載のプロセス制御システム。 - 前記比較部は、システム全体のCPU使用率の現在値が前記目標値を上回っていると判断し、かつ動作中の制御対象プロセスが複数存在する場合に、当該動作中の制御対象プロセスの少なくとも一部を一時停止の対象として決定し、
前記プロセス一時停止制御部は、前記比較部により一時停止の対象として決定された前記動作中の制御対象プロセスを停止させることを特徴とする請求項1に記載のプロセス制御システム。 - 前記比較部は、システム全体のCPU使用率および個々のプロセスによるCPU使用率に関する一定期間分の時系列データに対して重回帰分析を行ってシステム全体のCPU使用率の予測値を計算し、当該予測値と前記目標値とを比較し、
前記プロセス一時停止制御部は、前記比較部により前記予測値が前記目標値を上回っていると判断された場合に、前記制御対象プロセスを停止させ、当該予測値が前記目標値を下回っていると判断され、かつ前記制御対象プロセスが停止している場合に、当該制御対象プロセスの実行を再開させることを特徴とする請求項1に記載のプロセス制御システム。 - 前記制御対象プロセスを記述した制御対象プロセス記述ファイルをさらに備え、
前記プロセス状態検知部は、起動したことを検知した前記プロセスが前記制御対象プロセス記述ファイルに記述されているか否かを調べて、当該プロセスが前記制御対象プロセスか否かを判断することを特徴とする請求項1に記載のプロセス制御システム。 - 動作中のプロセスごとのプロセス別CPU使用率を取得し、当該プロセス別CPU使用率に基づいて特定される所定のプロセスが前記制御対象プロセス記述ファイルに記載されているか否かを調べ、当該所定のプロセスが当該制御対象プロセス記述ファイルに記載されていない場合に、当該所定のプロセスを当該制御対象プロセス記述ファイルに記載する制御対象修正部をさらに備えることを特徴とする請求項6に記載のプロセス制御システム。
- OS(Operating System)にしたがって複数のプロセスの実行を制御するOS実行部と、
前記OS実行部の制御により所定のプロセスが起動したことを検知し、当該プロセスが予め定められた制御対象プロセスか否かを判断するプロセス状態検知部と、
前記プロセス状態検知部により前記制御対象プロセスが起動したと判断された場合に、前記OS実行部からシステム全体のCPU使用率を取得し、予め定められた当該システム全体のCPU使用率の目標値と比較する比較部と、
前記比較部による比較結果に基づいて、前記制御対象プロセスの停止・実行再開を前記OS実行部に指示するプロセス一時停止制御部と
を備えることを特徴とするコンピュータ。 - 前記OS実行部から動作中のプロセスごとのプロセス別CPU使用率を取得し、当該プロセス別CPU使用率に基づいて、前記制御対象プロセスを修正する制御対象修正部をさらに備えることを特徴とする請求項8に記載のコンピュータ。
- コンピュータにより実行されるプロセスの制御を行う方法であって、
コンピュータで所定のプロセスが起動したことを検知し、当該プロセスが予め定められた制御対象プロセスか否かを判断するステップと、
前記制御対象プロセスが起動したと判断された場合に、システム全体のCPU使用率を取得するステップと、
得られた前記システム全体のCPU使用率と予め定められた当該システム全体のCPU使用率の目標値と比較するステップと、
前記システム全体のCPU使用率が前記目標値を上回っている場合に、前記制御対象プロセスを停止させるステップと、
前記システム全体のCPU使用率が前記目標値を下回っており、かつ前記制御対象プロセスが停止している場合に、当該制御対象プロセスの実行を再開させるステップと
を含むことを特徴とする方法。 - 前記システム全体のCPU使用率と前記目標値とを比較するステップでは、当該システム全体のCPU使用率の現在値と当該目標値とが比較されることを特徴とする請求項10に記載の方法。
- 前記システム全体のCPU使用率と前記目標値とを比較するステップでは、
システム全体のCPU使用率および個々のプロセスによるCPU使用率に関する一定期間分の時系列データに対して重回帰分析を行ってシステム全体のCPU使用率の予測値が計算され、
算出された予測値と前記目標値とが比較されることを特徴とする請求項10に記載の方法。 - 動作中のプロセスごとのプロセス別CPU使用率を取得するステップと、
得られた前記プロセス別CPU使用率に基づいて、前記制御対象プロセスを修正するステップと
をさらに含むことを特徴とする請求項10に記載の方法。 - コンピュータを、
コンピュータで所定のプロセスが起動したことを検知し、当該プロセスが予め定められた制御対象プロセスか否かを判断するプロセス状態検知手段と、
前記プロセス状態検知手段により前記制御対象プロセスが起動したと判断された場合に、システム全体のCPU使用率を取得し、予め定められた当該システム全体のCPU使用率の目標値と比較する比較手段と、
前記比較手段による比較結果に基づいて、前記制御対象プロセスの停止・実行再開を制御するプロセス一時停止制御手段として、
機能させることを特徴とするプログラム。 - 前記プロセス一時停止制御手段の機能として、前記コンピュータに、システム全体のCPU使用率の現在値が前記目標値を上回っていると判断された場合に、前記制御対象プロセスを停止させ、当該現在値が前記目標値を下回っていると判断され、かつ前記制御対象プロセスが停止している場合に、当該制御対象プロセスの実行を再開させることを特徴とする請求項14に記載のプログラム。
- 前記比較手段の機能として、前記コンピュータに、システム全体のCPU使用率および個々のプロセスによるCPU使用率に関する一定期間分の時系列データに対して重回帰分析を行ってシステム全体のCPU使用率の予測値を計算させて、当該予測値と前記目標値とを比較させ、
前記プロセス一時停止制御手段の機能として、前記コンピュータに、前記予測値が前記目標値を上回っていると判断された場合に、前記制御対象プロセスを停止させ、前記予測値が前記目標値を下回っていると判断され、かつ前記制御対象プロセスが停止している場合に、当該制御対象プロセスの実行を再開させることを特徴とする請求項14に記載のプログラム。 - 前記コンピュータを、動作中のプロセスごとのプロセス別CPU使用率を取得し、当該プロセス別CPU使用率に基づいて、前記制御対象プロセスを修正する制御対象修正手段として、さらに機能させることを特徴とする請求項14に記載のプログラム。
- コンピュータに、
コンピュータで所定のプロセスが起動したことを検知し、当該プロセスが予め定められた制御対象プロセスか否かを判断する処理と、
前記制御対象プロセスが起動したと判断された場合に、システム全体のCPU使用率を取得する処理と、
得られた前記システム全体のCPU使用率と予め定められた当該システム全体のCPU使用率の目標値と比較する処理と、
前記システム全体のCPU使用率が前記目標値を上回っている場合に、前記制御対象プロセスを停止させる処理と、
前記システム全体のCPU使用率が前記目標値を下回っており、かつ前記制御対象プロセスが停止している場合に、前記制御対象プロセスの実行を再開させる処理と
を実行させることを特徴とするプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005199309A JP4367856B2 (ja) | 2005-07-07 | 2005-07-07 | プロセス制御システム及びその制御方法 |
US11/480,716 US7917905B2 (en) | 2005-07-07 | 2006-07-03 | Process control system and control method therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005199309A JP4367856B2 (ja) | 2005-07-07 | 2005-07-07 | プロセス制御システム及びその制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007018282A true JP2007018282A (ja) | 2007-01-25 |
JP4367856B2 JP4367856B2 (ja) | 2009-11-18 |
Family
ID=37619698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005199309A Expired - Fee Related JP4367856B2 (ja) | 2005-07-07 | 2005-07-07 | プロセス制御システム及びその制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7917905B2 (ja) |
JP (1) | JP4367856B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010176413A (ja) * | 2009-01-29 | 2010-08-12 | Fujitsu Ltd | 情報処理装置、情報処理方法及びコンピュータプログラム |
WO2012025962A1 (ja) * | 2010-08-25 | 2012-03-01 | 富士通株式会社 | 負荷制御装置、負荷制御方法及び負荷制御プログラム |
JP2013105277A (ja) * | 2011-11-11 | 2013-05-30 | Fujitsu Semiconductor Ltd | 管理プログラム、管理方法、および管理装置 |
KR101628072B1 (ko) * | 2015-03-04 | 2016-06-08 | 삼성전자서비스 주식회사 | 휴대통신 단말의 느림 진단장치 및 진단방법 |
KR20170125892A (ko) * | 2015-04-14 | 2017-11-15 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 프로세스 관리 방법, 장치, 및 디바이스 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9602340B2 (en) * | 2007-04-20 | 2017-03-21 | Sap Se | Performance monitoring |
US9417914B2 (en) * | 2008-06-02 | 2016-08-16 | Microsoft Technology Licensing, Llc | Regaining control of a processing resource that executes an external execution context |
US8220054B1 (en) * | 2008-10-31 | 2012-07-10 | Trend Micro, Inc. | Process exception list updating in a malware behavior monitoring program |
US8924975B2 (en) * | 2009-07-23 | 2014-12-30 | Empire Technology Development Llc | Core selection for applications running on multiprocessor systems based on core and application characteristics |
US8819686B2 (en) * | 2009-07-23 | 2014-08-26 | Empire Technology Development Llc | Scheduling threads on different processor cores based on memory temperature |
US8656396B2 (en) * | 2009-08-11 | 2014-02-18 | International Business Machines Corporation | Performance optimization based on threshold performance measure by resuming suspended threads if present or by creating threads within elastic and data parallel operators |
TW201117102A (en) * | 2009-11-02 | 2011-05-16 | Inventec Corp | Method for self-diagnosing system management interrupt handler |
US8869154B1 (en) * | 2010-03-29 | 2014-10-21 | Crimson Corporation | Controlling processor usage on a computing device |
US9268611B2 (en) | 2010-09-25 | 2016-02-23 | Intel Corporation | Application scheduling in heterogeneous multiprocessor computing platform based on a ratio of predicted performance of processor cores |
US9378111B2 (en) | 2010-11-11 | 2016-06-28 | Sap Se | Method and system for easy correlation between monitored metrics and alerts |
JP5193327B2 (ja) | 2011-02-28 | 2013-05-08 | シャープ株式会社 | 画像形成装置 |
JP5842601B2 (ja) * | 2011-12-26 | 2016-01-13 | 富士通株式会社 | プログラム、情報処理方法及び情報処理装置 |
US9135135B2 (en) | 2012-06-28 | 2015-09-15 | Sap Se | Method and system for auto-adjusting thresholds for efficient monitoring of system metrics |
US9106391B2 (en) | 2013-05-28 | 2015-08-11 | International Business Machines Corporation | Elastic auto-parallelization for stream processing applications based on a measured throughput and congestion |
CN104133726A (zh) * | 2014-08-13 | 2014-11-05 | 浪潮电子信息产业股份有限公司 | 一种进程上下文强制访问控制方法 |
US20160196089A1 (en) * | 2015-01-07 | 2016-07-07 | Netapp, Inc. | System and method for adaptive data transfers with limited resources |
CN106325861A (zh) * | 2016-08-18 | 2017-01-11 | 北京奇虎科技有限公司 | 一种用于管理分布式系统的方法和装置 |
US10379933B2 (en) * | 2017-02-15 | 2019-08-13 | Sap Se | Sensor data anomaly detection |
CN111897586A (zh) * | 2019-05-06 | 2020-11-06 | 中兴通讯股份有限公司 | 应用状态控制方法、装置、终端及计算机可读存储介质 |
KR20210061138A (ko) * | 2019-11-19 | 2021-05-27 | 주식회사 엘지화학 | 배터리 관리 시스템 및 그 제어방법 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6192514B1 (en) * | 1997-02-19 | 2001-02-20 | Unisys Corporation | Multicomputer system |
JPH1165859A (ja) | 1997-08-11 | 1999-03-09 | Tec Corp | 業務プログラム管理方法及び装置並びに業務プログラム管理用プログラムを記録した記録媒体 |
JP2000284976A (ja) | 1999-03-31 | 2000-10-13 | Nec Corp | Cpu負荷制御方法およびcpu負荷制御装置 |
JP2002202959A (ja) * | 2000-12-28 | 2002-07-19 | Hitachi Ltd | 動的な資源分配をする仮想計算機システム |
GB2366891B (en) * | 2001-12-06 | 2002-11-20 | Appsense Ltd | Improvements in and relating to computer apparatus terminal server apparatus & performance management methods therefor |
US6993681B2 (en) * | 2002-04-15 | 2006-01-31 | General Electric Corporation | Remote administration in a distributed system |
US7784054B2 (en) * | 2004-04-14 | 2010-08-24 | Wm Software Inc. | Systems and methods for CPU throttling utilizing processes |
JP4756675B2 (ja) * | 2004-07-08 | 2011-08-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンピュータ資源のキャパシティを予測するためのシステム、方法およびプログラム |
-
2005
- 2005-07-07 JP JP2005199309A patent/JP4367856B2/ja not_active Expired - Fee Related
-
2006
- 2006-07-03 US US11/480,716 patent/US7917905B2/en active Active
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010176413A (ja) * | 2009-01-29 | 2010-08-12 | Fujitsu Ltd | 情報処理装置、情報処理方法及びコンピュータプログラム |
WO2012025962A1 (ja) * | 2010-08-25 | 2012-03-01 | 富士通株式会社 | 負荷制御装置、負荷制御方法及び負荷制御プログラム |
JPWO2012025962A1 (ja) * | 2010-08-25 | 2013-10-28 | 富士通株式会社 | 負荷制御装置、負荷制御方法及び負荷制御プログラム |
JP2013105277A (ja) * | 2011-11-11 | 2013-05-30 | Fujitsu Semiconductor Ltd | 管理プログラム、管理方法、および管理装置 |
KR101628072B1 (ko) * | 2015-03-04 | 2016-06-08 | 삼성전자서비스 주식회사 | 휴대통신 단말의 느림 진단장치 및 진단방법 |
KR20170125892A (ko) * | 2015-04-14 | 2017-11-15 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 프로세스 관리 방법, 장치, 및 디바이스 |
JP2018514033A (ja) * | 2015-04-14 | 2018-05-31 | 華為技術有限公司Huawei Technologies Co.,Ltd. | プロセス管理方法、装置、およびデバイス |
KR101968106B1 (ko) | 2015-04-14 | 2019-04-11 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 프로세스 관리 방법, 장치, 및 디바이스 |
US10514950B2 (en) | 2015-04-14 | 2019-12-24 | Huawei Technologies Co., Ltd. | Interface switching method, apparatus, and device |
Also Published As
Publication number | Publication date |
---|---|
US7917905B2 (en) | 2011-03-29 |
JP4367856B2 (ja) | 2009-11-18 |
US20070011661A1 (en) | 2007-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4367856B2 (ja) | プロセス制御システム及びその制御方法 | |
US7441240B2 (en) | Process scheduling apparatus, process scheduling method, program for process scheduling, and storage medium recording a program for process scheduling | |
US9870252B2 (en) | Multi-threaded processing with reduced context switching | |
JP5642338B2 (ja) | ジョブ管理プログラムおよびジョブ管理方法 | |
US7137115B2 (en) | Method for controlling multithreading | |
US7565652B2 (en) | Method of setting priority level in a multiprogramming computer system with priority scheduling, multiprogramming computer system and program thereof | |
US9875141B2 (en) | Managing pools of dynamic resources | |
JP5345990B2 (ja) | 特定のプロセスを短時間で処理する方法およびコンピュータ | |
JP2967999B2 (ja) | プロセスの実行多重度制御処理装置 | |
CN109491780B (zh) | 多任务调度方法及装置 | |
US20200142736A1 (en) | Computer processing system with resource optimization and associated methods | |
US20050132038A1 (en) | Resource reservation system and resource reservation method and recording medium storing program for executing the method | |
JP2008204243A (ja) | ジョブ実行制御方法およびシステム | |
US20050050541A1 (en) | Method of and apparatus for task control, and computer product | |
US6820153B2 (en) | Interrupt processing and memory management method in an operation processing device and a device using the same | |
US20060123421A1 (en) | Streamlining cpu utilization by delaying transactions | |
JP6669705B2 (ja) | 数値制御装置 | |
JP2001236236A (ja) | タスク制御装置およびそのタスクスケジューリング方法 | |
JP2001282560A (ja) | 仮想計算機制御方法及びその実施装置並びにその処理プログラムを記録した記録媒体 | |
JP2004213122A (ja) | クライアント/サーバによる制御システムの安定稼働方法及びそのプログラム | |
JP2004070582A (ja) | イベント通知タスク制御処理方式及び方法並びにプログラム | |
CN114489824B (zh) | 一种快速启动的控制方法、装置及电子设备 | |
JP2006172229A (ja) | タスクの動作制御方法、タスクの動作制御システムおよびプログラム | |
JP2008129709A (ja) | タスク制御方法、データ処理システム、タスク制御プログラム及びその記憶媒体 | |
KR100455623B1 (ko) | 멀티태스킹 운영체계에서 무한 루프 타스크 처리 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061221 |
|
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: 20081031 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090303 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090508 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20090611 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20090717 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20090806 |
|
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: 20090819 |
|
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: 20090821 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4367856 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20090903 |
|
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: 20120904 Year of fee payment: 3 |
|
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 |
|
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 |