(57)【要約】【課題】従来よりも優れたＣＰＵリソース管理方式を提供することにある。【解決手段】プロセッサ１は、Ｘ個のプロセス群のそれぞれに割り当てられたＸ個のＣＰＵ使用可能時間を記憶部２１０からＸ個の読出ＣＰＵ使用可能時間として読み出し、Ｘ個のＣＰＵ使用可能時間の合計値である管理時間を記憶部２１２から読出管理時間として読み出し、読出管理時間から実時間を減算する第１処理を行う。第ｉ読出ＣＰＵ使用可能時間｛１≦ｉ（Ｘ−１）｝が０よりも大きい値を表すとき、第ｉプロセス群のうちの１つのプロセスを実行し、その実行時間を第ｉ読出ＣＰＵ使用可能時間から減算する第２処理を行う。第ｉ読出ＣＰＵ使用可能時間が０を表すとき、第（ｉ＋１）プロセス群に対して第２処理を行う。読出管理時間が０を表すとき、Ｘ個のプロセス群のうちの、未だ実行されていない未実行プロセスに対して、第１処理及び第２処理を行う。【選択図】図１
2008305065.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）で動作するプロセッサと、
記憶装置と
を具備し、
前記記憶装置は、
１番目からＸ番目（Ｘは２以上の整数）までのＸ個のプロセス群が格納されたプロセス情報記憶部と、
前記Ｘ個のプロセス群のそれぞれに割り当てられたＸ個のＣＰＵ使用可能時間が格納されたＣＰＵリソース初期情報記憶部と、
前記Ｘ個のＣＰＵ使用可能時間の合計値である管理時間が格納された管理時間記憶部と
を具備し、
前記プロセッサは、
前記ＣＰＵリソース初期情報記憶部から前記Ｘ個のＣＰＵ使用可能時間をＸ個の読出ＣＰＵ使用可能時間として読み出し、前記管理時間記憶部から前記管理時間を読出管理時間として読み出し、前記読出管理時間から実時間を減算する第１処理を行い、
第ｉ読出ＣＰＵ使用可能時間｛ｉは１≦ｉ（Ｘ−１）を満たす整数｝が０よりも大きい値を表すとき、第ｉプロセス群のうちの１つのプロセスを実行し、その実行時間を前記第ｉ読出ＣＰＵ使用可能時間から減算する第２処理を行い、
前記第ｉ読出ＣＰＵ使用可能時間が０を表すとき、第（ｉ＋１）プロセス群に対して前記第２処理を行い、
前記読出管理時間が０を表すとき、前記Ｘ個のプロセス群のうちの、未だ実行されていない未実行プロセスに対して、前記第１処理及び前記第２処理を行う
ＣＰＵリソース管理方式。
【請求項２】
前記記憶装置は、
ＣＰＵリソース情報記憶部
を更に具備し、
前記プロセッサは、前記第１処理において、前記ＣＰＵリソース初期情報記憶部から前記Ｘ個のＣＰＵ使用可能時間をＸ個の読出ＣＰＵ使用可能時間として読み出し、前記ＣＰＵリソース情報記憶部に格納する
請求項１に記載のＣＰＵリソース管理方式。
【請求項３】
前記プロセッサは、
管理部
を更に具備し、
前記プロセッサは、前記第１処理において、前記管理時間記憶部から前記管理時間を読出管理時間として読み出し、前記管理部に前記読出管理時間を設定し、
前記管理部は、前記実時間をカウントし、前記読出管理時間から実時間を減算する
請求項１又は２に記載のＣＰＵリソース管理方式。
【請求項４】
前記プロセッサは、
前記第２処理において、前記第ｉ読出ＣＰＵ使用可能時間が０よりも大きい値を表すとき、前記第ｉプロセス群のうちの第１プロセスを実行し、その実行時間を前記第ｉ読出ＣＰＵ使用可能時間から減算し、
前記第ｉプロセス群の前記第１プロセスの実行後に、前記第ｉ読出ＣＰＵ使用可能時間が０を表すとき、前記第ｉプロセス群のうちの第２プロセスの実行を保留し、前記第（ｉ＋１）プロセス群に対して前記第２処理を実行し、
前記読出管理時間が０を表すとき、前記第ｉプロセス群の前記第２プロセスを含む前記未実行プロセスに対して、前記第１処理及び前記第２処理を行う
請求項１〜３のいずれかに記載のＣＰＵリソース管理方式。
【請求項５】
前記プロセッサは、
前記第２処理において、前記第ｉ読出ＣＰＵ使用可能時間が０よりも大きい値を表すとき、前記第ｉプロセス群のうちの第１プロセスを実行し、その実行時間を前記第ｉ読出ＣＰＵ使用可能時間から減算し、
前記第２処理において、前記第ｉプロセス群の前記第１プロセスの実行後に、前記第ｉ読出ＣＰＵ使用可能時間が０よりも大きい値を表すとき、前記第ｉプロセス群のうちの第２プロセスを実行し、その実行時間を前記第ｉ読出ＣＰＵ使用可能時間から減算し、
前記第ｉプロセス群の前記第２プロセスの実行中に、前記第ｉ読出ＣＰＵ使用可能時間が０を表すとき、前記第ｉプロセス群の前記第２プロセスの実行を保留し、前記第（ｉ＋１）プロセス群に対して前記第２処理を実行し、
前記読出管理時間が０を表すとき、前記第ｉプロセス群の前記第２プロセスを含む前記未実行プロセスに対して、前記第１処理及び前記第２処理を行う
請求項１〜３のいずれかに記載のＣＰＵリソース管理方式。
【請求項６】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）で動作するプロセッサを用いてＣＰＵリソースを管理する方法であって、
１番目からＸ番目（Ｘは２以上の整数）までのＸ個のプロセス群を実行するとき、
Ｘ個のプロセス群のそれぞれに割り当てられたＸ個のＣＰＵ使用可能時間をＣＰＵリソース初期情報記憶部からＸ個の読出ＣＰＵ使用可能時間として読み出し、前記Ｘ個のＣＰＵ使用可能時間の合計値である管理時間を管理時間記憶部から読出管理時間として読み出し、前記読出管理時間から実時間を減算する第１処理を行うステップと、
第ｉ読出ＣＰＵ使用可能時間｛ｉは１≦ｉ（Ｘ−１）を満たす整数｝が０よりも大きい値を表すとき、第ｉプロセス群のうちの１つのプロセスを実行し、その実行時間を前記第ｉ読出ＣＰＵ使用可能時間から減算する第２処理を行うステップと、
前記第ｉ読出ＣＰＵ使用可能時間が０を表すとき、第（ｉ＋１）プロセス群に対して前記第２処理を行うステップと、
前記読出管理時間が０を表すとき、前記Ｘ個のプロセス群のうちの、未だ実行されていない未実行プロセスに対して、前記第１処理及び前記第２処理を行うステップと
を具備するＣＰＵリソース管理方法。
【請求項７】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）で動作するコンピュータにインストールされたコンピュータプログラムであって、
１番目からＸ番目（Ｘは２以上の整数）までのＸ個のプロセス群を実行するとき、
Ｘ個のプロセス群のそれぞれに割り当てられたＸ個のＣＰＵ使用可能時間をＣＰＵリソース初期情報記憶部からＸ個の読出ＣＰＵ使用可能時間として読み出し、前記Ｘ個のＣＰＵ使用可能時間の合計値である管理時間を管理時間記憶部から読出管理時間として読み出し、前記読出管理時間から実時間を減算する第１処理を行うステップと、
第ｉ読出ＣＰＵ使用可能時間｛ｉは１≦ｉ（Ｘ−１）を満たす整数｝が０よりも大きい値を表すとき、第ｉプロセス群のうちの１つのプロセスを実行し、その実行時間を前記第ｉ読出ＣＰＵ使用可能時間から減算する第２処理を行うステップと、
前記第ｉ読出ＣＰＵ使用可能時間が０を表すとき、第（ｉ＋１）プロセス群に対して前記第２処理を行うステップと、
前記読出管理時間が０を表すとき、前記Ｘ個のプロセス群のうちの、未だ実行されていない未実行プロセスに対して、前記第１処理及び前記第２処理を行うステップと
を前記コンピュータに実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵリソース（ＣＰＵ使用時間）を制御するＣＰＵリソース管理方式に関する。
【背景技術】
【０００２】
情報処理装置において、ＣＰＵリソースを制御する方式が開発されている。例えば、従来のＣＰＵリソース管理方式が特許第２５０８６８７号公報（特許文献１）に記載されている。このＣＰＵリソース管理方式では、タスク毎にＣＰＵ使用時間の割り当て（配分）を行う。次に、ＣＰＵリソースを消費したタスクから割り込み（例外）が発生したとき、関連するタスクのＣＰＵ使用時間を積算し、残りのＣＰＵ使用時間を再配分している。即ち、タスクを終了する必要がなければ、残りのＣＰＵ使用時間をタスクのＣＰＵ使用時間として割り当て（再配分）を行う。
【０００３】
しかし、この従来のＣＰＵリソース管理方式には、次のような問題点がある。
【０００４】
第１に、従来のＣＰＵリソース管理方式では、最初にＣＰＵ使用時間を消費したタスクからの割り込みによりＣＰＵリソースを制御している。このため、第１の問題点として、ＣＰＵ使用時間を消費したタスクが存在しなければ、ＣＰＵリソースを制御することができない。
【０００５】
第２に、従来のＣＰＵリソース管理方式では、残りのＣＰＵ使用時間を再配分した後、再設定した値通りに動作が行われるとは限らない。即ち、ＣＰＵ使用時間を消費したタスクが存在する場合でも、複数のタスクのＣＰＵ使用時間を積算したり、再配分の必要性を判断したりする処理が必要になり、タスクの特性などによりＣＰＵリソースの過剰使用や不足が生じてしまう。このため、第２の問題点として、タスクのターンアラウンド時間が増加してしまう。
【０００６】
第３に、従来のＣＰＵリソース管理方式では、タスクのＣＰＵ使用時間を消費した時点で他のタスクのＣＰＵ使用時間を積算するために、キャッシュアクセスの増加や排他制御が必要になる。このため、第３の問題点として、制御によるキャッシュブロック上のデータ競合や排他制御によるオーバーヘッドによりマルチプロセッサ構成のシステム性能が低下する。
【０００７】
このように、上述の問題点を解決する従来よりも優れたＣＰＵリソースの管理方式、管理方法及びそれを実現するコンピュータプログラムが望まれる。
【０００８】
ＣＰＵリソースに関する技術について紹介する。
【０００９】
上記の特許第２５０８６８７号公報（特許文献１）には“ジョブのＣＰＵ使用時間管理方式”が記載されている。このＣＰＵ使用時間管理方式は、ジョブを構成する複数個のタスクを処理する手段と、各々のタスク毎に設けられ、そのタスクが計算機のＣＰＵを使用した時間に応じて値が減少するタイマカウンタと、このタイマカウンタの値が０になったときに例外を発生する機能を有する手段とを有する計算機システムにおいて、特定のジョブに対して利用者が指定したＣＰＵ使用可能時間を任意の割合で前記各タスクに配分し、各々のタイマカウンタにセットする手段と、その時点までに各タスクで使用されたＣＰＵ時間を積算し、残りのＣＰＵ使用可能時間を算出する手段と、残りのＣＰＵ使用可能時間から、この残ったＣＰＵ使用可能時間の再配分を行うか否かを決定する手段と、この決定手段が再配分を行うことを決定したとき、残りＣＰＵ使用可能時間を前記各タスクに再配分し、各々のタイマカウンタに再セットする手段と、前記決定手段が再配分を行わないことを決定したとき、残りＣＰＵ使用可能時間を再配分せずに、すべてのタイマカウンタに再セットする手段と、再セットされたカウンタのうちいずれかひとつの値が０になったときジョブを終了させる手段とを設け、前記例外発生手段は例外を発生すると前記残り時間算出手段を作動させることを特徴とする複数個のタスクから構成される。
【００１０】
特開２００３−２９６２８９号公報（特許文献２）には“負荷分散方式”が記載されている。この負荷分散方式は、トランザクション処理メッセージの実行に要する平均ＣＰＵ使用時間を、前記トランザクション処理メッセージを識別するためのトランザクション処理メッセージ識別子毎に記憶するトランザクション毎平均ＣＰＵ使用時間管理表と、複数のトランザクション処理メッセージを受け取り、受け取った前記複数のトランザクション処理メッセージそれぞれのトランザクション処理メッセージ識別子をキーにして前記トランザクション毎平均ＣＰＵ使用時間管理表を検索し、前記複数のトランザクション処理メッセージそれぞれの実行に要する平均ＣＰＵ使用時間を取得するとともに、取得した前記平均ＣＰＵ使用時間より前記複数のトランザクション処理メッセージの実行に要するＣＰＵ使用時間の予測値を算出し、算出した前記予測値と、一定時間間隔で取得した複数のサーバそれぞれの現在のＣＰＵ使用率に基づいて、前記複数のトランザクション処理メッセージの前記複数のサーバへの振り分け配分を決定し、決定した前記振り分け配分に基づいて、前記複数のトランザクション処理メッセージを前記複数のサーバのそれぞれに投入するトランザクション振り分け手段とを備えたことを特徴としている。
【００１１】
特開昭６２−１１９４１号公報（特許文献３）には“多重処理制御方式”が記載されている。この多重処理制御方式は、情報処理システムにおいて複数の処理単位を中央演算装置にタイムスライス方式にて割り当て実行せしめる方式であって、前記処理単位毎に対応して設けられた各処理単位をタイムスライスにて実行するためのタイムスライス時間間隔を記憶する記憶域と、前記処理単位毎に対応して設けられ各処理単位が中央演算装置を使用した時間を積算してこの積算時間を記憶する記憶域と、前記処理単位を複数グループに分割して各グループに対する中央演算装置の使用割り当て比率を予め設定して記憶する割り当て比率テーブルと、所定時間経過毎に各グループ毎の中央演算装置の使用時間比率を前記タイム時間間隔及び積算時間を用いて算出する手段と、グループ毎の前記使用時間比率の前記比率テーブル内の対応グループの割り当て比率に対する誤差を算出してこの誤差に応じて該グループ内の各処理単位のタイムスライス時間間隔を変更する変更手段とを設け、前記処理単位の各々を中央演算装置の使用時間を積算しつつ前記タイムスライス時間間隔にて実行せしめるようにしたことを特徴としている。
【００１２】
特許第３１５０１１４号公報（特許文献４）には“ディスパッチ装置”が記載されている。このディスパッチ装置は、マルチプロセッサ計算機における複数のＣＰＵと複数のキューとの割り当て状態を管理してキューイングの制御を行う装置において、前記ＣＰＵがジョブを時分割で実行した実行時間を前記キュー毎に累積し、所定のタイミングで、前記キュー毎の実行時間の合計値の比率を算出し、かつ前記ＣＰＵの割り当てが行われる度に前記キュー毎のジョブの実行時間の合計値を初期化する実行時間管理手段と、所定のタイミングで、前記実行時間管理手段により算出された前記キュー毎のジョブの実行時間の合計値の比率に応じて、前記キューに対して前記ＣＰＵの割り当てを行う割り当て制御手段と、前記所定の設定時間が経過する度に、前記実行時間管理手段による前記キュー毎のジョブの実行時間の合計値の比率の算出処理と、かつ前記割り当て制御手段による前記キューに対する前記ＣＰＵの割り当て処理のタイミングを前記実行時間管理手段及び前記割り当て制御手段に通知するタイミング生成手段とを備えることを特徴としている。
【００１３】
国際公開第ＷＯ２００２／０６９１７４号パンフレット（特許文献５）には“並列プロセス実行方法”が記載されている。この並列プロセス実行方法は、１つの並列プログラムから生成される複数の並列プロセスと他のプロセスとを、複数のプロセッサで時分割で処理するための方法において、所定の周期の中で前記並列プログラムの処理に割り当てるべき時間配分率を設定し、前記並列プログラムの前記各並列プロセスを前記複数のプロセッサ中の１つに割り当て、前記複数のプロセッサにおいて、割り当てられた並列プロセスの処理を同時に実行開始し、前記並列プロセスの実行が開始されてからの経過時間が、前記所定の周期内での前記並列プログラムに設定された前記時間配分率に応じた時間に達すると、前記複数のプロセッサにおいて、割り当てられた並列プロセスの実行を同時に終了する、ことを特徴としている。
【００１４】
【特許文献１】特許第２５０８６８７号公報
【特許文献２】特開２００３−２９６２８９号公報
【特許文献３】特開昭６２−１１９４１号公報
【特許文献４】特許第３１５０１１４号公報
【特許文献５】国際公開第ＷＯ２００２／０６９１７４号パンフレット
【発明の開示】
【発明が解決しようとする課題】
【００１５】
本発明の課題は、ＣＰＵリソースを確実に制御することができるＣＰＵリソース管理方式を提供することにある。
本発明の他の課題は、従来よりもターンアラウンド時間を短縮することができるＣＰＵリソース管理方式を提供することにある。
本発明の更に他の課題は、オーバーヘッドを排除することができるＣＰＵリソース管理方式を提供することにある。
【課題を解決するための手段】
【００１６】
本発明のＣＰＵリソース管理方式は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）で動作するプロセッサと、記憶装置とを具備している。
記憶装置は、１番目からＸ番目（Ｘは２以上の整数）までのＸ個のプロセス群が格納されたプロセス情報記憶部と、Ｘ個のプロセス群のそれぞれに割り当てられたＸ個のＣＰＵ使用可能時間が格納されたＣＰＵリソース初期情報記憶部と、Ｘ個のＣＰＵ使用可能時間の合計値である管理時間が格納された管理時間記憶部とを具備している。
プロセッサは、ＣＰＵリソース初期情報記憶部からＸ個のＣＰＵ使用可能時間をＸ個の読出ＣＰＵ使用可能時間として読み出し、管理時間記憶部から管理時間を読出管理時間として読み出し、読出管理時間から実時間を減算する第１処理を行う。
プロセッサは、第ｉ読出ＣＰＵ使用可能時間｛ｉは１≦ｉ（Ｘ−１）を満たす整数｝が０よりも大きい値を表すとき、第ｉプロセス群のうちの１つのプロセスを実行し、その実行時間を第ｉ読出ＣＰＵ使用可能時間から減算する第２処理を行う。
プロセッサは、第ｉ読出ＣＰＵ使用可能時間が０を表すとき、第（ｉ＋１）プロセス群に対して第２処理を行う。
プロセッサは、読出管理時間が０を表すとき、Ｘ個のプロセス群のうちの、未だ実行されていない未実行プロセスに対して、第１処理及び第２処理を行う。
【発明の効果】
【００１７】
本発明のＣＰＵリソース管理方式では、第１の効果として、管理時間に応じてＸ個のプロセス群のＣＰＵリソース（Ｘ個のＣＰＵ使用可能時間）をプロセッサ単位に制御している。即ち、ＣＰＵ使用時間を消費したタスクに依存することなくＣＰＵリソースを制御している。これにより、本発明のＣＰＵリソース管理方式では、ＣＰＵリソースを確実に制御することができる。
【００１８】
また、本発明のＣＰＵリソース管理方式では、第１の効果により、第２の効果として、ソフトウェア制御を介さずにＣＰＵリソースの制御を行うことができる。これにより、本発明のＣＰＵリソース管理方式では、プロセスのターンアラウンド時間を大幅に短縮できることである。
【００１９】
また、本発明のＣＰＵリソース管理方式では、第１及び第２の効果により、第３の効果として、ソフトウェア制御を介在することなくプロセッサ単位にＣＰＵリソースの制御を行っている。これにより、本発明のＣＰＵリソース管理方式では、マルチプロセッサ構成におけるシステム性能の低下要因となるキャッシュブロック上のデータ競合や排他制御によるオーバーヘッドを完全に排除できることである。このため、システムを安定に稼働させることができる。
【発明を実施するための最良の形態】
【００２０】
以下に添付図面を参照して、本発明のＣＰＵリソース管理方式について詳細に説明する。
【００２１】
［構成］
図１は、本発明のＣＰＵリソース管理方式の構成を示すブロック図である。本発明のＣＰＵリソース管理方式は、Ｎ個（１以上の整数）のプロセッサ１と、Ｎ個の記憶装置２とを具備している。Ｎ個のプロセッサ１はそれぞれＮ個の記憶装置２に割り当てられ、本発明では、ＣＰＵリソース管理はプロセッサ単位で制御される。例えば、Ｎが４である場合、４個のプロセッサ１を識別するプロセッサ番号は、それぞれ、プロセッサ“００”、“０１”、“０２”、“０３”と表される。
【００２２】
プロセッサ１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）で動作する制御部１０と、タイマー機能を有する管理部１１とを具備している。
【００２３】
記憶装置２は、プロセス情報記憶部２０と、プロセッサ制御情報記憶部２１とを具備している。プロセッサ制御情報記憶部２１は、ＣＰＵリソース初期情報記憶部２１０と、ＣＰＵリソース情報記憶部２１１と、管理時間記憶部２１２とを含んでいる。
【００２４】
プロセス情報記憶部２０には、１番目からＸ番目（Ｘは２以上の整数）までの実行待ちのＸ個のプロセス群と、Ｘ個のプロセス群をそれぞれ識別するＸ個のプロセス群識別情報とが格納されている。
【００２５】
ＣＰＵリソース初期情報記憶部２１０には、Ｘ個のプロセス群識別情報が格納されている。ＣＰＵリソース初期情報記憶部２１０には、更に、Ｘ個のプロセス群識別情報のそれぞれに割り当てられたＸ個のＣＰＵ使用可能時間がＣＰＵリソース初期情報として格納されている。
【００２６】
管理時間記憶部２１２には、Ｘ個のＣＰＵ使用可能時間の合計値である管理時間が格納されている。
【００２７】
プロセッサ１は、実行待ちのＸ個のプロセス群に対して、第１処理及び第２処理を行う。
【００２８】
まず、プロセッサ１は、第１処理を行う。
【００２９】
プロセッサ１の制御部１０は、ＣＰＵリソース初期情報記憶部２１０からＣＰＵリソース初期情報（Ｘ個のＣＰＵ使用可能時間）をＣＰＵリソース情報（Ｘ個の読出ＣＰＵ使用可能時間）として読み出し、ＣＰＵリソース情報記憶部２１１に格納する。また、制御部１０は、管理時間記憶部２１２から管理時間を読出管理時間として読み出し、プロセッサ１の管理部１１に読出管理時間を設定する。管理部１１は、実時間をカウントし、読出管理時間から実時間を減算する。
【００３０】
次に、プロセッサ１は、第２処理を行う。
【００３１】
第ｉ読出ＣＰＵ使用可能時間｛ｉは１≦ｉ（Ｘ−１）を満たす整数｝が０よりも大きい値を表すとき、プロセッサ１の制御部１０は、第ｉプロセス群のうちの１つのプロセスを実行し、その実行時間を第ｉ読出ＣＰＵ使用可能時間から減算する。ここで、第ｉ読出ＣＰＵ使用可能時間が０を表すとき、制御部１０は、第（ｉ＋１）プロセス群に対して第２処理を行う。
【００３２】
読出管理時間が０を表すとき、プロセッサ１は、Ｘ個のプロセス群のうちの、未だ実行されていない未実行プロセスに対して、上述の第１処理及び第２処理を行う。
【００３３】
［動作］
次に、本発明のＣＰＵリソース管理方式の動作について、図２、図３Ａ〜図３Ｅを用いて具体的に説明する。上記の記憶装置２には、図２に示される動作（フロー）をプロセッサ１（コンピュータ）が実行するためのコンピュータプログラム（図示しない）が格納（インストール）されている。本発明では、ＣＰＵリソース管理はプロセッサ単位で制御されるため、プロセッサ番号が“００”であるプロセッサ１の動作について説明する。
【００３４】
プロセス情報記憶部２０には、１番目から３番目（Ｘを３とする）までの実行待ちの３個のプロセス群と、３個のプロセス群をそれぞれ識別する３個のプロセス群識別情報とが格納されているものとする。ここで、図３Ａに示されるように、３個のプロセス群をそれぞれプロセス群“Ａ”、“Ｂ”、“Ｃ”とする。また、実行待ちのプロセスをプロセス“１”、“２”、“３”、“４”、“５”とし、プロセス“１”、“２”はプロセス群“Ａ”に含まれ、プロセス“３”、“４”はプロセス群“Ｂ”に含まれ、プロセス“５”はプロセス群“Ｃ”に含まれているものとする。また、プロセス“１”、“２”、“３”、“４”、“５”の実行が開始されてから終了するまでに必要な時間は、それぞれ、“４０ｍｓ”、“４０ｍｓ”、“２０ｍｓ”、“２０ｍｓ”、“５０ｍｓ”であるものとする。
【００３５】
ＣＰＵリソース初期情報記憶部２１０には、３個のプロセス群識別情報と、３個のプロセス群識別情報のそれぞれに割り当てられた３個のＣＰＵ使用可能時間とが格納されている。ここで、図３Ａに示されるように、３個のＣＰＵ使用可能時間をそれぞれＣＰＵ使用可能時間“４０ｍｓ”、“３０ｍｓ”、“３０ｍｓ”とする。
【００３６】
図３Ａに示されるように、管理時間記憶部２１２には、ＣＰＵ使用可能時間“４０ｍｓ”、“３０ｍｓ”、“３０ｍｓ”の合計値である管理時間“１００ｍｓ”が格納されているものとする。
【００３７】
プロセッサ１“００”は、実行待ちのプロセス群“Ａ”、“Ｂ”、“Ｃ”に対して、第１処理及び第２処理を行う。
【００３８】
まず、プロセッサ１“００”は、第１処理を行う。
【００３９】
図３Ａに示されるように、プロセッサ１“００”の制御部１０は、ＣＰＵリソース初期情報記憶部２１０からＣＰＵ使用可能時間“４０ｍｓ”、“３０ｍｓ”、“３０ｍｓ”を第１、第２、第３読出ＣＰＵ使用可能時間として読み出し、ＣＰＵリソース情報記憶部２１１に格納する。また、制御部１０は、管理時間記憶部２１２から管理時間“１００ｍｓ”を読出管理時間として読み出し、プロセッサ１“００”の管理部１１に読出管理時間“１００ｍｓ”を設定する。管理部１１は、実時間をカウントし、読出管理時間“１００ｍｓ”から実時間を減算する。
【００４０】
次に、プロセッサ１“００”は、プロセス群“Ａ”に対して第２処理を行う（ステップＳ１−ＹＥＳ）。
【００４１】
図３Ａに示されるように、いま、第１読出ＣＰＵ使用可能時間は“４０ｍｓ”である。即ち、０よりも大きい値を表している（ステップＳ２−ＹＥＳ）。このとき、プロセッサ１“００”の制御部１０は、プロセス群“Ａ”のうちのプロセス“１”を“４０ｍｓ”分実行し、その実行時間“４０ｍｓ”を第１読出ＣＰＵ使用可能時間“４０ｍｓ”から減算する（ステップＳ３）。
【００４２】
図３Ｂに示されるように、プロセス群“Ａ”のプロセス“１”の実行後に、第１読出ＣＰＵ使用可能時間は“０ｍｓ”である。即ち、０を表している。また、読出管理時間は“６０ｍｓ”を表している。このとき、プロセッサ１“００”の制御部１０は、プロセス群“Ａ”のうちのプロセス“２”を“４０ｍｓ”分実行できないので、プロセス“２”の実行を保留する（ステップＳ１−ＹＥＳ、Ｓ２−ＮＯ）。
【００４３】
次に、プロセッサ１“００”は、プロセス群“Ｂ”に対して第２処理を実行する（ステップＳ４−ＹＥＳ）。
【００４４】
図３Ｂに示されるように、いま、第２読出ＣＰＵ使用可能時間は“３０ｍｓ”である。即ち、０よりも大きい値を表している（ステップＳ２−ＹＥＳ）。このとき、プロセッサ１“００”の制御部１０は、プロセス群“Ｂ”のうちのプロセス“３”を“２０ｍｓ”分実行し、その実行時間“２０ｍｓ”を第２読出ＣＰＵ使用可能時間“３０ｍｓ”から減算する（ステップＳ３）。
【００４５】
図３Ｃに示されるように、この場合、第２読出ＣＰＵ使用可能時間は“１０ｍｓ”である。即ち、０よりも大きい値を表している。このとき、プロセッサ１“００”の制御部１０は、プロセス群“Ｂ”のうちのプロセス“４”を“２０ｍｓ”のうちの“１０ｍｓ”分実行し、その実行時間“１０ｍｓ”を第２読出ＣＰＵ使用可能時間“１０ｍｓ”から減算する（ステップＳ１−ＹＥＳ、Ｓ２−ＹＥＳ、Ｓ３）。
【００４６】
図３Ｄに示されるように、プロセス群“Ｂ”のプロセス“４”の実行中に、第２読出ＣＰＵ使用可能時間は“０ｍｓ”である。即ち、０を表している。また、読出管理時間は“３０ｍｓ”を表している。このとき、プロセッサ１“００”の制御部１０は、プロセス群“Ｂ”のプロセス“４”を残り“１０ｍｓ”分実行できないので、プロセス“４”の実行を保留する（ステップＳ１−ＹＥＳ、Ｓ２−ＮＯ）。
【００４７】
次に、プロセッサ１“００”は、プロセス群“Ｃ”に対して第２処理を実行する（ステップＳ４−ＹＥＳ）。
【００４８】
図３Ｄに示されるように、いま、第３読出ＣＰＵ使用可能時間は“３０ｍｓ”である。即ち、０よりも大きい値を表している（ステップＳ２−ＹＥＳ）。このとき、プロセッサ１“００”の制御部１０は、プロセス群“Ｃ”のうちのプロセス“５”を“５０ｍｓ”のうちの“３０ｍｓ”分実行し、その実行時間“３０ｍｓ”を第３読出ＣＰＵ使用可能時間“３０ｍｓ”から減算する（ステップＳ３）。
【００４９】
図３Ｅに示されるように、プロセス群“Ｃ”のプロセス“５”の実行中に、第３読出ＣＰＵ使用可能時間は“０ｍｓ”である。即ち、０を表している。また、読出管理時間は“０ｍｓ”を表している。このとき、プロセッサ１“００”の制御部１０は、プロセス群“Ｃ”のプロセス“５”を残り“２０ｍｓ”分実行できないので、プロセス“５”の実行を保留する（ステップＳ１−ＹＥＳ、Ｓ２−ＮＯ、Ｓ４−ＮＯ）。
【００５０】
図３Ｅに示されるように、読出管理時間が“０ｍｓ”を表している。このため、プロセッサ１“００”は、プロセス群“Ａ”、“Ｂ”、“Ｃ”のうちの、未実行プロセスであるプロセス“２”、“４”、“５”に対して、上述の第１処理及び第２処理を行う（ステップＳ１〜Ｓ４）。
【００５１】
このようにして、本発明のＣＰＵリソース管理方式では、管理時間に応じてプロセスが属するプロセス群のＣＰＵリソースをプロセッサ単位に制御することにより、ソフトウェアの動作時間やソフトウェア制御に伴うデータ競合や排他制御等によるシステム性能の低下要因の影響を受けずにＣＰＵリソース管理を行うことができ、システムを安定に稼働させることができる。
【００５２】
［効果］
本発明のＣＰＵリソース管理方式の効果について説明する。
【００５３】
まず、従来のＣＰＵリソース管理方式では、図４Ａに示されるように、第１の問題点として、タスク毎にＣＰＵ使用時間の割り当て（配分）を行い、ＣＰＵリソースを消費したタスクから割り込み（例外）が発生したとき、関連するタスクのＣＰＵ使用時間を積算し、残りのＣＰＵ使用時間を再配分している。即ち、タスクを終了する必要がなければ、残りのＣＰＵ使用時間をタスクのＣＰＵ使用時間として割り当て（再配分）を行う。このため、従来のＣＰＵリソース管理方式では、ＣＰＵ使用時間を消費したタスクが存在しなければ、ＣＰＵリソースを制御することができない。
【００５４】
また、従来のＣＰＵリソース管理方式では、第２の問題点として、ＣＰＵ使用時間を消費したタスクが存在する場合でも、複数のタスクのＣＰＵ使用時間を積算したり、再配分の必要性を判断したりする処理が必要になり、タスクのターンアラウンド時間が増加してしまう。
【００５５】
また、従来のＣＰＵリソース管理方式では、第３の問題点として、マルチプロセッサ構成において、ソフトウェアの動作時間やソフトウェアの制御によるデータ競合や排他制御等のシステム性能の低下要因が増大してしまい、ＣＰＵ使用時間の超過を完全に押さえることができない。
【００５６】
一方、本発明のＣＰＵリソース管理方式では、図４Ｂに示されるように、第１の効果として、管理時間“１００ｍｓに応じてプロセス群“Ａ”、“Ｂ”、“Ｃ”のＣＰＵリソース（ＣＰＵ使用可能時間）“４０ｍｓ”、“３０ｍｓ”、“３０ｍｓ”をプロセッサ“００”単位に制御している。即ち、ＣＰＵ使用時間を消費したタスクに依存することなくＣＰＵリソースを制御している。これにより、本発明のＣＰＵリソース管理方式では、ＣＰＵリソースを確実に制御することができる。
【００５７】
また、本発明のＣＰＵリソース管理方式では、第１の効果により、第２の効果として、ソフトウェア制御を介さずにＣＰＵリソース“４０ｍｓ”、“３０ｍｓ”、“３０ｍｓ”の制御を行うことができる。これにより、本発明のＣＰＵリソース管理方式では、プロセスのターンアラウンド時間を大幅に短縮できることである。
【００５８】
また、本発明のＣＰＵリソース管理方式では、第１及び第２の効果により、第３の効果として、ソフトウェア制御を介在することなくプロセッサ“００”単位にＣＰＵリソース“４０ｍｓ”、“３０ｍｓ”、“３０ｍｓ”の制御を行っている。これにより、本発明のＣＰＵリソース管理方式では、マルチプロセッサ構成におけるシステム性能の低下要因となるキャッシュブロック上のデータ競合や排他制御によるオーバーヘッドを完全に排除できることである。このため、システムを安定に稼働させることができる。
【００５９】
［応用］
なお、本発明では、ＣＰＵリソース初期情報（Ｘ個のＣＰＵ使用可能時間）とＣＰＵリソース情報（Ｘ個の読出ＣＰＵ使用可能時間）との差異（変化）を記憶装置２の上述の記憶部２０、２１以外の記憶領域に記録することにより、ＣＰＵリソースの管理と独立して稼働状態を採取することが可能となる。
【００６０】
また、本発明では、プロセッサ障害発生時の予備プロセッサへの切り替えやプロセッサの増設時等に、対象となるプロセッサのみへＣＰＵリソース情報を設定したり、事前に準備したりすることにより、システム運用中の構成変更等にも容易に対応することが可能である。
【００６１】
また、本発明では、管理時間をプロセス群単位やシステムで一つの値として定義したり、任意のプロセッサの集まりをプロセッサグループとして定義しプロセッサグループ単位に定義したりする等、管理時間を柔軟に定義することが可能となる。
【００６２】
また、本発明では、ＣＰＵリソース初期情報、ＣＰＵリソース情報、及び、管理時間の設定値をソフトウェアで設定可能にすることにより、動的なリソース管理を行うことが可能となる。
【産業上の利用可能性】
【００６３】
本発明によれば、アウトソーシングや複数のシステム統合を行うケース等において、システム業務の安定稼働を行うといった用途に適用できる。
【図面の簡単な説明】
【００６４】
【図１】図１は本発明のＣＰＵリソース管理方式の構成を示すブロック図である。
【図２】図２は本発明のＣＰＵリソース管理方式の動作を示すフローチャートである。
【図３Ａ】図３Ａは本発明のＣＰＵリソース管理方式の動作を説明するための図である。
【図３Ｂ】図３Ｂは本発明のＣＰＵリソース管理方式の動作を説明するための図である。
【図３Ｃ】図３Ｃは本発明のＣＰＵリソース管理方式の動作を説明するための図である。
【図３Ｄ】図３Ｄは本発明のＣＰＵリソース管理方式の動作を説明するための図である。
【図３Ｅ】図３Ｅは本発明のＣＰＵリソース管理方式の動作を説明するための図である。
【図４Ａ】図４Ａは従来のＣＰＵリソース管理方式の問題点を説明するための図である。
【図４Ｂ】図４Ｂは本発明のＣＰＵリソース管理方式の効果を説明するための図である。
【符号の説明】
【００６５】
１    プロセッサ、
２    記憶装置、
１０    制御部、
１１    管理部、
２０    プロセス情報記憶部、
２１    プロセッサ制御情報記憶部、
２１０    ＣＰＵリソース初期情報記憶部、
２１１    ＣＰＵリソース情報記憶部、
２１２    管理時間記憶部、
【図１】
2008305065.tif 000003
【図２】
2008305065.tif 000004
【図３Ａ】
2008305065.tif 000005
【図３Ｂ】
2008305065.tif 000006
【図３Ｃ】
2008305065.tif 000007
【図３Ｄ】
2008305065.tif 000008
【図３Ｅ】
2008305065.tif 000009
【図４Ａ】
2008305065.tif 000010
【図４Ｂ】
2008305065.tif 000011