JP4427802B2 - Cpuリソース管理装置、情報処理装置、cpuリソース管理方法及びcpuリソース管理プログラム - Google Patents

Cpuリソース管理装置、情報処理装置、cpuリソース管理方法及びcpuリソース管理プログラム Download PDF

Info

Publication number
JP4427802B2
JP4427802B2 JP2007168828A JP2007168828A JP4427802B2 JP 4427802 B2 JP4427802 B2 JP 4427802B2 JP 2007168828 A JP2007168828 A JP 2007168828A JP 2007168828 A JP2007168828 A JP 2007168828A JP 4427802 B2 JP4427802 B2 JP 4427802B2
Authority
JP
Japan
Prior art keywords
cpu resource
management
cpu
time
resource management
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2007168828A
Other languages
English (en)
Other versions
JP2009009275A (ja
Inventor
冬樹 渡辺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP2007168828A priority Critical patent/JP4427802B2/ja
Publication of JP2009009275A publication Critical patent/JP2009009275A/ja
Application granted granted Critical
Publication of JP4427802B2 publication Critical patent/JP4427802B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、CPUリソースの制御を行うCPUリソース管理システム、このシステムを備えた情報処理装置、そのシステムで実行されるCPUリソース管理方法、この方法を実行するためのCPUリソース管理プログラムに関し、特に、適切なCPUリソース管理を行うためのCPUリソース管理装置、情報処理装置、CPUリソース管理方法、CPUリソース管理プログラムに関する。
パーソナルコンピュータなどの情報処理装置には、一般に、CPU(Central Processing Unit)やメモリ、OSなどの種々のリソースが搭載されている。
このうちCPUリソースにおいては、マルチプログラミング時に、多数のタスクに対して、優先順位をつけながら、CPU使用時間を割り当てるタスク管理が行われる。
このCPUリソースの制御に関連する技術が、種々提案されている。
例えば、一つのタスクのCPU使用時間が消費された時点で、関連するタスクのCPU使用時間を積算し、タスクの終了条件を判断した結果からタスクを終了する必要がなければ、積算した残りのCPU使用時間をタスクのCPU使用時間として再配分することにより制御を行うものがある(例えば、特許文献1参照。)。
このような技術によれば、複数個のタスクで構成されるジョブの処理にあたって利用者が指定したCPU使用可能時間を大幅に超過することを防ぐことができる。
また、他の技術としては、例えば、複数の処理単位をタイムスライス方式にてCPUに割り当て実行せしめる多重処理制御方式であって、処理単位ごとに対応して設けられた各処理単位をタイムスライスにて実行させるためのタイムスライス時間間隔を記憶する記憶域と、処理単位ごとに対応して設けられ各処理単位がCPUを使用した時間を積算してこの積算時間を記憶する記憶域と、処理単位を複数グループに分割して各グループに対するCPUの使用割り当て比率を予め設定して記憶する割り当て比率テーブルと、所定時間経過ごとに各グループごとのCPUの使用時間比率をタイム時間間隔及び積算時間を用いて算出する手段と、グループごとの使用時間比率の比率テーブル内の対応グループの割り当て比率に対する誤差を算出してこの誤差に応じて該グループ内の各処理単位のタイムスライス時間間隔を変更する変更手段とを設け、処理単位の各々をCPUの使用時間を積算しつつタイムスライス時間間隔にて実行せしめるようにしたものがある(例えば、特許文献2参照。)。
このような技術によれば、情報処理装置内の複数の処理をいくつかのグループに分割し、各グループに予め定められた比率に従ってCPUの使用時間を分配することにより、特定の処理に対して割り当てられるCPU時間を他の処理の数、特性に影響されずに、常に一定であることを保証することができる。
特許第2508687号公報 特開昭62−011941号公報
しかしながら、特許文献1に記載の技術においては、CPU使用時間を消費したタスクを契機にCPU使用時間を再配分しているため、CPUリソースを適切に制御することができなかった。これは、CPU使用時間の使用実績をもとにCPU使用時間を再配分しても、再設定後に期待通りに動作する保証はないからである。このため、CPU使用時間を消費したタスクが存在しなければ、CPUリソースを制御することができず、CPU使用時間を消費したタスクが存在する場合でも、複数のタスクのCPU使用時間を積算したり、再配分の必要性を判断したりする処理が必要になり、タスクのターンアラウンド時間が増加してしまう。
さらに、ソフトウエアによりCPU使用時間の使用実績からCPUリソースを再配分しても、再配分した通りにタスクが動作する保証はないため、適切なCPUリソース管理を行うことができなかった。
また、特許文献1に記載の技術は、タスクのターンアラウンド時間が増加してしまうことである。これは、割り当てたCPU使用時間を消費しなければ、CPUリソースの制御が行われないからである。
しかも、制御によるキャッシュブロック上のデータ競合や排他制御、同期制御等によるオーバーヘッドによりマルチプロセッサ構成のシステム性能が低下する。これは、タスクのCPU使用時間を消費した時点で他のタスクのCPU使用時間を積算するために、キャッシュアクセスの増加や排他制御が必要になるからである。
また、特許文献2に記載の技術は、システム単位にグループを設定して制御しているため、システム単位に各グループの動作実績を累積した結果と割り当てた比率との誤差からタイムスライスの設定値の見直しを行い、グループ内のすべての処理のタイムスライス間隔を変更している。このため、動作実績の累積とグループ単位でなく各処理単位にタイムスライスを設定しなければならないため、制御時に不要なオーバーヘッドが生じてしまっていた。
さらに、タイムスライス機構の改善を行うために、特定の処理に対して割り当てられるCPUの使用時間を他の処理の数や特性に影響されることなく一定にする多重処理を提供することが目的であり、タイムスライスディスパッチング機能を使用するプロセスに限定した技術であり、タイムスライスインターバルとのズレを補正するための機能である。このため、タイムスライス機構の改善だけでは以下の点からすべての処理のCPUリソースを適切に制御することはできない。
一般に、タイムスライスディスパッチングの目的は、TSSなどの同一優先順位のプロセスを時分割で均等に動作させる機能であること。(優先順位が異なる場合に、タイムスライス機構が有効になっていても、優先順位の高いプロセスが優先して実行されるため、タイムスライス機構は有効に機能しなくなる)
タイムスライス機構は、常に動作せずそのプロセスの特性に応じてプロセス単位に必要に応じて設定すること。
また、タイムスライス値は、システム管理者が業務の特性に応じて設定するため、勝手に調整してしまうとシステム管理者の期待通りに動作せず、逆にシステムが不安定になってしまう。
本発明は、上記の事情にかんがみなされたものであり、CPU使用時間を消費したタスクを契機にCPU使用時間を再配分する手法を用いずに、CPUリソースを適切に制御可能とするCPUリソース管理装置、情報処理装置、CPUリソース管理方法及びCPUリソース管理プログラムの提供を目的とする。
この目的を達成するため、本発明のCPUリソース管理装置は、複数のプロセスを格納する記憶装置と、プロセスが実行されるプロセッサとを備えたCPUリソース管理装置であって、プロセッサは、プロセスが実行されていない空き状態の時間をアイドル時間とし、このアイドル時間が所定時間に達すると、CPUリソースの管理を継続するか否かを判断する第一の管理手段と、この第一の管理手段における判断の結果にもとづいて、CPUリソースを管理するCPUリソース制御手段とを有し、CPUリソースの管理を継続するか否かの判断は、経過した実時間に対する各プロセス群のCPU使用時間の割合を実績割合として算出し、予め設定された管理インターバルに対するCPUリソース初期情報の割合を基準割合として算出し、これら実績割合と基準割合とを比較した結果、実績割合が基準割合を超えていない場合には、CPUリソースの管理を継続しないと判断し、一方、実績割合が基準割合を超えている場合には、CPUリソースの管理を継続すると判断する構成としてある。
また、本発明の情報処理装置は、プロセッサを含む一又は二以上のCPUリソースを管理するCPUリソース管理装置を備えた情報処理装置であって、CPUリソース管理装置が、特許請求の範囲の請求項1〜請求項5のいずれかに記載のCPUリソース管理装置からなる構成としてある。
また、本発明のCPUリソース管理方法は、複数のプロセスを実行する処理を有したCPUリソース管理方法であって、プロセッサの第一の管理手段で、プロセスが実行されていない空き状態の時間をアイドル時間とし、このアイドル時間が所定時間に達すると、CPUリソースの管理を継続するか否かを判断する処理と、この判断の結果にもとづいて、プロセッサのCPUリソース制御手段で、CPUリソースを管理する処理とを有し、CPUリソースの管理を継続するか否かの判断は、経過した実時間に対する各プロセス群のCPU使用時間の割合を実績割合として算出し、予め設定された管理インターバルに対するCPUリソース初期情報の割合を基準割合として算出し、これら実績割合と基準割合とを比較した結果、実績割合が基準割合を超えていない場合には、CPUリソースの管理を継続しないと判断し、一方、実績割合が基準割合を超えている場合には、CPUリソースの管理を継続すると判断する方法としてある。
また、本発明のCPUリソース管理プログラムは、複数のプロセスを実行する処理をCPUリソース管理装置に実行させるCPUリソース管理プログラムであって、プロセスが実行されていない空き状態の時間をアイドル時間とし、このアイドル時間が所定時間に達すると、CPUリソースの管理を継続するか否かを判断する処理と、この判断の結果にもとづいて、CPUリソースを管理する処理とをCPU管理装置に実行させ、CPUリソースの管理を継続するか否かの判断は、経過した実時間に対する各プロセス群のCPU使用時間の割合を実績割合として算出し、予め設定された管理インターバルに対するCPUリソース初期情報の割合を基準割合として算出し、これら実績割合と基準割合とを比較した結果、実績割合が基準割合を超えていない場合には、CPUリソースの管理を継続しないと判断し、一方、実績割合が基準割合を超えている場合には、CPUリソースの管理を継続すると判断する構成としてある。
以上のように、本発明によれば、アイドルインターバルを使用してCPUリソース管理の継続条件を判定して管理インターバルが可変で動作するよう制御することにより、ソフトウエアの動作時間やソフトウエア制御に伴うデータ競合や排他制御、及び、同期制御等によるシステム性能の低下要因の影響を受けずにCPUリソース管理を適切に行うことができ、システムを安定に稼動させることができる。
そして、CPU使用時間を消費したタスクを契機にCPU使用時間を再配分する手法を用いずに、CPUリソースを適切に制御することができる。このため、ソフトウエアによりCPU使用時間の使用実績からCPUリソースを再配分しても、再配分した通りにタスクが動作する保証はないという問題や、割り当てたCPU使用時間を消費しなければ、CPUリソースの制御が行われないためにタスクのターンアラウンド時間が増加してしまうという問題、制御によるキャッシュブロック上のデータ競合や排他制御、同期制御等によるオーバーヘッドによりマルチプロセッサ構成のシステム性能が低下するという問題を解消できる。
しかも、動作実績の累積とグループ単位でなく各処理単位にタイムスライスを設定する必要がなく、これにより制御時に不要なオーバーヘッドが生じてしまうという問題を解消できる。
以下、本発明に係るCPUリソース管理装置、情報処理装置、CPUリソース管理方法及びCPUリソース管理プログラムの好ましい実施形態について、図面を参照して説明する。
[実施形態]
まず、本発明のCPUリソース管理装置、情報処理装置、CPUリソース管理方法及びCPUリソース管理プログラムの実施形態について、図1を参照して説明する。
同図は、本実施形態のCPUリソース管理装置の構成を示すブロック図である。
(CPUリソース管理装置)
同図に示すように、本実施形態のCPUリソース管理装置1は、記憶装置10と、プロセッサ20とを備えている。
ここで、記憶装置10は、プロセス情報記憶部11と、プロセッサ制御情報記憶部12を有している。
プロセス情報記憶部11は、プロセス群識別子111と、実行待ちプロセス112を格納する。
プロセス群識別子111は、複数のプロセス群をそれぞれ識別するための識別子である。一つのプロセス群には、複数のプロセスが属している。なお、プロセス群については、特許第3838880号「プロセス管理方法及びプロセス管理システム」に記載されている。
実行待ちプロセス112は、実行前の待機中のプロセスである。
プロセッサ制御情報記憶部12は、CPUリソース初期情報121と、CPUリソース情報122と、管理インターバル123と、総CPU使用時間124と、アイドルインターバル125とを格納する。
CPUリソース初期情報121は、各プロセス群ごとに設定された情報であって、一のプロセス群がプロセッサ20を使用し得る時間(上限値)を示す。このCPUリソース初期情報121は、プロセス群が実行される前から予め設定されている。
CPUリソース情報122は、管理インターバル内の各プロセス群識別子111のCPUリソースを制御するための情報である。CPUリソース初期情報121からプロセス群のCPU使用時間を減算したものがCPUリソース情報122となる。
管理インターバル123は、CPUリソースの制御インターバル情報である。この管理インターバル123は、プロセス群が実行される前から予め設定されている。
この管理インターバルは、以下の理由で設けている。
a)基準割合の算出
b)CPUリソース管理の継続条件の判定
基準割合と実績割合の比較により判定しているため、基準となる管理インターバルが必要になる。
c)CPU初期情報の設定
管理インターバルを基準としてその値の範囲内でCPU初期情報を設定する。
例えば、管理インターバル100ms、プロセス群A:70ms、プロセス群B:30msのように、各プロセス群のCPU初期情報の合計=管理インターバルとなる。
d)アイドル状態(プロセスが実行されていない空き状態)が発生しない状態において実行制限を解除するためのインターバル
e)一時的なアイドル状態(アイドル状態がアイドルインターバルまで連続して発生しない場合)におけるCPUリソース管理のリセット機構
例えば、管理インターバル100ms、プロセス群A:70ms、プロセス群B:30msのとき、継続的なアイドル状態が発生せず、プロセス群Aのみが70ms動作し制限されている場合に実行抑止を解除する機能(この場合は、アイドル時間も含めたCPUリソースを基準割合として、プロセス群Aの実行抑止を継続する必要はないと判断しCPUリソース管理を初期化する)。
総CPU使用時間124は、各プロセッサ単位に、管理インターバル123内に実行したすべてのプロセスのCPU使用時間(累積時間)を示す。
アイドルインターバル125は、プロセッサ20の空き状態の継続を判断するための情報である。このアイドルインターバル125は、プロセス群が実行される前から予め設定されている。
このアイドルインターバル125を設けることにより、CPUの一時的な空き状態と継続的な空き状態を確実に判断して(区別して)、CPUリソースを制御することができる。つまり、空き状態がアイドルインターバルまで連続して発生していない場合には、その空き状態は一時的なアイドル状態とし、CPUリソース管理の継続条件の判定は行わないようにする。一方、空き状態がアイドルインターバルまで連続して発生した場合は、その空き状態は継続的なアイドル状態とし、CPUリソース管理の継続条件の判定を行う。
プロセッサ20とは、物理的なコンピュータの中央処理装置であって、プログラムを実行してデータを処理する機能を有した装置をいう。
このプロセッサ20は、CPUリソース制御手段21と、管理手段α22と、管理手段β23とを有している。
CPUリソース制御手段21は、プロセッサ20で動作するプロセスの実行を制御する。具体的には、プロセッサ20で実行待ちプロセス112を実行しようとする場合、その実行待ちプロセスが属するプロセス群を示すプロセス群識別子111をプロセス情報記憶部11から読み出す。そして、この読み出したプロセス群識別子の示すプロセス群に対応するCPUリソース情報122をプロセッサ制御情報記憶部12から取り出す。さらに、このCPUリソース情報122が“0”か否かを判断する。判断の結果、“0”でないときは、その実行待ちプロセス112を実行プロセスとして選択する。一方、“0”であるときは、その実行待ちプロセス112を実行プロセスとして選択せず、その実行待ちプロセス112が属するプロセス群以外のプロセス群に属するプロセスを実行プロセスとして選択する。
管理手段α22(第二管理手段)は、CPUリソースの管理インターバルを制御する。具体的には、初期化時にプロセッサ制御情報記憶部12から管理インターバル123を読み出す。そして、プロセスの実行状態によらずに、経過した実時間を管理インターバル123から減算する。
この減算後の値が“0”になると、プロセッサ制御情報記憶部12のCPUリソース初期情報121をCPUリソース情報122とCPUリソース制御手段21に設定し、CPU使用時間の減算を最初から行う。さらに、管理インターバル123を管理手段α22へ再設定し、CPUリソースの管理インターバルを初期化する。また、管理手段β23から出力された管理インターバルの初期化指示101によっても、CPUリソースの管理インターバルを初期化する。
管理手段β23(第一管理手段)は、アイドルインターバルの制御を行う。具体的には、プロセッサ20が空き状態へ移入する度に、アイドルインターバル125をプロセッサ制御情報記憶部12から読み出した後、実時間をアイドルインターバルから減算する。そして、プロセッサ20が空き状態から退出するときに(プロセスを実行するときに)、アイドルインターバルの減算を停止する。
また、プロセッサ20が空き状態のときに減算しているアイドルインターバルの値が“0”になると、プロセッサ20の空き状態が継続していると判断し、CPUリソース管理の継続条件を判定する。このとき、アイドルインターバル125を管理手段β23へ再設定する。
このCPUリソース管理の継続条件の判定については、後述する。
なお、CPUリソースとは、広義の意味では、ある一定時間にシステム上で使用可能なプロセッサ数(または、処理時間)をいう。
例えば、一定時間を管理インターバル=100msとすると、
プロセッサが1台の場合は、100msに対するCPUリソースは100ms
プロセッサが2台の場合は、100msに対するCPUリソースは200ms
となる。
(並列実行が可能な環境では、時間あたりの有効なCPUリソースは、一定時間×プロセッサ数となる。)
ただし、本実施形態では、プロセッサ単位に制御しているため、プロセッサ台数を意識する必要はない。
また、CPUリソースとは、実際に使用したプロセッサの使用時間をいう場合もある。
狭義の意味では、アプリケーションやプロセスが必要とするプロセッサの処理時間、または、使用時間を表すこともある。
なお、本実施形態においては、CPUリソースと使用時間とは区別して表現する。
[CPUリソース制御方法]
次に、CPUリソース管理装置の動作(CPUリソース制御方法)について説明する。
CPUリソース制御方法には、(i)CPUリソース制御手段21の動作、(ii)管理手段α22の動作、(iii)管理手段β23の動作、(iv)CPUリソース管理の継続条件の判定がある。以下、この順に説明する。
(i)CPUリソース制御手段の動作
CPUリソース制御手段の動作について、図2、図3を参照して説明する。
図2は、CPUリソース制御手段の動作を示すフローチャート、図3は、動作手順図である。
CPUリソース制御手段21は、記憶装置10に実行待ちプロセスが存在するか否かを判断する(図2の処理A1)。判断の結果、存在する場合であって、この実行待ちプロセス112をプロセッサ20で実行しようとするとき、CPUリソース制御手段21は、そのプロセスの実行開始時に、その実行待ちプロセスが属するプロセス群を示すプロセス群識別子111をプロセス情報記憶部11から読み出す(図3のB1)。
次いで、CPUリソース制御手段21は、そのプロセス群識別子111に対応するCPUリソース情報122を、プロセッサ制御情報記憶部12から取り出す(B2)。
さらに、CPUリソース制御手段21は、その取り出したCPUリソース情報122が“0”か否か(選択したプロセスが属するプロセス群は実行可能か?、CPUリソース情報が残っているか?)を判断する(処理A2、B3)。
判断の結果、“0”でないときは(割り当てたCPU使用時間が残っている場合には)、その実行待ちプロセスを実行プロセスとして選択し、この実行プロセスの実行を開始する(処理A3、B4)。そして、CPUリソース情報122を保持する(B5)。
プロセスの実行中、CPUリソース制御手段21は、CPUリソース情報122からCPU使用時間を減算する(B6)。
プロセスの実行完了時、CPUリソース制御手段21は、プロセスのCPU使用時間を減算した値をCPUリソース情報122としてプロセッサ制御情報記憶部12へ格納する(B7)。以後、プロセスを実行するごとに、CPU使用時間が減算される(B6)。
一方、B3の判断処理(処理A2)において、CPUリソース情報122が“0”であると判断されたときは(割り当てたCPU使用時間が残っていない場合には)、プロセスの実行を停止し(B8)、他に実行待ちプロセスが存在するか否かを判断し(処理A4)、他のプロセスを実行プロセスとして選択する(B9)。
なお、CPUリソース制御手段21は、プロセスの実行完了時、プロセッサ上で実行したプロセスの使用時間を総CPU使用時間124へ累積する(B10)。
(ii)管理手段αの動作
管理手段αの動作について、図4を参照して説明する。
管理手段α22は、初期化時にプロセッサ制御情報記憶部12の管理インターバル123を読み出す(図4のC1)。
この読み出した後、プロセスの実行状態によらず、経過した実時間を管理インターバル123から減算する(C2)。
この管理手段α22で減算している値が“0”になると(C3)、管理手段α22は、プロセッサ制御情報記憶部12のCPUリソース初期情報121をCPUリソース情報122へ設定する(C4)。これにより、CPU使用時間の減算が最初から行われる。
また、管理インターバル123を管理手段α22へ再設定する(C5)。これにより、CPUリソース(CPU使用時間)の管理インターバルを初期化する。
さらに、総CPU使用時間124をリセットする(C6)。
(iii)管理手段βの動作
次に、管理手段βの動作について、図5、図6を参照して説明する。
管理手段β23は、プロセッサ20が空き状態(アイドル)になると(D1)、プロセッサ制御情報記憶部12のアイドルインターバル125を読み出し(D2)、その後、実時間を減算する(D3)。
また、プロセッサ20がプロセスを実行するために空き状態から退出するときには(D4)、管理手段β23でアイドルインターバルの減算を停止する(D5)。
プロセッサ20が空き状態の場合において、管理手段β23で減算しているアイドルインターバルの値が“0”になると(D6)、プロセッサの空き状態が継続していると判断し(D7)、CPUリソース管理の継続条件を判定する(D8)。このとき、アイドルインターバル125を管理手段β23へ再設定する(D9)。
(iv)CPUリソース管理の継続条件の判定
次に、CPUリソース管理の継続条件の判定について説明する。
CPUリソース管理の継続条件の判定は、次のような手順で行う。
経過時間に対する各プロセス群のCPU使用時間の割合を実績割合として算出する(このうち、各プロセス群のCPU使用時間は、CPUリソース初期情報121からCPUリソース情報122を減算することで算出できる)。
また、管理インターバル123に対するCPUリソース初期情報121の割合を基準割合として算出する。
そして、これら実績割合と基準割合とを比較する。
比較の結果、実績割合が基準割合を超えていない場合(CPUリソース管理の継続条件が成立していない場合)には、CPUリソース管理を継続する必要がないと判断し、管理インターバルの初期化指示101を有効にする(初期化指示101を管理手段α22へ送る)。
すなわち、現時点で、アイドル時間も含めた使用可能なCPUリソースに対して、過剰にCPUリソースを消費しているプロセス群が存在せず、CPUリソース管理を初期化しても問題ないため、CPUリソース管理を最初から開始する。
一方、実績割合が基準割合を超えている場合(CPUリソース管理の継続条件が成立する場合)は、管理インターバルの初期化指示101は有効にならず、管理インターバル123によるCPUリソース管理は、次にアイドルインターバルが“0”になるまで、CPUリソース管理を継続して行う。
すなわち、現時点で、アイドル時間も含めた使用可能なCPUリソースに対して、過剰にCPUリソースを消費しているプロセス群が存在しており、CPUリソース管理を継続しなければ、期待通りにCPUリソースを使用することができないプロセス群が存在する可能性があるため、CPUリソース管理を継続する。
[CPUリソース制御方法の具体例]
次に、CPUリソース制御方法の具体例について、図7、図8(1)〜(3)を参照して説明する。
図7は、プロセス、プロセス群、プロセッサの関係を示すイメージ図、図8は、本実施形態のCPUリソース制御方法の動作を示すデータ表である。
なお、最初に、本実施形態で説明するCPUリソース管理は、プロセッサ単位に制御するため、プロセッサ番号は00を前提に説明する。
(初期状態)
図8(1)に示すように、初期状態として、プロセス群識別子には、「プロセス群A」,「プロセス群B」,「プロセス群C」があるものとする。また、各プロセス群に対応するCPUリソース初期情報は、「プロセス群A」が50ms,「プロセス群B」が30ms,「プロセス群C」が20msであるものと仮定する。
そして、プロセス群識別子は、記憶装置10のプロセス情報記憶部11に格納されている。また、CPUリソース初期情報は、プロセッサ制御情報記憶部12に格納されている。
さらに、管理インターバル123を100msとすると、管理インターバルとこの管理インターバルに対する各プロセス群のCPUリソース初期情報の割合(基準割合)は、次のようになる。
プロセス群A:50/100=0.5
プロセス群B:30/100=0.3
プロセス群C:20/100=0.2
なお、アイドルインターバル125は、5msと仮定する。
(CPUリソース管理の基本動作)
図8(2)に示すように、経過時間(201)に対してプロセス群A〜Cの各CPU使用時間(202)〜(204)は、図示したように動作するものとする。
例えば、経過時間(201)が0ms〜10msのとき、プロセス群AのCPU使用時間(202)は10ms、プロセス群BのCPU使用時間(203)は0ms、プロセス群CのCPU使用時間(204)は0msである。この場合、管理インターバル内の各プロセス群のCPU使用時間の累計(207)〜(209)は、プロセス群A(207)が10ms、プロセス群B(208)が0ms、プロセス群C(209)が0msとなる。そして、総CPU使用時間(205)は、10+0+0=10msとなる。なお、このときのアイドル時間は、0msである。
また、経過時間(201)が10ms〜20msのとき、プロセス群AのCPU使用時間(202)は0ms、プロセス群BのCPU使用時間(203)は5ms、プロセス群CのCPU使用時間(204)は0msである。この場合、経過時間(201)が0ms〜20msにおける管理インターバル内の各プロセス群のCPU使用時間の累計(207)〜(209)は、プロセス群A(207)が10+0=10ms、プロセス群B(208)が0+5=5ms、プロセス群C(209)が0+0=0msとなる。そして、総CPU使用時間(205)は、10+5+0=15msとなる。なお、経過時間(201)が10ms〜20msのときのアイドル時間は、5msである。
さらに、経過時間(201)が20ms〜30msのとき、プロセス群AのCPU使用時間(202)は0ms、プロセス群BのCPU使用時間(203)は5ms、プロセス群CのCPU使用時間(204)は0msである。この場合、経過時間(201)が0ms〜30msにおける管理インターバル内の各プロセス群のCPU使用時間の累計(207)〜(209)は、プロセス群A(207)が10+0+0=10ms、プロセス群B(208)が0+5+5=10ms、プロセス群C(209)が0+0+0=0msとなる。そして、総CPU使用時間(205)は、10+10+0=20msとなる。なお、経過時間(201)が20ms〜30msのときのアイドル時間は、5msである。
ここで、同図(2)の(208)を見ると、管理インターバル内のプロセス群BのCPU使用時間の累計は、経過時間(201)が0ms〜70msのときに、0+5+5+0+5+5+10=30msとなる。一方、プロセス群Bに対応するCPUリソース初期情報は30msである。このため、経過時間(201)が70msになると、管理手段α22で管理しているプロセス群BのCPUリソース情報122が“0”になる。これにより、プロセス群Bの実行が抑止される。
以後、プロセス群Bの実行は、管理手段α22で減算している管理インターバルが“0”になるまで(経過時間=100ms)、実行が抑止される。
経過時間が100msになると、管理手段α22の管理インターバルが“0”になり、CPUリソース情報122は、CPUリソース初期情報121に初期化される。これにより、CPUリソース管理が最初から行われ、この時点で、プロセス群Bは実行可能となる。
(アイドルインターバルと管理インターバルによるCPUリソース管理)
次に、本実施形態によるアイドルインターバルと管理インターバルによるCPUリソース管理の動作について、図8(3)を参照して説明する。
同図(3)に示すように、経過時間(301)に対してプロセス群A〜Cの各CPU使用時間(302)〜(304)は、図示したように動作することとする。これらCPU使用時間(302)〜(304)は、前述のCPU使用時間(202)〜(204)とほぼ同様である。ただし、経過時間(301)の80ms〜100msにおけるプロセス群BのCPU使用時間(303)は、プロセス群BのCPU使用時間(203)と異なる。
また、プロセッサの空き状態は、連続して発生しているものとする。
経過時間(301)が20msのとき、総アイドル時間(306)が5msであるため、管理手段β23で減算しているアイドルインターバルが“0”になる。これにより、CPUリソース管理の継続条件の判定が行われる。
ここで、実績割合(プロセス群Aの経過時間に対するCPU使用時間の割合)は0.5であり、基準割合(管理インターバル123に対するCPUリソース初期情報121の割合)は0.5である。これらを比較すると、実績割合が基準割合を超えている(達している)ことから、管理インターバルの初期化指示101は無効となり、管理手段α22で減算している管理インターバルは、継続して減算処理が行われる。
経過時間(301)が30msになり、管理手段13で減算しているアイドルインターバルが“0”になると、CPUリソース管理の継続条件の判定が行われる。
ここで、プロセス群Aの実績割合は0.33であるため、基準割合の0.5を超えておらず、プロセス群Aは、CPUリソース管理の継続条件の対象外となる。
しかし、プロセス群Bの実績割合は0.33であり、基準割合0.3を超えている。このため、管理インターバルの初期化指示101は無効となり、管理手段α22で減算している管理インターバルは、継続して減算処理を行う。
続いて、経過時間(301)が40msになり、管理手段β23で減算しているアイドルインターバルが“0”になると、CPUリソース管理の継続条件の判定が行われる。
ここで、プロセス群A〜Cの実績割合は、プロセス群A=0.25、プロセス群B=0.25、プロセス群C=0.13となり、それぞれ基準割合を超えていないため、すべてのプロセス群がCPUリソース管理の継続条件の対象外となる。このため、管理インターバルの初期化指示101は有効になる。このとき、管理手段α22で減算している管理インターバルが初期化されるとともに、CPUリソース情報がCPUリソース初期情報121に初期化され、CPUリソース管理が最初から行われる。
また、プロセッサ制御情報記憶部12のCPUリソース初期情報121をCPUリソース情報122へ設定し、総CPU使用時間124を、リセットする。管理手段β23の管理インターバルの初期化指示101により管理インターバルの初期化が行われると、管理インターバルは40msで動作することになる。
以後、プロセッサのアイドルインターバルと管理インターバルの制御により、割り当てたCPUリソースを適切に管理するために、CPUリソースの管理インターバルは、管理インターバルの規定値までの間で可変に動作する。
図8の例では、経過時間100msに対して、プロセス群BのCPU使用時間が10ms(30ms→40ms)増加し、ターンアラウンド時間が20ms(100ms→80ms)短縮することになる。
このようにして、アイドルインターバルを使用してCPUリソース管理の継続条件を判定して管理インターバルが可変で動作するよう制御することにより、ソフトウエアの動作時間やソフトウエア制御に伴うデータ競合や排他制御、及び、同期制御等によるシステム性能の低下要因の影響を受けずにCPUリソース管理を適切に行うことができ、システムを安定に稼動させることができる。
また、図7に示すように、実行するプロセス群のCPU使用時間をプロセッサ単位で管理する。
CPU使用時間を消費したときは、例外を報告せず、自動停止する。
制御インターバル(管理インターバル)が経過したときに、初期化を行う。
実行中のプロセスを停止せず各プロセッサのCPU使用時間を集計する。
割り当てられたCPU使用時間内で自動制御を行う。
プロセス群間の調整が必要と判断した場合のみ、OSで調整を行う。プロセスを停止せず実行する。
これにより、オーバーヘッドが排除され、排他制御や同期制御が不要となる。また、キャッシュの常駐性が向上し、他のプロセッサによる干渉を受けない。
さらに、制御領域の競合を排除できる(データ共有、異なるジョブ間の擬似データの共有)。
このように、CPUリソース初期情報、CPUリソース情報、及び、管理インターバル、アイドルインターバルの設定値をソフトウエアで設定可能にすることにより、動的なリソース管理を行うことが可能となる。
CPUリソース管理の継続条件の判定に使用する情報として、CPUリソース情報以外に、CPUリソースとして期待する平均値や最低保障値を定義することにより、さらに、柔軟なリソース管理を行うことも可能となる。
[CPUリソース管理プログラム]
次に、CPUリソース管理プログラムについて説明する。
上記の実施形態におけるコンピュータ(CPUリソース管理装置、プロセッサ、記憶装置)のCPUリソース管理機能(CPUリソース管理方法を実行するための機能)は、記憶装置(例えば、ROM、ハードディスク等)に記憶されたCPUリソース管理プログラムにより実現される。
CPUリソース管理プログラムは、コンピュータの制御手段(CPUなど)に読み込まれることにより、コンピュータの構成各部に指令を送り、所定の処理、例えば、CPUリソース制御手段、管理手段α、管理手段β、記憶装置が実行する各種処理を行わせる。
これによって、CPUリソース管理機能は、ソフトウエアであるCPUリソース管理プログラムとハードウエア資源であるコンピュータ(CPUリソース管理手段(CPUリソース管理装置、プロセッサ、記憶装置)の各構成手段とが協働することにより実現される。
なお、CPUリソース管理機能を実現するためのCPUリソース管理プログラムは、コンピュータのROMやハードディスクなどに記憶される他、コンピュータ読み取り可能な記録媒体、例えば、外部記憶装置及び可搬記録媒体等に格納することができる。
外部記憶装置とは、CD−ROM等の記憶媒体を内蔵し、CPUリソース管理装置に外部接続されるメモリ増設装置をいう。一方、可搬記録媒体とは、記録媒体駆動装置(ドライブ装置)に装着でき、かつ、持ち運び可能な記録媒体であって、例えば、フレキシブルディスク,メモリカード,光磁気ディスク等をいう。
そして、記録媒体に記録されたプログラムは、コンピュータのRAM等にロードされて、CPU(制御装置))により実行される。この実行により、上述した本実施形態のCPUリソース管理装置の機能が実現される。
さらに、コンピュータでCPUリソース管理プログラムをロードする場合、他のコンピュータで保有されたCPUリソース管理プログラムを、通信回線を利用して自己の有するRAMや外部記憶装置にダウンロードすることもできる。このダウンロードされたCPUリソース管理プログラムも、CPUにより実行され、本実施形態のCPUリソース管理装置のCPUリソース管理機能を実現する。
以上、本発明のCPUリソース管理装置、情報処理装置、CPUリソース管理方法及びCPUリソース管理プログラムの好ましい実施形態について説明したが、本発明に係るCPUリソース管理装置、情報処理装置、CPUリソース管理方法及びCPUリソース管理プログラムは上述した実施形態にのみ限定されるものではなく、本発明の範囲で種々の変更実施が可能であることは言うまでもない。
例えば、上述した実施形態では、管理インターバルやアイドルインターバルは、プロセッサごとに管理したが、プロセッサごとに限るものではなく、例えば、プロセス群単位やシステムで一つの値として定義したり、任意のプロセッサの集まりをプロセッサグループとして定義しプロセッサグループ単位に定義したりする等、管理インターバルとアイドルインターバルを柔軟に定義することが可能である。
また、前述した実施形態のCPUリソース情報を管理インターバル内の制御情報を利用し、別エリアに累積情報を設置し、CPU初期情報とCPUリソース情報の差異を累積することにより、CPUリソースの管理を独立して稼動情報を採取することが可能となる。
さらに、プロセッサ障害発生時の予備プロセッサへの切り替えやプロセッサの増設時等に、対象となるプロセッサのみへCPUリソース情報を設定したり、事前に準備したりすることにより、システム運用中の構成変更等にも容易に対応することが可能となる。
本発明は、アウトソーシングや複数のシステム統合を行うケース等において、システム業務の安定稼動を行うといった用途に適用できる。
本発明のCPUリソース管理装置の構成を示すブロック図である。 本発明のCPUリソース管理装置の動作を示すフローチャートである。 CPUリソース制御手段の動作を示す動作手順図である。 管理手段αの動作を示す動作手順図である。 管理手段βの動作を示す動作手順図である。 管理手段βの動作を示す動作手順図である。 本発明のCPUリソース管理装置の動作を示すイメージ図である。 本発明のCPUリソース管理装置の動作に用いられる各種データを示す図表である。 従来のCPUリソース管理装置の動作を示すイメージ図である。
符号の説明
1 CPUリソース管理装置
10 記憶装置
11 プロセス情報記憶部
12 プロセッサ制御情報記憶部
20 プロセッサ
21 CPUリソース制御手段
22 管理手段α
23 管理手段β

Claims (10)

  1. 複数のプロセスを格納する記憶装置と、前記プロセスが実行されるプロセッサとを備えたCPUリソース管理装置であって、
    前記プロセッサは、
    前記プロセスが実行されていない空き状態の時間をアイドル時間とし、このアイドル時間が所定時間に達すると、CPUリソースの管理を継続するか否かを判断する第一の管理手段と、
    この第一の管理手段における前記判断の結果にもとづいて、前記CPUリソースを管理するCPUリソース制御手段とを有し
    前記CPUリソースの管理を継続するか否かの判断は、
    経過した実時間に対する各プロセス群のCPU使用時間の割合を実績割合として算出し、予め設定された管理インターバルに対するCPUリソース初期情報の割合を基準割合として算出し、これら実績割合と基準割合とを比較した結果、実績割合が基準割合を超えていない場合には、CPUリソースの管理を継続しないと判断し、一方、実績割合が基準割合を超えている場合には、CPUリソースの管理を継続すると判断する
    ことを特徴とするCPUリソース管理装置
  2. 前記アイドル時間が所定時間に達したか否かの判断は、
    前記所定時間を示すアイドルインターバルを予め設定し、
    前記プロセッサが空き状態に入ると前記アイドルインターバルから実時間を減算し、
    前記プロセッサが前記空き状態から退出すると、前記減算処理を停止し、
    前記減算処理後の値が0になると、前記アイドル時間が所定時間に達したものと判断する
    ことを特徴とする請求項1記載のCPUリソース管理装置。
  3. 前記プロセッサは、経過した実時間を管理インターバルから減算する第二の管理手段を有し、
    前記記憶装置が、各プロセス群ごとに前記プロセッサの使用が可能な時間を示すCPUリソース情報を格納し、
    前記CPUリソース制御手段は、前記プロセスが実行された時間を前記CPUリソース情報から減算し、前記管理インターバルが0になると、前記CPUリソース情報を初期値にリセットする
    ことを特徴とする請求項1又は2記載のCPUリソース管理装置。
  4. 前記CPUリソース制御手段は、
    前記CPUリソース情報が0になると、実行しようとしていたプロセスの属するプロセス群以外のプロセス群に属するプロセスを実行する
    ことを特徴とする請求項3記載のCPUリソース管理装置。
  5. 前記第一の管理手段は、前記実績割合が基準割合を超えていない場合には、前記第二の管理手段に対して管理インターバルの初期化指示を行い、
    前記第二の管理手段は、前記初期化指示にもとづいて、前記管理インターバルを初期化する
    ことを特徴とする請求項3又は4記載のCPUリソース管理装置。
  6. プロセッサを含む一又は二以上のCPUリソースを管理するCPUリソース管理装置を備えた情報処理装置であって、
    前記CPUリソース管理装置が、前記請求項1〜請求項5のいずれかに記載のCPUリソース管理装置からなる
    ことを特徴とする情報処理装置。
  7. 複数のプロセスを実行する処理を有したCPUリソース管理方法であって、
    プロセッサの第一の管理手段で、前記プロセスが実行されていない空き状態の時間をアイドル時間とし、このアイドル時間が所定時間に達すると、CPUリソースの管理を継続するか否かを判断する処理と、
    この判断の結果にもとづいて、前記プロセッサのCPUリソース制御手段で、前記CPUリソースを管理する処理とを有し、
    前記CPUリソースの管理を継続するか否かの判断は、
    経過した実時間に対する各プロセス群のCPU使用時間の割合を実績割合として算出し、予め設定された管理インターバルに対するCPUリソース初期情報の割合を基準割合として算出し、これら実績割合と基準割合とを比較した結果、実績割合が基準割合を超えていない場合には、CPUリソースの管理を継続しないと判断し、一方、実績割合が基準割合を超えている場合には、CPUリソースの管理を継続すると判断する
    ことを特徴とするCPUリソース管理方法。
  8. 前記アイドル時間が所定時間に達したか否かの判断処理は、
    前記所定時間を示すアイドルインターバルを予め設定し、
    前記プロセッサが空き状態に入ると前記アイドルインターバルから実時間を減算し、
    前記プロセッサが前記空き状態から退出すると、前記減算処理を停止し、
    前記減算処理後の値が0になると、前記アイドル時間が所定時間に達したものと判断する処理を含む
    ことを特徴とする請求項7記載のCPUリソース管理方法。
  9. 複数のプロセスを実行する処理をCPUリソース管理装置に実行させるCPUリソース管理プログラムであって、
    前記プロセスが実行されていない空き状態の時間をアイドル時間とし、このアイドル時間が所定時間に達すると、CPUリソースの管理を継続するか否かを判断する処理と、
    この判断の結果にもとづいて、前記CPUリソースを管理する処理とを前記CPU管理装置に実行させ、
    前記CPUリソースの管理を継続するか否かの判断は、
    経過した実時間に対する各プロセス群のCPU使用時間の割合を実績割合として算出し、予め設定された管理インターバルに対するCPUリソース初期情報の割合を基準割合として算出し、これら実績割合と基準割合とを比較した結果、実績割合が基準割合を超えていない場合には、CPUリソースの管理を継続しないと判断し、一方、実績割合が基準割合を超えている場合には、CPUリソースの管理を継続すると判断する
    ことを特徴とするCPUリソース管理プログラム。
  10. 前記アイドル時間が所定時間に達したか否かの判断処理は、
    前記所定時間を示すアイドルインターバルを予め設定し、
    前記プロセッサが空き状態に入ると前記アイドルインターバルから実時間を減算し、
    前記プロセッサが前記空き状態から退出すると、前記減算処理を停止し、
    前記減算処理後の値が0になると、前記アイドル時間が所定時間に達したものと判断する処理を含む
    ことを特徴とする請求項9記載のCPUリソース管理プログラム。
JP2007168828A 2007-06-27 2007-06-27 Cpuリソース管理装置、情報処理装置、cpuリソース管理方法及びcpuリソース管理プログラム Active JP4427802B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007168828A JP4427802B2 (ja) 2007-06-27 2007-06-27 Cpuリソース管理装置、情報処理装置、cpuリソース管理方法及びcpuリソース管理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007168828A JP4427802B2 (ja) 2007-06-27 2007-06-27 Cpuリソース管理装置、情報処理装置、cpuリソース管理方法及びcpuリソース管理プログラム

Publications (2)

Publication Number Publication Date
JP2009009275A JP2009009275A (ja) 2009-01-15
JP4427802B2 true JP4427802B2 (ja) 2010-03-10

Family

ID=40324312

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007168828A Active JP4427802B2 (ja) 2007-06-27 2007-06-27 Cpuリソース管理装置、情報処理装置、cpuリソース管理方法及びcpuリソース管理プログラム

Country Status (1)

Country Link
JP (1) JP4427802B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5469940B2 (ja) 2009-07-13 2014-04-16 株式会社日立製作所 計算機システム、仮想計算機モニタ及び仮想計算機モニタのスケジューリング方法

Also Published As

Publication number Publication date
JP2009009275A (ja) 2009-01-15

Similar Documents

Publication Publication Date Title
US10423451B2 (en) Opportunistically scheduling and adjusting time slices
JP6219512B2 (ja) 仮想ハドゥープマネジャ
JP5469940B2 (ja) 計算機システム、仮想計算機モニタ及び仮想計算機モニタのスケジューリング方法
EP1474744B1 (en) Method of setting priority levels in a multiprogramming computer system with priority scheduling, multiprogramming computer system and program therefor
US9519562B2 (en) Process demand prediction for distributed power and resource management
US10055244B2 (en) Boot control program, boot control method, and boot control device
JP5040773B2 (ja) メモリバッファ割当装置およびプログラム
JP4028674B2 (ja) 多重システム・クラスタ内のサーバの数を制御する方法及び装置
US9619378B2 (en) Dynamically optimizing memory allocation across virtual machines
KR101812583B1 (ko) 태스크 할당 장치, 태스크 할당 방법 및 컴퓨터로 읽을 수 있는 저장 매체
AU2002230272A1 (en) Method of setting priority levels in a multiprogramming computer system with priority scheduling, multiprogramming computer system and program therefor
US8332611B2 (en) Method and system for managing memory
WO2011155233A1 (ja) クラスタ構成管理方法、管理装置及びプログラムを格納した記憶媒体
US20080250260A1 (en) Information processing apparatus, scheduler, and schedule control method of information processing apparatus
US20070169125A1 (en) Task scheduling policy for limited memory systems
US20060288159A1 (en) Method of controlling cache allocation
JP5347451B2 (ja) マルチプロセッサシステム、競合回避プログラム及び競合回避方法
US20190041937A1 (en) Power allocation among computing devices
US10289446B1 (en) Preserving web browser child processes by substituting a parent process with a stub process
US20130097382A1 (en) Multi-core processor system, computer product, and control method
US20060037021A1 (en) System, apparatus and method of adaptively queueing processes for execution scheduling
JP2010211644A (ja) メモリ消費電力削減システム、方法及びプログラム
JPH012145A (ja) 仮想計算機システムの資源管理方式
US10754697B2 (en) System for allocating resources for use in data processing operations
JP4427802B2 (ja) Cpuリソース管理装置、情報処理装置、cpuリソース管理方法及びcpuリソース管理プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090519

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090717

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

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

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121225

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4427802

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

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131225

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350