JP4715758B2 - 仮想計算機システムのプロセッサキャッピング方法 - Google Patents
仮想計算機システムのプロセッサキャッピング方法 Download PDFInfo
- Publication number
- JP4715758B2 JP4715758B2 JP2007018668A JP2007018668A JP4715758B2 JP 4715758 B2 JP4715758 B2 JP 4715758B2 JP 2007018668 A JP2007018668 A JP 2007018668A JP 2007018668 A JP2007018668 A JP 2007018668A JP 4715758 B2 JP4715758 B2 JP 4715758B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- virtual machine
- time
- virtual
- physical
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/504—Resource capping
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Description
仮想計算機モニタは、この要求を満たすように、仮想計算機の仮想プロセッサを物理プロセッサにスケジュールする。
仮想計算機のユーザには、必要なプロセッササービス量に対して費用を支払うという契約を結んで、仮想計算機を使用したいというユーザもいる。
このようなユーザに対しては、仮想計算機に与えるプロセッササービス量を、契約した比率以下に制限する必要がある。プロセッササービス率を制限する機能にプロセッサキャッピングがある。
サービス率及びプロセッサキャッピングが、下記特許文献1で報告されている。下記特許では、長期の実時間(分または時間のオーダ)において仮想計算機のプロセッサ利用率を指定した比率に抑える、大域的なプロセッサキャッピング方法が記載されている。
単位プロセッサ時間は、タイムスライスと比べて十分に大きな値とするので、プロセッサキャッピングを有効にした仮想計算機は、例えば他の全ての仮想計算機がアイドル状態で、該仮想計算機がビジー状態であるならば、仮想計算機モニタは、該仮想計算機の仮想プロセッサを物理プロセッサに連続してスケジュールするので、該仮想計算機の使用プロセッサ時間が直ちに該仮想計算機の持ちプロセッサ時間に達し、プロセッサキャッピングの制限がかかり、使用プロセッサ時間がリセットされるまで該仮想計算機の物理計算機へのスケジュールが行われなくなり、プロセッサキャッピング有効の仮想計算機のスケジュールには大きな偏りができるという問題があった。
これでは、システム応答性の面で問題があり、特に長い待ち時間を認めず、偏りの無いスケジュールを要求するプログラムには、プロセッサキャッピングを使用することができなかった。
物理計算機001は、物理プロセッサ0 002a、物理プロセッサ1 002b、システム時刻006、及び物理プロセッサ0 002aと物理プロセッサ1 002bにそれぞれタイマ004aとタイマ004bを有する。
本実施形態においては、物理プロセッサの数を2つとしているが、本発明は物理プロセッサの数を限定するものではなく、1つまたはそれ以上の任意の数の物理プロセッサを有する物理計算機に適用可能である。
タイマ004aとタイマ004bは、指定した時刻に外部割り込みを発生させる機能を有し、仮想計算機モニタ100が、タイムスライスによって物理プロセッサ0 002aと物理プロセッサ1 002bを時分割共有する為に、及び時分割共有におけるプロセッサ利用率の制御を、ある時間間隔で区切って周期的に行う為に使用する。
仮想計算機モニタ100が有するブロックは、物理プロセッサ、仮想計算機、及び仮想計算機の仮想プロセッサの区分に分類される。
又仮想計算機モニタ100は、仮想計算機ごとにプロセッサキャッピング有効・無効の指定を保持するプロセッサキャッピングフラグ1 200、プロセッサキャッピングフラグ2 202、プロセッサキャッピングフラグ3 204を有する。更に、仮想計算機がプロセッサキャッピング有効の場合のみ使用する、補仮想計算機テーブル1 210、補仮想計算機テーブル2 220、及び補仮想計算機テーブル3 230を有する。
補仮想計算機テーブル1 210は、サービス率を除いて前記の仮想計算機テーブル1 120と同様に、持ちプロセッサ時間G1 212、使用プロセッサ時間H1 214、及びスケジュール優先度C1 216を有する。仮想計算機2 310と仮想計算機3 320も同様にプロセッサキャッピング有効であるならば、それぞれ補仮想計算機テーブル2 220と補仮想計算機テーブル3 230を使用する。また、補仮想計算機テーブル2 220と3 230は、補仮想計算機テーブル1 210と同様の構成である。補仮想計算機テーブルについては、本発明のプロセッサキャッピング方法の実現方法のところで、詳しく説明する。
物理計算機001の物理プロセッサ002aと002bを単位プロセッサ時間E 112で時分割し、物理計算機001の持ちプロセッサ時間U 118を、単位プロセッサ時間E 112と物理プロセッサ数N 114を乗じて、(式1)のように求める。
物理計算機001の持ちプロセッサ時間U 118は、物理計算機001の有する物理プロセッサ資源の大きさを表す。単位プロセッサ時間E 112は、タイムスライスよりも十分大きな適切な値とする。ある1つの実現形態においては、単位プロセッサ時間E 112は1秒としている。
(式1)で求めた物理計算機001の持ちプロセッサ時間U 118を、全ての仮想計算機の間で、サービス率で指定された比率で分割し、仮想計算機1 300の持ちプロセッサ時間Q1 124、仮想計算機2 320の持ちプロセッサ時間Q2 134、及び仮想計算機3 330の持ちプロセッサ時間Q3 144を求める。
各仮想計算機の持ちプロセッサ時間Q1 124、持ちプロセッサ時間Q2 134、及び持ちプロセッサ時間Q3 144は、それぞれ仮想計算機に割り当てられた物理プロセッサ資源の大きさを表す。
物理計算機001の持ちプロセッサ時間U 118を、仮想計算機のサービス率S1 122、仮想計算機2 310のサービス率S2 132、仮想計算機3 320のサービス率S3 142の比率で分割し、それぞれの仮想計算機に持ちプロセッサ時間Q1 124、持ちプロセッサ時間Q2 134、持ちプロセッサ時間Q3 144を与える、すなわち、次の(式2)と(式3)のようにする。
U = Q1 + Q2 + Q3 (式3)
一方、仮想計算機の使用プロセッサ時間Rは以下のようにして求める。
仮想計算機モニタ100は、仮想プロセッサをスケジュールする度に、該仮想プロセッサのスケジュール終了時に、仮想プロセッサテーブルに保持する仮想プロセッサのスケジュール開始時刻と、スケジュール終了時のシステム時刻を使って、仮想プロセッサの使用プロセッサ時間を求め、該仮想プロセッサが属する仮想計算機の仮想計算機テーブルにある使用プロセッサ時間Rに加算する。
仮想プロセッサ0 302aのスケジュールを開始するときに、その時点のシステム時刻を該仮想プロセッサの仮想プロセッサテーブル0 160aのスケジュール開始時刻 t0として保持し、該仮想プロセッサのスケジュールを終了するときに、その時点のシステム時刻 t1から、仮想プロセッサテーブル0 160aに保存したスケジュール開始時刻 t0を引くことで、該仮想プロセッサの使用プロセッサ時間t1−t0を求める。
仮想計算機モニタ100は、例えば仮想計算機1 300のスケジュール優先度P1 128を、仮想計算機1 300の持ちプロセッサ時間Q1 124を分母、使用プロセッサ時間R1 126を分子とした分数、すなわち(式4)と求める。
仮想計算機2 320のスケジュール優先度P2と仮想計算機3 330のスケジュール優先度P3も全く同様にして求めることができる。
全ての仮想計算機の全ての仮想プロセッサがアイドルになることなく、物理プロセッサを割り当てられると、常に与えられたタイムスライス時間を使い切ることができる状態にある場合に、仮想計算機の間のプロセッサ利用率の比率を、サービス率の比率と等しくするという、サービス率の要求を満たすことができる。
そして、スケジュール優先度Pが最小の仮想計算機番号を取得するforループを開始する。forループは、i=1からiを1ずつ増加させながらiが最大仮想計算機番号と等しくなるまでとする。
forループ内の処理を説明する。
まず、仮想計算機iのスケジュール優先度Piを取得する。次に、Piの値が、一時変数MINPRIO未満であるならば、MINPRIOにPiの値を代入し、SCHEDVMにiを代入する。
Piの値が一時変数MINPRIO以上であるならば何もしない。
forループを抜けると、スケジュール対象の仮想計算機番号が一時変数SCHEDVMに格納されている。
もし、SCHEDVMの値が非0であるならば、スケジュール対象の仮想計算機が見つかったことを意味する。仮想計算機モニタ100は、SCHEDVMの番号の仮想計算機のレディキューから仮想プロセッサを取り出して、物理プロセッサにスケジュールする。
ところが、もしSCHEDVMの値が0であるならば、これはスケジュールする仮想計算機が見つからなかったことを意味する。このときは、仮想計算機モニタ100はアイドルプロセスを物理プロセッサにスケジュールする。
仮想計算機モニタ100が、スケジュール優先度Piが最小の仮想計算機をスケジュールし続けることは、常に全ての仮想計算機のスケジュール優先度Piを等しくなるように作用する。
図2に示す3つの仮想計算機、仮想計算機1 300、仮想計算機2 310、及び仮想計算機3 320のスケジュール優先度S1 122、スケジュール優先度S2、及びスケジュール優先度S3が等しいことは、次の式(式5)が満たされることを意味する。
(式5)の右側の等式を変換すると、以下の比例式(式6)が導かれる。
一方、仮想計算機1 300、仮想計算機2 310、及び仮想計算機3 320の持ち時間Q1 124、Q2、Q3はその比率がサービス率S1 122、S2、S3の比率と等しくなるように定める。すなわち、以下の比例式(式7)が成り立つ。
この2つの式(式6)と(式7)から、
R1 : R2 : R3 = S1 : S2 : S3 (式8)
が導かれる。
これは、ある時間区間の開始時刻をTs、終了時刻をTeとし、TsからTeまでの仮想計算機1 300、仮想計算機2 310、及び仮想計算機3 320の使用プロセッサ時間をそれぞれ ΔR1、ΔR2、及びΔR3とすると、次式(式9)が成り立つことを意味する。
が成り立つことを意味する。ここで、ΔR1/(Te−Ts)、ΔR2/(Te−Ts)、及びΔR3/(Te−Ts)は、それぞれ時間区間Te−Tsにおける、仮想計算機1 300、仮想計算機2 310、及び仮想計算機3 320のプロセッサ利用率を表す。
本発明の仮想計算機システムのプロセッサキャッピング方法は、サービス率の理論を採用することで実現する。
プロセッサキャッピングが満たさなければならない、仮想計算機のプロセッサ利用率をサービス率の比率以下に制限するという条件は、仮想計算機のプロセッサ利用率をサービス率の比率に等しくするということを含む。
プロセッサキャッピング有効の仮想計算機が、指定されたサービス率の比率を超えるプロセッサ利用率を必要とする負荷を有する場合には、該仮想計算機は、サービス率の比率と等しいプロセッサ利用率で、偏り無く均一に物理プロセッサを利用できることが望ましい。
プロセッサキャッピングを明示的に課す必要がある場合に、この特定の条件を作り出すことができれば、後は上記のサービス率のアルゴリズムを使うことで、望ましいプロセッサキャッピングが実現できる。
プロセッサキャッピング方法は、この場合には、サービス率制御の動作を妨げないものである必要がある。本発明のプロセッサキャッピング方法が、これを満たすことは実施例の中で具体的に説明する。
ところが、該仮想計算機の他の仮想計算機は負荷が低いので、仮想計算機の間のサービス率制御では、(式5)に示す関係は成立しない。
そこで、プロセッサキャッピング有効の仮想計算機に対しては、仮想計算機の間のサービス率制御では(式5)に示す関係が成立しない場合に、常に(式5)に示す関係を成立させるように、仮想計算機モニタのスケジュールアルゴリズムが動作するような、概念的な仮想計算機を擬似的に生成する。
これは、物理計算機の持ちプロセッサ時間から、プロセッサキャッピング有効の仮想計算機の持ちプロセッサ時間を引いた余りのプロセッサ時間を、概念的な仮想計算機の持ちプロセッサ時間とすることで実現できる。
スケジュールのアルゴリズムから見て、アイドルのプロセッサ時間が存在しないということは、プロセッサキャッピング有効の仮想計算機と概念的な仮想計算機の使用プロセッサ時間の和が単位プロセッサ時間の開始時刻からの経過時間に物理プロセッサ数を乗じた値と等しいということに置き換えられる。
次に、該補仮想計算機1の使用プロセッサ時間H1 214は、物理計算機001の使用プロセッサ時間、その時点のシステム時刻T1から、単位プロセッサ時間の開始時刻T0 116を引いた値(T1−T0)に物理プロセッサ数N 114を乗じた(T1− T0)xNから、対応する仮想計算機の使用プロセッサ時間R1 126を引くことにより、(式11)のように求めた値とする。
(式11)から分かるように、補仮想計算機1の使用プロセッサ時間H1 214は、対応する仮想計算機1 300以外が使用したプロセッサ時間の合計を意味する。
そして補仮想計算機 1のスケジュール優先度C1を対応する仮想計算機のスケジュール優先度P1と同様に、(式12)のように求める。
補仮想計算機1の持ちプロセッサ時間 G1 212、使用プロセッサ時間H1 214、及びスケジュール優先度C1 216は全て、対応する仮想計算機1 300の情報と物理計算機100全体の情報のみから求められる。計算は単純であり、また計算時間は仮想計算機システムが有する仮想計算機の数、その他の仮想計算機の持ちプロセッサ時間、使用プロセッサ時間には依存しない。
仮想計算機1 300をスケジュールすることは、仮想計算機1の有する、ある仮想プロセッサをスケジュールすることを意味する。
しかし、補仮想計算機1をスケジュールすることは、補仮想計算機1の仮想プロセッサをスケジュールすることは意味しない。なぜなら補仮想計算機1は仮想プロセッサを有しない概念であるからである。
正確には、仮想計算機1 300の仮想プロセッサをスケジュールしないことを意味する。仮想計算機モニタ100が、ある物理プロセッサ上で、その他にスケジュール可能な仮想計算機を見つけることができなかったならば、見つかるまでアイドルプロセス400a、400bがスケジュールされる。
(式13)の右側の等式を変換すると、以下の比例式(式14)が導かれる。
一方、仮想計算機iの持ち時間Qiと補仮想計算機iの持ち時間Giに対して次式(式15)が成り立つ。
これより、Qi/Uは、プロセッサキャッピングを課すプロセッサ利用率であることがいえる。
(式16)が成り立つことを導く。プロセッサキャッピング有効の仮想計算機iがビジーのときの、単位プロセッサ時間の開始時刻T0からその時点のシステム時刻T1までの使用プロセッサ時間をRiとすると、Riは(式13)を満たす。同じ時間区間における、前記仮想計算機 iがビジーのときの使用プロセッサ時間をRi’とすると、RiとRi’の間には次式(式17)の関係式が成り立つ。
また、使用プロセッサ時間がRiのときの仮想計算機i及び補仮想計算機iのスケジュール優先度をそれぞれPiとCiとし、使用プロセッサ時間がRi’のときの仮想計算機i及び補仮想計算機iのスケジュール優先度をそれぞれPi’とCi’とする。このとき、(式10)、(式11)、(式12)、(式17)より、次式(式18)と(式19)が成り立つ。
((T1−T0)×N−Ri)/Gi < ((T1−T0)×N−Ri’)/Gi −> Ci < Ci’ (式19)
(式13)、(式18)、(式19)より、Pi’とCi’の間に
Pi’ < Ci’ (式20)
が成り立つ。以上より、プロセッサキャッピング有効の仮想計算機iがアイドルのときは(式16)を満たすことが導かれた。
このとき、サービス率制御により、次式(式21)が成立する。
このとき、仮想計算機1 300のスケジュール優先度P1 128と対応する補仮想計算機1のスケジュール優先度C1 216が等しいことを導く。これを示すことができれば、本発明のプロセッサキャッピング方法は、サービス率制御の正常動作を妨げないことが言える。
また、上式(式22)が成立するときは、物理プロセッサのアイドル時間が0であることより、仮想計算機1 300、仮想計算機2 310、及び仮想計算機3 320の使用プロセッサ時間R1 126、使用プロセッサ時間R2、及び使用プロセッサ時間R3の和が、物理計算機001の使用プロセッサ時間、すなわちその時点のシステム時刻T1から、単位プロセッサ時間の開始時刻T0 116を引いた値(T1−T0)に物理プロセッサ数 Nを乗じた(T1−T0)xNに等しい、すなわち次式(式23)が成立する。
これより、仮想計算機1 300に対応する補仮想計算機1の使用プロセッサ時間H1 214はR2+R3に等しいことが(式24)のように導かれる。
上記の手順で求めた、補仮想計算機1の持ちプロセッサ時間G1 212と使用プロセッサ時間H1214を使うと、補仮想計算機1のスケジュール優先度C1は次式(式25)のように求まる。
仮想計算機1 300のスケジュール優先度P1 126とC1 216が等しい、すなわち次式(式26)が成り立つことが、上式(式25)から導かれる。
サービス率制御と本発明のプロセッサキャッピング方法は共存できるので、図6のサービス率制御に基づくスケジュール対象仮想計算機の選択処理のアルゴリズムに、本発明のプロセッサキャッピング方法のアルゴリズムを追加することができる。
そして、スケジュール優先度Pが最小の仮想計算機番号を取得するforループを開始する。forループは、i=1からiを1ずつ増加させながらiが最大仮想計算機番号と等しくなるまでとする。
forループ内の処理を説明する。
まず、仮想計算機iのスケジュール優先度Piを取得する。
次の2つのステップ804と805が、本発明のプロセッサキャッピング方法を実現する為に追加するステップである。
まず、仮想計算機iがプロセッサキャッピング有効かどうかを判定する(804)。有効ならば、次へ進む。無効ならば、仮想計算機iのスケジュール優先度が全ての仮想計算機の中で最小かどうかを判定するステップ806へと進む。
仮想計算機iがプロセッサキャッピング有効であるならば、仮想計算機iのスケジュール優先度Piと対応する補仮想計算機iのスケジュール優先度Ciを比較する(805)。PiがCiよりも大きいならば、プロセッサキャッピングが掛かり、スケジュールできない状態であると判定し、以降の全てのステップをスキップし、次の仮想計算機i+1へと進む。
PiがCi以下であるならば、プロセッサキャッピングは掛かっていないと判定し、次のステップ806へと進む。
次に、Piの値が、一時変数MINPRIO未満であるならば、ステップ807においてMINPRIOにPiの値を代入し、SCHEDVMにiを代入する。
Piの値が一時変数MINPRIO以上であるならば何もしない。
forループを抜けると、スケジュール対象の仮想計算機番号が一時変数SCHEDVMに格納されている。
もし、SCHEDVMの値が非0であるならば、スケジュール対象の仮想計算機が見つかったことを意味する。仮想計算機モニタ100は、SCHEDVMの番号の仮想計算機のレディキューから仮想プロセッサを取り出して、物理プロセッサにスケジュールする。
ところが、もしSCHEDVMの値が0であるならば、これはスケジュールする仮想計算機が見つからなかったことを意味する。このときは、仮想計算機モニタ100はアイドルプロセスを物理プロセッサにスケジュールする。
002a、002b 物理プロセッサ
004a、004b タイマ
006 システム時刻
100 仮想計算機モニタ
300、310、320 仮想計算機
302a、302b、302c、312a、312b、322a 仮想プロセッサ
400a、400b アイドルプロセス
110 物理プロセッサテーブル
112 物理計算機の単位プロセッサ時間
114 物理計算機の物理プロセッサ数
116 物理計算機の単位プロセッサ時間開始時刻
118 物理計算機の持ちプロセッサ時間
120、130、140 仮想計算機テーブル
122 仮想計算機のサービス率
124 仮想計算機の持ちプロセッサ時間
126 仮想計算機の使用プロセッサ時間
128 仮想計算機のスケジュール優先度
150、152、154 仮想計算機レディキュー
160a、160b、160c、170a、170b、180a 仮想プロセッサテーブル
162a、172a、182a 仮想プロセッサのスケジュール開始時刻
210、220、230 補仮想計算機テーブル
212 補仮想計算機の持ちプロセッサ時間
214 補仮想計算機の使用プロセッサ時間
216 補仮想計算機のスケジュール優先度
601 仮想計算機1の仮想プロセッサ0の使用プロセッサ時間
602 物理計算機の使用プロセッサ時間
Claims (3)
- 1以上の物理プロセッサを有する物理計算機上で、仮想計算機モニタがスケジュール優先度に基づき、仮想計算機及び該仮想計算機の有する1以上の仮想プロセッサのスケジュールを制御する仮想計算機システムにおいて、仮想計算機モニタが、仮想計算機のプロセッサ利用率を、指定された比率以下に制限するプロセッサキャッピング方法であって、
プロセッサキャッピングが有効な仮想計算機に対して、物理計算機全体の持ちプロセッサ時間から前記プロセッサキャッピング有効仮想計算機に与えられる持ちプロセッサ時間を差し引いた時間を持ちプロセッサ時間とする補仮想計算機を生成し、
各仮想計算機が単位時間に物理プロセッサを使用した使用プロセッサ時間を求め、
物理計算機の持ちプロセッサ時間をUとし、仮想計算機の持ちプロセッサ時間をQとし、物理計算機の物理プロセッサ数をNとし、物理計算機の経過時間をTとし、及び仮想計算機の使用プロセッサ時間をRとするとき、
仮想計算機モニタは、
物理計算機の持ちプロセッサ時間Uを分母とし、該仮想計算機の持ちプロセッサ時間Qを分子とした分数Q/Uが、該仮想計算機に対して指定したプロセッサ利用率Aと等しくなるようにし、
仮想計算機のスケジュール優先度を、該仮想計算機の持ちプロセッサ時間Qを分母とし、該仮想計算機の使用プロセッサ時間Rを分子とした分数R/Qと求め、
対応する補仮想計算機のスケジュール優先度を、物理計算機の持ちプロセッサ時間Uから該仮想計算機の持ちプロセッサ時間Qを引いた値U−Qを分母とし、物理計算機の経過時間Tに物理プロセッサ数Nを乗じたその時点の物理計算機の使用プロセッサ時間T×Nから、該仮想計算機の使用プロセッサ時間Rを引いた値T×N−Rを分子とした分数(T×N−R)/(U−Q)と求め、
前記仮想計算機のスケジュール優先度R/Qが、前記補仮想計算機のスケジュール優先度(T×N−R)/(U−Q)以下の場合、該仮想計算機の有する仮想プロセッサを前記物理プロセッサにスケジュールすることを認め、
前記仮想計算機のスケジュール優先度R/Qが、前記補仮想計算機のスケジュール優先度(T×N−R)/(U−Q)より大きい場合、前記プロセッサキャッピング有効仮想計算機の有する仮想プロセッサのスケジュールは行わないことで、プロセッサキャッピング対象の仮想計算機及び物理計算機の情報のみを使い、
該仮想計算機のプロセッサ利用率 R/(T×N)がユーザの指定した比率Aを超えない範囲で、該仮想計算機のスケジュールを偏り無く行うことを特徴とする仮想計算機システムのプロセッサキャッピング方法。 - 仮想計算機モニタは、アイドルプロセスを物理プロセッサごとに有し、ある時点において、実行可能な仮想プロセッサを有する仮想計算機の全てのスケジュール優先度R/Qが、前記補仮想計算機のスケジュール優先度(T×N−R)/(U−Q)以下であり、プロセッサキャッピングを課せられている状態であるならば、
前記の状態を検出した物理プロセッサは、該物理プロセッサ上のアイドルプロセスを、物理時間が経過し、少なくとも1つの仮想計算機が前記の条件式を満たすようになるまで、実行させ続けることを特徴とする請求項1記載の仮想計算機システムのプロセッサキャッピング方法。 - 前記プロセッサキャッピング有効仮想計算機のスケジュール優先度が前記補仮想計算機のスケジュール優先度以下の場合には前記プロセッサキャッピング有効仮想計算機のスケジュール優先度と他の仮想計算機のスケジュール優先度とを比較し、
前記プロセッサキャッピング有効仮想計算機のスケジュール優先度が最小の場合に該プロセッサキャッピング有効仮想計算機の有する仮想プロセッサのスケジュールを行うことを特徴とする請求項1記載の仮想計算機システムのプロセッサキャッピング方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007018668A JP4715758B2 (ja) | 2007-01-30 | 2007-01-30 | 仮想計算機システムのプロセッサキャッピング方法 |
US12/021,744 US20080184227A1 (en) | 2007-01-30 | 2008-01-29 | Processor capping method in virtual machine system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007018668A JP4715758B2 (ja) | 2007-01-30 | 2007-01-30 | 仮想計算機システムのプロセッサキャッピング方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008186210A JP2008186210A (ja) | 2008-08-14 |
JP4715758B2 true JP4715758B2 (ja) | 2011-07-06 |
Family
ID=39669427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007018668A Active JP4715758B2 (ja) | 2007-01-30 | 2007-01-30 | 仮想計算機システムのプロセッサキャッピング方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20080184227A1 (ja) |
JP (1) | JP4715758B2 (ja) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009223842A (ja) * | 2008-03-19 | 2009-10-01 | Fujitsu Ltd | 仮想計算機制御プログラム及び仮想計算機システム |
TWI397010B (zh) * | 2008-12-10 | 2013-05-21 | Inst Information Industry | Virtual machine module scheduling, scheduling methods and computer program products |
JP4862056B2 (ja) * | 2009-03-16 | 2012-01-25 | 株式会社東芝 | 仮想計算機管理機構及び仮想計算機システムにおけるcpu時間割り当て制御方法 |
US20110196968A1 (en) * | 2009-03-25 | 2011-08-11 | Hitachi, Ltd. | Computer system, resource management server for computer system, and resource management method for computer system |
US8429652B2 (en) | 2009-06-22 | 2013-04-23 | Citrix Systems, Inc. | Systems and methods for spillover in a multi-core system |
JP5469940B2 (ja) | 2009-07-13 | 2014-04-16 | 株式会社日立製作所 | 計算機システム、仮想計算機モニタ及び仮想計算機モニタのスケジューリング方法 |
JP5388909B2 (ja) * | 2010-03-09 | 2014-01-15 | 株式会社日立製作所 | ハイパバイザ、計算機システム、及び、仮想プロセッサのスケジューリング方法 |
JP5699755B2 (ja) * | 2011-03-31 | 2015-04-15 | 富士通株式会社 | 割当方法、割当装置、および割当プログラム |
US9183030B2 (en) | 2011-04-27 | 2015-11-10 | Microsoft Technology Licensing, Llc | Virtual processor allocation techniques |
KR20130074401A (ko) * | 2011-12-26 | 2013-07-04 | 삼성전자주식회사 | 계층적 스케줄러를 갖는 멀티코어 기반의 컴퓨팅 장치 및 계층적 스케줄 방법 |
JP5748349B2 (ja) * | 2012-03-16 | 2015-07-15 | 株式会社日立製作所 | 仮想計算機の制御方法及び仮想計算機システム |
WO2016075771A1 (ja) * | 2014-11-12 | 2016-05-19 | 株式会社日立製作所 | 計算機システムおよび計算機システムにおけるオートスケール方法 |
US9720722B2 (en) * | 2015-09-03 | 2017-08-01 | Red Hat Israel, Ltd. | Hypervisor driven gradual balloon inflation |
US10459747B2 (en) * | 2016-07-05 | 2019-10-29 | Red Hat Israel, Ltd. | Exitless timer access for virtual machines |
US10956193B2 (en) * | 2017-03-31 | 2021-03-23 | Microsoft Technology Licensing, Llc | Hypervisor virtual processor execution with extra-hypervisor scheduling |
US10423452B2 (en) * | 2017-06-22 | 2019-09-24 | International Business Machines Corporation | Allocating resources to virtual machines |
JP7151530B2 (ja) * | 2019-02-13 | 2022-10-12 | 日本電信電話株式会社 | サーバ基盤および物理cpu割当プログラム |
JP2021149129A (ja) * | 2020-03-16 | 2021-09-27 | 富士通株式会社 | 料金算出プログラム、及び料金算出方法 |
US20240111603A1 (en) * | 2022-09-30 | 2024-04-04 | Amazon Technologies, Inc. | Customer-initiated virtual machine resource allocation sharing |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01180641A (ja) * | 1988-01-12 | 1989-07-18 | Nec Corp | Cpuソース平均化方式 |
JPH05324361A (ja) * | 1992-05-15 | 1993-12-07 | Fujitsu Ltd | 仮想計算機システムのcpu制御方式 |
JPH11259316A (ja) * | 1998-01-09 | 1999-09-24 | Hitachi Ltd | Cpu能力調整方法 |
JP2002182934A (ja) * | 2000-10-02 | 2002-06-28 | Internatl Business Mach Corp <Ibm> | システムに形成された論理パーティションの容量制限を強化するための方法及び装置 |
JP2004288183A (ja) * | 2003-03-21 | 2004-10-14 | Hewlett-Packard Development Co Lp | コンピューティングリソースを自動的に割り振る方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5835767A (en) * | 1994-08-19 | 1998-11-10 | Unisys Corporation | Method and apparatus for controlling available processor capacity |
EP0725340A3 (en) * | 1995-02-03 | 1996-10-02 | Ibm | Apparatus and method for managing the workload of a distributed data processing system by limiting the consumption of processing capacity |
US7058824B2 (en) * | 2001-06-15 | 2006-06-06 | Microsoft Corporation | Method and system for using idle threads to adaptively throttle a computer |
US7143411B2 (en) * | 2002-03-15 | 2006-11-28 | Hewlett-Packard Development Company, L.P. | Capping processor utilization |
US20060069761A1 (en) * | 2004-09-14 | 2006-03-30 | Dell Products L.P. | System and method for load balancing virtual machines in a computer network |
US7793308B2 (en) * | 2005-01-06 | 2010-09-07 | International Business Machines Corporation | Setting operation based resource utilization thresholds for resource use by a process |
US7770173B2 (en) * | 2005-02-03 | 2010-08-03 | International Business Machines Corporation | System for dynamic processor enablement |
-
2007
- 2007-01-30 JP JP2007018668A patent/JP4715758B2/ja active Active
-
2008
- 2008-01-29 US US12/021,744 patent/US20080184227A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01180641A (ja) * | 1988-01-12 | 1989-07-18 | Nec Corp | Cpuソース平均化方式 |
JPH05324361A (ja) * | 1992-05-15 | 1993-12-07 | Fujitsu Ltd | 仮想計算機システムのcpu制御方式 |
JPH11259316A (ja) * | 1998-01-09 | 1999-09-24 | Hitachi Ltd | Cpu能力調整方法 |
JP2002182934A (ja) * | 2000-10-02 | 2002-06-28 | Internatl Business Mach Corp <Ibm> | システムに形成された論理パーティションの容量制限を強化するための方法及び装置 |
JP2004288183A (ja) * | 2003-03-21 | 2004-10-14 | Hewlett-Packard Development Co Lp | コンピューティングリソースを自動的に割り振る方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2008186210A (ja) | 2008-08-14 |
US20080184227A1 (en) | 2008-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4715758B2 (ja) | 仮想計算機システムのプロセッサキャッピング方法 | |
US8370846B2 (en) | Task execution device and method | |
Van Tilborg et al. | Foundations of real-time computing: Scheduling and resource management | |
JP4490298B2 (ja) | プロセッサ電力制御装置及びプロセッサ電力制御方法 | |
JPWO2005106623A1 (ja) | Cpuクロック制御装置、cpuクロック制御方法、cpuクロック制御プログラム、記録媒体、及び伝送媒体 | |
CN108984267B (zh) | 工业服务器的微内核架构控制系统及工业服务器 | |
JP2003298599A (ja) | 分散制御方法及び装置 | |
EP2219112A2 (en) | Method and system for operating in hard real time | |
JP4697805B2 (ja) | データ処理装置 | |
JP2009294712A (ja) | 優先度制御装置及び優先度制御方法 | |
Cho et al. | Scheduling parallel real-time tasks on the minimum number of processors | |
Lozoya et al. | The one-shot task model for robust real-time embedded control systems | |
JP2008146357A (ja) | プログラマブルコントローラ、及びその支援装置 | |
CN100511155C (zh) | 无积累误差和自适应定时器实现方法 | |
JP2012181578A (ja) | 更新制御装置及びプログラム | |
JP6311330B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
KR20070012392A (ko) | 억제된 버짓 사용 기술을 사용하여 버짓을 이전하기 위한방법 및 시스템 | |
JP2014225137A (ja) | タスクスケジューラ,マイクロプロセッサ及びタスクスケジューリング方法 | |
de Oliveira et al. | Dynamic reconfiguration in reservation-based scheduling: An optimization approach | |
JP2008234276A (ja) | ジョブスケジュールの運用テストシステム | |
JP2007072598A (ja) | バス調停方法及びバス調停プログラム | |
JPH07234847A (ja) | ジョブのスケジューリング方法 | |
JP2016184315A (ja) | 電子制御装置 | |
JP2006302168A (ja) | コプロセッサ、および、その演算制御方法 | |
KR101573781B1 (ko) | 우선 순위 기반 저전력 태스크 스케줄링 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090909 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101209 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101214 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110209 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110301 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110314 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140408 Year of fee payment: 3 |