(58)【調査した分野】(Int.Cl.,DB名)
前記複数のパーティションそれぞれは、別個のオペレーティングシステム(OS)を実行することができ、互いに独立して動作することを特徴とする、請求項5に記載のコンピュータサーバ。
【発明を実施するための形態】
【0007】
本発明に関する説明は構造的又は機能的説明のための実施例に過ぎないので、本発明の権利範囲は本文に説明された実施例によって限定されるものと解釈されてはならない。すなわち、実施例は多様な変更が可能であり、様々な形態を有することができるので、本発明の権利範囲は技術的思想を実現することが可能な均等物を含むものと理解されてはならない。
【0008】
一方、本明細書において述べられる用語の意味は次のように理解されるべきで
ある。
【0009】
「第1」、「第2」などの用語は一つの構成要素を他の構成要素から区別するためのものであり、これらの用語によって権利範囲が限定されてはならない。例えば、第1構成要素は第2構成要素と命名でき、同様に第2構成要素も第1構成要素と命名できる。
【0010】
「及び/又は」の用語は、一つ以上の関連項目から提示可能な全ての組み合わせを含むものと理解されてはならない。例えば、「第1項目、第2項目及び/又は第3項目」の意味は第1、第2又は第3項目だけでなく、第1、第2又は第3項目の2つ以上から提示できる全ての項目の組み合わせを意味する。
【0011】
ある構成要素が他の構成要素に「連結されて」いると言及されたときは、その他の構成要素に直接連結されてもよいが、中間に他の構成要素が存在してもよいと理解されるべきである。反面、ある構成要素が他の構成要素に「直接連結されて」いると言及されたときは、中間に他の構成要素が存在しないものと理解されるべきである。一方、構成要素間の関係を説明する他の表現、すなわち「〜の間に」と「直ちに〜の間に」又は「〜に隣り合う」と「〜に直接隣り合う」なども同様に解釈されるべきである。
【0012】
単数の表現は、文脈上明白に異なる意味を有しない限り、複数の表現を含むものと理解されるべきであり、「含む」又は「有する」などの用語は、説示された特徴、数字、段階、動作、構成要素、部分品又はこれらの組み合わせが存在することを指定するものであり、一つ又はそれ以上の他の特徴、或いは数字、段階、動作、構成要素、部分品又はこれらの組み合わせの存在又は付加可能性を予め排除しないものと理解されるべきである。
【0013】
各段階において、識別符号(例えば、a、b、c、・・・)は、説明の便宜のために使用されるものであり、各段階の順序を説明するのではない。各段階は、文脈上明白に特定の順序を記載していない限り、明記された順序とは違う順で起こりうる。すなわち、各段階は明記された順序と同様に行われてもよく、実質的に同時に行われてもよく、反対の順で行われてもよい。
【0014】
ここで使用される全ての用語は、別途定義されない限り、本発明の属する分野における通常の知識を有する者によって一般に理解されるものと同一の意味をもつ。一般に使用される辞典に定義された用語は、関連技術の文脈上有する意味と一致するものと解釈されるべきであり、本明細書で明白に定義しない限り、理想的且つ過度に形式的な意味を有するものと解釈できない。
【0015】
図1は本発明の一実施例に係るCPUの仮想化を支援することが可能なコンピュータサーバの物理的構造を説明するための図である。
【0016】
図1を参照すると、物理的な観点から、コンピュータサーバ100は、CPUプール110、バス120、及びメモリ130を含む。
【0017】
CPUプール110は複数のCPU112を含む。一実施例において、CPUプール110は別個のPCB(Printed Circuit Board)で具現されてバス120に連結できる。バス120は、CPUプール110とメモリ130とを物理的に連結するためのインターフェースであって、一実施例においてはPCI(Peripheral Component Interconnect) Expressで具現できる。メモリ130はCPUプール110によって接近できる。メモリ130は具現に応じて独立的なメモリ又は共有メモリとして使用できる。
【0018】
図2は
図1のコンピュータサーバの論理的構造を説明するための図である。
【0019】
図2を参照すると、論理的な観点から、コンピュータサーバ100は、可用CPUプール210、資源管理
機及び監視
機220、及び少なくとも2つのパーティション230を含む。
【0020】
可用CPUプール210は、CPUプール110に含まれたCPUのうち、パーティション230によって占有されていないCPUの集合に相応する。例えば、CPUプール110に含まれたCPU数が20に相応し、パーティション230a〜230dによって使用されるCPU数がそれぞれ3、2、4、6個に相応するならば、可用CPUプール210に含まれたCPU数は5に相応する。
【0021】
資源管理
機及び監視
機220は可用CPUプール210を管理し、少なくとも2つのパーティション230は互いに独立してオペレーティングシステム(OS)を実行し、資源管理
機及び監視
機220と協力して、CPUプール110に含まれたCPUを相互排他的に使用する。例えば、もし
図1のCPU1(112)が第1パーティション230aに割り当てられると、CPU1(112)は他のパーティション230b〜230dに割り当てられることができず、第1パーティション230aと第2パーティション230bで実行されるオペレーティングシステムはそれぞれ異なりうる。
【0022】
少なくとも2つのパーティション230それぞれは、CPUプール110に含まれた複数のCPUのうち少なくとも一部(以下、「第1CPUグループ」という)を排他的に割り当てられて特定の作業を行う。特定の作業中に、少なくとも2つのパーティション230それぞれは第1CPUグループの少なくとも一部(以下、「第2CPUグループ」という)をCPUプール110に返還し、或いはCPUプール110に含まれた可用CPUの少なくとも一部(以下、「第3CPUグループ」という)に対する追加割り当てを要請することができる。
【0023】
資源管理
機及び監視
機220は、可用CPUプール210を管理するために、特定のパーティション(例えば、230a)から追加のCPU割り当ての要請を受けた場合には追加割り当ての要請を承認するか否かを決定する。このために、資源管理
機及び監視
機220は少なくとも2つのパーティション230それぞれに対するパーティション状態情報を管理し、パーティション状態情報は現在使用中のCPU数、保障されたCPU数、キャップ状態、最大可用CPU数に関する情報を含む。これに関する一つ以上の個別パーティション230それぞれに対するCPU資源の使用率は下記の数式1によって計算される。
【0024】
[数式1]
PCRATE=(PC/min(APP+PC
,MC))*100
ここで、PCは特定のパーティションが現在使用中のCPU数であり、APPはCPUプール110の可用CPU数であり、MCはキャップ状態が
アンキャップ(保障されたCPU数以外のCPUを要請することが可能な状態)に相応する場合には特定のパーティションによって要請できる最大CPU数である。
【0025】
もしキャップ状態が
キャップ(保障されたCPU数以外のCPUを要請することができない状態)に相応する場合には、PCRATE値は現在使用中のCPU数を保障されたCPU数で割った値に相応する。
【0026】
以下、
図3〜
図6を参照して、資源管理
機及び監視
機220の動作について説明する。
【0027】
図3〜
図6は
図2の資源管理
機及び監視
機によって管理されるパーティション状態情報を説明するための表である。
【0028】
図3はパーティション状態情報を示し、パーティション状態情報は現在使用中のCPU数(PC、Processor Consumed)、保障されたCPU数(EC、Entitled Capacity)、キャップ状態(Capped Status)、最大可用CPU数(MC、Max Virtual CPUs)に関する情報を含む。
【0029】
図3において、第1パーティション230aの場合、保障されたCPU数が4個、現在使用中のCPU数が3個、最大可用CPU数が10個、キャップ状態は
アンキャップ(保障されたCPU数以外のCPUを要請することが可能な状態)に相応する。第2パーティション230bの場合、保障されたCPU数が4個、現在使用中のCPU数が2個、最大可用CPU数が10個、キャップ状態は
アンキャップ(保障されたCPU数以外のCPUを要請することが可能な状態)に相応する。第3パーティション230cの場合、保障されたCPU数が6個、現在使用中のCPU数が4個、最大可用CPU数が10個、キャップ状態は
キャップ(保障されたCPU数以外のCPUを要請することができない状態)に相応する。第4パーティション230dの場合、保障されたCPU数が6個、現在使用中のCPU数が6個、最大可用CPU数が10個、キャップ状態は
アンキャップ(保障されたCPU数以外のCPUを要請することが可能な状態)に相応する。
【0030】
図4は
図2の資源管理
機及び監視
機が
図3のパーティション状態情報からPCRATE値を計算する過程を説明する表である。
【0031】
APP(可用CPU数)は5に相応するので、前記数式1に示すように、PCRATE値はパーティション230それぞれ38%、29%、67%、60%に相応する。また、可用CPU数が5であるから、それぞれのパーティションは必要の際に追加のCPU割り当てを要請することができる。
【0032】
一方、資源管理
機及び監視
機220は、PCRATE方式ではなく他の方式で対比率を測定することができる。他の一実施例において、資源管理
機及び監視
機220は保障されたCPU数(EC)対比の現在使用中のCPU数(PC)を示すためのPCRATE2値に基づいて対比率を決定することができる。もし現在使用中のCPU数(PC)が保障されたCPU数(EC)以上の場合にはPCRATE2値は100%に相応する。別の一実施例において、資源管理
機及び監視
機220は、最大可用CPU数(MC)対比の現在使用中のCPU数(PC)を示すためのPCRATE3値に基づいて対比率を決定することができる。
図4に示すように、PCRATE3が使用される場合、資源管理
機及び監視
機220は第3パーティション230cを過負荷状態と判断することができる。
【0033】
図5は
図2の資源管理
機及び監視
機が他のパーティション状態情報からPCRATE値を計算する過程を説明する表である。
【0034】
図5の場合、
図3と対比して、パーティション230それぞれの現在使用中のCPU数(PC)は2、8、6、4に相応する。
【0035】
APP(可用CPU数)は0に相応するので、前記数式1に示すように、PCRATE値はパーティション230それぞれ100%、100%、100%、100%に相応する。また、可用CPU数が0であるから、資源パーティション230それぞれは追加のCPU割り当てを要請することができない。このような状態で、資源管理
機及び監視
機220はPCRATE値に基づいて管理者にコンピュータサーバの性能低下を知らせることができる。例えば、資源管理
機及び監視
機220はショートメッセージ、電子メール、自動音声電話によってシステム管理者に性能低下を知らせることができる。
【0036】
一方、対比率がPCRATE2方式で測定される場合には第4パーティション230dは過負荷状態ではないと判断でき、対比率がPCRATE3方式で測定される場合には第1パーティション230a、第2パーティション230b及び第4パーティション230dは過負荷状態ではないと判断できる。
【0037】
図6は
図2の資源管理
機及び監視
機が別のパーティション状態情報からPCRATE値を計算する過程を説明する表である。
【0038】
図6の場合、
図3と対比して、パーティション230それぞれの現在使用中のCPU数(PC)は5、8、2、5に相応する。
【0039】
APP(可用CPU数)は0に相応するから、前記数式1に示すように、PCRATE値はパーティション230それぞれ100%、100%、33%、100%に相応する。したがって、第3パーティション230cは追加のCPU割り当てを要請することができ、このような要請がある場合、資源管理
機及び監視
機220は他のパーティション230a、230b、230dから現在使用中のCPUを持ってくることもできる。
【0040】
一方、対比率がPCRATE2方式で測定される場合には第4パーティション230dは過負荷状態ではないと判断でき、対比率がPCRATE3方式で測定される場合には第1パーティション230a、第2パーティション230b及び第4パーティション230dは過負荷状態ではないと判断できる。
【0041】
図7は
図2の資源管理
機及び監視
機の動作方式を説明するためのフローチャートである。
【0042】
資源管理
機及び監視
機220は、特定のパーティション230aからCPU割り当ての要請を受けることができ(段階S710)、資源管理
機及び監視
機はパーティション230それぞれに対するパーティション状態情報を得る(段階S720)。パーティション状態情報は、
図3に示すように、現在使用中のCPU数(PC、Processor Consumed)、保障されたCPU数(EC、Entitled Capacity)、キャップ状態(Capped Status)、最大可用CPU数(MC、Max Virtual CPUs)に関する情報を含む。
【0043】
資源管理
機及び監視
機220はパーティション状態情報に基づいてPCRATE値を計算する(段階S730)。他の実施例において、資源管理
機及び監視
機220はパーティション状態情報に基づいてPCRATE2又はPCRATE3を計算することができる。
【0044】
本発明は次の効果を持つことができる。但し、特定の実施例が次の効果を全て含むべき或いは次の効果のみを含むべきという意味ではないので、本発明の権利範囲はこれによって制限されるものと理解されてはならない。
【0045】
一実施例に係るコンピュータサーバは、パーティション状態情報からCPU使用率を効率よく測定してCPUの仮想化を支援することができる。すなわち、コンピュータサーバはより正確にCPU使用率を測定することにより、CPUの資源配分とシステム管理者のシステム管理を助けることができる。
【0046】
以上、本発明の好適な実施例を参照して説明したが、該当技術分野における当業者は、下記の特許請求の範囲に記載された本発明の思想及び領域から逸脱しない範疇内において、本発明を様々に修正及び変更させることができることを理解するであろう。