(57)【要約】【課題】システム資源の割り当てを効率的に行い、システムにおける処理能力の低下を抑制する。【解決手段】コンピュータシステムに装備されたシステム資源を利用する資源利用手段に、システム資源を割り当てる割り当て手段を備え、当該割り当て手段は、資源利用手段毎に設定された所定数のシステム資源の割り当てを希望するか否かを表す割り当て希望情報に基づいて、資源利用手段に前記システム資源を割り当てる。【選択図】図１
2009123053.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステムに装備されたシステム資源を利用する資源利用手段に、前記システム資源を割り当てる割り当て手段を備え、
前記割り当て手段は、前記資源利用手段毎に設定された所定数の前記システム資源の割り当てを希望するか否かを表す割り当て希望情報に基づいて、前記資源利用手段に前記システム資源を割り当てる、
ことを特徴とする資源割り当て装置。
【請求項２】
前記割り当て手段は、前記資源利用手段毎に設定された当該資源利用手段が前記システム資源の割り当てを必要とする数を表す必要資源数に基づいて、前記資源利用手段に前記システム資源を割り当てる、
ことを特徴とする請求項１記載の資源割り当て装置。
【請求項３】
前記割り当て手段は、前記割り当て希望情報が設定された前記資源利用手段に対して、当該資源利用手段に設定された前記必要資源数だけ前記システム資源を割り当てる、
ことを特徴とする請求項２記載の資源割り当て装置。
【請求項４】
前記必要資源数は、０又は１以上の数である、
ことを特徴とする請求項２又は３記載の資源割り当て装置。
【請求項５】
前記コンピュータシステムに装備された前記システム資源の数を管理するシステム資源管理手段と、
前記資源利用手段毎に設定された前記割り当て希望情報及び前記必要資源数を管理する資源利用管理手段と、を備え、
前記割り当て手段は、前記システム資源管理手段及び前記資源利用管理手段にて管理された情報に基づいて、前記割り当て希望情報が設定された前記資源利用手段に対して当該資源利用手段に設定された前記必要資源数だけ前記システム資源を割り当てる、
ことを特徴とする請求項２，３又は４記載の資源割り当て装置。
【請求項６】
前記割り当て手段は、前記割り当て希望情報が設定された前記資源利用手段に前記必要資源数だけ前記システム資源を割り当てると共に、前記割り当て希望情報が設定されていない他の前記資源利用手段に対して残りの前記システム資源を割り当てる、
ことを特徴とする請求項５記載の資源割り当て装置。
【請求項７】
前記資源利用管理手段は、前記資源利用手段毎に設定された前記システム資源の割り当ての優先度を管理し、
前記割り当て手段は、前記資源利用手段に設定された前記優先度に基づいて前記システム資源を割り当てる、
ことを特徴とする請求項５又は６記載の資源割り当て装置。
【請求項８】
前記割り当て手段は、前記割り当て希望情報が設定された前記資源利用手段のうち前記優先度に基づいて選択した当該資源利用手段に前記システム資源を割り当てる、
ことを特徴とする請求項７記載の資源割り当て装置。
【請求項９】
演算装置に、
コンピュータシステムに装備されたシステム資源を利用する資源利用手段に前記システム資源を割り当てる割り当て手段を実現させるためのプログラムであって、
前記割り当て手段は、前記資源利用手段毎に設定された所定数の前記システム資源の割り当てを希望するか否かを表す割り当て希望情報に基づいて、前記資源利用手段に前記システム資源を割り当てる、
ことを特徴とするプログラム。
【請求項１０】
前記割り当て手段は、前記資源利用手段毎に設定された当該資源利用手段が前記システム資源の割り当てを必要とする数を表す必要資源数に基づいて、前記資源利用手段に前記システム資源を割り当てる、
ことを特徴とする請求項９記載のプログラム。
【請求項１１】
前記割り当て手段は、前記割り当て希望情報が設定された前記資源利用手段に対して、当該資源利用手段に設定された前記必要資源数だけ前記システム資源を割り当てる、
ことを特徴とする請求項１０記載のプログラム。
【請求項１２】
システム資源と、当該システム資源を利用する資源利用手段と、当該資源利用手段に前記システム資源を割り当てる割り当て手段と、を備えたコンピュータシステムであって、
前記割り当て手段は、前記資源利用手段毎に設定された所定数の前記システム資源の割り当てを希望するか否かを表す割り当て希望情報に基づいて、前記資源利用手段に前記システム資源を割り当てる、
ことを特徴とするコンピュータシステム。
【請求項１３】
前記割り当て手段は、前記資源利用手段毎に設定された当該資源利用手段が前記システム資源の割り当てを必要とする数を表す必要資源数に基づいて、前記資源利用手段に前記システム資源を割り当てる、
ことを特徴とする請求項１２記載のコンピュータシステム。
【請求項１４】
前記割り当て手段は、前記割り当て希望情報が設定された前記資源利用手段に対して、当該資源利用手段に設定された前記必要資源数だけ前記システム資源を割り当てる、
ことを特徴とする請求項１３記載のコンピュータシステム。
【請求項１５】
システム資源と、当該システム資源を利用する資源利用手段と、を備えたコンピュータシステムに装備されたオペレーティングシステムであって、
前記資源利用手段毎に設定された所定数の前記システム資源の割り当てを希望するか否かを表す割り当て希望情報に基づいて、前記資源利用手段に前記システム資源を割り当てる割り当て手段を備えた、
ことを特徴とするオペレーティングシステム。
【請求項１６】
前記割り当て手段は、前記資源利用手段毎に設定された当該資源利用手段が前記システム資源の割り当てを必要とする数を表す必要資源数に基づいて、前記資源利用手段に前記システム資源を割り当てる、
ことを特徴とする請求項１５記載のオペレーティングシステム。
【請求項１７】
前記割り当て手段は、前記割り当て希望情報が設定された前記資源利用手段に対して、当該資源利用手段に設定された前記必要資源数だけ前記システム資源を割り当てる、
ことを特徴とする請求項１６記載のオペレーティングシステム。
【請求項１８】
コンピュータシステムに装備されたシステム資源を利用する資源利用手段に、前記システム資源を割り当てる資源割り当て方法であって、
前記資源利用手段毎に設定された所定数の前記システム資源の割り当てを希望するか否かを表す割り当て希望情報に基づいて、前記資源利用手段に前記システム資源を割り当てる、
ことを特徴とする資源割り当て方法。
【請求項１９】
前記資源利用手段毎に設定された当該資源利用手段が前記システム資源の割り当てを必要とする数を表す必要資源数に基づいて、前記資源利用手段に前記システム資源を割り当てる、
ことを特徴とする請求項１８記載の資源割り当て方法。
【請求項２０】
前記割り当て希望情報が設定された前記資源利用手段に対して、当該資源利用手段に設定された前記必要資源数だけ前記システム資源を割り当てる、
ことを特徴とする請求項１９記載の資源割り当て方法。
【請求項２１】
前記コンピュータシステムに装備された前記システム資源の数に基づいて、前記割り当て希望情報が設定された前記資源利用手段に対して当該資源利用手段に設定された前記必要資源数だけ前記システム資源を割り当てると共に、前記割り当て希望情報が設定されていない他の前記資源利用手段に対して残りの前記システム資源を割り当てる、
ことを特徴とする請求項１９又は２０記載の資源割り当て方法。
【請求項２２】
前記資源利用手段毎に設定された前記システム資源の割り当ての優先度に基づいて、前記資源利用手段に前記システム資源を割り当てる、
ことを特徴とする請求項２１記載の資源割り当て方法。
【請求項２３】
前記割り当て希望情報が設定された前記資源利用手段のうち前記優先度に基づいて選択した当該資源利用手段に対して前記システム資源を割り当てると共に、前記割り当て希望情報が設定されてない前記資源利用手段に対しては前記優先度に基づいて前記システム資源を割り当てる、
ことを特徴とする請求項２２記載の資源割り当て方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、資源割り当て装置にかかり、特に、コンピュータシステム上で実行中のプロセスに対してシステム資源を割り当てる資源割り当て装置に関する。
【背景技術】
【０００２】
コンピュータシステムでは、システム資源を利用する資源利用者に当該システム資源を割り当てる必要がある。しかし、システム資源は有限であるため、全ての資源利用者に十分なシステム資源を割り当てることができない場合が生じうる。その際に、特定の方法によって全ての資源利用者に、公平かつ効率的にシステム資源を割り当てることが望ましい。
【０００３】
ここで、システム資源とは、例えば、コンピュータシステムに存在するまたはコンピュータシステムを構成する有限のいかなる装置やプログラムであり、限定されないが、メモリ、中央処理装置（ＣＰＵ）、入出力（Ｉ／Ｏ）装置、プログラムおよびその一部、システムで実行中のプロセス、などを含む。また、システム資源を利用する資源利用者とは、システム資源を利用するいかなる装置やプログラムであり、限定されないが、プログラムおよびその一部、システムで実行中のプロセス、さらにはシステム資源、などをも含む。
【０００４】
そして、割り当て方法には様々なものがあり、例えば、資源利用者に優先度を付して、高優先度の資源利用者から順に資源を割り当てる方法や、全ての資源利用者に均等に資源を割り当てる方法などがある。例えば、資源利用者と、その利用者が希望するシステム資源量の割り当て量とを関連付け、それらの値に応じてシステム資源を割り当てる方法およびシステムが提案されている（例えば、特許文献１を参照）。
【０００５】
しかしながら、上述したコンピュータシステムでは、割り当てられるシステム資源の数が一定数で必要十分である資源利用者に対し、効率的にシステム資源が割り当てられない場合がある、という問題が生じる。つまり、このような資源利用者に対し、一定数に満たないシステム資源を割り当てた場合は、その資源利用者は十分な成果を出すことができないために、システム資源が有効に利用されない。逆に、一定数を超えるシステム資源を割り当てた場合は、その過剰分のシステム資源が有効利用されない。
【０００６】
具体的に、まず、資源利用者の例として、定常的なデータ処理を行うものであり、入力データを決められた数に区切り、それらの分割されたデータをシステム資源である処理装置が並列に処理し、その処理結果を統合し出力するプロセスがあるとする。そのプロセスに割り当てられる処理装置の数が一定数に満たない場合は、分割された入力データの全てを同時に処理することができないために、データ処理全体としての処理時間が長くなり効率が低下する。逆に、そのプロセスに割り当てられる処理装置の数が一定数を超える場合は、割り当てられた過剰分の処理装置への入力データが存在せず、そのシステム資源が有効利用されないことになる。そして、このシステム資源の割り当てを希望する資源利用者が他に存在するようなシステムでは、システム資源を効率よく利用するために、システム資源を資源利用者間で適切に割り当てる必要がある。
【０００７】
また、特許文献２では、ジョブの実行要求を、ジョブ定義情報に含まれる実行に必要なプロセッサの個数の情報と共に管理プログラムに通知し、当該プログラムは、プロセッサ割り当てを行う、というシステムを開示している。かかる技術によると、上述したように、特定のプロセスに割り当てられる処理装置の数が一定数に満たない、ということを抑制できる。
【０００８】
【特許文献１】特開２００３−３３０７３４号公報
【特許文献２】特許第３５４１２１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記特許文献２の技術であっても、特定のプロセスに割り当てられる処理装置の数が一定数を超える場合があり、仮に、そのプロセスは一定数で必要十分である場合には、割り当てられた過剰分の処理装置への入力データが存在せず、依然として、システム資源が有効利用されないことになる。
【００１０】
このため、本発明の目的は、上述した課題である、システム資源の割り当てを効率的に行い、システムにおける処理能力の低下を抑制する、ことにある。
【課題を解決するための手段】
【００１１】
そこで、本発明の一形態である資源割り当て装置は、コンピュータシステムに装備されたシステム資源を利用する資源利用手段に、システム資源を割り当てる割り当て手段を備え、当該割り当て手段は、資源利用手段毎に設定された所定数のシステム資源の割り当てを希望するか否かを表す割り当て希望情報に基づいて、資源利用手段に前記システム資源を割り当てる、という構成を採る。
【発明の効果】
【００１２】
本発明は、以上のように構成されるため、割り当て希望情報が設定された資源利用手段に対して、割り当てが過剰となる、あるいは、不足することを抑制でき、システム資源の有効利用を図ることができる、という従来にない優れた効果を有する。
【発明を実施するための最良の形態】
【００１３】
本発明の一形態である資源割り当て装置は、コンピュータシステムに装備されたシステム資源を利用する資源利用手段に、システム資源を割り当てる割り当て手段を備え、割り当て手段は、資源利用手段毎に設定された所定数のシステム資源の割り当てを希望するか否かを表す割り当て希望情報に基づいて、資源利用手段に前記システム資源を割り当てる、という構成を採る。
【００１４】
上記発明によると、まず、各資源利用手段には、当該資源利用手段が所定数のシステム資源の割り当てを希望する、あるいは、希望しない旨の割り当て希望情報が設定されている。そして、割り当て手段は、割り当て希望情報の設定状況に応じて、各資源利用手段に対するシステム資源の割り当てを行う。例えば、割り当て希望情報が設定されている場合には、所定数のシステム資源を割り当てる。これにより、割り当て希望情報が設定された資源利用手段に対して、割り当てが過剰となる、あるいは、不足することを抑制でき、システム資源の有効利用を図ることができる。
【００１５】
そして、上記割り当て手段は、資源利用手段毎に設定された当該資源利用手段がシステム資源の割り当てを必要とする数を表す必要資源数に基づいて、資源利用手段にシステム資源を割り当てる、という構成を採る。また、上記割り当て手段は、割り当て希望情報が設定された資源利用手段に対して、当該資源利用手段に設定された必要資源数だけ前記システム資源を割り当てる、という構成を採る。このとき、上記必要資源数は、０又は１以上の数である。
【００１６】
これにより、予め資源利用手段毎に割り当てを希望するシステム資源の資源数が設定されている場合には、上記割り当て希望情報が設定されている資源利用手段に対しては、その資源数（例えば、０〜ｎ個：ｎは整数）だけ割り当てることができる。従って、資源利用手段毎の性能等に応じた適切な数のシステム資源を割り当てることができる。その結果、システム資源のより効率的な使用を図ることができ、コンピュータシステムの処理性能の向上を図ることができる。
【００１７】
また、コンピュータシステムに装備されたシステム資源の数を管理するシステム資源管理手段と、資源利用手段毎に設定された割り当て希望情報及び必要資源数を管理する資源利用管理手段と、を備え、上記割り当て手段は、システム資源管理手段及び資源利用管理手段にて管理された情報に基づいて、割り当て希望情報が設定された資源利用手段に対して当該資源利用手段に設定された必要資源数だけシステム資源を割り当てる、という構成を採る。そして、上記割り当て手段は、割り当て希望情報が設定された資源利用手段に必要資源数だけシステム資源を割り当てると共に、割り当て希望情報が設定されていない他の資源利用手段に対して残りの前記システム資源を割り当てる、という構成を採る。
【００１８】
これにより、予め装備されているシステム資源の数を考慮しつつ、割り当て希望情報が設定された資源利用手段に対して、適切な数のシステム資源を割り当てることができる。そして、さらに、割り当て希望情報が設定されていない他の資源利用手段に対しても、残りのシステム資源を割り当てることができる。
【００１９】
また、上記資源利用管理手段は、資源利用手段毎に設定されたシステム資源の割り当ての優先度を管理し、上記割り当て手段は、資源利用手段に設定された優先度に基づいてシステム資源を割り当てる、という構成を採る。また、上記割り当て手段は、割り当て希望情報が設定された資源利用手段のうち優先度に基づいて選択した当該資源利用手段にシステム資源を割り当てる、という構成を採る。
【００２０】
これにより、まず、予め資源利用手段毎に、システム資源を優先的に割り当てる優先度合いを表す優先度が設定されている。そして、上記優先度が高い順に、システム資源を割り当てる。特に、割り当て希望情報が設定された資源利用手段については、優先度に基づいて選択したものだけにシステム資源を割り当てる。これにより、資源利用手段の性質に応じて、柔軟に資源の割り当てを行うことができ、よりシステム資源の有効利用を図ることができる。
【００２１】
また、本発明の他の形態であるプログラムは、演算装置に、コンピュータシステムに装備されたシステム資源を利用する資源利用手段にシステム資源を割り当てる割り当て手段を実現させるためのプログラムであって、割り当て手段は、資源利用手段毎に設定された所定数のシステム資源の割り当てを希望するか否かを表す割り当て希望情報に基づいて、資源利用手段にシステム資源を割り当てる、という構成を採る。そして、上記割り当て手段は、資源利用手段毎に設定された当該資源利用手段がシステム資源の割り当てを必要とする数を表す必要資源数に基づいて、資源利用手段にシステム資源を割り当てる、という構成を採る。さらに、上記割り当て手段は、割り当て希望情報が設定された資源利用手段に対して、当該資源利用手段に設定された必要資源数だけシステム資源を割り当てる、という構成を採る。
【００２２】
また、本発明の他の形態であるコンピュータシステムは、システム資源と、当該システム資源を利用する資源利用手段と、当該資源利用手段にシステム資源を割り当てる割り当て手段と、を備え、上記割り当て手段は、資源利用手段毎に設定された所定数のシステム資源の割り当てを希望するか否かを表す割り当て希望情報に基づいて、資源利用手段にシステム資源を割り当てる、という構成を採る。そして、上記割り当て手段は、資源利用手段毎に設定された当該資源利用手段がシステム資源の割り当てを必要とする数を表す必要資源数に基づいて、資源利用手段にシステム資源を割り当てる、という構成を採る。さらに、上記割り当て手段は、割り当て希望情報が設定された資源利用手段に対して、当該資源利用手段に設定された必要資源数だけシステム資源を割り当てる、という構成を採る。
【００２３】
また、本発明の他の形態であるオペレーティングシステムは、システム資源と、当該システム資源を利用する資源利用手段と、を備えると共に、資源利用手段毎に設定された所定数のシステム資源の割り当てを希望するか否かを表す割り当て希望情報に基づいて、資源利用手段にシステム資源を割り当てる割り当て手段を備えた、という構成を採る。そして、上記割り当て手段は、資源利用手段毎に設定された当該資源利用手段がシステム資源の割り当てを必要とする数を表す必要資源数に基づいて、資源利用手段にシステム資源を割り当てる、という構成を採る。また、上記割り当て手段は、割り当て希望情報が設定された資源利用手段に対して、当該資源利用手段に設定された必要資源数だけシステム資源を割り当てる、という構成を採る。
【００２４】
また、本発明の他の形態である資源割り当て方法は、コンピュータシステムに装備されたシステム資源を利用する資源利用手段に、システム資源を割り当てる資源割り当て方法であって、資源利用手段毎に設定された所定数のシステム資源の割り当てを希望するか否かを表す割り当て希望情報に基づいて、資源利用手段にシステム資源を割り当てる、という構成を採る。そして、資源利用手段毎に設定された当該資源利用手段がシステム資源の割り当てを必要とする数を表す必要資源数に基づいて、資源利用手段にシステム資源を割り当てる、という構成を採る。また、割り当て希望情報が設定された資源利用手段に対して、当該資源利用手段に設定された必要資源数だけシステム資源を割り当てる、という構成を採る。
【００２５】
さらに、上記資源割り当て方法は、コンピュータシステムに装備されたシステム資源の数に基づいて、割り当て希望情報が設定された資源利用手段に対して当該資源利用手段に設定された必要資源数だけシステム資源を割り当てると共に、割り当て希望情報が設定されていない他の資源利用手段に対して残りのシステム資源を割り当てる、という構成を採る。また、上記資源割り当て方法は、資源利用手段毎に設定されたシステム資源の割り当ての優先度に基づいて、資源利用手段にシステム資源を割り当てる、という構成を採る。さらに、割り当て希望情報が設定された資源利用手段のうち優先度に基づいて選択した当該資源利用手段に対してシステム資源を割り当てると共に、割り当て希望情報が設定されてない資源利用手段に対しては優先度に基づいてシステム資源を割り当てる、という構成を採る。
【００２６】
上述した構成のプログラム、コンピュータシステム、オペレーティングシステム、資源割り当て方法の発明であっても、上記資源割り当て装置と同様に作用するため、上述した本発明の目的を達成することができる。
【００２７】
＜実施形態１＞
本発明の第１の実施形態を、図１乃至図８を参照して説明する。図１乃至図２は、コンピュータシステムの構成を示すブロック図である。図３は、割り当て装置の構成を示すブロック図である。図４は、資源利用者の管理情報を示す図であり、図５は、システム資源の管理情報を示す図である。図６は、資源割り当て装置による資源割り当て動作を示すフローチャートである。図７乃至図８は、システム資源の割り当て状況を示す図である。
【００２８】
［構成］
図１に示すように、本実施形態におけるコンピュータシステム１０は、複数のシステム資源１１と、このシステム資源を利用する資源利用者１（資源利用手段）と、コンピュータシステム１０の動作を制御するオペレーティングシステム４と、を備えている。そして、本実施形態では、具体的には、図２に示すように、資源利用者１としてシステムで実行される３つのプロセス１，２，３を備えている。また、当該プロセス１，２，３が使用するシステム資源として、７つの演算装置１１〜１７を備えている。
【００２９】
但し、資源利用者１は、上述したプロセスに限定されず、システム資源を利用するいかなる装置やプログラム、当該プログラムの一部、さらにはシステム資源、などであってもよい。また、システム資源１１は、例えば、コンピュータシステムに存在するまたはコンピュータシステムを構成する有限のいかなる装置やプログラムであってもよく、例えば、メモリ、中央処理装置（ＣＰＵ）、入出力（Ｉ／Ｏ）装置、プログラムおよびその一部、システムで実行中のプロセス、などを含む。
【００３０】
また、本実施形態では、オペレーティングシステム４内に、上記資源利用者１であるプロセス１，２，３に、システム資源である演算措置１１〜１７を割り当てるよう動作する割り当て装置５（資源割り当て装置）を備えている。なお、この割り当て装置５は、コンピュータシステム１０内のＣＰＵに、所定のプログラムが組み込まれることにより構築されるものである。例えば、割り当て装置５は、オペレーティングシステム上で実行中のプロセスにシステム資源を割り当てるよう作動する、オペレーティングシステムのスケジューリング機能である。この割り当て装置５について、さらに図３を参照して説明する。
【００３１】
図３に示すように、割り当て装置５は、プロセス管理部５１と、資源管理部５２と、割り当て処理部５３と、を備えている。プロセス管理部５１（資源利用管理手段）は、資源利用者である各プロセス１，２，３が、割り当てを必要としているシステム資源に関する情報を管理している。ここで、プロセス管理部５１が管理している情報を、図４に示す。この図に示すように、プロセス管理部５１は、まず、各プロセス１，２，３が所定数のシステム資源の割り当てを希望するか否かを表す資源希望フラグ（割り当て希望情報）を管理している。この例では、プロセス２のみが所定数のシステム資源の割り当てを希望しており、資源希望フラグが「有」に設定されている。なお、他のプロセスもシステム資源の割り当てを希望しているが、資源希望フラグは、特に、過不足のない数のシステム資源の割り当てを希望していることを表すものである。そして、上述したように、資源希望フラグが設定されているプロセス２は、例えば、定常的なデータ処理を行うものであり、入力データを決められた数に区切り、それらの分割されたデータを各演算装置が並列に処理し、その処理結果を統合し出力するプロセスである。
【００３２】
また、プロセス管理部５１は、各プロセス１，２，３が割り当てを希望するシステム資源の種類を管理している。ここでは、全てのプロセスが、システム資源として「演算装置」を必要としている。さらに、プロセス管理部５１は、各プロセス１，２，３が割り当てを必要とする演算装置の割り当ての要求数（必要資源数）を管理している。ここでは、プロセス１が３つ、プロセス２が３つ、プロセス３が２つ、の演算装置１１〜１７の割り当てを必要としている。なお、上記各情報は、各プロセスにそれぞれ設定されており、プロセス管理部５１が各プロセスから取得して管理する。あるいは、コンピュータシステムの管理者から当該コンピュータシステムに入力された情報を、管理してもよい。また、上記各プロセスに設定された「要求数」は、任意であるが、例えば、０又は１以上の数である。ここで、必要数が０である場合には、仮に資源希望フラグが設定されている場合であっても、システム資源を割り当てる必要はない、ことを意味する。
【００３３】
また、上記資源管理部５２（システム資源管理手段）は、コンピュータシステム１０に装備されているシステム資源の種類や数を管理する。ここで、資源管理部５２が管理している情報を、図５に示す。この図に示すように、コンピュータシステム１０には、演算装置が７つ装備されており、また、記憶装置は５つ装備されている。なお、上記各情報は、資源管理部５２が各システム資源から取得してもよく、管理者からの入力にて設定されてもよい。
【００３４】
また、上記割り当て処理部５３（割り当て手段）は、上述したプロセス管理部５１にて管理されている情報、及び、資源管理部５２にて管理されている情報に基づいて、各プロセス１，２，３にシステム資源を割り当てる処理を行う。そして、この割り当て処理部５３は、基本的には、各プロセス１，２，３に設定された資源希望フラグの設定（有、無）の状況に基づいて、当該各プロセス１，２，３に対してシステム資源である演算装置１１〜１７を割り当てる。このとき、各プロセス１，２，３が演算装置を要求する数として設定されている割り当て要求数に基づいて割り当てる。特に、上記資源希望フラグが設定されているプロセスについては（例えば、プロセス２）、当該プロセスに設定された割り当て要求数（例えば、３つ）の数だけ、演算装置１１，１２，１３を割り当てる。
【００３５】
さらに具体的には、割り当て処理部５３は、システム資源の割り当てに際して、まず、全ての資源利用者であるプロセス１，２，３に、設定された要求数を満たすシステム資源である演算装置１１〜１７を割り当てることが可能であるかを判断する。それが可能である場合には、もちろん、上述した資源希望フラグの有無によらず、全てのプロセス１，２，３に要求数を満たす演算装置１１〜１７を割り当てる。一方、全てのプロセス１，２，３に要求数を満たす演算装置１１〜１７を割り当てることができなければ、資源希望フラグが「有」に設定されているプロセス２に対し、当該プロセスの要求数だけ演算装置１１，１２，１３を割り当てる。そして、残りのシステム資源である演算装置については、他のプロセス１，３に割り当てる。さらに、詳細な割り当て動作については、以下の動作説明にて説明する。
【００３６】
［動作］
次に、図６のフローチャートを参照して、コンピュータシステム１０における資源割り当て処理の動作を説明する。
【００３７】
まず、割り当て装置５は、全ての資源利用者であるプロセス１，２，３に要求数を満たすシステム資源を割り当てることが可能であるかを判断する（ステップＳ１）。これは、図４，５に示す、各プロセス１，２，３や演算装置１１〜１７から取得した管理情報に基づいて判断する。例えば、演算装置の総数よりも各プロセスの要求数の和が小さいか否かを計算して判断する。
【００３８】
そして、全てのプロセス１，２，３に要求数を満たす演算装置１１〜１７を割り当て可能であれば（ステップＳ１でイエス）、当該全てのプロセス１，２，３に、それぞれが必要とする演算装置の数を表す要求数分を、各プロセス１，２，３に割り当てる（ステップＳ２）。その後、さらに割り当てられていないシステム資源が残っているかどうかを判定し（ステップＳ３）、残っている場合には（ステップＳ３でイエス）、一定数資源希望フラグがセットされていないプロセスに残りのシステム資源を割り当て（ステップＳ５）、それがなければ終了する（ステップＳ３でノー）。
【００３９】
一方、全てのプロセス１，２，３で要求数を満たすシステム資源を割り当てることができない場合には（ステップＳ１でノー）、一定数資源希望フラグがセットされているプロセス（ここでは、プロセス２）に対し、システム資源を割り当てる（ステップＳ４）。そして、さらに、残っているシステム資源である演算装置を一定数資源希望フラグがセットされていないプロセス１，３に割り当て（ステップＳ５）、終了する。
【００４０】
ここで、図７の例を参照して、さらに具体的な割り当て動作を説明する。まず、この例では、プロセス１が３個の演算装置の割り当てを要求し、プロセス２が３個の演算装置の割り当てを要求し、プロセス３が２個の演算装置の割り当てを要求していることとする。また、プロセス１とプロセス３の資源希望フラグが設定されておらず、プロセス２の資源希望フラグのみが「有」に設定されている。
【００４１】
この場合に、プロセス１，２，３が要求する演算装置数が８個であるのに対して、装備されている演算装置１１〜１７は７個であるため、プロセス１，２，３の全ての要求を満足させるように割り当てを行うことはできない（ステップＳ１でノー）。このため、割り当て装置５は、まず、資源希望フラグが「有」に設定されているプロセス２に、その要求数として設定されている３個の演算装置１１，１２，１３を割り当てる（ステップＳ４）。そして、この時点で、まだ演算装置が４個残っているため、資源希望フラグが「有」に設定されていないプロセス１に２個の演算装置１４，１５を割り当て、同様に、プロセス３に２個の演算装置１６，１７を割り当てる（ステップＳ５）。これにより、資源希望フラグが設定されたプロセス２には、過不足無く適切な数（量）のシステム資源が割り当てられることとなる。従って、システム資源の有効利用を図ることができる。
【００４２】
また、図８の例を参照して説明する。まず、この例では、プロセス１が２個の演算装置の割り当てを要求し、プロセス２が１個の演算装置の割り当てを要求し、プロセス３が２個の演算装置の割り当てを要求していることとする。また、プロセス１とプロセス３の資源希望フラグが「有」に設定されておらず、プロセス２の資源希望フラグのみが「有」に設定されている。
【００４３】
この場合に、プロセス１，２，３が要求する演算装置数が５個であるのに対して、装備されている演算装置１１〜１７は７個であるため、プロセス１，２，３の全ての要求を満足させるように割り当てを行うことができる（ステップＳ１でイエス）。このため、割り当て装置５は、まず、プロセス１に、その要求数として設定されている２個の演算装置１１，１２を割り当てる。また、プロセス２に、その要求数として設定されている１個の演算装置１３を割り当て、プロセス３に、その要求数として設定されている２個の演算装置１４，１５を割り当てる（ステップＳ２）。この時点で、まだ演算装置が２個残っているため（ステップＳ３でイエス）、資源希望フラグが設定されていないプロセス１に１個の演算装置１６を割り当て、同様に、資源希望フラグが設定されていないプロセス３に１個の演算装置１７割り当てる（ステップＳ５）。
【００４４】
これにより、上記同様に、資源希望フラグが設定されたプロセス２には、要求数として設定された数だけの演算装置、つまり、過不足無く適切な数（量）のシステム資源が割り当てられることとなる。従って、システム資源の有効利用を図ることができる。ここで、仮に上記フラグの設定がない構成である場合には、プロセス２は本来は１個の演算装置で十分であるにも関わらず、２個以上割り当てられてしまう可能性がある。この場合には、過剰な１個の演算装置であるシステム資源が有効利用されないこととなる。
【００４５】
なお、上記では、資源希望フラグがセットされたプロセスが必要とするシステム資源が１個あるいは２個である場合を例示したが、それ以上の数が設定されていてもよく、あるいは、０個であってもよい。例えば、０個である場合には、たとえ資源希望フラグがセットされている場合であっても、システム資源が割り当てられることが無いため、システム資源の不要な割り当てを抑制することができ、システム資源の有効利用を図ることができる。但し、本発明におけるシステム資源を割り当てる資源利用者の選択方法と、その割り当て数の決定方法については、上述した内容に限定されない。
【００４６】
＜実施形態２＞
次に、本発明の第２の実施形態を、図９乃至図１０を参照して説明する。図９乃至図１０は、コンピュータシステムの構成を示すブロック図である。
【００４７】
図９に示すように、本実施形態におけるコンピュータシステム１１０は、複数のシステム資源１１と、このシステム資源を利用する資源利用者１０１と、コンピュータシステム１１０の動作を制御するオペレーティングシステム１０４と、を備えている。具体的には、図１０に示すように、資源利用者１０１としてシステムで実行されるプロセス１０１と、当該プロセス１，２，３が使用するシステム資源として演算装置１１１と、を備えている。つまり、上述した実施形態１の構成とほぼ同様である。
【００４８】
但し、本実施形態では、上記割り当て装置１０５は、オペレーティングシステム１０４内に装備されているのではなく、コンピュータシステム１１０とは異なる他の装置として独立している。そして、割り当て装置１０５は、コンピュータシステム１１０とネットワークやケーブルなどで接続されている。また、割り当て装置１０５は、所定のプログラムが組み込まれることにより、実施形態１で説明した図３に示すものと同様の構成を採っている。従って、割り当て装置１０５は、ネットワーク等を介して、上述同様に、上記資源利用者１０１であるプロセス１０１に、システム資源である演算措置１１１を割り当てるよう処理を行うことができる。その結果、かかる構成であっても、上述同様に、システム資源の有効利用を図ることができる。
【００４９】
＜実施形態３＞
次に、本発明の第３の実施形態を、図１１乃至図１２を参照して説明する。図１１は、資源利用者の管理情報を示す図である。図１２は、システム資源の割り当て状況を示す図である。
【００５０】
本実施形態では、各プロセス１，２，３（資源利用手段）に、システム資源（演算装置）の割り当ての優先度が予め設定されている。例えば、図１１の資源管理情報に示すように、「高」、「中」、「低」の３段階で設定されている。なお、この優先度は、予めプロセスに設定された情報を割り当て装置が取得することで、資源管理情報として管理されてもよく、あるいは、コンピュータシステムや割り当て装置の管理者が入力することにより、管理されてもよい。また、割り当て装置（図示せず）は、上記優先度に基づいて、各プロセス１，２，３に演算装置の割り当て処理を行う。
【００５１】
次に、割り当て動作について説明する。例えば、図１１の例では、まず、プロセス１が３個の演算装置の割り当てを要求し、プロセス２が３個の演算装置の割り当てを要求し、プロセス３が２個の演算装置の割り当てを要求していることとする。また、プロセス１の資源希望フラグが「有」に設定されておらず、プロセス２とプロセス３の資源希望フラグが「有」に設定されている。
【００５２】
このとき、プロセス１，２，３が要求する演算装置数が８個であるのに対して、装備されている演算装置は７個であるため、プロセス１，２，３の全ての要求を満足させるように割り当てを行うことはできない。このため、割り当て装置は、資源希望フラグが「有」に設定されているプロセス２，３に、演算装置を割り当てる。このとき、まずは優先度が高く設定されているプロセス３を選択し、このプロセス３に対して、優先的に２台の演算装置１１，１２を割り当てる。続いて、優先度が低く設定されているが、資源希望フラグが「有」に設定されているプロセス２に対して３台の演算装置１３，１４，１５を割り当てる。その後、資源希望フラグが設定されていないプロセス１に、残りの演算装置１６，１７を割り当てる。
【００５３】
なお、資源希望フラグが設定されていないプロセスがさらに存在していた場合には、それぞれのプロセスに設定されている優先度に応じて、残りの演算装置を割り振って割り当てる。例えば、優先度が高いプロセスに対して、要求数を超えない程度に多くの演算装置を割り当て、残りの演算装置を優先度の低いプロセスに対して割り当てる。
【産業上の利用可能性】
【００５４】
本発明は、オペレーティングシステム上で実行中のプロセスにシステム資源を割り当てる当該オペレーティングシステムのスケジューリング機能に利用することができ、産業上の利用可能性を有する。
【図面の簡単な説明】
【００５５】
【図１】コンピュータシステムの構成を示すブロック図である。
【図２】コンピュータシステムの構成を示すブロック図である。
【図３】割り当て装置の構成を示すブロック図である。
【図４】資源利用者の管理情報を示す図である。
【図５】システム資源の管理情報を示す図である。
【図６】資源割り当て装置による資源割り当て動作を示すフローチャートである。
【図７】システム資源の割り当て状況の一例を示す図である。
【図８】システム資源の割り当て状況の一例を示す図である。
【図９】実施例２におけるコンピュータシステムの構成を示すブロック図である。
【図１０】実施例２におけるコンピュータシステムの構成を示すブロック図である。
【図１１】実施例３における資源利用者の管理情報を示す図である。
【図１２】実施例３におけるシステム資源の割り当て状況の一例を示す図である。
【符号の説明】
【００５６】
１，２，３  資源利用者（プロセス）
４  オペレーティングシステム
５  割り当て装置
１１，１２，１３，１４，１５，１６，１７  システム資源（演算装置）
５１  プロセス管理部
５２  資源管理部
５３  割り当て処理部
【図１】
2009123053.tif 000003
【図２】
2009123053.tif 000004
【図３】
2009123053.tif 000005
【図４】
2009123053.tif 000006
【図５】
2009123053.tif 000007
【図６】
2009123053.tif 000008
【図７】
2009123053.tif 000009
【図８】
2009123053.tif 000010
【図９】
2009123053.tif 000011
【図１０】
2009123053.tif 000012
【図１１】
2009123053.tif 000013
【図１２】
2009123053.tif 000014