(57)【要約】【課題】物理計算機の資源を論理的に分割し、１つ以上の論理区画を有するシステムにおいて、割込み遅延を抑え、低いコストで安定運用ができる命令プロセッサ割り当てスケジューリング技術を提供すること。【解決手段】各論理区画に、ＯＳからのジョブ実行と共にプライオリティを設定するプライオリティ設定部１４、プライオリティ設定部を監視するプライオリティ監視部１５を設け、ハイパバイザ１１に各論理区画のオペレーティングシステムから実行されたジョブのプライオリティの通知受付部１６、割り当てる命令プロセッサの性能および割当時間設定部５０、命令プロセッサの割り当て対象選択部１７、命令プロセッサ割り当て制御部７０を設け、物理計算機上に物理的にプロセッサ性能を変更するプロセッサ性能変更部１８を設けた。【選択図】      図１
2005018560.tif 000002
【特許請求の範囲】
【請求項１】
１台の物理計算機システムとして構成される物理計算機資源を論理的に分割することにより複数の論理計算機を生成し、１以上のオペレーティングシステム（ＯＳ）を同時に実行可能な論理計算機システムにおける命令プロセッサ割り当てスケジューリング方法であって、
前記論理計算機の制御部にＯＳ上で実行されるジョブのプライオリティを監視し、該プライオリティの変化に応じて命令プロセッサ性能を変えて割り当てることを特徴とする命令プロセッサ割り当てスケジューリング方法。
【請求項２】
請求項１記載の命令プロセッサ割り当てスケジューリング方法において、
前記論理計算機に割り当てる命令プロセッサ資源を、前記命令プロセッサ性能と割当時間の累積によって制御することを特徴とする命令プロセッサ割り当てスケジューリング方法。
【請求項３】
請求項２記載の命令プロセッサ割り当てスケジューリング方法において、
ある単位時間における論理計算機へ割り当てる命令プロセッサ資源量を、前の単位時間における論理計算機へ割り当てる命令プロセッサ資源量の過不足に基づいて調整することにより、割り当てる命令プロセッサの資源量を制御することを特徴とする命令プロセッサ割り当てスケジューリング方法。
【請求項４】
１台の物理計算機システムとして構成される物理計算機資源を論理的に分割することにより複数の論理計算機を生成し、１以上のオペレーティングシステム（ＯＳ）を同時に実行可能な論理計算機システムであって、
前記論理計算機の制御部にＯＳ上で実行されるジョブのプライオリティを監視する手段と、該監視手段によって検知したプライオリティの変化に応じて命令プロセッサ性能を変えて割り当てる手段を有することを特徴とする論理計算機システム。
【請求項５】
１台の物理計算機システムとして構成される物理計算機資源を論理的に分割することにより複数の論理計算機を生成し、１以上のオペレーティングシステム（ＯＳ）を同時に実行可能な論理計算機システムにおいて実行される命令プロセッサ割り当てスケジューリング用プログラムであって、
コンピュータに、
前記論理計算機の制御部にＯＳ上で実行されるジョブのプライオリティを監視する機能と、該監視手段によって検知したプライオリティの変化に応じて命令プロセッサ性能を変えて割り当てる機能を実現させる命令プロセッサ割り当てスケジューリング用プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、論理計算機システムの命令プロセッサ割り当てスケジューリング技術に係り、特に割込み遅延を抑え、低コストで安定運用ができる命令プロセッサ割り当てスケジューリング方法、該命令プロセッサ割り当てスケジューリング方法を実現する計算機システムおよびそのためのプログラムに関する。
【０００２】
【従来の技術】
１つの物理計算機上で複数のオペレーティングシステム（ゲストＯＳ）を稼動させる技術として、論理区画を作成して制御する論理区画式計算機システムが知られている。
【０００３】
論理区画式計算機システムは、ハイパバイザと呼ばれる論理区画の制御を行う制御プログラムを有する。
【０００４】
ハイパバイザは、論理区画の制御を行う核となる制御プログラムであり、具体的には、命令プロセッサ、主記憶装置、入出力チャネルなどの割り当て制御を行うものである。このうち、命令プロセッサの割り当て制御には命令プロセッサ資源を時分割に割り当てるタイムスライススケジューリング方法が用いられている。
【０００５】
タイムスライススケジューリング方法で用いられるタイムスライス時間は、従来、コンピュータ装置の能力に応じた固定的な値を基準としている。このようなタイムスライススケジューリング方法は、例えば共立出版株式会社，仮想計算機，山谷正己，１９７８年１２月１日の１８３ページ（非特許文献１）で論じられている。
【０００６】
このタイムスライススケジューリング方法においては、複数の論理区画で命令プロセッサ資源を共有する場合、論理区画ごとに命令プロセッサ資源割り当て比（以下、サービス比という）を設定する。
【０００７】
そして、設定したサービス比に従い命令プロセッサ資源の割当時間を決めてスケジューリングし、このスケジューリングに従って、ある一定期間内で数回ずつ命令プロセッサ資源を割り当てていく。
【０００８】
このとき、ある論理区画が上記設定されたサービス比の分だけ命令プロセッサ資源を割り当てられた後、この論理区画以外に動作要求がある論理区画がない場合は、再びこの論理区画に対して命令プロセッサ資源を割り当てる。この操作は資源の有効活用のために行われる操作であるが、この再び割当てられた論理区画に対しては命令プロセッサ資源があらかじめ設定されたサービス比よりも多く割り当てられることになる。
【０００９】
しかし、ユーザからは、このような場合であっても、上記あらかじめ設定されたサービス比を上限とし、それ以上命令プロセッサ資源を当該論理区画には割当てないような運用が望まれることがある。
【００１０】
そのようなときには、当該論理区画にあらかじめ設定されたサービス比の分だけ命令プロセッサ資源を割り当てた後は、ある一定期間、命令プロセッサ資源の割り当てができない区間を設けて割当て時間を制限する方法が採用されている。
【００１１】
【非特許文献１】
山谷正巳著「仮想計算機」共立出版社，１９７８年１２月１日，ｐｐ．１８３
【００１２】
【発明が解決しようとする課題】
現在の論理区画式計算機システムの使用法としては、命令プロセッサが高価であり、かつ命令プロセッサ単体の性能が著しく高くなっていることから、少ない命令プロセッサを多くの論理区画で共用する運用形態を採用するのが一般的になっている。
【００１３】
図１２は、多くの論理区画で命令プロセッサ資源を共有する運用形態を採用した従来の論理区画式計算機システムにおける問題点を説明するための図である。
【００１４】
多くの論理区画で命令プロセッサ資源を共有する場合、ある一定期間（以下、タイムスライス周期という）に数回ずつ命令プロセッサ資源が割り当てられるようにタイムスライス時間を設定する。本例では、各論理区画に１／４すなわち２５％ずつプロセッサ資源が割当てられている場合（各論理区画へのサービス比が２５％の場合）の例である。
【００１５】
図１２（ａ）は、４つの論理区画（Ｌ１〜Ｌ４）で命令プロセッサ資源を共有する場合のタイムスライス周期と論理区画（Ｌ１〜Ｌ４）への割当て時間の関係を示している。
【００１６】
図１２（ａ）に示したように、タイムスライス周期における論理区画への割当ては、論理区画Ｌ１〜Ｌ４への連続的な割り当てを１セット（参照番号１２０１）として繰り返してスケジューリングされる。これにより、タイムスライス周期において、各論理区画Ｌ１〜Ｌ４に命令プロセッサ資源を一定間隔で数回ずつ割り当てることが可能になる。
【００１７】
しかし、この場合、多くの論理区画（図の場合は４論理区画）で命令プロセッサ資源を共有するので、命令プロセッサ資源が一論理区画あたりに割り当てられる時間は小さくなる。
【００１８】
このような状態で、論理区画上のオペレーティングシステム（ＯＳ）からジョブが実行されると、このジョブが終了するかあるいはタイムスライス時間が経過すると割当てられた命令プロセッサ資源を一旦切り離すが、他に動作可能な論理区画がない場合は再びこの同じ論理区画（図１２（ｂ）は、論理区画Ｌ１の例）に対して、命令プロセッサ資源を次から次へと時分割的に割り当てていく（図１２（ｂ）の参照番号１２０２，１２０３，１２０４，１２０５参照）。
【００１９】
しかし、この論理区画（例えばＬ１）にサービス比以上に割り当てできない制限があると、割り当てられる命令プロセッサ資源が参照符号１２０６の時点で全て使い切ってしまい、このタイムスライス周期内ではそれ以降は当該論理区画（この例ではＬ１）に対して命令プロセッサ資源が割り当てられなくなる。
【００２０】
また、サービス比が小さいほど割り当てできない期間が長くなり、その間に割り込み（参照符号１２０７）が発生しても、これを受け付ける命令プロセッサ資源を割り当てることができないため、図中、「割り込み処理開始」として示した次のタイムスライス周期開始までの間、割り込み遅延（参照符号１２０８）を起こすことになる。この割り込み遅延が大幅な性能低下を起こしてしまう。
【００２１】
上記問題に対しては、１つ以上の命令プロセッサを、命令プロセッサ資源量の制限がかけられている論理区画（上記例では論理区画Ｌ１）に専用に割り当てる方式により解決できるが、命令プロセッサは高価であるため、命令プロセッサを追加的に用いるとコストが高くなってしまうという問題点がある。
【００２２】
本発明は、上記従来技術の問題点を解消し、上記割込み遅延を抑え、低いコストで安定運用ができる命令プロセッサ割り当てスケジューリング方法、該命令プロセッサ割り当てスケジューリング方法を実現する計算機システムおよびそのためのプログラムを提供することを目的とする。
【００２３】
【課題を解決するための手段】
上記目的を達成するために、本発明は、次のような構成を有する。すなわち、（ａ）本発明に係る命令プロセッサ割り当てスケジューリング方法は、１台の物理計算機システムとして構成される物理計算機資源を論理的に分割することにより複数の論理計算機を生成し、１以上のオペレーティングシステム（ＯＳ）を同時に実行可能な論理計算機システムにおける命令プロセッサ割り当てスケジューリング方法であって、論理計算機の制御部にＯＳ上で実行されるジョブのプライオリティを監視し、該プライオリティの変化に応じて命令プロセッサ性能を変えて割り当てることを特徴としている。
【００２４】
また、（ｂ）上記（ａ）の構成に加えて、前記論理計算機に割り当てる命令プロセッサ資源を、前記命令プロセッサ性能と割当時間の累積によって制御すること、さらに、（ｃ）上記（ｂ）の構成に加えて、ある単位時間における論理計算機へ割り当てる命令プロセッサ資源量を、前の単位時間における論理計算機へ割り当てる命令プロセッサ資源量の過不足に基づいて調整することにより、割り当てる命令プロセッサの資源量を制御することを特徴としている。
【００２５】
また、（ｄ）本発明に係る計算機システムは、１台の物理計算機システムとして構成される物理計算機資源を論理的に分割することにより複数の論理計算機を生成し、１以上のオペレーティングシステム（ＯＳ）を同時に実行可能な論理計算機システムであって、論理計算機の制御部にＯＳ上で実行されるジョブのプライオリティを監視する手段（図１のプライオリティ監視部１５）と、該監視手段によって検知したプライオリティの変化に応じて命令プロセッサ性能を変えて割り当てる手段（図１のプロセッサ性能／割当時間設定部５０）を有することを特徴としている。
【００２６】
さらに、（ｅ）本発明に係る命令プロセッサ割り当てスケジューリング用プログラムは、１台の物理計算機システムとして構成される物理計算機資源を論理的に分割することにより複数の論理計算機を生成し、１以上のオペレーティングシステム（ＯＳ）を同時に実行可能な論理計算機システムにおいて実行される命令プロセッサ割り当てスケジューリング用プログラムであって、コンピュータに、論理計算機の制御部にＯＳ上で実行されるジョブのプライオリティを監視する機能と、該監視手段によって検知したプライオリティの変化に応じて命令プロセッサ性能を変えて割り当てる機能を実現させるものであることを特徴としている。
【００２７】
本発明に係る計算機システムのより具体的構成を記すと、物理計算機システムに対し、物理計算機の資源を論理的に分割し、１つ以上の論理区画を有するシステムにおいて、各論理区画への命令プロセッサ資源の割り当て制御に関し、各論理区画に、オペレーティングシステム（ゲストＯＳ）からのジョブ実行と共にプライオリティを設定するプライオリティ設定部（図１の１４）、プライオリティ設定部を監視するプライオリティ監視部（同１５）を設け、ハイパバイザ（同１１）に各論理区画のオペレーティングシステムから実行されたジョブのプライオリティの通知受付部（同１６）、割り当てる命令プロセッサの性能および割当時間設定部（同５０）、命令プロセッサの割り当て対象選択部（同１７）、命令プロセッサ割り当て制御部（同７０）を設け、物理計算機上に物理的にプロセッサ性能を変更するプロセッサ性能変更部（同１８）を具備している。
【００２８】
これらによって、命令プロセッサを多くの論理区画で共有する論理計算機システムにおいて、割り当てられる命令プロセッサの性能を変化させて、時間をかけて処理を行うことにより命令プロセッサ資源が割り当てられない時間帯をなくして、いつでも割り込みを受け付けられるようにすることにより、割り込み遅延による性能低下を防ぐことができるようになる。
【００２９】
【発明の実施の形態】
（発明の概要）
本発明は、論理計算機システムにおいて、ある論理区画に対して命令プロセッサ資源の割り当て量に制限がある場合、高負荷なジョブによる命令プロセッサ資源の使いきりを防ぎ、不要な割り込み遅延時間を発生させず、また、ユーザが指定したジョブのプライオリティに従い命令プロセッサ性能を上下させ、ユーザのニーズに合った命令プロセッサ資源の割り当てを行うものであり、そのために、ユーザがジョブ実行時に指定したプライオリティに従って、割り当てる命令プロセッサの性能を変化させる。高プライオリティのジョブに対しては、命令プロセッサの性能を高くし、高速に処理を行う。これに対して、低プライオリティの場合には命令プロセッサの性能を低下させ、命令プロセッサ資源のサービス比の制限を守ると共に、時間をかけて処理を行うことにより、その後にジョブ実行の要求が入ってきた時の不要な割り込み遅延時間をなくす。
【００３０】
（実施形態の説明）
以下、本発明による命令プロセッサのスケジューリング方法の一実施形態を、図面を参照して詳細に説明する。
【００３１】
図１は、本発明が適用される物理計算機の一実施形態におけるシステム構成図である。
【００３２】
物理計算機１０には、ハイパバイザ１１が存在しており、複数の論理区画（論理区画１〜３）１２が生成される。これらの各論理区画１２はオペレーティングシステム（ＯＳ１３）（ゲストＯＳ）を実行することができ、ゲストＯＳ内にプライオリティ設定部１４を保持する。また、各論理区画内にプライオリティ監視部１５を設ける。
【００３３】
一方、ハイパバイザ１１は、ゲストＯＳから送られる、実行されるジョブのプライオリティの通知を受け付けるプライオリティ通知受付部１６、プライオリティ通知受付部１６によりプライオリティ通知を受け付けた後に命令プロセッサの性能および割り当てる時間を設定するプロセッサ性能／割当時間設定部５０、プロセッサ割り当て対象を選択するプロセッサ割り当て対象選択部１７、命令プロセッサを各論理区画へ割り当てるプロセッサ割り当て制御部７０、各論理区画毎に命令プロセッサ資源量の値を確保する繰越資源管理情報テーブル９０、命令プロセッサを割り当てるときの命令プロセッサの性能値および割当時間を管理するプロセッサ性能／割当時間管理情報テーブル１００、各論理区画毎の論理区画情報を管理する論理区画管理情報テーブル１１０を持つ。
【００３４】
また、物理計算機１０上に、命令プロセッサ性能を設定値へ変更するプロセッサ性能変更部１８を設ける。
【００３５】
ゲストＯＳ上からジョブが実行されると、ゲストＯＳとハイパバイザの間でプライオリティの通知を行う。通知方法はプライオリティ設定部１４において専用の命令を発行してプライオリティ通知受付部１６へ通知する方法、もしくはプライオリティ設定部１４がメモリ上に設定したプライオリティ情報をプライオリティ監視部１５が監視し、プライオリティが変化した時にプライオリティ監視部１５からプライオリティ通知受付部１６へ通知する方法などであり、これらの方法によりプライオリティもしくはプライオリティの変化を、その通知があった論理区画の論理区画識別情報とともにプライオリティ通知受付部１６へ通知する。
【００３６】
そして、プライオリティ通知受付部１６では、プライオリティ通知があった論理区画の論理区画識別情報およびプライオリティを、プロセッサ性能／割当時間設定部５０へ渡す。
【００３７】
ハイパバイザ１１では、割り当てる命令プロセッサの性能を変化させ、ジョブのプライオリティと性能値、および論理区画ごとに設定されたサービス比の制御を行う。以下、これらの制御を、図面を用いて説明する。
【００３８】
図２は、プライオリティと命令プロセッサ性能比の関係の一実施例を示す図である。
【００３９】
本実施例では、実行ジョブのプライオリティを１〜１０の１０段階に設定し、設定したプライオリティの値に対応したプロセッサ性能比によってジョブを実行する。
【００４０】
すなわち、▲１▼プライオリティが最大（＝１０）の時は命令プロセッサ性能を１００％でジョブを実行する（参照符号２０１）。▲２▼プライオリティが８の時は命令プロセッサ性能を８０％でジョブを実行する（参照符号２０２）。▲３▼プライオリティが５の時は命令プロセッサ性能を５０％でジョブを実行する（参照符号２０３）。▲４▼プライオリティが３の時は命令プロセッサ性能を３０％でジョブを実行する（参照符号２０４）。▲５▼プライオリティが２の時は命令プロセッサ性能を２０％でジョブを実行する（参照符号２０５）。
【００４１】
命令プロセッサの性能の設定は、命令プロセッサの割り当て時に、微小な待ち時間を挿入したり、若しくはクロック周波数を低下させることにより実現できる。
【００４２】
図３は、１つの論理区画上で、プライオリティが一定のジョブを実行した場合の命令プロセッサ性能比の遷移図である。
【００４３】
プライオリティが高いジョブを実行しつづけた時、命令プロセッサの性能比を高くしたまま命令プロセッサを割り当てていては、各論理区画に設定されたサービス比以上の割り当てを行うことになる。また、逆にプライオリティの低いジョブを低い性能で実行しつづけては、サービス比分の割り当てを行えなくなってしまう。
【００４４】
そこで、本実施例では、命令プロセッサの割り当て契機で、それまでの命令プロセッサの割り当て繰越量から、次に割り当てる時の命令プロセッサの性能比を調節するようにしたものである。
【００４５】
図３（ａ）は、論理区画のサービス比が５０％のときに、プライオリティが７のジョブを実行し続けた場合の命令プロセッサ性能比の遷移図である。
【００４６】
最初の割り当てではプライオリティ７に対応する命令プロセッサ性能比７０％の性能で割り当てられる（参照符号３０１）。この割り当て時には、論理区画のサービス比が５０％であるから、それを超えたｄ１分（図の場合は７０−５０＝２０（％）分）だけ命令プロセッサ資源を使いすぎていることになるので、このｄ１＝２０％分を次回へのマイナスの繰越量とする。
【００４７】
次の割り当てでは、そのｄ１分（２０％分）を最大値（１００％）から減算した値１００−ｄ１＝１００−２０＝８０（％）のプライオリティ７に対応する性能比０．７分、すなわち８０％×０．７＝５６％だけ命令プロセッサを割り当てる（参照符号３０２）。
【００４８】
その後、この次の割り当て時には、論理区画のサービス比が５０％であるから、それを超えたｄ２分（図の場合は６％分）だけ命令プロセッサ資源を使いすぎていることになるので、このｄ２＝６％を次回へのマイナスの繰越量とする。
【００４９】
次の割り当てでは、さらにこのｄ２分（６％分）を、前回の値１００−ｄ１＝１００−２０＝８０（％）から減算した値（すなわち、１００−ｄ１−ｄ２＝１００−２０−６＝７４（％））のプライオリティ７に対応する性能比分０．７分、すなわち７４×０．７＝５１．８（％）だけ命令プロセッサが割り当てられる（参照符号３０３）。
【００５０】
上記実施例では、プライオリティ７のジョブを実行し続けた場合に、命令プロセッサ性能比が論理区画のサービス比５０％に近づくことがわかる。本発明では、このように、同じプライオリティのジョブを実行しつづけた時に命令プロセッサ性能比が論理区画のサービス比に近づくように制御し、繰り越す量が増えつづけないようにしている。
【００５１】
図３（ｂ）は、論理区画のサービス比が５０％のときに、プライオリティが２のジョブを実行し続けた場合の命令プロセッサ性能比の遷移図であり、上記図３（ａ）とは逆に、繰越量が正になる場合である。
【００５２】
最初の割り当てではプライオリティ２に対応する性能比２０％を割り当てる（参照符号３０４）。この割り当て時には、論理区画のサービス比が５０％であるから、それより低いｄ３分（図の場合は５０−２０＝３０（％）分）だけ命令プロセッサ資源を使いきれていないので、これを次回に繰り越す。
【００５３】
次の割り当てでは、前回からの繰越量ｄ３分（５０―２０＝３０（％）分）を無条件に割り当て、これにプライオリティ２に対応する性能比２０％を上乗せして、割り当てる命令プロセッサの性能比を３０＋１００×０．２＝５０（％）（参照符号３０５）とする。この割り当て時には、論理区画のサービス比が５０％であるから、命令プロセッサ資源を使いきっていることになり、次回への繰り越しはない。
【００５４】
次の割り当てでは、前回からの繰り越しがないので、割り当てる命令プロセッサの性能比は前回と同じ５０（％）（参照符号３０６）となる。
【００５５】
このように、プライオリティが低いジョブを流し続けた場合においても、命令プロセッサ性能比は論理区画のサービス比に収束し、論理区画のサービス比に沿った割り当てができるようになる。
【００５６】
図４は、２つの論理区画からジョブの実行要求がされたときの性能比の推移を示す図である。本実施例は、論理区画１が、サービス比＝６０％、プライオリティ＝４で、論理区画２は、サービス比＝４０％、プライオリティ＝６の場合の例である。図中、Ｒｘ（ｘ＝１〜４）は繰越資源量を示している。
【００５７】
最初は論理区画２のみジョブの実行を行っており、プライオリティ６に対応する命令プロセッサ性能比６０％で割り当てを行っている（参照符号４０１）。
【００５８】
次に、２回目の割り当てでは、前回の割り当てで、論理区画２のサービス比が４０であり命令プロセッサ資源を使い過ぎているため、使用超過量Ｒ１分（２０％）を次の割り当て時で調整する必要がある。そのため、図３（ａ）で説明したのと同様に、１００％からＲ１（２０％）の高さＤ１を減算した値を最大性能比としてこの値の６０％、すなわち８０×（６０／１００）＝４８（％）の性能比で命令プロセッサを割り当てる（参照符号４０２）。
【００５９】
その割り当て中に論理区画１のジョブ実行要求が入ってきたとする。この場合、論理区画１の実行要求が入った時点（２回目に論理区画２へ割り当ててから時間ｔ経過後）で、全論理区画において割当時間および命令プロセッサ性能比を再計算する。
【００６０】
それぞれの論理区画に割当てる割当時間は、動作したい全論理区画のサービス比の合計に対する当該論理区画のサービス比の占める割り合いから求める。よって、本実施例では、論理区画が１つだけ動作している時の割当時間をＴとすると、サービス比が６０％の論理区画１への割当時間は（６０／１００）Ｔ、サービス比が４０％の論理区画２への割当時間は（４０／１００）Ｔとなる。
【００６１】
命令プロセッサ性能比については、論理区画２のように前回の割り当てまでで設定されたサービス比よりも多くの資源量を割り当てられている場合には、動作論理区画が１つの時に割り当てることができる最大の資源量（１００％×Ｔ）を該論理区画２に割り当てられる時間（（４０／１００）Ｔ）内で消費できるための仮の性能比（参照符号４０９）を１００Ｔ／（（４／１０）Ｔ）＝２５０％として、この値から繰越量Ｒ４（ここで、Ｒ４は前回の割り当て時までの繰越分＝Ｒ１＋ｄ×ｔ、ｄはこのときの論理区画のサービス比４０％を超えている命令プロセッサ資源を使いすぎている分である）の高さＤ４（＝Ｒ４／（４０／１００）Ｔ））を減算し、この値に対するプライオリティ対応性能比から算出する。このとき求めた性能比は１００％を越えているので、命令プロセッサ性能比を１００％に丸める（参照符号４０４）。
【００６２】
ここで、該論理区画に対して割り当てられるべき量は４０Ｔであり、割当時間（（４０／１００）Ｔ）内で１００％の性能比で割り当てを行うと、割り当てられるべき量と等しくなるため、丸めによる繰越は起こらない。
【００６３】
逆に、論理区画１のように、前回の割り当てまででサービス比よりも少ない資源量しか割り当てられていない場合には、前回までの繰越量Ｒ３の高さＤ３に、時間Ｔで性能比１００％時に割り当てられる資源量（１００％×Ｔ）を該論理区画に割り当てられる時間（（６／１０）Ｔ）内で消費できるための仮の性能比（参照符号４１０）を１００Ｔ／（（６／１０）Ｔ）＝１６６％とした値とプライオリティ対応性能比によって求められる性能比を上乗せし、割り当てる命令プロセッサ性能比を決定する。
【００６４】
また、論理区画１は、このときの割り当てにおいても、サービス比よりも少ない資源量しか割り当てられないので、次に割り当てられるときには以前の繰越量Ｒ３と、今回の繰越量Ｒ５を加算したＲ６の高さＤ６に、性能比（参照符号４１０）とプライオリティ対応性能比から求められる性能比を上乗せして命令プロセッサ性能比（参照符号４０７）を決定する。
【００６５】
上記のように性能比を算出すると、全論理区画のサービス比の合計が１００の時は、どの論理区画においても性能比は１００％に近づくため、繰り越される命令プロセッサ資源量は一定の値に収束することになり、論理区画毎に指定された命令プロセッサ資源のサービス比分の資源が割り当てられるようになる。
【００６６】
以上のように制御するための実現方法を、フローチャートを用いて詳細に説明する。
図５および図６は、プロセッサ性能／割当時間設定部５０の処理手順を説明するためのフローチャートであり、図７は、プロセッサ割り当て制御部７０の処理手順を説明するためのフローチャートであり、図８は、繰越資源管理情報テーブル９０の更新処理手順を説明するためのフローチャートであり、図９は、繰越資源管理情報テーブル９０の内容の一例を示す図であり、図１０は、プロセッサ性能／割当時間管理テーブル１００の内容の一例を示す図であり、図１１は、論理区画管理情報テーブル１１０の内容の一例を示す図である。なお、図９〜図１１のテーブル内容は、単に一例を示したものであり、下記実施例の説明に使用される数値と異なっていることを付記しておく。
【００６７】
以下、これらの図を用いて、本発明における一連の処理の流れについて説明する。
図５は、プロセッサ性能／割当時間設定部５０が行う処理のうちプロセッサ性能比を設定する処理を説明するためのフローチャートである。
【００６８】
プロセッサ性能／割当時間設定部５０では、まず、論理区画管理情報テーブル１１０（図１１）を参照し、プライオリティ変更通知のあった論理区画のサービス比を取得する（ステップＳ５０１）。
【００６９】
次に、繰越資源管理情報テーブル９０（図９）を参照し、前回の割り当て時からの繰越資源量を取得する（ステップＳ５０２）。その後、単位時間当たりに動作できる時間Ｒを算出し（Ｒ＝（論理区画のサービス比）／（稼動中の全論理区画のサービス比）；ステップＳ５０３）、次に、無条件に割り当てる値、若しくは減算する値Ａを求める（Ａ＝（繰越量／Ｒ）；ステップＳ５０４）。
【００７０】
その後、前回の割り当て時からの繰越量が正か負かを判定する（ステップＳ５０５）。繰越量が負、つまり前回の割り当て時に割り当て予定量よりも多く命令プロセッサ資源を使用した場合には、前述のＡを最大性能比から減算し、この最大値からプライオリティに対応する命令プロセッサ性能比を算出する（命令プロセッサ性能比＝（１００／Ｒ−Ａ）×プライオリティ対応性能比；ステップＳ５０７）。
【００７１】
一方、繰越量が正、つまり前回の割り当て時に割り当て予定量よりも使用した命令プロセッサ資源量が少ない場合には、前述Ａに加えてプライオリティに対応する命令プロセッサ性能比を算出する（命令プロセッサ性能比＝Ａ＋プライオリティ対応性能比×（（１００／Ｒ）−Ａ）；ステップＳ５０６）。
【００７２】
以上のように、ステップＳ５０６およびステップＳ５０７で算出した命令プロセッサ性能比が、ＣＰＵの能力により決定される最低値αより大きく、１００％より小さい場合は、そのままプロセッサ性能／割当時間管理情報テーブル１００（図１０）の命令プロセッサ性能比欄１００２に格納する（ステップＳ５１１）。
【００７３】
なお、ステップＳ５０６およびステップＳ５０７で算出した命令プロセッサ性能比が１００％を超える場合は、１００％に補正し（ステップＳ５１０）、逆にα％（ＣＰＵの能力により決定される最低値）未満になるような時はα％に補正した後（ステップＳ５０９）、すなわち、命令プロセッサ性能比をまるめた後、プロセッサ性能／割当時間管理情報テーブル１００（図１０）の命令プロセッサ性能比欄１００２に格納する（ステップＳ５１１）。
【００７４】
次に、プロセッサ性能／割当時間設定部５０による割当時間設定処理を説明する。
図６は、プロセッサ性能／割当時間設定部５０が行う処理のうち割当時間設定処理を説明するためのフローチャートである。
割当時間は、ジョブの実行要求が出ている論理区画数およびそのサービス比により決定する。
【００７５】
よって、割当時間は、上記ステップＳ５０３で求めた値Ｒ（Ｒ＝（論理区画のサービス比）／（稼動中の全論理区画のサービス比））と割当て単位時間を乗算した値（ステップＳ６０１）となる。（稼動中全論理区画のサービス比の合計が１００％の時はサービス比分となる）。その結果をプロセッサ性能／割当時間管理情報テーブル１００（図１０）の割当時間欄１００４に登録する（ステップＳ６０２）。この操作を全動作中論理区画について行う（ステップＳ６０３〜Ｓ６０４→Ｓ６０１に戻る）。
【００７６】
次に、プロセッサ割り当て対象選択部１７では、要求の到達順位に従うか、若しくは論理区画のプライオリティが高い方から実行可能状態の論理区画を選択し、プロセッサ割り当て制御部７０に処理を移す。
【００７７】
図７は、プロセッサ割り当て制御部７０によるプロセッサ割り当て処理を説明するためのフローチャートである。
【００７８】
プロセッサ割り当て制御部７０では、プロセッサ性能／割当時間管理情報テーブル１００（図１０）から、割り当て対象の論理区画の命令プロセッサ性能設定値および割当時間を取得し（ステップＳ７０１）、プロセッサ性能変更部１８で命令プロセッサ性能を設定した値へ変更する（ステップＳ７０２）。
【００７９】
プロセッサ性能変更部１８では、命令プロセッサに対して、極めて小さい待ち時間を挿入したり、若しくはクロック周波数を低下させることによりプロセッサ性能を低下させる。そして、ジョブを実行する論理区画に、上記のようにして性能を変更した命令プロセッサを、設定した割当時間で割り当てる（ステップＳ７０３）。
【００８０】
命令プロセッサを割り当てた後、割当時間が終了もしくはジョブが完了したら、図８に示す繰越資源管理情報テーブル９０の更新処理（８０）を行う。
【００８１】
図８は、割り当て後の命令プロセッサ資源の繰越資源管理情報テーブル９０の更新処理を説明するフローチャートである。
【００８２】
まず、命令プロセッサ性能と割当時間から処理済資源量を求め（処理済資源量＝命令プロセッサ性能比×割当時間；ステップＳ８０１）、次に、サービス比と割当時間からサービス量を求める（サービス量＝サービス比×割当時間；ステップＳ８０２）。
【００８３】
そして、その時の繰越資源量，サービス量，および処理済資源量から次の単位時間における新しい繰越資源量を算出する（新しい繰越資源量＝繰越資源量＋サービス量−処理済資源量；ステップＳ８０３）。
【００８４】
上記のように繰越資源量を更新しておくことにより、各論理区画に指定されたサービス比分の命令プロセッサの資源量を、各論理区画に対して保証することが可能となる。
【００８５】
なお、上記図１の各部の処理、特に図５〜８で説明したプロセッサ性能／割当時間設定部５０、プロセッサ割り当て制御部７０、繰越資源管理情報テーブル９０の更新処理のフローチャートはプログラムコード化してＣＤ−ＲＯＭなどの記録媒体に格納して市場に頒布したり、インターネットを介してユーザに配信することも可能である。
【００８６】
【発明の効果】
以上説明したように、本発明によれば、命令プロセッサの性能を変化させることにより、命令プロセッサ資源の消費の大幅な偏りを無くし、ジョブに対する割り込み遅延時間の不要な増加を防ぐことができる。また、高プライオリティのジョブは高速に処理することが可能となる。そして、設定されたサービス比通りの割り当て制御が可能となる。
【図面の簡単な説明】
【図１】本発明の一実施形態によるシステム構成図の概略を示ず図である。
【図２】本発明の一実施形態におけるジョブのプライオリティと命令プロセッサ性能比との関係を示す図である。
【図３】本発明の一実施形態における同一プライオリティのジョブを実行しつづけた場合の性能比の推移を示す図である。
【図４】本発明の一実施形態における複数の論理区画がジョブ実行要求を出した時の命令プロセッサ性能比および割当時間の設定例を示す図である。
【図５】ハイパバイザによるプロセッサ性能／割当時間設定部のうち、命令プロセッサ性能設定処理のフローチャートである。
【図６】ハイパバイザによるプロセッサ性能／割当時間設定部のうち、割当時間設定処理のフローチャートである。
【図７】プロセッサ割り当て制御部のフローチャートである。
【図８】命令プロセッサ割り当て後における繰越資源管理情報テーブルの更新処理のフローチャートである。
【図９】繰越資源管理情報テーブルの内容の一例を示す図である。
【図１０】プロセッサ性能／割当時間管理テーブルの内容の一例を示す図である。
【図１１】論理区画管理情報テーブルの内容の一例を示す図である。
【図１２】本発明により解決する従来の問題点の一例を説明するための図である。
【符号の説明】
１０：物理計算機、
１１：ハイパバイザ、
１２：論理区画（論理区画１〜３）、
１３：オペレーティングシステム（ゲストＯＳ）、
１４：プライオリティ設定部、
１５：プライオリティ監視部、
１６：プライオリティ通知受付部、
１７：プロセッサ割り当て対象選択部、
１８：プロセッサ性能変更部、
５０：プロセッサ性能／割当時間設定部、
７０：プロセッサ割り当て制御部、
９０：繰越資源管理情報テーブル、
１００：プロセッサ性能／割当時間管理情報テーブル、
１１０：論理区画管理情報テーブル。
【図１】
2005018560.tif 000003
【図２】
2005018560.tif 000004
【図３】
2005018560.tif 000005
【図４】
2005018560.tif 000006
【図５】
2005018560.tif 000007
【図６】
2005018560.tif 000008
【図７】
2005018560.tif 000009
【図８】
2005018560.tif 000010
【図９】
2005018560.tif 000011
【図１０】
2005018560.tif 000012
【図１１】
2005018560.tif 000013
【図１２】
2005018560.tif 000014