JP5178778B2 - 仮想計算機およびcpu割り当て方法 - Google Patents

仮想計算機およびcpu割り当て方法 Download PDF

Info

Publication number
JP5178778B2
JP5178778B2 JP2010126431A JP2010126431A JP5178778B2 JP 5178778 B2 JP5178778 B2 JP 5178778B2 JP 2010126431 A JP2010126431 A JP 2010126431A JP 2010126431 A JP2010126431 A JP 2010126431A JP 5178778 B2 JP5178778 B2 JP 5178778B2
Authority
JP
Japan
Prior art keywords
cpu
group
physical
logical
lpar
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 - Fee Related
Application number
JP2010126431A
Other languages
English (en)
Other versions
JP2011253334A (ja
Inventor
真木子 篠原
周平 松本
裕功 井上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2010126431A priority Critical patent/JP5178778B2/ja
Priority to US13/094,467 priority patent/US8464258B2/en
Publication of JP2011253334A publication Critical patent/JP2011253334A/ja
Application granted granted Critical
Publication of JP5178778B2 publication Critical patent/JP5178778B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、仮想計算機に関し、1台の物理CPU上に複数台の論理CPUを時分割で共有動作させる際のCPU割り当て方式に関する。
仮想計算機システムは、ハイパバイザにより物理計算機のCPU、メモリ、I/Oなどの物理計算機資源を分割または共有して、複数の論理区画(LPAR:Logical PARtition)に割り当て、各LPARでそれぞれ独立してOSを動作させるものである。各LPAR上で動作するOSのことを、ゲストOSと呼び、ゲストOSが制御する上位プログラムも含めて、LPAR上で動作するプログラムをゲストプログラムと呼ぶ。対して実計算機で動作するOSをベ−シックOSとよぶ。
また、LPARに割り当てた物理CPU資源をLPARの論理CPUと呼ぶ。
ゲストOSは論理的にはベ−シックOSとまったく同様に動作するが、物理計算機資源を分割または共有する特性からベ−シックOSに比べて性能的に劣る場合がある。
反面、あるひとつのゲストOSが使用していない物理計算機資源を、必要とする別のゲストOSに割り当てることにより物理計算機資源を有効に利用することができる。
特開平6−103092
従来技術では、物理CPUを共有する場合、全てのLPARで共有モ−ドである全物理CPUを共有する制御を行っている。このためLPAR数の増加に伴って論理CPU数が増加すると、ハイパバイザによる論理CPUの検索および選択処理によるスケジュ−リングオ−バヘッドが増大するため、ハイパバイザが使用する物理CPU量が増加し物理CPU資源を有効に利用できない。
CPUグル−プの概念を設け、LPARと物理CPUにCPUグル−プを割り当てることで、LPARおよび論理CPUと物理CPUのグル−ピングを行い、物理CPUを割り当てる論理CPUを同じグル−プ内のLPARの論理CPUに限定する。更に、システム全体の物理CPU時間の何%をCPUグループに割り当てたかを示すグループサービス率実測値を計算し、システム全体の物理CPU時間の何%をCPUグループに割り当てるかをオペレータが指定するグループサービス率とを比較することで、CPUグループにおける物理CPU資源割り当ての過不足を判断し、物理CPU資源が過剰になっている、あるCPUグル−プから物理CPUを開放し、不足している別のCPU負ル−プに追加する、動的なCPUグル−プ構成変更を、管理テ−ブルのCPUグル−プ番号を変更するだけで簡単に実施する。
本発明により、ハイパバイザによる論理CPUの検索および選択処理によるハイパバイザのスケジュ−リングオ−バヘッドが減り物理CPU資源を有効に利用することができる。
更に、実行するゲストプログラムの規模が急に増加するなどして、物理CPU資源が不足した場合に柔軟に対応することができる。
本発明における仮想計算機システムの基本的な構成例を示す説明図。 CPUグル−プを管理するためのテ−ブルの初期状態。 物理CPUを管理するためのテ−ブルの初期状態。 LPARを管理するためのテ−ブルの初期状態。 論理CPUを管理するためのテ−ブルの初期状態。 CPUグル−プおよび物理CPUの構成を表示および設定する画面。 図6の設定を反映したCPUグル−プ管理テ−ブル。 図6の設定を反映した物理CPU管理テ−ブル。 LPARの構成を表示および設定する画面。 図9の設定を反映したLPAR管理テ−ブル。 LPARアクテイベイと後の論理CPU管理テ−ブル。 論理CPU状態コ−ドと状態遷移。 物理CPUをCPUグル−プに対応付ける処理手順。 論理CPUの起動および終了時の処理手順。 論理CPU終了要因コ−ドと倫理CPU状態。 CPUグル−プの物理CPU数を増減する処理手順の前半。 CPUグル−プの物理CPU数を増減する処理手順の後半。 グル−プサービス率実測値計算式。 予測グル−プサービス率計算式。 動的なCPUグル−プ構成変更の例。
以下、発明を適用した実施例について、図面に基づいて説明する。
図1は、本発明における仮想計算機システムの基本的な構成例を示す説明図である。
計算機は、物理CPU(001〜005)、メモリ017、および入出力装置(006)との接続機能をもつ。当該計算機のメモリの一部に配されるハイパザイザ(010)は、CPU、メモリ、入出力装置などの計算機資源を分割または共有して論理的な計算機であるLPARに割り当て、1個以上の論理的な計算機を生成し制御する。
ハイパバイザは、物理および論理計算機資源を管理するためのリソ−ス管理デ−タ(011)、オペレ−タとの入出力を管理する入出力管理部(012)、リソ−ス管理デ−タを制御するリソ−ス管理部(013)、論理CPUと1対1に対応し論理CPU資源と物理CPU資源との対応付けを行う論理CPUプロセスにより実現される論理CPU管理部(015)、論理CPUに対する物理CPUの割り当て時間であるサ−ビス時間を監視するサ−ビス時間監視プロセスにより実現されるサ−ビス時間監視部(016)、論理CPUプロセスおよびサ−ビス時間監視プロセスのスケジュ−ルを制御するプロセススケジュ−ラ(014)から構成される。
リソ−ス管理デ−タ(011)には、図2、図3、図4、図5で示す構造の、CPUグル−プ管理テ−ブル(020)、物理CPU管理テ−ブル(030)、LPAR管理テ−ブル(040)、論理CPU管理テ−ブル(050)が配される。
ハイパバイザ上のLPAR数およびLPARを構成する論理CPU数の最大数はシステムに定義される最大数によって決定する。当該説明図では、ハイパバイザ上に、4台の論理的な計算機であるLPARが4個(01〜204)あり、それぞれLPARは2個づつの論理CPU(301〜307)から構成されるよう定義づけられている構成を例とする。
物理CPU(001〜002)、LPAR(200〜201)には、CPUグル−プ0(100)が割り当てられており、物理CPU(003〜004)、LPAR(202〜203)にはCPUグル−プ1(101)が割り当てられている。
図2に示すCPUグル−プ管理テ−ブル(020)は、CPUグル−プの識別子であるCPUグル−プ番号i(021)、CPUグル−プを割り当てた物理CPUの個数を示す物理CPU数(022)、CPUグル−プを割り当てたLPARの論理CPU数の合計値を示す論理CPU数i(023)、グル−プサ−ビス率(024)、LPARが利用した物理CPU時間の合計を示すグル−プサ−ビス時間(025)、グル−プ毎に定義される論理CPU管理テ−ブル(050)のメモリ上のアドレスを保持する論理CPU管理テ−ブルアドレス(026)を備える。CPUグループ管理テーブル(020)には、システムで定義される最大CPUグル−プ数と同数の、CPUグル−プ番号と関連する022〜026のデータを格納するためのエントリが定義される。
ここで、グル−プサ−ビス率(024)とは、CPUグル−プを割り当てられた1つ以上のLPARが利用する物理CPU時間の、グル−プ毎の相対的な配分を示している。また、グル−プサ−ビス率(024)とは、「システム全体の物理CPU時間の何%を、CPUグループ毎に割り当てるか」を指定するユーザ設定値でもある。
図2では、最大CPUグル−プ数を2として記述している。物理CPUまたはLPARに対してCPUグル−プの割り当てを実施していない初期状態においては、ハイパバイザには、図2の値を設定する。
図3に示す物理CPU管理テ−ブル(030)は、物理CPUの識別子である物理CPU番号(031)と、物理CPUに対してオペレ−タ操作よって割り当てられるCPUグル−プ番号ii(032)とを有する。物理CPU管理テ−ブル(030)は、システムを構成する物理CPU数のエントリを持つ。図3では、物理CPU数を5として記述している。CPUグル−プの割り当てを実施していない初期状態においては、ハイパバイザには、図3の値を設定する。
図4に示すLPAR管理テ−ブル(040)は、LPARの識別子を示すLPAR番号i(041)、LPARに定義される論理CPU数の個数を示す論理CPU数ii(042)、LPARに対して割り当てられるCPUグル−プ番号iii(043)、LPARに対して割り当てられた物理CPU時間の合計を示すLPARサ−ビス時間(044)を有する。
LPAR管理テ−ブル(040)は、システムで定義される最大LPAR数のエントリを持つ。論理CPU数ii(041)、CPUグル−プ番号iii(043)は、オペレ−タ操作によって定義される。図4では、最大LPAR数を4として記述している。オペレ−タ操作が行われる前の初期状態においては、ハイパバイザは図4の値を設定する。
図5に示す論理CPU管理テ−ブル(050)は、論理CPUの属するLPARの番号を示すLPAR番号ii(051)、論理CPUのLPAR内の識別子である論理CPU番号(052)、論理CPUの状態を示す論理CPU状態(053)、論理CPUを起動した時刻を示すタイマ値を設定する起動開始時刻(054)、ゲストモ−ドからハイパバイザに移行して論理CPU動作が終了する時刻を示すタイマ値を設定する起動終了時刻(055)とを備える。
論理CPU管理テ−ブル(050)の各エントリは、LPARをアクティベイトするときに、LPAR管理テ−ブル(040)に定義された論理CPU数ii(042)に応じて定義される。アクティベイトされているLPARが存在しない初期状態においては、ハイパバイザは図5の値を設定する。
図6は、物理CPU構成を変更および確認するための画面の一例を示す。図9は、LPAR構成を変更および確認するための画面の一例を示している。ハイパバイザの入出力制御部(012)およびリソ−ス管理部(013)を介して、入出力装置(006)とリソ−ス管理デ−タ(011)との間でデ−タを送受信することにより、リソ−ス管理デ−タ(011)の定義内容を画面に表示し、画面からの変更をリソ−ス管理デ−タ(011)に反映する。
図6のPhysiCal CPU Group ConfigurationブロックのGroup#フィ−ルド(061)は、CPUグル−プの識別子であるCPUグル−プ番号を、システムで定義される最大CPUグル−プ数個表示する。図6では、最大CPUグル−プ数を2個とし、0および1を表示している。
Num P−CPUフィ−ルド(062)は、CPUグル−プを割り当てる物理CPU数を、設定および表示するためのフィ−ルドである。図6では、CPUグル−プ0を割り当てる物理CPU数を2個と設定し、CPUグル−プ1を割り当てる物理CPU数を2個と設定した状況を示している。
SRVフィ−ルド(063)は、CPUグル−プのサ−ビス率を設定および表示するためのフィ−ルドである。図6では、CPUグル−プ0のサ−ビス率を65、CPUグル−プ1のサ−ビス率を35と設定した状況を示している。
図6のPhysiCal CPU Configurationブロックは、前記Num P−CPUフィ−ルド(062)に物理CPU数を設定した時に、リソ−ス管理部(013)が物理CPUに対しCPUグル−プ割り当て処理を実施した結果を、表示する。P−CPU#フィ−ルド(064)は物理CPU番号を示し、Group#フィ−ルド(065)は当該物理CPUに割り当てたCPUグル−プを表示し、またオペレ−タによる変更も受け付ける。図6では、物理CPU0、1にCPUグル−プ0を割り当て、物理CUP2、3にCPUグル−プ1を割り当て、物理CPU4にはCPUグル−プを割り当てていない状況を示している。
図7、図8は、ハイパバイザの初期状態から図6に示す状況に設定変更された後のCPUグル−プ管理テ−ブル(020)、物理CPU管理テ−ブル(030)の各設定値の変更を示す。
図9の#フィ−ルド(071)は、LPAR番号を表示する。Grpフィ−ルド(072)は、LPARに割り当てるCPUグル−プ番号を変更および表示するフィ−ルドで、Proフィ−ルド(073)は、LPARを構成する論理CPU数を変更および表示するためのフィ−ルドである。図9では、LPAR1,2に割り当てるCPUグル−プを0に、LPAR3,4に割り当てるCPUグル−プ1に、各LPARを構成する論理CPU数を2に設定した後の状況を表示している。
図10は、ハイパバイザの初期状態から図9に示す状況に設定変更した後の、LPAR管理テ−ブル(030)の各設定値の変更を示す。
図11は、図9の状況でLPAR1,2,3,4を順にアクティベイトした後の、論理CPU管理テ−ブル(050)の変更を示す。論理CPU状態(053)には、READYを示すコ−ドである2を設定する。論理CPU番号(052)には、論理CPUのLPAR内の識別子(本実施例では、0または1)を設定する。
図12に、論理CPU状態コ−ドと論理CPU状態の対応および状態遷移を示す。RUNは、物理CPUを割り当てられている状態を示す。READYは、プロセススケジュ−ラ(014)によって物理CPUが割り当てられればRUNに変わる物理CPU割り当て待ち状態を示す。HLTは、ゲストOSによって論理CPUの動作が一時停止している状態であることを示す。
プロセススケジュ−ラ(014)が論理CPUに対して物理CPUを割り当て、ゲストプログラムが動作する状態になるとき、論理CPU状態はREADYからRUN変更される。
図13は、ハイパバイザ画面のNum P−CPUフィ−ルド(062)がオペレ−タによって変更されたときに、リソ−ス管理部(013)が実行する物理CPUへのCPUグル−プ割り当て処理を示す。以下、Num P−CPUフィ−ルド(062)設定値をオペレ−タ指定物理CPU数、Num P−CPUフィ−ルドに対応するCPUグル−プ番号(061)をオペレ−タ指定CPUグル−プ番号として、処理手順を示す。
オペレ−タ指定CPUグル−プ番号をインデックスとして、CPUグル−プ管理テ−ブル(020)のエントリを取得し、CPUグル−プ管理テ−ブルの物理CPU数(022)を処理上の一時的な変数Num P-cpuに代入する(800)。
物理CPU管理テ−ブル(030)を先頭から順に参照し(801、802)、物理CPU管理テ−ブル(030)のエントリに対して、処理803〜813を実行する。
物理CPU管理テ−ブル(030)のエントリのCPUグル−プ番号ii(032)を処理上の一時的な変数PcpuGrpに代入し(803)、NumPcpuとオペレ−タ指定物理CPU数を比較する(804)。
804にてNumPcpuとオペレ−タ指定物理CPU数とが一致している場合、処理を終了する(804→816)。
804にてNumPcpuがオペレ−タ指定物理CPU数よりも大きい場合、処理805〜807を実行する。
804にてNumPcpuがオペレ−タ指定物理CPU数よりも小さい場合、処理808〜814を実行する。
まず、804にてNumPcpuがオペレ−タ指定物理CPU数よりも小さい場合の処理805〜807について、説明する。
PcpuGrpとオペレ−タ指定CPUグル−プ番号とを比較する(805)。
PcpuGrpとオペレ−タ指定CPUグル−プ番号とが一致している場合、物理CPU管理テ−ブル(030)のエントリのCPUグル−プ番号ii(032)に、未定義を示す−1を設定し(806)、CPUグル−プ管理テ−ブル(020)のエントリの物理CPU数を1減算する(807)。例えば、NumPcpuが3、オペレータ指定物理CPU数が1の場合、物理CPU番号ループ(801〜815)が2回実行されCPUグループ管理テーブルの物理CPU数を1減算する処理が2回実行され、終了時のはCPUグループ管理テーブルの物理CPU数はオペレータ指定物理CPU数の1になる。
PcpuGrpとオペレ−タ指定CPUグル−プ番号とが一致していない場合、次の物理CPU番号を対象とした処理に移行する(805→815)。
次に、804にてNumPcpuがオペレ−タ指定物理CPU数よりも小さい場合の処理808〜814について、説明する。
物理CPU管理テ−ブル(030)を順次参照し、CPUグル−プ未割り当ての物理CPUの数をカウントし、処理上の一時的な変数NumNoGrpに代入する(808)。
(NumPcpu+NumNogrp)とオペレ−タ指定物理CPU数を比較する(809)。
(NumPcpu+NumNogrp)よりもオペレ−タ指定物理CPU数が大きい場合、指定値に対して物理CPU資源が不足しているので、その旨を示すメッセ−ジを出力してオペレ−タに注意を喚起し(810)、処理を中断する(811)。
(NumPcpu+NumNogrp)よりもオペレ−タ指定物理CPU数のほうが小さい又は等しい場合、、物理CPU管理テ−ブル(030)のエントリのCPUグル−プ番号ii(032)を代入したPcpuGrpと、未定義値である−1とを比較する(812)。
(812)の比較の結果、PcpuGrpと、未定義値−1とが一致していれば、物理CPU管理テ−ブル(030)のエントリの物理CPUグル−プ番号ii(032)にオペレ−タ指定CPUグル−プ番号を設定し(813)、CPUグル−プ管理テ−ブル(020)のエントリの物理CPU数(022)を1加算する(814)。
(812)の比較の結果、PcpuGrpと、未定義値−1とが不一致ならば、次の物理CPU番号を対象とした処理に移行する(812→815)。
本フロ−では、オペレ−タ指定物理CPU数に応じて物理CPU管理テ−ブル(030)のエントリのCPUグル−プ番号ii(032)を設定することで、物理CPUに対するCPUグル−プの割り当てを変更する例を示している。なお、図6の物理CPU番号(064)に対するCPUグル−プ割り当て(065)をオペレ−タが変更した場合には、物理CPU番号(064)をインデックスとして、物理CPU管理テ−ブル(030)のエントリを取得し、当該テ−ブルのエントリにCPUグル−プ番号(065)の値を設定する処理を実施すればよい。
図14は、プロセススケジュ−ラ(014)による論理CPUへの、物理CPUの割り当て処理を示す。プロセススケジュ−ラ(014)は、メモリ上に展開され、ハイパバイザの初期化処理が終了したあと、全物理CPU上で動作を開始する。
プロセススケジュ−ラ(014)は、動作している物理CPUの識別子である物理CPU番号をインデックスとして、物理CPU管理テ−ブル(030)のエントリを取得する(900)。
次に、物理CPU管理テ−ブル(030)のエントリのCPUグル−プ番号ii(032)が未定義値−1であるかを判定する(915)。
915においてCPUグル−プ番号ii(032)が未定義値−1である場合、物理CPUをホルト状態にして(913、914)処理を中断する。
915においてCPUグル−プ番号ii(032)が未定義値−1でない場合、CPUグル−プ番号ii(032)をインデックスとしてCPUグル−プ管理テ−ブル(020)のエントリを取得する(901)。
次に、CPUグル−プ管理テ−ブル(020)のエントリの、論理CPU管理テ−ブルアドレス(026)を使用して、論理CPU管理テ−ブルを参照する(902)。
次に、参照している論理CPU管理テ−ブル(050)から、論理CPU状態(053)がREADYの論理CPU管理テ−ブル(050)のエントリを選択する(903)。
プロセススケジュ−ラ(014)は、論理CPU管理テ−ブル(050)のエントリの選択に成功したかどうかを判断する(904)。
904においてエントリの選択に失敗したと判断した場合、物理CPUをホルト状態にして(913、914)処理を中断する。なお、割り込みの発生によってホルト状態が解除されたならば、スケジュ−ラの先頭処理(900)に戻って、物理CPUの割り当て処理を継続する。
904においてエントリの選択に成功したと判断した場合、論理CPU管理テ−ブル(050)のエントリの起動開始時刻(054)に論理CPUの起動処理906を実行するときの時刻を書き込み、論理CPU状態(053)をRUNにし(905)、論理CPUを起動する(906)。なお、物理CPUはゲストOSの命令をハイパバイザの介入なしに直接実行するゲストモ−ドに移行する(907)。
割り込みの発生によってゲストモ−ドが解除され、再度プロセススケジュ−ラ(014)が起動した場合、プロセススケジュ−ラ(014)は、ハ−ドウェアレジスタに設定されるゲストモ−ド終了要因コ−ドを読み出す。
ハイパバイザが定めた図15に例を示す論理CPU終了要因コードと論理CPU状態の対応表にしたがって、論理CPU状態を決定しcの論理CPU状態(053)に、決定した論理CPU状態に対応する論理CPU状態コードを書き込む(908)
次に、論理CPU管理テ−ブル(050)のエントリの起動終了時刻(055)にゲストモード(907)が終了したときの時刻を書き込み(909)、論理CPU管理テ−ブル(050)のエントリのLPAR番号をインデックスとしてLPAR管理テ−ブル(040)のエントリを取得する(910)。
次に、LPAR管理テ−ブル(040)のエントリのLPARサ−ビス時間(044)に、論理CPU管理テ−ブル(050)のエントリの起動終了時刻(055)と起動開始時刻(054)の差分を加算する(911)。
更に、前記の論理CPU管理テ−ブル(050)のエントリの起動終了時刻(055)と起動開始時刻(054)の差分をを、CPUグル−プ管理テ−ブル(020)のエントリのCPUグル−プサ−ビス時間(025)にも加算する(912)。
その後、スケジュ−ラの先頭処理(900)に戻って、処理を継続する。
前述のように、物理CPU管理テ−ブル(030)のCPUグループ番号ii(032)にCPUグループ番号を設定することで、物理CPUに対してしてCPUグループを割り当て、CPUグループ毎の論理CPU管理テーブル(050)に同CPUグループを割り当てられたLPARの論理CPUを登録し、CPUグループ毎の論理CPU管理テーブルに登録されている論理CPU群から、物理CPUを割り当てる論理CPUを選択することで、物理CPUと論理CPUのグルーピングを実施している。これにより、物理CPUを割り当てる論理CPUを同じグル−プ内のLPARの論理CPUに限定する効果を得ることができる。
例えば、物理CPU数が128、LPAR辺りの論理CPU数が16、LPAR数が16、システム全体の論理CPU数が16×16=256といった大規模な構成を、物理CPU数、LPAR数の同じ8個のCPUグループにグルーピングした場合、各CPUグループの物理CPU数、LPAR数、論理CPU数はそれぞれ、物理CPU数が16(=128÷8)、LPAR数が2(=16÷8)、論理CPU数が32(=LPAR辺りの論理CPU数×LPAR数=16×2)となる。
論理CPUへの物理CPUの割り当て処理において、物理CPUで動作するプロセススケジュ−ラ(014)が、各物理CPUで起動する論理CPUを選択する処理(図14)の対象とする論理CPUの数は、CPUグループを実施しない場合はシステムで定義された全論理CPU数である256個となり、CPUグループ構成を実施した場合は32個となる。
一般に広く知られている線形探索法では、データ数nの場合の平均探索回数はn/2である。したがって、論理CPUに対する物理CPU割り当て処理における論理CPUの検索処理を例えば線形探索で行った場合、前記のように32個の論理CPUを1つのCPUグループとすると、平均探索回数は32/2=16となる。これに対して、CPUグル−プを実施しない場合は、256/2=128である。つまり、CPUグループ化を実施することにより、CPUグループを実施しない場合に比べて、を論理CPUの検索処理に要する時間を1/8にすることができると言える。
また、例えば、LPAR1〜2で本番稼動用のゲストOS、LPAR3〜4で開発用のゲストOSを動作させる場合、LPAR1〜2及びLPAR3〜4に、それぞれ別のCPUグループを割り当てる。本番稼動用のゲストOSが動作するCPUグループには、より多くの物理CPUを割り当てることで、本番稼動用のゲストOSの性能向上がはかれる。
図16(a)(b)は、サ−ビス時間監視部の処理を示す。サ−ビス時間監視部は、ハイパバイザが決定するサ−ビス時間監視インタ−バル毎に動作するサ−ビス時間監視プロセスが実行されることにより実現される。サ−ビス時間監視部は、CPUグル−プ毎のサ−ビス時間からグル−プサービス率実測値を計算し、サ−ビス率と比較することによりグル−プの物理CPU資源の過不足を判断し、物理CPUに割り当てるCPUグル−プを動的に変更する。
なお、グル−プサービス率実測値とは、「システム全体の物理CPU時間の何%をCPUグループに割り当てたか」を示す測定値のことである。また、サ−ビス時間監視インタ−バルは「グル−プサービス率実測値を計算する時間間隔」であり、ハイパバイザが定める値である。
サ−ビス時間監視部は、CPUグループ管理テ−ブル(020)を先頭から順に参照し(950,951)、CPUグループ管理テ−ブル(020)のエントリに対して、図16(a)および図16(b)の処理を実行する。
サ−ビス時間監視部は、図17に示す計算式にしたがってグル−プサービス率実測値を計算し(952)、CPUグループ管理テ−ブル(020)のグル−プサ−ビス率(024)とグル−プサービス率実測値とを比較する(953)。
比較処理953で、グル−プサ−ビス率(024)がグループサービス率実測値と等しい場合、CPUグル−プ管理テ−ブル(020)エントリのグル−プサ−ビス時間(025)を初期値0に巻き戻す処理960を実行し、次のCPUグループ番号を対象としてCPUグループ管理テ−ブル(020)のエントリの参照ループ(950〜961)を実行する。
なお、図16の処理は、サービス時間監視インターバル毎の時刻t0,t1,t2・・,tn, n+1, ・・で実行される。 tn+1での実行では、tn〜tn+1の間に各CPUグループに割り当てられたCPU時間からCPUサービス率実測値を計算するので、tnでの実行ではグループサービス時間をゼロにする(960)。これが、上述の「初期値0に巻き戻す処理」のことである。
比較処理953で、グル−プサ−ビス率(024)がグループサービス率実測値より小さい場合、物理CPU資源が不足していると判断し、処理954〜962を実行する。
比較処理953で、グル−プサ−ビス率(024)がグループサービス率実測値より大きい場合、物理CPU資源に余裕があると判断し、サ−ビス時間監視部は図16(b)の処理を実施する。
まず、比較処理953で、グル−プサ−ビス率(024)がグループサービス率実測値より小さい場合の、処理954〜962について説明する。
サ−ビス時間監視部は物理CPU管理テ−ブル(030)のエントリを順次参照(954,955)して、物理CPU管理テ−ブル(030)のCPUグル−プ番号ii(032)が未定義値を示す−1であり、且つCPUグル−プを割り当てられていない物理CPUを検索する(956)。
956の検索の結果、CPUグル−プを割り当てられていない物理CPUが無い場合、次の物理CPU番号を対象として物理CPU管理テ−ブル(030)のエントリの参照ループ(954〜959)を実行する。
956の検索の結果、CPUグル−プを割り当てられていない物理CPUが有る場合、物理CPU管理テ−ブル(030)のエントリのCPUグル−プ番号ii(032?)に、CPUグル−プ番号を書き込む(957)。
そして、CPUグル−プ管理テ−ブル(020)のエントリの物理CPU数(022)に、1加算し(958)する。
そして、物理CPU管理テ−ブル(030)のエントリの参照ループを終了し(958→960)、CPUグル−プ管理テ−ブル(020)エントリのグル−プサ−ビス時間(025)を初期値0に巻き戻す(960)。
そして、次のCPUグループ番号を対象としてCPUグループ管理テ−ブル(020)のエントリの参照ループ(950〜961)を実行する。対象CPUグループ番号が最大CPUグループ番号より大きくなったならループ処理からぬけて、サ−ビス時間監視部の処理を終了する(962)
以上のように、グループサービス率がグループサービス率実測値より小さい場合、まず、CPUグル−プを割り当てられていない物理CPUを検索する。そして、958の処理により、その物理CPUを、グループサービス率がグループサービス率実測値よりも低いCPUグループに割り当てるので、グループサービス率が低いCPUグル−プを構成する物理CPU数が増加する。結果として、当該CPUグル−プのグル−プサービス率実測値が低くなるので、予め指定したグル−プサ−ビス率に近づけることが可能となる。
次に、比較処理953で、グル−プサ−ビス率(024)がグループサービス率実測値より大きい場合の処理について、図16(b)を用いて説明する。
物理CPU数が1以下であるときに、CPUグループを割り当てた物理CPU数を減算する処理(977)を実施してしまうと、当該CPUグループを割り当てた物理CPUで動作するプロセススケジュ−ラ処理(図14)の条件判断915が常に不成立になり、処理901に分岐するケースがなくなる。この場合、当該CPUグループを割り当てたLPARの論理CPUを起動することができなくなる。そこで、CPUグル−プ管理テ−ブル(020)のエントリの物理CPU数(022)をチェックする(970)。 チェック処理970の結果、物理CPU数が1以下であれば、、物理CPU管理テ−ブル(030)のエントリの参照ル−プを(954〜959)を終了し、処理960を実行する。
チェック処理970の結果、物理CPU数が2以上であれば、物理CPU管理テ−ブル(030)の対象エントリを使用して、971〜978の処理を行う。
CPUグル−プ管理テ−ブル(020)のエントリのグル−プサ−ビス時間を使用し、図18に示す計算式にしたがって、予測グル−プサービス率を計算する(971)。ここで、予測グル−プサービス率とは、CPUグループを割り当てる物理CPUの数を1減らした場合のグループサービス率を予測する数値である。
次に、予測グル−プサービス率とグル−プサ−ビス率とを比較する。
比較処理972の結果、予測グル−プサービス率の方がグル−プサ−ビス率よりも大きい場合、CPUグループを割り当てる物理CPU数を減らすと物理CPU資源の不足が生じるので処理973〜978を実行することなく処理960に戻る(972→960)。
比較処理972の結果、予測グル−プサービス率の方がグル−プサ−ビス率よりも小さいか、等しい場合、当該物理CPU数を1減らしても、グル−プサービス率実測値がグル−プサ−ビス率を超えることは無い。そこで、物理CPU管理テ−ブル(030)を順に検索し、物理CPU管理テ−ブル(030)のエントリのCPUグル−プ番号ii(032)がCPUグル−プ番号ループ(950〜961)対象のCPUグループ番号を一致しているかを判断し(975)、一致していなければ、物理CPU管理テ−ブル(020)の次のエントリに対する処理を行う(975→978)。
判断処理975で、物理CPU管理テ−ブル(030)のエントリのCPUグル−プ番号ii(032)がCPUグル−プ番号ループ(950〜961)対象のCPUグループ番号と一致していると判断すれば、物理CPU管理テ−ブル(030)のエントリのCPUグル−プ番号ii(032)に、未定義を意味する−1を書き込み(976)物理CPUグル−プ管理テ−ブル(020)のエントリの物理CPU数(022)を、1減算し(977)、物理CPU管理テ−ブル(020)の次のエントリに対する処理を行う(978)。
物理CPU 管理テ−ブルの参照ル−プが終了すれば、処理960に戻りCPUグル−プ参照テ−ブルの参照ル−プを実行する(979→960)。
図19に、サ−ビス時間監視プロセスによって実効するサ−ビス時間監視部が、図16(a)(b)に示される処理を実行したときの、CPUグル−プ構成の動的な変更の例を、CPUグル−プ管理テ−ブルの変更と対峙して示す。本図のCPUグル−プ管理テ−ブルでは、論理CPU数(023)および、論理CPU管理テ−ブルアドレス(026)の記述は省略する。
状態1は、ハイパバイザがたちあがった後、LPARをアクティベイトする前に、オペレ−タによって図6、図9に示す状態に設定されたときの、CPUグル−プ管理テ−ブル(020)及びCPUグル−プ構成を示している。LPARがアクティベイトされていないので、物理CPU(001〜005)と論理CPUとの対応付けは、形成されていいない。
4個のLPAR(200〜203)をアクティベイトすると、図14に示すプロセススケジュ−ラ(014)により、論理CPUへの物理CPUの割り当て処理が動作する。本実施例では、1000ミリ秒とするサ−ビス時間監視インタ−バルが経過したとき、当該インターバルでのCPUグループ0およびCPUグループ1の物理CPU割り当て時間は、2000ミリ秒(=1000ミリ秒×CPUグループの物理CPU数2)になる。
当該サ−ビス時間監視インタ−バルで、CPUグループ0の論理CPUはCPU使用率が平均75%、CPUグループ0の論理CPUは平均15%のCPU使用率になるような負荷のプログラムが動作していた場合、CPUグル−プ0およびCPUグル−プ1のグル−プサ−ビス時間は、状態2に示す1500(=2000ミリ秒×75%)と300(=2000ミリ秒×15%)(ミリ秒)になる。ここで、サ−ビス時間監視プロセスにより、図16に示すサ−ビス時間監視部処理が動作し、CPUグル−プ0,1の各グル−プサービス率実測値を、図17にしたがって計算すると、グル−プ0は75、グル−プ1は15となる。
グル−プ0のグル−プサービス率実測値75は、グル−プサ−ビス率65より大きいので、図16処理ステップ954〜959を実行し、物理CPU4(005)に対する物理CPU管理テ−ブル(030)のエントリにグル−プ0を設定する。この作用により、物理CPU4(005)にはCPUグル−プ0が割り当てられ、状態3に示すCPUグル−プ構成になる。
CPUグル−プ0の物理CPU数が3となった当該構成で、グル−プサ−ビス時間1500に対するグル−プサービス率実測値を計算すると、グル−プサービス率実測値は50となり、本実施例で設定されているグループサービス率:65よりも、低い値に抑えられる。
グル−プ1のグル−プサービス率実測値15は、グル−プサ−ビス率35より小さいので、図16処理ステップ970〜978を実行し、物理CPU2(003)に対する物理CPU管理テ−ブル(030)のエントリに、未定義値−1を設定する。この作用により、物理CPU2(003)は、CPUグル−プ1から解放され、状態4に示すCPUグル−プ構成になる。
CPUグル−プ1の物理CPU数が1となった当該構成で、グル−プサ−ビス時間300に対するグル−プサービス率実測値を計算すると、グル−プサービス率実測値は30となり、グル−プサ−ビス率35より低いまま、余っている物理CPUを開放することができた。
以上の通り、本実施例の計算機システムによれば、CPUグループ毎のグループサービス率に着目し、サービス時間監視インターバルごとにグループサービス率実測値を計算しとぐループサービス率と比較することにより、CPUグループの物理CPU資源の過不足を判断し物理CPUへのCPUグループ割り当てを動的に変更する作用を実現し、物理CPU資源を効率よく使用する効果を達成できる。
001〜005 物理CPU、006 入出力装置、010 ハイパバイザ、011 リソ−ス管理デ−タ、012 入出力管理部、013 リソ−ス管理部、014 プロセススケジュ−ラ、015 論理CPUプロセス、016 サ−ビス時間監視プロセス、100〜101 CPUグル−プ、200〜203 LPAR、300〜307 論理CPU。

Claims (12)

  1. 複数の物理CPUと、複数のLPARと、前記LPARを構成する少なくとも1つ以上の論理CPUに前記物理CPUを時分割共有させて割り当てるハイパバイザとを備える仮想計算機システムにおいて、
    前記ハイパバイザは、
    前記物理CPUの識別子である物理CPU番号、及び前記物理CPUに割り当てるCPUグル−プの識別子であるCPUグループ番号を関連付けて保持する物理CPU管理情報と、
    前記LPARの識別子を示すLPAR番号、前記LPARを構成する論理CPUの数、及び前記LPARに割り当てる前記CPUグル−プの識別子であるCPUグループ番号を関連付けて保持するLPAR管理情報とを有し、
    前記ハイパバイザは、前記LPARをアクティベイトするとき、
    前記CPUグル−プ毎に、前記CPUグル−プを割り当てたLPARを構成する前記論理CPUのエントリを作成し、
    前記論理CPUが構成するLPARのLPAR番号、前記論理CPUの前記LPAR内の識別子である論理CPU番号、及び前記論理CPUの状態を前記エントリ毎に関連付けて論理CPU管理情報として管理し、
    前記論理CPUに前記物理CPUを割り当てる際、同じCPUグループ番号に属する物理CPUを時分割共有させて、同じCPUグループ番号に属する論理CPUに割り当てることを特徴とする仮想計算機システム
  2. 前記ハイパイザは、前記CPUグル−プ番号、前記CPUグル−プを割り当てた物理CPUの数、前記CPUグル−プを割り当てたLPARを構成する論理CPUの数、及び前記論理CPU管理情報で管理される情報のCPUグループ毎のメモリ上のアドレス、LPARが利用する物理CPUの利用時間をCPUグル−プ毎に予め設定した配分を示すグループサ−ビス率、及びCPUグループ内のLPARが利用した物理CPUの利用時間を示すグループサ−ビス時間を関連付けて保持するCPUグループ管理情報を有し、
    前記ハイパバイザが有するサービス時間監視部は、
    前記仮想計算機システムが有する全ての物理CPUの総利用時間における前記CPUグループ毎のグループサービス時間の割合であるグループサービス率実測値を算出し、
    前記グループサービス率実測値と前記グループサービス率とを比較して、前記CPUグループ毎の物理CPU資源の過不足を判断し、
    前記判断した過不足の状況に応じて、物理CPUに割り当てるCPUグループを動的に変更することを特徴とする請求項1記載の仮想計算機システム
  3. 前記サービス時間監視部によるグループサービス率実測値とグループサービス率との比較において、
    前記グループサービス率実測値が前記グループサービス率より大きい場合、前記CPUグル−プを未割り当ての物理CPUに、前記CPUグル−プを割り当て、
    前記グループサービス率実測値が前記グループサービス率と等しい場合、前記グループサービス時間をゼロとし、
    前記グループサービス率実測値が前記グループサービス率より小さい場合、前記CPUグル−プを割り当てた物理CPUのうちの少なくとも1つ以上に対し、前記CPUグル−プを未割り当てに変更することを特徴とする請求項2記載の仮想計算機システム
  4. 前記LPAR管理情報は、LPARに対して割り当てられた物理CPU時間の合計を示すLPARサ−ビス時間を保持することを特徴とする請求項1記載の仮想計算機システム
  5. 前記ハイパイザのプロセススケジューラは、
    前記物理CPU管理情報を参照し、
    動作している物理CPUの物理CPU番号をインデックスとして、前記物理CPU管理情報のエントリを取得し、
    前記取得した物理CPU管理情報のエントリに含まれるCPUグル−プ番号を参照し、
    前記参照したCPUグル−プ番号が定義されていない場合、処理を中断し、
    前記参照したCPUグル−プ番号が定義されている場合、前記参照したCPUグル−プ番号をインデックスとして前記CPUグル−プ管理情報のエントリを取得し、
    前記取得したCPUグル−プ管理情報のエントリに含まれる前記論理CPU管理情報で管理される情報のCPUグループ毎のメモリ上のアドレスを参照し、
    前記参照したアドレスに対応する前記論理CPU管理情報のCPUグループを参照し、
    前記参照した論理CPU管理情報のCPUグループに含まれるエントリのうち、前記論理CPUの状態がREADYであるエントリを選択し、
    前記エントリの選択が成功した場合、前記論理CPU管理テ−ブルのエントリの起動開始時刻に論理CPUの起動処理906を実行するときの時刻を書き込み、論理CPU状態をRUNにし、論理CPUを起動することを特徴とする請求項1記載の仮想計算機システム
  6. 前記論理CPU管理情報は、前記論理CPU上でのゲストプログラム起動開始時刻に対応するタイマ値、及び前記ゲストプログラム終了時刻に対応するタイマ値、とを関連付けて管理することを特徴とする請求項1記載の仮想計算機システム
  7. 前記論理CPU管理情報において、
    前記論理CPU上でのゲストプログラム起動開始時刻に対応するタイマ値とは、前記論理CPUを起動した時刻を示すタイマ値を設定する起動開始時刻であり、
    前記ゲストプログラム終了時刻に対応するタイマ値とは、、物理CPUがゲストOSの命令をハイパバイザの介入なしに直接実行するモードであるゲストモ−ドからハイパバイザに移行して前記論理CPU動作が終了する時刻を示すタイマ値を設定する起動終了時刻であることを特徴とする請求項6記載の仮想計算機システム
  8. 複数の物理CPUと、複数のLPARと、前記LPARを構成する少なくとも1つ以上の論理CPUに前記物理CPUを時分割共有させて割り当てるハイパバイザとを備える仮想計算機システムにおけるCPU割り当て方法であって
    前記ハイパバイザは、
    前記物理CPUの識別子である物理CPU番号、及び前記物理CPUに割り当てるCPUグル−プの識別子であるCPUグループ番号を関連付けて保持する物理CPU管理情報と、前記LPARの識別子を示すLPAR番号、前記LPARを構成する論理CPUの数、及び前記LPARに割り当てる前記CPUグル−プの識別子であるCPUグループ番号を関連付けて保持するLPAR管理情報とを有し、
    前記LPARをアクティベイトするとき、
    前記CPUグル−プ毎に、前記CPUグル−プを割り当てたLPARを構成する前記論理CPUのエントリを作成し、
    前記論理CPUが構成するLPARのLPAR番号、前記論理CPUの前記LPAR内の識別子である論理CPU番号、及び前記論理CPUの状態を前記エントリ毎に関連付けて論理CPU管理情報として管理し、
    前記論理CPUに前記物理CPUを割り当てる際、同じCPUグループ番号に属する物理CPUを時分割共有させて、同じCPUグループ番号に属する論理CPUに割り当てることを特徴とするCPU割り当て方法。
  9. 前記ハイパイザは、前記CPUグル−プ番号、前記CPUグル−プを割り当てた物理CPUの数、前記CPUグル−プを割り当てたLPARを構成する論理CPUの数、及び前記論理CPU管理情報で管理される情報のCPUグループ毎のメモリ上のアドレス、LPARが利用する物理CPUの利用時間をCPUグル−プ毎に予め設定した配分を示すグループサ−ビス率、及びCPUグループ内のLPARが利用した物理CPUの利用時間を示すグループサ−ビス時間を関連付けて保持するCPUグループ管理情報を有し、
    前記ハイパバイザは、
    前記仮想計算機システムが有する全ての物理CPUの総利用時間における前記CPUグループ毎のグループサービス時間の割合であるグループサービス率実測値を算出し、
    前記グループサービス率実測値と前記グループサービス率とを比較して、前記CPUグループ毎の物理CPU資源の過不足を判断し、
    前記判断した過不足の状況に応じて、物理CPUに割り当てるCPUグループを動的変更することを特徴とする請求項8記載のCPU割り当て方法。
  10. 前記グループサービス率実測値とグループサービス率との比較において、
    前記グループサービス率実測値が前記グループサービス率より大きい場合、前記CPUグル−プを未割り当ての物理CPUに、前記CPUグル−プを割り当て、
    前記グループサービス率実測値が前記グループサービス率と等しい場合、前記グループサービス時間をゼロとし、
    前記グループサービス率実測値が前記グループサービス率より小さい場合、前記CPUグル−プを割り当てた物理CPUのうちの少なくとも1つ以上に対し、前記CPUグル−プを未割り当てに変更することを特徴とする請求項9記載のCPU割り当て方法。
  11. 前記ハイパイザは、
    前記物理CPU管理情報を参照し、
    動作している物理CPUの物理CPU番号をインデックスとして、前記物理CPU管理情報のエントリを取得し、
    前記取得した物理CPU管理情報のエントリに含まれるCPUグル−プ番号を参照し、
    前記参照したCPUグル−プ番号が定義されていない場合、処理を中断し、
    前記参照したCPUグル−プ番号が定義されている場合、前記参照したCPUグル−プ番号をインデックスとして前記CPUグル−プ管理情報のエントリを取得し、
    前記取得したCPUグル−プ管理情報のエントリに含まれる前記論理CPU管理情報で管理される情報のCPUグループ毎のメモリ上のアドレスを参照し、
    前記参照したアドレスに対応する前記論理CPU管理情報のCPUグループを参照し、
    前記参照した論理CPU管理情報のCPUグループに含まれるエントリのうち、前記論理CPUの状態がREADYであるエントリを選択し、
    前記エントリの選択が成功した場合、前記論理CPU管理テ−ブルのエントリの起動開始時刻に論理CPUの起動処理906を実行するときの時刻を書き込み、論理CPU状態をRUNにし、論理CPUを起動することを特徴とする請求項8記載のCPU割り当て方法。
  12. 論理CPUに物理CPUを割り当て論理CPU上でゲストプログラムを動作させるときに、ゲストプログラム起動時刻に対応するタイマ値を論理CPU管理テ−ブルに設定し、
    割り当てていた物理CPUで割り込みが発生しゲストプログラム動作が中断しハイパバイザに制御が移行するときに、
    論理CPU終了時刻に対応するタイマ値を論理CPU管理テ−ブルに設定し、
    (終了時刻−開始時刻)を当該論理CPUが属するLPARに割り当てられているCPUグル−プのグル−プサ−ビス時間に加算することを特徴とする請求項8記載のCPU割り当て方法。
JP2010126431A 2010-06-02 2010-06-02 仮想計算機およびcpu割り当て方法 Expired - Fee Related JP5178778B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010126431A JP5178778B2 (ja) 2010-06-02 2010-06-02 仮想計算機およびcpu割り当て方法
US13/094,467 US8464258B2 (en) 2010-06-02 2011-04-26 Virtual computer and CPU allocation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010126431A JP5178778B2 (ja) 2010-06-02 2010-06-02 仮想計算機およびcpu割り当て方法

Publications (2)

Publication Number Publication Date
JP2011253334A JP2011253334A (ja) 2011-12-15
JP5178778B2 true JP5178778B2 (ja) 2013-04-10

Family

ID=45065498

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010126431A Expired - Fee Related JP5178778B2 (ja) 2010-06-02 2010-06-02 仮想計算機およびcpu割り当て方法

Country Status (2)

Country Link
US (1) US8464258B2 (ja)
JP (1) JP5178778B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9929951B1 (en) * 2011-05-24 2018-03-27 Amazon Technologies, Inc. Techniques for using mappings to manage network traffic
CN104461735B (zh) * 2014-11-28 2018-03-27 杭州华为数字技术有限公司 一种虚拟化场景下分配cpu资源的方法和装置
US10395195B2 (en) * 2016-01-08 2019-08-27 International Business Machines Corporation Provisioning virtual machines to optimize application licensing costs
US10956193B2 (en) * 2017-03-31 2021-03-23 Microsoft Technology Licensing, Llc Hypervisor virtual processor execution with extra-hypervisor scheduling
CN109308196B (zh) * 2018-08-22 2020-04-14 腾讯科技(深圳)有限公司 一种多机型设备复用方法、装置及存储介质
US11347558B2 (en) * 2019-12-09 2022-05-31 Nutanix, Inc. Security-aware scheduling of virtual machines in a multi-tenant infrastructure

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3186244B2 (ja) 1992-09-18 2001-07-11 株式会社日立製作所 仮想計算機システム
US6986137B1 (en) * 1999-09-28 2006-01-10 International Business Machines Corporation Method, system and program products for managing logical processors of a computing environment
JP2004246779A (ja) * 2003-02-17 2004-09-02 Nec Corp マルチプロセッサシステム及びデバイス共有方法
JP4982971B2 (ja) * 2004-09-29 2012-07-25 ソニー株式会社 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム
JP4519098B2 (ja) * 2006-03-30 2010-08-04 株式会社日立製作所 計算機の管理方法、計算機システム、及び管理プログラム
JP2008276320A (ja) * 2007-04-25 2008-11-13 Nec Corp 仮想システム制御方法およびコンピュータシステム
US8185907B2 (en) * 2007-08-20 2012-05-22 International Business Machines Corporation Method and system for assigning logical partitions to multiple shared processor pools
JP4839328B2 (ja) * 2008-01-21 2011-12-21 株式会社日立製作所 サーバの消費電力制御装置、サーバの消費電力制御方法及びコンピュータプログラム

Also Published As

Publication number Publication date
US20110302579A1 (en) 2011-12-08
US8464258B2 (en) 2013-06-11
JP2011253334A (ja) 2011-12-15

Similar Documents

Publication Publication Date Title
JP5577412B2 (ja) 計算機システム、マイグレーション方法及び管理サーバ
Kc et al. Scheduling hadoop jobs to meet deadlines
JP6294586B2 (ja) 命令スレッドを組み合わせた実行の管理システムおよび管理方法
US9183016B2 (en) Adaptive task scheduling of Hadoop in a virtualized environment
EP3036625B1 (en) Virtual hadoop manager
JP5370946B2 (ja) リソース管理方法及び計算機システム
JP5178778B2 (ja) 仮想計算機およびcpu割り当て方法
KR101385827B1 (ko) 가상화된 환경들 내의 리소스 할당
JP4705051B2 (ja) 計算機システム
KR20110075295A (ko) 멀티코어 시스템 상에서 단위 작업을 할당하는 방법 및 그 장치
WO2009029496A1 (en) Virtualization planning system
Kim et al. Constraint-aware VM placement in heterogeneous computing clusters
KR20130088513A (ko) 멀티코어 시스템의 태스크 분배 방법 및 장치
WO2022108631A1 (en) Coordinated container scheduling for improved resource allocation in virtual computing environment
JP2011186701A (ja) リソース割当装置、リソース割当方法、およびリソース割当プログラム
EP3274859B1 (en) Cluster computing service assurance apparatus and method
US10771982B2 (en) Resource utilization of heterogeneous compute units in electronic design automation
KR20100074920A (ko) 멀티코어 시스템에서의 로드 밸런싱 장치 및 방법
Liu et al. High-responsive scheduling with MapReduce performance prediction on hadoop YARN
WO2014141419A1 (ja) 仮想計算機システムおよびスケジューリング方法
JP2010191567A (ja) 情報管理装置及び情報管理方法等
CN116578416A (zh) 一种基于gpu虚拟化的信号级仿真加速方法
Jiang et al. Resource allocation in contending virtualized environments through VM performance modeling and feedback
JP2011215812A (ja) 仮想計算機管理方法、計算機システム及びリソース管理プログラム
US20210019159A1 (en) Workload placement using conflict cost

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120417

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120821

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120919

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: 20121211

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130108

R151 Written notification of patent or utility model registration

Ref document number: 5178778

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160118

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees