JP3922576B2 - 命令プロセッサ割り当てスケジューリング方法、該命令プロセッサ割り当てスケジューリング方法を実現する計算機システムおよびそのためのプログラム - Google Patents
命令プロセッサ割り当てスケジューリング方法、該命令プロセッサ割り当てスケジューリング方法を実現する計算機システムおよびそのためのプログラム Download PDFInfo
- Publication number
- JP3922576B2 JP3922576B2 JP2003184450A JP2003184450A JP3922576B2 JP 3922576 B2 JP3922576 B2 JP 3922576B2 JP 2003184450 A JP2003184450 A JP 2003184450A JP 2003184450 A JP2003184450 A JP 2003184450A JP 3922576 B2 JP3922576 B2 JP 3922576B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction processor
- logical
- time
- allocation
- priority
- 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.)
- Expired - Lifetime
Links
Images
Description
【発明の属する技術分野】
本発明は、論理計算機システムの命令プロセッサ割り当てスケジューリング技術に係り、特に割込み遅延を抑え、低コストで安定運用ができる命令プロセッサ割り当てスケジューリング方法、該命令プロセッサ割り当てスケジューリング方法を実現する計算機システムおよびそのためのプログラムに関する。
【0002】
【従来の技術】
1つの物理計算機上で複数のオペレーティングシステム(ゲストOS)を稼動させる技術として、論理区画を作成して制御する論理区画式計算機システムが知られている。
【0003】
論理区画式計算機システムは、ハイパバイザと呼ばれる論理区画の制御を行う制御プログラムを有する。
【0004】
ハイパバイザは、論理区画の制御を行う核となる制御プログラムであり、具体的には、命令プロセッサ、主記憶装置、入出力チャネルなどの割り当て制御を行うものである。このうち、命令プロセッサの割り当て制御には命令プロセッサ資源を時分割に割り当てるタイムスライススケジューリング方法が用いられている。
【0005】
タイムスライススケジューリング方法で用いられるタイムスライス時間は、従来、コンピュータ装置の能力に応じた固定的な値を基準としている。このようなタイムスライススケジューリング方法は、例えば共立出版株式会社,仮想計算機,山谷正己,1978年12月1日の183ページ(非特許文献1)で論じられている。
【0006】
このタイムスライススケジューリング方法においては、複数の論理区画で命令プロセッサ資源を共有する場合、論理区画ごとに命令プロセッサ資源割り当て比(以下、サービス比という)を設定する。
【0007】
そして、設定したサービス比に従い命令プロセッサ資源の割当時間を決めてスケジューリングし、このスケジューリングに従って、ある一定期間内で数回ずつ命令プロセッサ資源を割り当てていく。
【0008】
このとき、ある論理区画が上記設定されたサービス比の分だけ命令プロセッサ資源を割り当てられた後、この論理区画以外に動作要求がある論理区画がない場合は、再びこの論理区画に対して命令プロセッサ資源を割り当てる。この操作は資源の有効活用のために行われる操作であるが、この再び割当てられた論理区画に対しては命令プロセッサ資源があらかじめ設定されたサービス比よりも多く割り当てられることになる。
【0009】
しかし、ユーザからは、このような場合であっても、上記あらかじめ設定されたサービス比を上限とし、それ以上命令プロセッサ資源を当該論理区画には割当てないような運用が望まれることがある。
【0010】
そのようなときには、当該論理区画にあらかじめ設定されたサービス比の分だけ命令プロセッサ資源を割り当てた後は、ある一定期間、命令プロセッサ資源の割り当てができない区間を設けて割当て時間を制限する方法が採用されている。
【0011】
【非特許文献1】
山谷正巳著「仮想計算機」共立出版社,1978年12月1日,pp.183
【0012】
【発明が解決しようとする課題】
現在の論理区画式計算機システムの使用法としては、命令プロセッサが高価であり、かつ命令プロセッサ単体の性能が著しく高くなっていることから、少ない命令プロセッサを多くの論理区画で共用する運用形態を採用するのが一般的になっている。
【0013】
図12は、多くの論理区画で命令プロセッサ資源を共有する運用形態を採用した従来の論理区画式計算機システムにおける問題点を説明するための図である。
【0014】
多くの論理区画で命令プロセッサ資源を共有する場合、ある一定期間(以下、タイムスライス周期という)に数回ずつ命令プロセッサ資源が割り当てられるようにタイムスライス時間を設定する。本例では、各論理区画に1/4すなわち25%ずつプロセッサ資源が割当てられている場合(各論理区画へのサービス比が25%の場合)の例である。
【0015】
図12(a)は、4つの論理区画(L1〜L4)で命令プロセッサ資源を共有する場合のタイムスライス周期と論理区画(L1〜L4)への割当て時間の関係を示している。
【0016】
図12(a)に示したように、タイムスライス周期における論理区画への割当ては、論理区画L1〜L4への連続的な割り当てを1セット(参照番号1201)として繰り返してスケジューリングされる。これにより、タイムスライス周期において、各論理区画L1〜L4に命令プロセッサ資源を一定間隔で数回ずつ割り当てることが可能になる。
【0017】
しかし、この場合、多くの論理区画(図の場合は4論理区画)で命令プロセッサ資源を共有するので、命令プロセッサ資源が一論理区画あたりに割り当てられる時間は小さくなる。
【0018】
このような状態で、論理区画上のオペレーティングシステム(OS)からジョブが実行されると、このジョブが終了するかあるいはタイムスライス時間が経過すると割当てられた命令プロセッサ資源を一旦切り離すが、他に動作可能な論理区画がない場合は再びこの同じ論理区画(図12(b)は、論理区画L1の例)に対して、命令プロセッサ資源を次から次へと時分割的に割り当てていく(図12(b)の参照番号1202,1203,1204,1205参照)。
【0019】
しかし、この論理区画(例えばL1)にサービス比以上に割り当てできない制限があると、割り当てられる命令プロセッサ資源が参照符号1206の時点で全て使い切ってしまい、このタイムスライス周期内ではそれ以降は当該論理区画(この例ではL1)に対して命令プロセッサ資源が割り当てられなくなる。
【0020】
また、サービス比が小さいほど割り当てできない期間が長くなり、その間に割り込み(参照符号1207)が発生しても、これを受け付ける命令プロセッサ資源を割り当てることができないため、図中、「割り込み処理開始」として示した次のタイムスライス周期開始までの間、割り込み遅延(参照符号1208)を起こすことになる。この割り込み遅延が大幅な性能低下を起こしてしまう。
【0021】
上記問題に対しては、1つ以上の命令プロセッサを、命令プロセッサ資源量の制限がかけられている論理区画(上記例では論理区画L1)に専用に割り当てる方式により解決できるが、命令プロセッサは高価であるため、命令プロセッサを追加的に用いるとコストが高くなってしまうという問題点がある。
【0022】
本発明は、上記従来技術の問題点を解消し、上記割込み遅延を抑え、低いコストで安定運用ができる命令プロセッサ割り当てスケジューリング方法、該命令プロセッサ割り当てスケジューリング方法を実現する計算機システムおよびそのためのプログラムを提供することを目的とする。
【0023】
【課題を解決するための手段】
上記目的を達成するために、本発明は、次のような構成を有する。すなわち、(a)本発明に係る命令プロセッサ割り当てスケジューリング方法は、1台の物理計算機システムとして構成される物理計算機資源を論理的に分割することにより複数の論理計算機を生成し、1以上のオペレーティングシステム(OS)を同時に実行可能な論理計算機システムにおける命令プロセッサ割り当てスケジューリング方法であって、論理計算機の制御部にOS上で実行されるジョブのプライオリティを監視し、該プライオリティの変化に応じて、微小な待ち時間を挿入したり若しくはクロック周波数を低下させることにより命令プロセッサ性能を変えて割り当てるとともに、前記論理計算機に割り当てる命令プロセッサ資源を、そのときの繰越資源量と、各論理区画に指定されたサービス比と割当時間から求めたサービス量と、前記命令プロセッサ性能と割当時間から求めた処理済資源量とにより新しい繰越資源量を算出して更新することを特徴としている。
【0024】
また、(b)上記(a)の構成に加えて、前記更新は、ある単位時間における論理計算機へ割り当てる命令プロセッサ資源量を、前の単位時間における論理計算機へ割り当てる命令プロセッサ資源量が予定より超過している場合は減少させ不足の場合は増加させるものであることを特徴としている。
【0025】
また、(c)本発明に係る計算機システムは、1台の物理計算機システムとして構成される物理計算機資源を論理的に分割することにより複数の論理計算機を生成し、1以上のオペレーティングシステム(OS)を同時に実行可能な論理計算機システムであって、論理計算機の制御部にOS上で実行されるジョブのプライオリティを監視する手段(図1のプライオリティ監視部15)と、該監視手段によって検知したプライオリティの変化に応じて、微小な待ち時間を挿入したり若しくはクロック周波数を低下させることにより命令プロセッサ性能を変えて割り当てる手段(図1のプロセッサ性能/割当時間設定部50)と、前記論理計算機に割り当てる命令プロセッサ資源を、そのときの繰越資源量と、各論理区画に指定されたサービス比と割当時間から求めたサービス量と、前記命令プロセッサ性能と割当時間から求めた処理済資源量とにより新しい繰越資源量を算出して更新する手段を有することを特徴としている。さらに(d)上記(c)の構成に加えて、前記更新する手段は、ある単位時間における論理計算機へ割り当てる命令プロセッサ資源量を、ある単位時間における論理計算機へ割り当てる命令プロセッサ資源量を、前の単位時間における論理計算機へ割り当てる命令プロセッサ資源量が予定より超過している場合は減少させ不足の場合は増加させるものであることを特徴としている。
【0026】
さらに、(e)本発明に係る命令プロセッサ割り当てスケジューリング用プログラムは、1台の物理計算機システムとして構成される物理計算機資源を論理的に分割することにより複数の論理計算機を生成し、1以上のオペレーティングシステム(OS)を同時に実行可能な論理計算機システムにおいて実行される命令プロセッサ割り当てスケジューリング用プログラムであって、コンピュータに、論理計算機の制御部にOS上で実行されるジョブのプライオリティを監視する機能と、該監視する機能によって検知したプライオリティの変化に応じて、微小な待ち時間を挿入したり若しくはクロック周波数を低下させることにより命令プロセッサ性能を変えて割り当てる機能と、前記論理計算機に割り当てる命令プロセッサ資源を、そのときの繰越資源量と、各論理区画に指定されたサービス比と割当時間から求めたサービス量と、前記命令プロセッサ性能と割当時間から求めた処理済資源量とにより新しい繰越資源量を算出して更新する機能とを実現させるものであることを特徴としている。さらに(f)上記(e)の構成に加えて、前記更新する機能は、ある単位時間における論理計算機へ割り当てる命令プロセッサ資源量を、前の単位時間における論理計算機へ割り当てる命令プロセッサ資源量が予定より超過している場合は減少させ不足の場合は増加させるものであることを特徴としている。
【0027】
本発明に係る計算機システムのより具体的構成を記すと、物理計算機システムに対し、物理計算機の資源を論理的に分割し、1つ以上の論理区画を有するシステムにおいて、各論理区画への命令プロセッサ資源の割り当て制御に関し、各論理区画に、オペレーティングシステム(ゲストOS)からのジョブ実行と共にプライオリティを設定するプライオリティ設定部(図1の14)、プライオリティ設定部を監視するプライオリティ監視部(同15)を設け、ハイパバイザ(同11)に各論理区画のオペレーティングシステムから実行されたジョブのプライオリティの通知受付部(同16)、割り当てる命令プロセッサの性能および割当時間設定部(同50)、命令プロセッサの割り当て対象選択部(同17)、命令プロセッサ割り当て制御部(同70)を設け、物理計算機上に物理的にプロセッサ性能を変更するプロセッサ性能変更部(同18)を具備している。
【0028】
これらによって、命令プロセッサを多くの論理区画で共有する論理計算機システムにおいて、割り当てられる命令プロセッサの性能を変化させて、時間をかけて処理を行うことにより命令プロセッサ資源が割り当てられない時間帯をなくして、いつでも割り込みを受け付けられるようにすることにより、割り込み遅延による性能低下を防ぐことができるようになる。
【0029】
【発明の実施の形態】
(発明の概要)
本発明は、論理計算機システムにおいて、ある論理区画に対して命令プロセッサ資源の割り当て量に制限がある場合、高負荷なジョブによる命令プロセッサ資源の使いきりを防ぎ、不要な割り込み遅延時間を発生させず、また、ユーザが指定したジョブのプライオリティに従い命令プロセッサ性能を上下させ、ユーザのニーズに合った命令プロセッサ資源の割り当てを行うものであり、そのために、ユーザがジョブ実行時に指定したプライオリティに従って、割り当てる命令プロセッサの性能を変化させる。高プライオリティのジョブに対しては、命令プロセッサの性能を高くし、高速に処理を行う。これに対して、低プライオリティの場合には命令プロセッサの性能を低下させ、命令プロセッサ資源のサービス比の制限を守ると共に、時間をかけて処理を行うことにより、その後にジョブ実行の要求が入ってきた時の不要な割り込み遅延時間をなくす。
【0030】
(実施形態の説明)
以下、本発明による命令プロセッサのスケジューリング方法の一実施形態を、図面を参照して詳細に説明する。
【0031】
図1は、本発明が適用される物理計算機の一実施形態におけるシステム構成図である。
【0032】
物理計算機10には、ハイパバイザ11が存在しており、複数の論理区画(論理区画1〜3)12が生成される。これらの各論理区画12はオペレーティングシステム(OS13)(ゲストOS)を実行することができ、ゲストOS内にプライオリティ設定部14を保持する。また、各論理区画内にプライオリティ監視部15を設ける。
【0033】
一方、ハイパバイザ11は、ゲストOSから送られる、実行されるジョブのプライオリティの通知を受け付けるプライオリティ通知受付部16、プライオリティ通知受付部16によりプライオリティ通知を受け付けた後に命令プロセッサの性能および割り当てる時間を設定するプロセッサ性能/割当時間設定部50、プロセッサ割り当て対象を選択するプロセッサ割り当て対象選択部17、命令プロセッサを各論理区画へ割り当てるプロセッサ割り当て制御部70、各論理区画毎に命令プロセッサ資源量の値を確保する繰越資源管理情報テーブル90、命令プロセッサを割り当てるときの命令プロセッサの性能値および割当時間を管理するプロセッサ性能/割当時間管理情報テーブル100、各論理区画毎の論理区画情報を管理する論理区画管理情報テーブル110を持つ。
【0034】
また、物理計算機10上に、命令プロセッサ性能を設定値へ変更するプロセッサ性能変更部18を設ける。
【0035】
ゲストOS上からジョブが実行されると、ゲストOSとハイパバイザの間でプライオリティの通知を行う。通知方法はプライオリティ設定部14において専用の命令を発行してプライオリティ通知受付部16へ通知する方法、もしくはプライオリティ設定部14がメモリ上に設定したプライオリティ情報をプライオリティ監視部15が監視し、プライオリティが変化した時にプライオリティ監視部15からプライオリティ通知受付部16へ通知する方法などであり、これらの方法によりプライオリティもしくはプライオリティの変化を、その通知があった論理区画の論理区画識別情報とともにプライオリティ通知受付部16へ通知する。
【0036】
そして、プライオリティ通知受付部16では、プライオリティ通知があった論理区画の論理区画識別情報およびプライオリティを、プロセッサ性能/割当時間設定部50へ渡す。
【0037】
ハイパバイザ11では、割り当てる命令プロセッサの性能を変化させ、ジョブのプライオリティと性能値、および論理区画ごとに設定されたサービス比の制御を行う。以下、これらの制御を、図面を用いて説明する。
【0038】
図2は、プライオリティと命令プロセッサ性能比の関係の一実施例を示す図である。
【0039】
本実施例では、実行ジョブのプライオリティを1〜10の10段階に設定し、設定したプライオリティの値に対応したプロセッサ性能比によってジョブを実行する。
【0040】
すなわち、▲1▼プライオリティが最大(=10)の時は命令プロセッサ性能を100%でジョブを実行する(参照符号201)。▲2▼プライオリティが8の時は命令プロセッサ性能を80%でジョブを実行する(参照符号202)。▲3▼プライオリティが5の時は命令プロセッサ性能を50%でジョブを実行する(参照符号203)。▲4▼プライオリティが3の時は命令プロセッサ性能を30%でジョブを実行する(参照符号204)。▲5▼プライオリティが2の時は命令プロセッサ性能を20%でジョブを実行する(参照符号205)。
【0041】
命令プロセッサの性能の設定は、命令プロセッサの割り当て時に、微小な待ち時間を挿入したり、若しくはクロック周波数を低下させることにより実現できる。
【0042】
図3は、1つの論理区画上で、プライオリティが一定のジョブを実行した場合の命令プロセッサ性能比の遷移図である。
【0043】
プライオリティが高いジョブを実行しつづけた時、命令プロセッサの性能比を高くしたまま命令プロセッサを割り当てていては、各論理区画に設定されたサービス比以上の割り当てを行うことになる。また、逆にプライオリティの低いジョブを低い性能で実行しつづけては、サービス比分の割り当てを行えなくなってしまう。
【0044】
そこで、本実施例では、命令プロセッサの割り当て契機で、それまでの命令プロセッサの割り当て繰越量から、次に割り当てる時の命令プロセッサの性能比を調節するようにしたものである。
【0045】
図3(a)は、論理区画のサービス比が50%のときに、プライオリティが7のジョブを実行し続けた場合の命令プロセッサ性能比の遷移図である。
【0046】
最初の割り当てではプライオリティ7に対応する命令プロセッサ性能比70%の性能で割り当てられる(参照符号301)。この割り当て時には、論理区画のサービス比が50%であるから、それを超えたd1分(図の場合は70−50=20(%)分)だけ命令プロセッサ資源を使いすぎていることになるので、このd1=20%分を次回へのマイナスの繰越量とする。
【0047】
次の割り当てでは、そのd1分(20%分)を最大値(100%)から減算した値100−d1=100−20=80(%)のプライオリティ7に対応する性能比0.7分、すなわち80%×0.7=56%だけ命令プロセッサを割り当てる(参照符号302)。
【0048】
その後、この次の割り当て時には、論理区画のサービス比が50%であるから、それを超えたd2分(図の場合は6%分)だけ命令プロセッサ資源を使いすぎていることになるので、このd2=6%を次回へのマイナスの繰越量とする。
【0049】
次の割り当てでは、さらにこのd2分(6%分)を、前回の値100−d1=100−20=80(%)から減算した値(すなわち、100−d1−d2=100−20−6=74(%))のプライオリティ7に対応する性能比分0.7分、すなわち74×0.7=51.8(%)だけ命令プロセッサが割り当てられる(参照符号303)。
【0050】
上記実施例では、プライオリティ7のジョブを実行し続けた場合に、命令プロセッサ性能比が論理区画のサービス比50%に近づくことがわかる。本発明では、このように、同じプライオリティのジョブを実行しつづけた時に命令プロセッサ性能比が論理区画のサービス比に近づくように制御し、繰り越す量が増えつづけないようにしている。
【0051】
図3(b)は、論理区画のサービス比が50%のときに、プライオリティが2のジョブを実行し続けた場合の命令プロセッサ性能比の遷移図であり、上記図3(a)とは逆に、繰越量が正になる場合である。
【0052】
最初の割り当てではプライオリティ2に対応する性能比20%を割り当てる(参照符号304)。この割り当て時には、論理区画のサービス比が50%であるから、それより低いd3分(図の場合は50−20=30(%)分)だけ命令プロセッサ資源を使いきれていないので、これを次回に繰り越す。
【0053】
次の割り当てでは、前回からの繰越量d3分(50―20=30(%)分)を無条件に割り当て、これにプライオリティ2に対応する性能比20%を上乗せして、割り当てる命令プロセッサの性能比を30+100×0.2=50(%)(参照符号305)とする。この割り当て時には、論理区画のサービス比が50%であるから、命令プロセッサ資源を使いきっていることになり、次回への繰り越しはない。
【0054】
次の割り当てでは、前回からの繰り越しがないので、割り当てる命令プロセッサの性能比は前回と同じ50(%)(参照符号306)となる。
【0055】
このように、プライオリティが低いジョブを流し続けた場合においても、命令プロセッサ性能比は論理区画のサービス比に収束し、論理区画のサービス比に沿った割り当てができるようになる。
【0056】
図4は、2つの論理区画からジョブの実行要求がされたときの性能比の推移を示す図である。本実施例は、論理区画1が、サービス比=60%、プライオリティ=4で、論理区画2は、サービス比=40%、プライオリティ=6の場合の例である。図中、Rx(x=1〜4)は繰越資源量を示している。
【0057】
最初は論理区画2のみジョブの実行を行っており、プライオリティ6に対応する命令プロセッサ性能比60%で割り当てを行っている(参照符号401)。
【0058】
次に、2回目の割り当てでは、前回の割り当てで、論理区画2のサービス比が40であり命令プロセッサ資源を使い過ぎているため、使用超過量R1分(20%)を次の割り当て時で調整する必要がある。そのため、図3(a)で説明したのと同様に、100%からR1(20%)の高さD1を減算した値を最大性能比としてこの値の60%、すなわち80×(60/100)=48(%)の性能比で命令プロセッサを割り当てる(参照符号402)。
【0059】
その割り当て中に論理区画1のジョブ実行要求が入ってきたとする。この場合、論理区画1の実行要求が入った時点(2回目に論理区画2へ割り当ててから時間t経過後)で、全論理区画において割当時間および命令プロセッサ性能比を再計算する。
【0060】
それぞれの論理区画に割当てる割当時間は、動作したい全論理区画のサービス比の合計に対する当該論理区画のサービス比の占める割り合いから求める。よって、本実施例では、論理区画が1つだけ動作している時の割当時間をTとすると、サービス比が60%の論理区画1への割当時間は(60/100)T、サービス比が40%の論理区画2への割当時間は(40/100)Tとなる。
【0061】
命令プロセッサ性能比については、論理区画2のように前回の割り当てまでで設定されたサービス比よりも多くの資源量を割り当てられている場合には、動作論理区画が1つの時に割り当てることができる最大の資源量(100%×T)を該論理区画2に割り当てられる時間((40/100)T)内で消費できるための仮の性能比(参照符号409)を100T/((4/10)T)=250%として、この値から繰越量R4(ここで、R4は前回の割り当て時までの繰越分=R1+d×t、dはこのときの論理区画のサービス比40%を超えている命令プロセッサ資源を使いすぎている分である)の高さD4(=R4/(40/100)T))を減算し、この値に対するプライオリティ対応性能比から算出する。このとき求めた性能比は100%を越えているので、命令プロセッサ性能比を100%に丸める(参照符号404)。
【0062】
ここで、該論理区画に対して割り当てられるべき量は40Tであり、割当時間((40/100)T)内で100%の性能比で割り当てを行うと、割り当てられるべき量と等しくなるため、丸めによる繰越は起こらない。
【0063】
逆に、論理区画1のように、前回の割り当てまででサービス比よりも少ない資源量しか割り当てられていない場合には、前回までの繰越量R3の高さD3に、時間Tで性能比100%時に割り当てられる資源量(100%×T)を該論理区画に割り当てられる時間((6/10)T)内で消費できるための仮の性能比(参照符号410)を100T/((6/10)T)=166%とした値とプライオリティ対応性能比によって求められる性能比を上乗せし、割り当てる命令プロセッサ性能比を決定する。
【0064】
また、論理区画1は、このときの割り当てにおいても、サービス比よりも少ない資源量しか割り当てられないので、次に割り当てられるときには以前の繰越量R3と、今回の繰越量R5を加算したR6の高さD6に、性能比(参照符号410)とプライオリティ対応性能比から求められる性能比を上乗せして命令プロセッサ性能比(参照符号407)を決定する。
【0065】
上記のように性能比を算出すると、全論理区画のサービス比の合計が100の時は、どの論理区画においても性能比は100%に近づくため、繰り越される命令プロセッサ資源量は一定の値に収束することになり、論理区画毎に指定された命令プロセッサ資源のサービス比分の資源が割り当てられるようになる。
【0066】
以上のように制御するための実現方法を、フローチャートを用いて詳細に説明する。
図5および図6は、プロセッサ性能/割当時間設定部50の処理手順を説明するためのフローチャートであり、図7は、プロセッサ割り当て制御部70の処理手順を説明するためのフローチャートであり、図8は、繰越資源管理情報テーブル90の更新処理手順を説明するためのフローチャートであり、図9は、繰越資源管理情報テーブル90の内容の一例を示す図であり、図10は、プロセッサ性能/割当時間管理テーブル100の内容の一例を示す図であり、図11は、論理区画管理情報テーブル110の内容の一例を示す図である。なお、図9〜図11のテーブル内容は、単に一例を示したものであり、下記実施例の説明に使用される数値と異なっていることを付記しておく。
【0067】
以下、これらの図を用いて、本発明における一連の処理の流れについて説明する。
図5は、プロセッサ性能/割当時間設定部50が行う処理のうちプロセッサ性能比を設定する処理を説明するためのフローチャートである。
【0068】
プロセッサ性能/割当時間設定部50では、まず、論理区画管理情報テーブル110(図11)を参照し、プライオリティ変更通知のあった論理区画のサービス比を取得する(ステップS501)。
【0069】
次に、繰越資源管理情報テーブル90(図9)を参照し、前回の割り当て時からの繰越資源量を取得する(ステップS502)。その後、単位時間当たりに動作できる時間Rを算出し(R=(論理区画のサービス比)/(稼動中の全論理区画のサービス比);ステップS503)、次に、無条件に割り当てる値、若しくは減算する値Aを求める(A=(繰越量/R);ステップS504)。
【0070】
その後、前回の割り当て時からの繰越量が正か負かを判定する(ステップS505)。繰越量が負、つまり前回の割り当て時に割り当て予定量よりも多く命令プロセッサ資源を使用した場合には、前述のAを最大性能比から減算し、この最大値からプライオリティに対応する命令プロセッサ性能比を算出する(命令プロセッサ性能比=(100/R−A)×プライオリティ対応性能比;ステップS507)。
【0071】
一方、繰越量が正、つまり前回の割り当て時に割り当て予定量よりも使用した命令プロセッサ資源量が少ない場合には、前述Aに加えてプライオリティに対応する命令プロセッサ性能比を算出する(命令プロセッサ性能比=A+プライオリティ対応性能比×((100/R)−A);ステップS506)。
【0072】
以上のように、ステップS506およびステップS507で算出した命令プロセッサ性能比が、CPUの能力により決定される最低値αより大きく、100%より小さい場合は、そのままプロセッサ性能/割当時間管理情報テーブル100(図10)の命令プロセッサ性能比欄1002に格納する(ステップS511)。
【0073】
なお、ステップS506およびステップS507で算出した命令プロセッサ性能比が100%を超える場合は、100%に補正し(ステップS510)、逆にα%(CPUの能力により決定される最低値)未満になるような時はα%に補正した後(ステップS509)、すなわち、命令プロセッサ性能比をまるめた後、プロセッサ性能/割当時間管理情報テーブル100(図10)の命令プロセッサ性能比欄1002に格納する(ステップS511)。
【0074】
次に、プロセッサ性能/割当時間設定部50による割当時間設定処理を説明する。
図6は、プロセッサ性能/割当時間設定部50が行う処理のうち割当時間設定処理を説明するためのフローチャートである。
割当時間は、ジョブの実行要求が出ている論理区画数およびそのサービス比により決定する。
【0075】
よって、割当時間は、上記ステップS503で求めた値R(R=(論理区画のサービス比)/(稼動中の全論理区画のサービス比))と割当て単位時間を乗算した値(ステップS601)となる。(稼動中全論理区画のサービス比の合計が100%の時はサービス比分となる)。その結果をプロセッサ性能/割当時間管理情報テーブル100(図10)の割当時間欄1004に登録する(ステップS602)。この操作を全動作中論理区画について行う(ステップS603〜S604→S601に戻る)。
【0076】
次に、プロセッサ割り当て対象選択部17では、要求の到達順位に従うか、若しくは論理区画のプライオリティが高い方から実行可能状態の論理区画を選択し、プロセッサ割り当て制御部70に処理を移す。
【0077】
図7は、プロセッサ割り当て制御部70によるプロセッサ割り当て処理を説明するためのフローチャートである。
【0078】
プロセッサ割り当て制御部70では、プロセッサ性能/割当時間管理情報テーブル100(図10)から、割り当て対象の論理区画の命令プロセッサ性能設定値および割当時間を取得し(ステップS701)、プロセッサ性能変更部18で命令プロセッサ性能を設定した値へ変更する(ステップS702)。
【0079】
プロセッサ性能変更部18では、命令プロセッサに対して、極めて小さい待ち時間を挿入したり、若しくはクロック周波数を低下させることによりプロセッサ性能を低下させる。そして、ジョブを実行する論理区画に、上記のようにして性能を変更した命令プロセッサを、設定した割当時間で割り当てる(ステップS703)。
【0080】
命令プロセッサを割り当てた後、割当時間が終了もしくはジョブが完了したら、図8に示す繰越資源管理情報テーブル90の更新処理(80)を行う。
【0081】
図8は、割り当て後の命令プロセッサ資源の繰越資源管理情報テーブル90の更新処理を説明するフローチャートである。
【0082】
まず、命令プロセッサ性能と割当時間から処理済資源量を求め(処理済資源量=命令プロセッサ性能比×割当時間;ステップS801)、次に、サービス比と割当時間からサービス量を求める(サービス量=サービス比×割当時間;ステップS802)。
【0083】
そして、その時の繰越資源量,サービス量,および処理済資源量から次の単位時間における新しい繰越資源量を算出する(新しい繰越資源量=繰越資源量+サービス量−処理済資源量;ステップS803)。
【0084】
上記のように繰越資源量を更新しておくことにより、各論理区画に指定されたサービス比分の命令プロセッサの資源量を、各論理区画に対して保証することが可能となる。
【0085】
なお、上記図1の各部の処理、特に図5〜8で説明したプロセッサ性能/割当時間設定部50、プロセッサ割り当て制御部70、繰越資源管理情報テーブル90の更新処理のフローチャートはプログラムコード化してCD−ROMなどの記録媒体に格納して市場に頒布したり、インターネットを介してユーザに配信することも可能である。
【0086】
【発明の効果】
以上説明したように、本発明によれば、命令プロセッサの性能を変化させることにより、命令プロセッサ資源の消費の大幅な偏りを無くし、ジョブに対する割り込み遅延時間の不要な増加を防ぐことができる。また、高プライオリティのジョブは高速に処理することが可能となる。そして、設定されたサービス比通りの割り当て制御が可能となる。
【図面の簡単な説明】
【図1】本発明の一実施形態によるシステム構成図の概略を示ず図である。
【図2】本発明の一実施形態におけるジョブのプライオリティと命令プロセッサ性能比との関係を示す図である。
【図3】本発明の一実施形態における同一プライオリティのジョブを実行しつづけた場合の性能比の推移を示す図である。
【図4】本発明の一実施形態における複数の論理区画がジョブ実行要求を出した時の命令プロセッサ性能比および割当時間の設定例を示す図である。
【図5】ハイパバイザによるプロセッサ性能/割当時間設定部のうち、命令プロセッサ性能設定処理のフローチャートである。
【図6】ハイパバイザによるプロセッサ性能/割当時間設定部のうち、割当時間設定処理のフローチャートである。
【図7】プロセッサ割り当て制御部のフローチャートである。
【図8】命令プロセッサ割り当て後における繰越資源管理情報テーブルの更新処理のフローチャートである。
【図9】繰越資源管理情報テーブルの内容の一例を示す図である。
【図10】プロセッサ性能/割当時間管理テーブルの内容の一例を示す図である。
【図11】論理区画管理情報テーブルの内容の一例を示す図である。
【図12】本発明により解決する従来の問題点の一例を説明するための図である。
【符号の説明】
10:物理計算機、
11:ハイパバイザ、
12:論理区画(論理区画1〜3)、
13:オペレーティングシステム(ゲストOS)、
14:プライオリティ設定部、
15:プライオリティ監視部、
16:プライオリティ通知受付部、
17:プロセッサ割り当て対象選択部、
18:プロセッサ性能変更部、
50:プロセッサ性能/割当時間設定部、
70:プロセッサ割り当て制御部、
90:繰越資源管理情報テーブル、
100:プロセッサ性能/割当時間管理情報テーブル、
110:論理区画管理情報テーブル。
Claims (6)
- 1台の物理計算機システムとして構成される物理計算機資源を論理的に分割することにより複数の論理計算機を生成し、1以上のオペレーティングシステム(OS)を同時に実行可能な論理計算機システムにおける命令プロセッサ割り当てスケジューリング方法であって、
前記論理計算機の制御部にOS上で実行されるジョブのプライオリティを監視し、該プライオリティの変化に応じて、微小な待ち時間を挿入したり若しくはクロック周波数を低下させることにより命令プロセッサ性能を変えて割り当てるとともに、前記論理計算機に割り当てる命令プロセッサ資源を、そのときの繰越資源量と、各論理区画に指定されたサービス比と割当時間から求めたサービス量と、前記命令プロセッサ性能と割当時間から求めた処理済資源量とにより新しい繰越資源量を算出して更新することを特徴とする命令プロセッサ割り当てスケジューリング方法。 - 請求項1記載の命令プロセッサ割り当てスケジューリング方法において、
前記更新は、ある単位時間における論理計算機へ割り当てる命令プロセッサ資源量を、前の単位時間における論理計算機へ割り当てる命令プロセッサ資源量が予定より超過している場合は減少させ不足の場合は増加させるものであることを特徴とする命令プロセッサ割り当てスケジューリング方法。 - 1台の物理計算機システムとして構成される物理計算機資源を論理的に分割することにより複数の論理計算機を生成し、1以上のオペレーティングシステム(OS)を同時に実行可能な論理計算機システムであって、
前記論理計算機の制御部にOS上で実行されるジョブのプライオリティを監視する手段と、該監視手段によって検知したプライオリティの変化に応じて、微小な待ち時間を挿入したり若しくはクロック周波数を低下させることにより命令プロセッサ性能を変えて割り当てる手段と、前記論理計算機に割り当てる命令プロセッサ資源を、そのときの繰越資源量と、各論理区画に指定されたサービス比と割当時間から求めたサービス量と、前記命令プロセッサ性能と割当時間から求めた処理済資源量とにより新しい繰越資源量を算出して更新する手段を有することを特徴とする論理計算機システム。 - 請求項3記載の論理計算機システムであって、
前記更新する手段は、ある単位時間における論理計算機へ割り当てる命令プロセッサ資源量を、ある単位時間における論理計算機へ割り当てる命令プロセッサ資源量を、前の単位時間における論理計算機へ割り当てる命令プロセッサ資源量が予定より超過している場合は減少させ不足の場合は増加させるものであることを特徴とする論理計算機システム。 - 1台の物理計算機システムとして構成される物理計算機資源を論理的に分割することにより複数の論理計算機を生成し、1以上のオペレーティングシステム(OS)を同時に実行可能な論理計算機システムにおいて実行される命令プロセッサ割り当てスケジューリング用プログラムであって、
コンピュータに、
前記論理計算機の制御部にOS上で実行されるジョブのプライオリティを監視する機能と、
該監視する機能によって検知したプライオリティの変化に応じて、微小な待ち時間を挿入したり若しくはクロック周波数を低下させることにより命令プロセッサ性能を変えて割り当てる機能と、
前記論理計算機に割り当てる命令プロセッサ資源を、そのときの繰越資源量と、各論理区画に指定されたサービス比と割当時間から求めたサービス量と、前記命令プロセッサ性能と割当時間から求めた処理済資源量とにより新しい繰越資源量を算出して更新する機能と
を実現させるための命令プロセッサ割り当てスケジューリング用プログラム。 - 請求項5記載の命令プロセッサ割り当てスケジューリング用プログラムであって、
前記更新する機能は、ある単位時間における論理計算機へ割り当てる命令プロセッサ資源量を、前の単位時間における論理計算機へ割り当てる命令プロセッサ資源量が予定より超過している場合は減少させ不足の場合は増加させるものであることを特徴とする命令プロセッサ割り当てスケジューリング方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003184450A JP3922576B2 (ja) | 2003-06-27 | 2003-06-27 | 命令プロセッサ割り当てスケジューリング方法、該命令プロセッサ割り当てスケジューリング方法を実現する計算機システムおよびそのためのプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003184450A JP3922576B2 (ja) | 2003-06-27 | 2003-06-27 | 命令プロセッサ割り当てスケジューリング方法、該命令プロセッサ割り当てスケジューリング方法を実現する計算機システムおよびそのためのプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005018560A JP2005018560A (ja) | 2005-01-20 |
JP3922576B2 true JP3922576B2 (ja) | 2007-05-30 |
Family
ID=34184220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003184450A Expired - Lifetime JP3922576B2 (ja) | 2003-06-27 | 2003-06-27 | 命令プロセッサ割り当てスケジューリング方法、該命令プロセッサ割り当てスケジューリング方法を実現する計算機システムおよびそのためのプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3922576B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4580845B2 (ja) | 2005-08-24 | 2010-11-17 | パナソニック株式会社 | タスク実行装置 |
JP2008171293A (ja) * | 2007-01-15 | 2008-07-24 | Hitachi Ltd | 仮想計算機システムのスケジューリング方法 |
KR100930017B1 (ko) * | 2007-06-29 | 2009-12-07 | 주식회사 마크애니 | 다수 개의 커널을 운영하는 시스템 및 방법 |
US8312456B2 (en) | 2008-05-30 | 2012-11-13 | International Business Machines Corporation | System and method for optimizing interrupt processing in virtualized environments |
EP2395430B1 (en) * | 2009-02-09 | 2017-07-12 | Fujitsu Limited | Virtual computer allocation method, allocation program, and information processing device having a virtual computer environment |
JP5347648B2 (ja) * | 2009-03-30 | 2013-11-20 | 富士通株式会社 | プログラム、情報処理装置及び状態出力方法 |
KR101132443B1 (ko) | 2010-06-29 | 2012-03-30 | 삼성에스디에스 주식회사 | 관리정책을 기반으로 서비스 가상머신을 관리할 수 있는 단말장치 및 그 방법 |
US9396012B2 (en) * | 2013-03-14 | 2016-07-19 | Qualcomm Incorporated | Systems and methods of using a hypervisor with guest operating systems and virtual processors |
-
2003
- 2003-06-27 JP JP2003184450A patent/JP3922576B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2005018560A (ja) | 2005-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11507420B2 (en) | Systems and methods for scheduling tasks using sliding time windows | |
JP6386165B2 (ja) | 分散コンピュータシステムへの電力割り振りに変更がある場合に中断され得るジョブ及び中断され得ないジョブを管理するための方法並びに装置 | |
US7406688B2 (en) | Parallel process execution method and multiprocessor computer | |
JP5332065B2 (ja) | クラスタ構成管理方法、管理装置及びプログラム | |
US8793695B2 (en) | Information processing device and information processing method | |
US6560628B1 (en) | Apparatus, method, and recording medium for scheduling execution using time slot data | |
KR101651871B1 (ko) | 멀티코어 시스템 상에서 단위 작업을 할당하는 방법 및 그 장치 | |
KR101644800B1 (ko) | 컴퓨팅 시스템 및 방법 | |
EP1341083A2 (en) | Parallel-process execution method and multiprocessor-type computer | |
US20140122848A1 (en) | Systems and methods for instruction entity allocation and scheduling on multi-processors | |
KR20110075297A (ko) | 병렬도를 고려한 병렬 처리 장치 및 방법 | |
JP2008257572A (ja) | 論理区画に動的に資源割り当てを行うストレージシステム及びストレージシステムの論理分割方法 | |
JP2009110404A (ja) | 仮想計算機システム及び同システムにおけるゲストosスケジューリング方法 | |
JP2006244479A (ja) | 実行可能プログラムをスケジューリングするためのシステム及び方法 | |
KR101392584B1 (ko) | 리소스 모니터링을 이용한 동적 데이터 처리 장치 및 그 방법 | |
JP3922576B2 (ja) | 命令プロセッサ割り当てスケジューリング方法、該命令プロセッサ割り当てスケジューリング方法を実現する計算機システムおよびそのためのプログラム | |
US20140137122A1 (en) | Modified backfill scheduler and a method employing frequency control to reduce peak cluster power requirements | |
JP2008226023A (ja) | ジョブ割当装置、及びジョブ割当方法 | |
JPH09218858A (ja) | 分散型データベース管理システム | |
US9740530B2 (en) | Decreasing the priority of a user based on an allocation ratio | |
JP2013210833A (ja) | ジョブ管理装置、ジョブ管理方法、及びプログラム | |
KR20120071979A (ko) | 클라우드 컴퓨팅 시스템의 자원관리장치 및 방법 | |
CN115629854A (zh) | 分布式任务调度方法、系统、电子设备和存储介质 | |
KR20150070930A (ko) | 최적 비용을 고려한 마이그레이션 자원 할당 시스템 및 할당 방법 | |
JPH07234847A (ja) | ジョブのスケジューリング方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050715 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061117 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070116 |
|
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: 20070202 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070215 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110302 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120302 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130302 Year of fee payment: 6 |