(57)【特許請求の範囲】
【請求項１】
中央演算装置のリソース割り当て方法であって、
仮想システムに適用可能な計算ノードにより、高度なリソースプールの中の仮想マシンの数の変化に従って、前記高度なリソースプールの中の割り当てられた物理的なコアの数を動的に調整するステップ；及び
前記計算ノードにより、前記高度なリソースプールの中の前記割り当てられた物理的なコアの数に従って、デフォルトリソースプールの中の割り当てられた物理的なコアの数を調整するステップ；
を備え、
前記高度なリソースプール及び前記デフォルトリソースプールは、リソースプールのサービスレベルに従って、中央処理装置の物理的なコアを分割することにより取得されるリソースプールであり、前記デフォルトリソースプールの中の仮想マシンは、前記デフォルトリソースプールの中の全ての物理的なコアの計算リソースを共有し、前記高度なリソースプールの中で実行する仮想マシンは、１つの物理的なコア計算リソースの所定の割合を占有可能であり、
前記動的に調整するステップは：
前記高度なリソースプールの中の前記仮想マシンの数が減少した場合に、前記計算ノードにより、減少した仮想マシンの数及び前記高度なリソースプールのサービスレベルに従って、前記高度なリソースプールから減算する必要のある物理的なコアの数を決定するステップ；及び
前記デフォルトリソースプールに対して、前記高度なリソースプールから減算する必要のある前記物理的なコアの数を割り当てるステップ；を含む、
方法。
【請求項２】
前記サービスレベルは、各仮想マシンにより占有され得る物理的なコア計算リソースの数を含む、
請求項１に記載の方法。
【請求項３】
前記高度なリソースプールは、レベル１のリソースプールを含み、該レベル１のリソースプールの中の各仮想マシンは、１つの物理的なコア計算リソースを排他的に占有可能である、
請求項１又は２に記載の方法。
【請求項４】
前記高度なリソースプールは、レベル２のリソースプールを含み、該レベル２のリソースプールの中の各仮想マシンは、１つの物理的なコア計算リソースの５０％を占有可能である、
請求項１から３のいずれか１項に記載の方法。
【請求項５】
前記高度なリソースプールの中の前記仮想マシンの前記数が減少した場合に、前記計算ノードにより、減少した仮想マシンの数及び前記高度なリソースプールのサービスレベルに従って、前記高度なリソースプールから減算する必要のある物理的コアの数を決定する前記ステップ；及び前記デフォルトリソースプールに対して、前記高度なリソースプールから減算する必要のある前記物理的なコアの数を割り当てる前記ステップは：前記高度なリソースプールの中で実行する仮想マシンがない場合に、前記高度なリソースプールの中の前記物理的なコアを前記デフォルトリソースプールに割り当てるステップ；を含む、
請求項１から４のいずれか１項に記載の方法。
【請求項６】
仮想システムに適用可能な計算ノードにより、高度なリソースプールの中の仮想マシンの数の変化に従って、前記高度なリソースプールの中の割り当てられた物理的なコアの数を動的に調整する前記ステップの前に、
前記方法は、さらに：
前記高度なリソースプールの中の前記仮想マシンの数が変化した後、前記高度なリソースプールの前記サービスレベルを満たすためには、前記高度なリソースプールの中の前記物理的なコアの数が不十分であると決定するステップ；を含む、
請求項１から５のいずれか１項に記載の方法。
【請求項７】
仮想システムに適用可能な計算ノードにより、高度なリソースプールの中の仮想マシンの数の変化に従って、前記高度なリソースプールの中の割り当てられた物理的なコアの数を動的に調整する前記ステップの前に、
前記方法は、さらに：
前記高度なリソースプールの中の前記仮想マシンの数が変化した後、前記高度なリソースプールの中に、該高度なリソースプールの中の仮想マシンにサービスを提供しない少なくとも１つの使用されていない物理的なコア計算リソースが存在することを決定するステップ；を含む、
請求項１から６のいずれか１項に記載の方法。
【請求項８】
前記方法は、さらに：
前記計算ノードにより、前記デフォルトリソースプールの中の仮想マシンに対して、各仮想マシンにより占有可能な前記物理的なコア計算リソースの上限割合又は下限割合を設定するステップ；を含む
請求項１から７のいずれか１項に記載の方法。
【請求項９】
前記方法は、さらに：
前記計算ノードにより、前記デフォルトリソースプールの中の前記仮想マシンに対して、物理的なコア計算リソースの使用における各仮想マシンの優先順位を設定するステップ、及び優先順位の高い順に、前記デフォルトリソースプールの中の前記仮想マシンに対して、物理的なコア計算リソースを割り当てるステップ；を含む
請求項１から８のいずれか１項に記載の方法。
【請求項１０】
仮想システムに適用可能な計算ノードであって、
高度なリソースプールの中の仮想マシンの数の変化に従って、前記高度なリソースプールの中の割り当てられた物理的なコアの数を動的に調整し、かつ前記高度なリソースプールの中の前記割り当てられた物理的なコアの数に従って、デフォルトリソースプールの中の割り当てられた物理的なコアの数を調整するように構成されるリソース調整部；及び
中央処理装置の物理的なコアを、前記デフォルトリソースプール及び前記高度なリソースプールに、リソースプールのサービスレベルに従って分割するように構成されるリソース割当部であり、前記デフォルトリソースプールの中の仮想マシンは、前記デフォルトリソースプールの中の全ての物理的なコアの計算リソースを共有し、前記高度なリソースプールの中で実行する仮想マシンは、１つの物理的なコア計算リソースの所定の割合を占有可能であるリソース割当部；を備え、
前記高度なリソースプールの中の前記仮想マシンの数が減少した場合に、前記リソース調整部は、減少した仮想マシンの数及び前記高度なリソースプールのサービスレベルに従って、前記高度なリソースプールから減算する必要のある物理的なコアの数を決定し、かつ前記デフォルトリソースプールに対して、前記高度なリソースプールから減算する必要のある前記物理的なコアの数を割り当てる、
計算ノード。
【請求項１１】
前記サービスレベルは、各仮想マシンにより占有され得る物理的なコア計算リソースの数を含む、
請求項１０に記載の計算ノード。
【請求項１２】
前記高度なリソースプールは、レベル１のリソースプールを含み、該レベル１のリソースプールの中の各仮想マシンは、１つの物理的なコア計算リソースを排他的に占有可能である、
請求項１０又は１１に記載の計算ノード。
【請求項１３】
前記高度なリソースプールは、レベル２のリソースプールを含み、該レベル２のリソースプールの中の各仮想マシンは、１つの物理的なコア計算リソースの５０％を占有可能である、
請求項１０から１２のいずれか１項に記載の計算ノード。
【請求項１４】
前記リソース調整部は、前記高度なリソースプールの中で実行する仮想マシンがない場合に、前記高度なリソースプールの中の前記物理的なコアを前記デフォルトリソースプールに対して割り当てるように構成される、
請求項１０から１３のいずれか１項に記載の計算ノード。
【請求項１５】
前記計算ノードは：
前記高度なリソースプールの中の前記仮想マシンの数が変化した後、前記高度なリソースプールの前記サービスレベルを満たすためには、前記高度なリソースプールの中の前記物理的なコアの数が不十分であると決定するように構成される第１決定部；をさらに備える
請求項１０から１４のいずれか１項に記載の計算ノード。
【請求項１６】
前記計算ノードは：
前記高度なリソースプールの中の前記仮想マシンの数が変化した場合、前記高度なリソースプールの中に、該高度なリソースプールの中の仮想マシンにサービスを提供しない少なくとも１つの使用されていない物理的なコア計算リソースが存在することを決定するように構成される第１決定部；
をさらに備える、請求項１０から１５のいずれか１項に記載の計算ノード。
【請求項１７】
前記リソース割当部は、前記デフォルトリソースプールの中の各仮想マシンに対して、各仮想マシンにより占有可能な前記物理的なコア計算リソースの上限割合又は下限割合を設定するように構成される、
請求項１０から１６のいずれか１項に記載の計算ノード。
【請求項１８】
前記リソース割当部は、前記デフォルトリソースプールの中の前記仮想マシンに対して、物理的なコア計算リソースの使用における各仮想マシンの優先順位を設定し、かつ優先順位の高い順に、前記デフォルトリソースプールの中の前記仮想マシンに対して、物理的なコア計算リソースを割り当てるように構成される、
請求項１０から１７のいずれか１項に記載の計算ノード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の複数の実施例は、仮想化技術に関連し、そして特に、中央処理装置のリソース割当方法及び計算ノードに関連する。
【背景技術】
【０００２】
現在、仮想化技術は情報技術の分野で広く応用されている。仮想化技術は、１つのサーバに、複数の仮想マシンを配置する能力を提供し、これによりユーザの全体的なコストを削減し、そして複数のアプリケーションの信頼性及び柔軟性を向上させる。現在、産業界において、複数の仮想マシンの複数の中央処理装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、ＣＰＵと略す）の管理のために、ＣＰＵ過剰割当てが広く実施されている。すなわち、物理的な複数のリソースを完全に使用するために、仮想マシンの仮想ＣＰＵｓの数はサーバにおける物理的なＣＰＵｓの数よりも多い。しかしながら、物理的なリソースが足りない場合において、どのようにして物理的な複数のＣＰＵリソースを適切に割り当てるかについては、直面する最大の問題のうちの１つとなっている。よく使われる実施方法は、複数の仮想マシンに対して、優先順位を設定することであり、そして異なる複数の優先順位に従って、異なる数量のＣＰＵリソースを複数の仮想マシンに割り当てる。異なる複数の要求を持つ複数のユーザに異なるサービスを提供し、そしてサービスの品質を向上するために、より高い優先順位の仮想マシンに対しては、より多くの数量の物理的ＣＰＵリソースが割り当てられる。
【０００３】
物理的な複数のＣＰＵリソースは、複数の優先順位に従って、複数の仮想マシンに割り当てられるので、より高い優先順位の仮想マシンが支配的な地位を占め、そしてより低い優先順位の仮想マシンは、物理的なＣＰＵリソースを得ることができず、これは物理的な複数のＣＰＵリソースの効果的な割り当てに反する。
【発明の概要】
【０００４】
本発明の複数の実施例は、中央処理装置のリソース割り当て方法を提案する。当該方法は、ＣＰＵの複数の物理的コアを異なる複数のリソースプールに分離することにより実施され、物理的な複数のコアは、異なる複数のリソースプールの間で分離され、そして物理的な複数のコアは、各リソースプールによりサービスの提供を受ける複数の仮想マシンの数に従って、異なる複数のリソースプールの間で動的に割り当てられ、これにより、物理的な複数のコアリソースの効果的な使用を実現し、そして異なる複数のリソースプールの中の複数の仮想マシンのサービス品質を確実に保証する。
【０００５】
第１の態様によると、中央処理装置のリソース割り当て方法が提供され、ここで当該方法は：高度なリソースプール（ａｄｖａｎｃｅｄ  ｒｅｓｏｕｒｃｅ  ｐｏｏｌ）の中の複数の仮想マシンの数の変化に従って、前記高度なリソースプールの中の割り当てられた物理的なコアの数を動的に調整するステップ；及び前記高度なリソースプールの中の割り当てられた物理的なコアの数に従って、デフォルトリソースプールの中の割り当てられた物理的なコアの数を調整するステップを備え、前記高度なリソースプール及び前記デフォルトリソースプールは、複数のリソースプールであって、前記複数のリソースプールの複数のサービスレベルに従って、中央処理装置の物理的な複数のコアを分割することにより取得される、複数のリソースプール、である。
【０００６】
前記第１の態様に関して、第１の可能な実施方法において、前記サービスレベルは、各仮想マシンにより占有され得る物理的なコア計算リソースの数を含む。
【０００７】
前記第１の態様又は前記第１の態様の前記第１の可能な実施方法に関する、第２の可能な実施方法において、前記デフォルトリソースプールの中の複数の仮想マシンは、前記デフォルトリソースプールの中の前記複数の物理的コア全ての複数の計算リソースを共有する。
【０００８】
前記第１の態様又は前記第１の態様の前記第１又は第２の可能な実施方法に関する、第３の実施方法において、前記高度なリソースプールは、レベル１のリソースプールを含み、ここで該レベル１のリソースプールの中の各仮想マシンは、１つの物理的なコア計算リソースを排他的に占有可能である。
【０００９】
前記第１の態様又は前記第１の態様の前記第１から第３の可能な実施方法のうちのいずれか１つに関する、第４の可能な実施方法において、前記高度なリソースプールは、レベル２のリソースプールを含み、ここで、該レベル２のリソースプールの中の各仮想マシンは、１つの物理的なコア計算リソースの５０％を占有可能である。
【００１０】
前記第１の態様又は前記第１の態様の前記第１から第４の可能な実施方法のうちのいずれか１つに関する、第５の可能な実施方法において、高度なリソースプールの中の仮想マシンの数の変化に従って、前記高度なリソースプールの中の前記割り当てられた物理的コアの数を動的に調整する前記ステップは：前記高度なリソースプールの中の前記仮想マシンの数が増加した場合に、増加した仮想マシンの数及び前記高度なリソースプールのサービスレベルに従って、前記高度なリソースプールに割り当てられる必要のある物理的なコアの第１の数を決定し、かつ前記デフォルトリソースプールから前記高度なリソースプールに対して前記第１の数の物理的なコアを割り当てるステップ；又は前記高度なリソースプールの中の前記仮想マシンの数が減少した場合に、前記減少した仮想マシンの数及び前記高度なリソースプールのサービスレベルに従って、前記高度なリソースプールから減算する必要のある物理的なコアの第２の数を決定するステップ；及び前記高度なリソースプールから前記デフォルトリソースプールに対して、前記第２の数の物理的なコアを割り当てるステップ；を含む。
【００１１】
前記第１の側面又は前記第１の側面の第１から第５の可能な実施方法のうちのいずれか１つに関する、第６の可能な実施方法において、前記高度なリソースプールの中の前記仮想マシンの前記数が減少した場合に、前記減少した仮想マシンの数及び前記高度なリソースプールのサービスレベルに従って、前記高度なリソースプールから減算する必要のある物理的コアの第２の数を決定するステップ；及び前記高度なリソースプールから前記デフォルトリソースプールに対して、前記第２の数の物理的コアを割り当てる前記ステップは、具体的には：前記高度なリソースプールの中で実行される仮想マシンがない場合に、前記高度なリソースプールの中の前記物理的なコアを前記デフォルトリソースプールに割り当てるステップ；を含む。
【００１２】
前記第１の態様又は前記第１の態様の前記第１から第６の可能な実施方法のうちのいずれか１つに関する、第７の可能な実施方法において、高度なリソースプールの中の仮想マシンの数の変化に従って、前記高度なリソースプールの中の割り当てられた物理的コアの数を動的に調整するステップの前に、前記方法は、さらに：前記高度なリソースプールの中の前記仮想マシンの数が変化した後、前記高度なリソースプールの前記サービスレベルを満たすためには、前記高度なリソースプールの中の前記物理的コアの数が不十分であると決定するステップ；を含む。
【００１３】
前記第１の態様又は前記第１の態様の前記第１から第６の可能な実施方法のうちのいずれか１つに関する、第８の可能な実施方法において、高度なリソースプールの中の仮想マシンの数の変化に従って、前記高度なリソースプールの中の割り当てられた物理的コアの数を動的に調整するステップの前に、前記方法は、さらに：前記高度なリソースプールの中の前記仮想マシンの数が変化した後、前記高度なリソースプールの中に、該高度なリソースプールの中の仮想マシンにサービスを提供しない１つ以上の使用されていない物理的なコア計算リソースが存在することを決定するステップ；を含む。
【００１４】
前記第１の態様又は前記第１の態様の前記第１から第８の可能な実施方法に関する第９の可能な実施方法において、前記方法は、さらに：前記デフォルトリソースプールの中の前記複数の仮想マシンに対して、各仮想マシンにより占有可能な前記物理的な複数のコア計算リソースの上限割合及び／又は下限割合を設定するステップ；を含む。
【００１５】
前記第１の態様又は前記第１の態様の第１から第９の可能な実施方法のうちのいずれか１つに関する、第１０の可能な実施方法において、前記方法は、さらに：前記デフォルトリソースプールの中の前記複数の仮想マシンに対して、物理的ば複数のコア計算リソースの使用における各仮想マシンの優先順位を設定するステップ、及び優先順位の高い順に、前記デフォルトリソースプールの中の前記複数の仮想マシンに対して、物理的な複数のコア計算リソースを割り当てるステップ；を含む。
【００１６】
第２の態様によると、仮想システムに適用可能な計算ノードが提案され、ここで、該計算ノードは：高度なリソースプールの中の仮想マシンの数の変化に従って、前記高度なリソースプールの中の割り当てられた物理的なコアの数を動的に調整し、かつ前記高度なリソースプールの中の前記割り当てられた物理的なコアの数に従って、デフォルトリソースプールの中の割り当てられた物理的なコアの数を調整するように構成されるリソース調整部；及び中央処理装置の複数の物理的なコアを、前記デフォルトリソースプール及び前記高度なリソースプールに、該複数のリソースプールの複数のサービスレベルに従って分割するように構成されるリソース割当部；を含む。
【００１７】
前記第２の態様に関する、第１の可能な実施方法において、前記高度なリソースプールの中の前記仮想マシンの数が増加した場合に、前記リソース調整部は、増加した仮想マシンの数及び前記高度なリソースプールのサービスレベルに従って、前記高度なリソースプールに割り当てられる必要のある物理的なコアの第１の数を決定し、かつ前記デフォルトリソースプールから前記高度なリソースプールに対して前記第１の数の物理的なコアを割り当てる；又は前記高度なリソースプールの中の前記仮想マシンの前記数が減少した場合に、前記リソース調整部は、前記減少した仮想マシンの数及び前記高度なリソースプールのサービスレベルに従って、前記高度なリソースプールから減算する必要のある物理的なコアの第２の数を決定し、かつ前記高度なリソースプールから前記デフォルトリソースプールに対して、前記第２の数の物理的なコアを割り当てる。
【００１８】
第２の態様又は第２の態様の第１の可能な実施方法に関する、第２の可能な実施方法において、前記計算ノードは：前記高度なリソースプールの中の前記仮想マシンの数が変化した後、前記高度なリソースプールの前記サービスレベルを満たすためには、前記高度なリソースプールの中の前記物理的なコアの数が不十分であると決定するように構成される第１決定部；をさらに備える。
【００１９】
前記第２の態様又は前記第２の態様の前記第１の可能な実施方法に関する、第３の可能な実施方法において、前記計算ノードは、さらに：前記高度なリソースプールの中の前記仮想マシンの数が変化した場合、前記高度なリソースプールの中に、該高度なリソースプールの中の仮想マシンにサービスを提供しない１つ以上の使用されていない物理的なコア計算リソースが存在することを決定するように構成される第１の決定部；を備える。
【００２０】
前記第２の態様又は前記第２の態様の前記第１から第３の可能な実施方法のうちのいずれか１つに対する、第４の可能な実施方法において、前記リソース割当部は、前記デフォルトリソースプールの中の各仮想マシンに対して、各仮想マシンにより占有可能な前記複数の物理的コア計算リソースの上限割合及び／又は下限割合を設定するように構成される。
【００２１】
前記第２の態様又は前記第２の態様の前記第１から第４の可能な実施方法のうちのいずれか１つに関する第５の可能な実施方法において、前記リソース割当部は、前記デフォルトリソースプールの中の前記複数の仮想マシンに対して、物理的な複数のコア計算リソースの使用における各仮想マシンの優先順位を設定し、かつ優先順位の高い順に、前記デフォルトリソースプールの中の前記複数の仮想マシンに対して、物理的な複数のコア計算リソースを割り当てるように構成される。
【００２２】
本発明の複数の実施例によると、物理的な複数のコアは、異なる複数のリソースブールに分割され、そして１つのリソースプールの中の物理的な複数のコアの複数の計算リソースは、他のリソースプールの中のそれらから分離され、これにより、異なる複数の適用シナリオに対する複数の物理的コア計算リソースの効果的な割り当てを実現し、多くの計算リソースを長時間占有する優越的な仮想マシンの出現を回避し、複数の物理的コア計算リソースの不均衡な割り当てを防止し、そして複数の物理的コアの複数の計算リソースの使用の効率を向上する。
【図面の簡単な説明】
【００２３】
本発明の複数の実施例における複数の技術的解決手段をより明確に説明するために、以下において、当該複数の実施例又は先行技術を説明するために必要となる添付の複数の図面を簡潔に紹介する。明らかに、以下の説明における添付の複数の図面は、本発明の複数の実施例のいくつかのみを示すものであり、当業者は、創造的な努力なしで、依然として、これらの添付図面から他の複数の図面を導出することが可能である。
【図１】本発明の実施例に従う、中央処理装置のリソース割り当て方法の概略フローチャートである。
【図２】本発明の実施例に従う、仮想マシンの移入（ｍｉｇｒａｔｉｏｎ−ｉｎ）処理の具体的な例のフローチャートである。
【図３】本発明の実施例に従う、仮想マシンの移出（ｍｉｇｒａｔｉｏｎ−ｏｕｔ）処理の具体的な例のフローチャートである。
【図４】ソース計算ノードから宛先の計算ノードに仮想マシンを移行するためのシグナリングインターワーキング（ｓｉｇｎａｌｉｎｇ  ｉｎｔｅｒｗｏｒｋｉｎｇ）の図である。
【図５】本発明の実施例に従う計算ノードの概略構成図である。
【図６】本発明の実施例に従う計算ノードの概略構成図である。
【図７】本発明の実施例に従う計算ノードの他の概略構成図である。
【発明を実施するための形態】
【００２４】
以下において、本発明の複数の実施例における添付の複数の図面を参照することにより、本発明の複数の実施例における複数の技術的解決手段を明確かつ完全に記載する。明らかに、記載される複数の実施例は、本発明の複数の実施例のうちの一部であり、全てではない。創造的努力なしで、本発明の複数の実施例に基づき、当業者により取得される他の複数の実施例の全ては、本発明の保護範囲に属さなければならない。
【００２５】
本発明の複数の実施例における複数の技術的な解決手段は、仮想マシンの仮想ＣＰＵ（ＶＣＰＵと略す）を指定されたリソースプールにバインドする基本的な機能に基づいて実現される。当業者は、リソースプールに対してＶＣＰＵをバインドするための特定の複数の方式及び複数の実現手段を理解することが可能であり、それについては、簡潔性のため、ここにおいては詳述されない。
【００２６】
本発明の複数の実施例の説明において、物理的なコアとは、物理的な中央演算装置のコアのことを言う。仮想マシンがその上で実行されるサーバ又はコンピューティングノードは、一般に、複数のＣＰＵを備え、そして各ＣＰＵは、１つ以上の物理的なコアを含む。物理的な複数のコアは、異なる複数の目的に対して使用されてもよい。本発明の複数の実施例において、リソースプールを形成するＣＰＵの物理的な複数のコアは、１つのＣＰＵの物理的な複数のコアであってもよく又は複数のＣＰＵの物理的な複数のコアであってもよく、複数のＣＰＵは、１つのサーバ又は計算ノードに置かれてもよく、或いは複数のサーバ又は複数の計算ノードに置かれてもよく、それについては、本発明の複数の実施例においては特に限定されない。
【００２７】
本発明の複数の実施例において、仮想マシンは、複数のＶＣＰＵを含んでもよい。説明を容易にするために、１つの仮想マシンが１つのＶＣＰＵを含む例が説明される。記述処理において、１つの仮想マシンが複数の実施例における１つのＶＣＰＵを含むので、「ＶＣＰＵとリソースプールをバインドする」ことは、また、一般に、「仮想マシンとリソースプールをバインドする」と表現されてもよい。当業者は、本明細書における「バインドする」という意味は、その用語が当該技術分野で通常理解されるのと同じである、ということを理解する。当業者は、「リソースプールにおいて実行される仮想マシン」ということは、仮想マシンが当該リソースプールの中の物理的なコア計算リソースを占有するということを意味し、他のリソースプールの中の物理的なコア計算リソースを占有するということではないことを理解することができる。本発明の複数の実施例において、物理的なコア計算リソースとは、物理的なコアにより与えられる計算能力のことを示す。リソースプールにおいて実行される仮想マシンにより占有され得る複数の計算リソースは、リソースプールの１つの物理的コアに由来してもよく、或いはリソースプールの中の物理的な複数のコアに由来してもよく、これについては、本発明の複数の実施例においては限定されない。仮想マシンにより占有され得る「物理的な複数のコア計算リソース」とは、仮想マシンにより占有され得る複数のリソースプールの中の物理的な複数のコア計算リソースであって、その中で、１つの仮想マシンが動作する、物理的な複数のコア計算リソース、のことを示す。或いはリソースプールであって、その中で仮想マシンが実行される、リソースプール、の中の物理的な複数のコア計算リソースであって、仮想マシンの全てのＶＣＰＵにより占有され得る、物理的な複数のコア計算リソース、のことを示してもよい。以下の説明における明確性のため、本発明の複数の実施例は、例を使用することにより説明され、それにおいて、「仮想マシンにより占有される物理的な複数のコア計算リソース」は、仮想マシンが実行されるリソースプールの中の物理的な複数の計算リソースであって、仮想マシンの全てのＶＣＰＵにより占有される、物理的な複数の計算リソースである。
【００２８】
図１は、本発明の実施例に従う中央処理装置リソース割り当て方法の概略フローチャートである。図１に示されるように、当該方法１００は以下の複数のステップを含む。
【００２９】
１１０．高度なリソースプール（ａｄｖａｎｃｅｄ  ｒｅｓｏｕｒｃｅ  ｐｏｏｌ）の中の仮想マシンの数の変化に従って、前記高度なリソースプールの中の割り当てられた物理的コアの数を動的に調整する。
【００３０】
１２０．前記高度なリソースプールの中の割り当てられた物理的なコアの数に従って、デフォルトリソースプールの中の割り当てられた物理的なコアの数を調整し、ここで前記高度なリソースプール及び前記デフォルトリソースプールは、複数のリソースプールであって、前記複数のリソースプールの複数のサービスレベルに従って、中央処理装置の複数の物理的コアを分割することにより取得される、複数のリソースプール、である。
【００３１】
本発明の実施例において、各リソースプールは、当該リソースプールの中で実行される複数の仮想マシンにサービスを提供し、そして当該リソースプールのサービスレベルは、当該リソースプールの中で実行される複数の仮想マシンにより要求されるサービスレベルに対応する。ここで、「サービスレベル」とは、例えば、各仮想マシンにより占有され得る物理的な複数のコア計算リソースの数である。本発明のこの実施例及び後の複数の実施例において、「占有する」とは、リソースプールの中の各仮想マシンに実際に割り当てられる物理的な複数のコア計算リソースのことを示す。例えば、高度なリソースプールにおいて、仮想マシンは、１つの物理的コア計算リソースの５０％を占有することが可能であり、これは、１つの物理的コア計算リソースの５０％が、当該高度なリソースプールの中の仮想マシンに対して実際に割り当てられる、ということを意味する。例えば、他の高度なリソースプールにおいて、仮想マシンは、１つの物理的なコア計算リソースを占有することが可能であり、これは、１つの物理的なコア計算リソースが実際に１つの仮想マシンに割り当てられる、ということを意味する。
【００３２】
本発明の他の実施例において、異なる複数のリソースプールは、論理的に互いに分離される。すなわち、各リソースプールの中の複数の物理的コアは、各リソースプールの中で実行される複数の仮想マシンに対してのみサービスを提供し、そして当該リソースプールの中で実行される複数の仮想マシンに対して物理的な複数のコア計算リソースを提供する。ここで説明される論理的な分離は、物理的な分離の可能性を除外するものではない。本発明の実施例に従う可能な実施方法において、異なる複数のリソースプールは、物理的に互いに分離されることもあり得る。例えば、異なる複数のリソースプールの中の複数の物理的なコアは、異なる複数の計算ノードに取り付けられてもよい。
【００３３】
本発明の実施例において、デフォルトリソースプールにおいて実行される複数の仮想マシンは、当該デフォルトリソースプールの中の全ての物理的コアの複数の計算リソースを共有する。高度なリソースプールは、特定のアプリケーションの要件に従って設定されてもよい。可能な実施方法において、高度なリソースプールは、レベル１のリソースプールを含み、ここで該レベル１のリソースプールの中の各仮想マシンは、１つの物理的コア計算リソースを排他的に占有可能とされる、すなわち、レベル１のリソースプールのサービスレベルは１００％である。仮想マシンがただ１つのＶＣＰＵを含む場合において、レベル１のリソースプールの中の複数の物理的コアの数は、リソースプールの中で実行される仮想マシンの数に等しい。レベル１のリソースプールは、１つの物理的コア計算リソースが、当該レベル１のリソースプールにおいて常に実行される仮想マシンに割り当てられることを保証することができるが、当該「１つの物理的コア計算リソース」は、当該リソースプールの中の１つ以上の物理的なコアに由来してもよい。別の可能な実施方法において、レベル１のリソースプールに加えて、高度なリソースプールはさらに、レベル２のリソースプールを含む。レベル２のリソースプールにおいて実行される仮想マシンは、１つの物理的なコア計算リソースの５０％を占有することが可能であり、すなわち、レベル２のリソースプールのサービスレベルは５０％である。言い換えると、レベル２のリソースプールにおいて、物理的なコア計算リソースの５０％は、各仮想マシンに実際に割り当てられるが、「１つの物理的なコア計算リソースの５０％」は、リソースプールの中の１つ以上の物理的なコアに由来してもよい。本発明の実施例に従う他の可能な実施方法において、高度なリソースプールは、レベル２のリソースプールのみを含んでもよい。本発明の実施例に従う他の可能な実施方法において、高度なリソースプールは、さらに、レベル３のリソースプールを含んでもよく、ここで、当該レベル３のリソースプールにおいて実行される仮想マシンは、１つの物理的なコア計算リソースの３３％を占有することが可能である。特定のアプリケーションの要件に応じて、高度なリソースプールの中に、より多い又はより少ないサブリソースプールを設定することが可能であり、そして当該複数のサブリソースプールの複数のサービスレベルが異なっていてもよい、ということを当業者は理解することができる。
【００３４】
本発明の実施例によると、ステップ１１０は、具体的には：前記高度なリソースプールの中の前記仮想マシンの数が増加した場合に、増加した仮想マシンの数及び前記高度なリソースプールのサービスレベルに従って、前記高度なリソースプールに割り当てられる必要のある物理的コアの第１の数を決定するステップ；及び前記デフォルトリソースプールから前記高度なリソースプールに対して前記第１の数の物理的コアを割り当てるステップ；又は前記高度なリソースプールの中の前記仮想マシンの数が減少した場合に、前記減少した仮想マシンの数及び前記高度なリソースプールのサービスレベルに従って、前記高度なリソースプールから減算する必要のある物理的コアの第２の数を決定するステップ；及び前記高度なリソースプールから前記デフォルトリソースプールに対して、前記第２の数の物理的コアを割り当てるステップ；を含む。
【００３５】
高度なリソースプールの中の複数の物理的なコアは、当該高度なリソースプールの中で実行される仮想マシンがない場合に、デフォルトリソースプールに対して割り当てられる。以下において、説明のために、複数のリソースプールはデフォルトリソースプール及び高度なリソースプールを含み、かつ高度なリソースプールはレベル１のリソースプール及びレベル２のリソースプールを含む例を使用する。ここで使用される例は、本発明の実施例の複数の実施方法を説明することのみを意図しており、本発明の実施例を限定するものではない、ということに注意すべきである。また、本発明の実施例の説明において、異なる複数のサービスレベルの複数のリソースプールにおいて実行される複数の仮想マシンは、複数のサービスレベルに対応する複数の仮想マシンと呼ばれてもよい。例えば、レベル１のリソースプールにおいて実行される仮想マシンは、レベル１の仮想マシンと呼ばれてもよく、そしてデフォルトリソースプールの中で実行される仮想マシンは、デフォルト仮想マシンと呼ばれてもよい。
【００３６】
最初に、例えば、システムの電源が投入されると、高度なリソースプールの中で実行される仮想マシンがないため、全ての物理的なリソースはデフォルトリソースプールに割り当てられる。異なる複数のアプリケーションシナリオに応じて、複数の仮想マシンが起動され、そして、異なる複数のリソースプールに移行される異なる複数のリソースプール又は複数の仮想マシンに加えられる。逆のプロセスは、複数の仮想マシンを停止する、又は複数のリソースプールから複数の仮想マシンを移行することである。例えば、レベル１の仮想マシン、すなわち、１つの物理的なコア計算リソースの１００％を占有することの可能な仮想マシンが必要とされる。その後、レベル１のリソースプールにおいて、レベル１の仮想マシンを生成する必要がある。当業者は、仮想マシンを生成及び開始する複数の処理を理解及び認識し、そして従って、簡潔性のため、当該複数の処理は本明細書においては詳述されない。レベル１の複数の仮想マシンがレベル１のリソースプールに加えられた場合、加えられたレベル１の仮想マシンの数に従って、レベル１のリソースプールに割り当てられる必要のある第１の数の物理的なコアが決定され、そしてその後デフォルトリソースプールから第１の数の物理的なコアがレベル１のリソースプールに対して割り当てられる。特定のアプリケーションシナリオに従って、レベル１の仮想マシンの数を減らす必要がある場合、例えば、レベル１のリソースプールから第２の数のレベル１の仮想マシンを移行する必要がある場合、又は第２の数のレベル１の仮想マシンを停止する必要がある場合、レベル１のリソースプールから第２の数のレベル１の仮想マシンを移行する例を使用することにより、レベル１のリソースプールから第２の数のレベル１の仮想マシンを移行する一方で、レベル１のリソースプールから第２の数の物理的なコアを減算する必要がある、ということが決定される。次に、レベル１のリソースプールの中の第２の数の物理的コアが、デフォルトリソースプールに対して割り当てられる。このように、レベル１のリソースプールの中の仮想マシンの数の変化に従って、レベル１のリソースプールの中の割り当てられた複数の物理的コアの数が動的に調整され、かつデフォルトリソースプールの中の割り当てられた物理的なコアの数がそれに応じて調整される。
【００３７】
レベル２のリソースプールに対して、調整方法は同様である。相違は、物理的なコア計算リソースの５０％が、レベル２のリソースプールの中のレベル２の仮想マシンに対して実際に割り当てられることである。
【００３８】
本発明の実施例によると、可能な実施方法において、ステップ１１０の前に、方法はさらに：高度なリソースプールの中の仮想マシンの数が変化した後に、当該高度なリソースプールの中の物理的なリソースの数が当該高度なリソースプールの計算リソース要件を満たすのに、不十分であることを決定するステップを含む。例えば、１つのレベル１の仮想マシンが高度なリソースプールのレベル１のリソースプールに加えられた場合、レベル１のリソースプールの中の各仮想マシンは、１つの物理的なコア計算リソースを必要とし、かつ排他的に占有することが可能であるため、レベル１のリソースプールは、レベル１のリソースプールの中の全ての仮想マシンの複数の計算リソース要件を満たすことができない。また、以下の場合が存在し得る。例えば、高度なリソースプールのレベル２のリソースプールの中に３つのレベル２の仮想マシンが存在し、かつ各レベル２の仮想マシンは、１つの物理的なコア計算リソースの５０％を占有することが可能である。従って、レベル２のリソースプールにおいて、２つの物理的なコアを３つのレベル２の仮想マシンに対して割り当てる必要がある。しかしながら、物理的な複数のコア計算リソースが３つのレベル２の仮想マシンに対して割り当てられた後、１つの物理的なコア計算リソースの５０％が残る。この場合において、レベル２の仮想マシン１つがレベル２のリソースプールに加えられる場合、レベル２のリソースプールが全てのレベル２の仮想マシンの複数の計算リソース要件を満足できないということは生じない。このように、レベル２のリソースプールの中の１つの物理的なコア計算リソースの残り５０％は、新しく加えられた仮想マシンに対して割り当てられてもよい。この場合、デフォルトリソースプールからレベル２のリソースプールに対して、新たな物理的コアを割り当てることは不要である。
【００３９】
本発明の実施例によると、可能な実施方法において、ステップ１１０の後で、当該方法はさらに：前記高度なリソースプールの中の前記仮想マシンの数が変化した後、前記高度なリソースプールの中に、該高度なリソースプールの中の仮想マシンにサービスを提供しない１つ以上の使用されていない物理的なコア計算リソースが存在することを決定するステップ；を含み、ここで、「１つ以上の使用されていない物理的なコア計算リソース」は、異なる複数の物理的なコアに由来してもよく、すなわち、異なる複数の物理的なコアからの複数の計算リソースの合計は、１つの物理的なコア計算リソースと同じである。例えば、レベル１の仮想マシンの１つが高度なリソースプールのレベル１のリソースプールから移行された後、当該レベル１のリソースプールの中に１つの使用されない物理的なコア計算リソースが出現する。この場合において、物理的なコアの複数の計算リソースを効率的に使用可能とするために、１つの物理的なコアは、デフォルトリソースプールの中で実行される仮想マシンによる使用のために、レベル１のリソースプールからデフォルトリソースプールに対して割り当てられてもよい。
【００４０】
例えば、高度なリソースプールのレベル２のリソースプールからレベル２の仮想マシン１つが移行された後、レベル２のリソースプールの中の各仮想マシンは、１つの物理的なコア計算リソースの５０％を占有することが可能であるため、使用されない物理的なコア計算リソースが出現しない可能性がある。従って、１つ以上の使用されない物理的なコア計算リソースがレベル２のリソースプールに存在すると決定された場合にのみ、物理的なコアは、レベル２のリソースプールから戻って、デフォルトリソースプールに対して割り当てられ得る。
【００４１】
前述のように、デフォルトリソースプールの中の複数のデフォルト仮想マシンは、デフォルトリソースプールの中の全ての物理的なコアの複数の計算リソースを共有する。本発明の実施例によると、特定の条件に従って、共有方法が決定されてもよい。第１の可能な実施方法において、複数のデフォルト仮想マシンは、デフォルトリソースプールの中の全ての物理的なコアの複数の計算リソースを均等に共有してもよい。第１の可能な実施方法に基づく改良された解決手段によると、デフォルトリソースプールの中の各デフォルト仮想マシンにより占有され得る物理的な複数のコア計算リソースの上限の割合が設定されてもよい。例えば、デフォルトリソースプールの中の各仮想マシンにより占有され得る物理的な複数のコア計算リソースの上限の割合は、１つの物理的なコア計算リソースの１０％である。このように、支配的な仮想マシン、すなわち、多くの計算リソースを占有する仮想マシンのデフォルトリソースプールにおける出現が防止される。
【００４２】
他の改善された解決手段によると、デフォルトリソースプールの中の複数の仮想マシンの計算性能を確かなものとするために、各仮想マシンにより占有され得る物理的な複数のコア計算リソースの下限の割合が設定されてもよい。例えば、デフォルトリソースプールの中の各仮想マシンにより占有され得る物理的な複数のコア計算リソースの下限の割合は、１つの物理的なコア計算リソースの５％である。各仮想マシンにより占有され得る物理的なコア計算リソースの上限の割合及び下限の割合が決定された後、ステップ１１０が実行される前に、当該方法１００は：デフォルトリソースプールの中の仮想マシンの数及びデフォルトリソースプールの中の仮想マシンにより占有可能な物理的な複数のコア計算リソースの下限の割合に従って、デフォルトリソースプールが高度なリソースプールに割り当てられる十分なリソースを有することを決定するステップ；又はデフォルトリソースプールに仮想マシンが加えられた場合において、デフォルトリソースプールの容量の上限に達していない、すなわち、追加的な仮想マシンをさらに収容可能であることを決定するステップ；を含む。
【００４３】
例えば、デフォルトリソースプールの中の各仮想マシンにより占有され得る物理的な複数のコア計算リソースの下限の割合は５％であり、かつデフォルトリソースプールの中の各仮想マシンにより占有され得る物理的な複数のコア計算リソースの上限の割合は１０％であることが仮定される。この場合、デフォルトリソースプールは１０の物理的なコアを含むことが仮定され、そしてその結果、デフォルトリソースプールにおいて、物理的な複数のコア計算リソースを最大２００のデフォルト仮想マシンに対して提供することが可能であり、かつ物理的な複数のコア計算リソースを少なくとも１００のデフォルト仮想マシンに対して提供することが可能である。デフォルトリソースプールの中で実行される仮想マシンの数は、１８５であると仮定される。１つのレベル１の仮想マシンを追加する必要がある場合、つまり、デフォルトリソースプールから高度なリソースプールのレベル１のリソースプールに対して、１つの物理的なコアを割り当てる必要がある場合、計算結果によると、レベル１のリソースプールに１つの物理的なコアが割り当てられた後、デフォルトリソースプールの中の残りの物理的な複数のコア計算リソースは、最大１８０のデフォルト仮想マシンに対して、物理的な複数のコア計算リソースを提供することが可能である。しかしながら、１８５のデフォルト仮想マシンは、現在デフォルトリソースプールの中において実行されている。この場合、当該方法１００は：高度な仮想マシンを追加するための要求を拒否するステップを含む。この例において、レベル１の仮想マシンを追加することが拒否される。確かに、本発明の実施例の他の場合において、１つの物理的なコアが高度なリソースプールのレベル１のリソースプールに対して割り当てられてもよく、かつデフォルトリソースプールの中の各デフォルト仮想マシンにより占有される物理的な複数のコア計算リソースの下限が調整される、或いはデフォルトリソースプールの中の複数の仮想マシンの展開ポリシーに従って、デフォルトリソースプールの中の各デフォルト仮想マシンにより占有される物理的な複数のコア計算リソースの既存の下限を満たすために、対応するデフォルト仮想マシンが停止される。
【００４４】
他の例として、デフォルトリソースプールの中の各仮想マシンにより占有され得る１つの物理的なコア計算リソースの下限の割合は５％であり、かつデフォルトリソースプールの中の各仮想マシンにより占有され得る１つの物理的なコア計算リソースの上限の割合は１０％であることが仮定される。この場合、デフォルトリソースプールは１０の物理的コアを含み、かつデフォルトリソースプールの中で実行される仮想マシンの数は１８５であることが仮定される。１つの仮想マシンをデフォルトリソースプールに加える必要がある場合、すなわち、１つのデフォルト仮想マシンを加える必要がある場合、計算結果によると、デフォルトリソースプールの容量は、さらに３つのデフォルト仮想マシンを収容することが可能であり、そして従って、デフォルトリソースプールに１つの仮想マシンを追加することが可能となる。
【００４５】
他の可能な実施方法において、デフォルトリソースプールの中のデフォルト仮想マシンに対して、さらに、優先順位を設定してもよい。デフォルトリソースプールの中の物理的な複数のコア計算リソースは、優先的に、高い優先順位のデフォルトの仮想マシンの要件を満たす。各デフォルト仮想マシンにより占有され得る物理的な複数のコア計算リソースの上限の割合及び上限が設定されているので、優先順位の高いデフォルトの仮想マシンは、優先順位の低いデフォルト仮想マシンへの計算リソースの割り当ての失敗の原因となる「優越的な仮想マシン」となることはない。
【００４６】
以下、本発明の実施例の実施過程を完全に説明するために、レベル２のリソースプールに仮想マシンを追加する具体的な処理の例を使用する。図２は、本発明の実施例に従う、仮想マシンの移入（ｍｉｇｒａｔｉｏｎ−ｉｎ）処理の具体的な例のフローチャートである。図２に示されるように、仮想マシンをレベル２のリソースプールに追加する処理２００は、以下の複数のステップを含む：
２１０．ユーザは仮想マシン１のレベル２のリソースプールへの移行を要求する。
【００４７】
２２０．システムは、物理的な複数のコア計算リソースが十分であるかどうかを決定する。
【００４８】
すなわち、デフォルトリソースプールの中のレベル１のリソースプールの中の仮想マシンの数及びレベル２のリソースプールの中の仮想マシンの数デフォルトリソースプールの中の仮想マシンの数、及びデフォルトリソースプールの中の各仮想マシンに割り当てられる計算リソースの下限の割合に従って、システムは、レベル２のリソースプールに割り当てられる十分な計算リソースがあるかどうかを決定し、ここで、レベル１のリソースプール及びレベル２のリソースプールは現在の高度なリソースプールに含まれる。この例において、物理的なコアは、レベル２のコアリソースプールに移行されてもよいため、システムは、デフォルトリソースプールの中の１つ以上の物理的なコアをレベル２のリソースプールに割り当てることができると決定する必要がある。物理的な複数のコアリソースが十分な場合、手順はステップ２３０に進む；そして、物理的な複数のコアリソースが不十分な場合、手順はステップ２７０にスキップする。
【００４９】
２３０．物理的な複数のコア計算リソースが十分である場合、仮想マシン１がレベル２のリソースプールに移行した後に、システムは、新しい物理的なコアをレベル２のリソースプールに対して割り当てる必要があるかどうか決定する。
【００５０】
レベル２のリソースプールにおける各仮想マシンは、１つの物理的な計算リソースの５０％を占有することが可能である。従って、仮想マシン１がレベル２のリソースプールに移行する前に、レベル２のリソースプールの中の仮想マシンの数が奇数である場合、１つの物理的なコアの計算リソースの５０％は、レベル２のリソースプールの中で割り当てられないままとなる。この場合、レベル２のリソースプールに新しい物理的なコアを割り当てることは不要である。これに反して、仮想マシン１がレベル２のリソースプールに移行する前に、レベル２のリソースプールの中の仮想マシンの数が偶数である場合、仮想マシン１が計算リソースを提供されるようにするために、デフォルトリソースプールからレベル２のリソースプールに対して、物理的なコアを割り当てる必要がある。
【００５１】
２４０．レベル２のリソースプールに対して新しい物理的なコアを割り当てる必要がある場合、仮想マシン１をレベル２のリソースプールに移行し、かつ１つの物理的なコア計算リソースの残りの５０％を仮想マシン１に割り当てる。
【００５２】
２５０．レベル２のリソースプールに対して新しい物理的コアを割り当てる必要がある場合、デフォルトリソースプールからレベル２のリソースプールに対して、新しい物理的コアを割り当て、仮想マシン１をレベル２のリソースプールに移行し、そして仮想マシン１に対して１つの物理的計算リソースの残りの５０％を与える。
【００５３】
２６０．これに対応して、デフォルトリソースプールは、当該デフォルトリソースプールの中の複数の仮想マシンの間で、物理的な複数のコア計算リソースの割り当てを調整する。
【００５４】
前述の内容によると、デフォルトリソースプールの中の物理的な複数のコア計算リソースの調整方法は、デフォルトリソースプールの特定の複数の設定と共に、変化する。例えば、デフォルトリソースプールの中の複数の仮想マシンが均等に物理的な複数のコアの複数の計算リソースを共有する場合、物理的なコアが減算されるため、デフォルトリソースプールの中の各仮想マシンに実際に割り当てられる物理的なコアの複数の計算リソースは、それに応じて減少する。
【００５５】
２７０．仮想マシン１は、レベル２のリソースプールに移行することは許可されない。
【００５６】
この場合、システムにおける物理的な複数のコア計算リソースが不十分であるため、レベル２のリソースプールに仮想マシン１が移行することは許可されないことを示すメッセージを使用することにより、通知がユーザに送られてもよい。
【００５７】
仮想マシンをレベル１のリソースプール又はデフォルトリソースプールに移行する手順は、図２に示される手順と同様である。
【００５８】
図２に示される手順に対応して、図３は、仮想マシンをレベル２のリソースプールから移出する手順である。図３に示されるように、手順３００は、以下の複数のステップを含む：
３１０．ユーザは、レベル２のリソースプールからの仮想マシン２の移出を要求する。
【００５９】
３２０．システムは、仮想マシン２がレベル２のリソースプールから移出された後、レベル２のリソースプールの中の物理的なコアの数を減らす必要があるかどうかを決定する。
【００６０】
レベル２のリソースプールの中の各仮想マシンは、１つの物理的コア計算リソースの５０％を占有することが可能である。従って、仮想マシン２がレベル２のリソースプールから移行される前に、レベル２のリソースプールの中の仮想マシンの数が奇数である場合、物理的なコア計算リソースの５０％は、レベル２リソースプールの中で割り当てられないままとなる。この場合、仮想マシン２がレベル２のリソースプールから移行された後、１つの物理的コア計算リソースは使用されておらず、そして１つの物理的なコアをレベル２のリソースプールから減算する必要がある。これに反して、仮想マシン２がレベル２のリソースプールから移行される前に、レベル２のリソースプール内の仮想マシンの数が偶数である場合、レベル２のリソースプール内の物理的なコアの数は、減らすことができない。
【００６１】
３３０．レベル２のリソースプールの中の物理的なコアの数を減らす必要がある場合、すなわち、レベル２のリソースプールの中の既存の仮想マシンの数が奇数である場合、レベル２のリソースプールの中の１つの物理的なコア計算リソースの５０％は、割り当てられないままとなる。この場合、仮想マシン２がレベル２のリソースプールから移行された後、１つの物理的なコア計算リソースは不稼働となり、かつ１つの物理的コアがデフォルトリソースプールに割り当てられ、そして手順はステップ３５０にスキップする。
【００６２】
３４０．レベル２のリソースプールの中の物理的なコアの数を減らす必要がある場合、仮想マシン２がレベル２のリソースプールから移行される。
【００６３】
３５０．デフォルトリソースプールは、それに応じて、デフォルトリソースプール内の複数の仮想マシンの物理的な複数のコア計算リソースの割り当てを調整する。
【００６４】
本発明の実施例において、レベル２のリソースプールの中の全ての仮想マシンが移出（ｍｉｇｒａｔｅ  ｏｕｔ）される場合、レベル２のリソースプールの中の全ての物理的なコアは、デフォルトリソースプールに割り当てられる。
【００６５】
前述の実施例では、高度なリソースプールがレベル１リソースプール及びレベル２リソースプールを含む例を使用している。実際のアプリケーションのシナリオに応じて、高度なリソースプールは、レベル１リソースプール及びレベル２リソースプール等のサブリソースプールを含まなくてもよい。実際のアプリケーションのシナリオに応じて、高度なリソースプールは、レベル１リソースプール及びレベル２リソースプールを含んでもよいだけでなく、実際のアプリケーションに応じて各リソースプールのサービスレベルを設定してもよい。
【００６６】
前述の内容によれば、デフォルトリソースプールの中の物理的な複数のコア計算リソースは、デフォルトリソースプールの特定の設定と共に変化する。例えば、デフォルトリソースプールの中の複数の仮想マシンがデフォルトリソースプールの中の物理的な複数のコアの複数の計算リソースを均等に共有する場合、１つの物理的なコアが加えられるので、物理的な複数のコア計算リソースを充分に使用するために、デフォルトリソースプールの中の各仮想マシンに対して割り当てられる物理的なコア計算リソースは、それに応じて増やされる。
【００６７】
図４は、本発明の実施例に従う、特定のアプリケーションシナリオのシグナリングインターワーキング（ｓｉｇｎａｌｉｎｇ  ｉｎｔｅｒｗｏｒｋｉｎｇ）の図である。図４に示されるアプリケーションのシナリオにおいて説明されるように、仮想マシンは、ソース計算ノードから宛先計算ノードに移行する。図１、図２、及び図３に示される本発明の実施例における方法は、図４に示されるアプリケーションのシナリオに適用可能であってもよい。
【００６８】
図４に示されるように、移行処理４００は、以下の複数のステップを含む：
４１０．ユーザは、ソース計算ノードから宛先計算ノードへの仮想マシン３の移行を要求する仮想マシン移行要求をクラスタ制御部に送信する。
【００６９】
４２０．クラスタ制御部は、ユーザが送信した仮想マシン移行要求を受信し、そして対応する処理を実行する。
【００７０】
クラスタ制御部は、例えば、割り当てられた複数のリソースを先に占有する等、従来の仮想マシンスケジューリング手順に従って、対応する処理を実行してもよい。
【００７１】
４３０．クラスタ制御部は、仮想マシン３をソース計算ノードから移出（ｍｉｇｒａｔｅ  ｏｕｔ）するために、ソース計算ノードにスケジューリング要求を送信する。
【００７２】
４４０．仮想マシン３は、ソース計算ノードから移出する。
【００７３】
ソース計算ノードにおいて、例えば、図３に示される仮想マシンの移出手順（ｍｉｇｒａｔｉｏｎ−ｏｕｔ  ｐｒｏｃｅｄｕｒｅ）が実行される。
【００７４】
４５０．ソース計算ノードは、物理的な複数のコア計算リソースの動的な調整を実行する。
【００７５】
４６０．仮想マシン３は、宛先計算ノードに移転する。
【００７６】
宛先計算ノードにおいて、例えば、図２に示される仮想マシン移入手順（ｍｉｇｒａｔｉｏｎ−ｉｎ  ｐｒｏｃｅｄｕｒｅ）が実行される。
【００７７】
４７０．宛先計算ノードは、物理的な複数のコア計算リソースの動的な調整を実行する。
【００７８】
４８０．ソース計算ノードは、移出成功又は失敗のメッセージをクラスタ制御部に返す。
【００７９】
４９０．クラスタ制御部は、ソース計算ノードから宛先計算ノードへの仮想マシン３の移転の結果をユーザに通知する。
【００８０】
本発明の実施例によると、物理的な複数のコアは、異なる複数のリソースプールに分割され、そして１つのリソースプールの中の物理的な複数のコアの複数の計算リソースは、他のリソースプールの中のそれらから分離され、これにより、異なる複数のアプリケーションシナリオに対して物理的な複数のコア計算リソースの効果的な割り当てを実現し、多くの計算リソースを占有する優越的な仮想マシンの出現を避け、物理的な複数のコア計算リソースの不均衡な割り当てを防止し、かつ物理的な複数のコアの複数の計算リソースの使用効率を向上させることができる。
【００８１】
本発明の実施例における方法は、異なる複数のクラウドコンピューティングビジネスモデルに適用可能である。例えば、インターネットデータセンタ（Ｉｎｔｅｒｎｅｔ  Ｄａｔａ  Ｃｅｎｔｅｒ、ＩＤＣと略す）ビジネスモデルにおいて、仮想マシンが常に１つの物理的なコア計算リソースを排他的に占有し、かつ計算リソースが他のユーザにより占有されないようにするために、レベル１のリソースプールの中に置かれる仮想マシンは、ユーザに対して提供されてもよく、これにより、安定した計算能力をユーザに提供する。例えば、サービスプライベートクラウド（Ｓｅｒｖｉｃｅ  Ｐｒｉｖａｔｅ  Ｃｌｏｕｄ、ＳＰＣと略す）ビジネスモデルにおいて、ユーザに対して提供される仮想マシンは、高性能及びサービス安定性を持つことだけでなく、ある程度のＣＰＵリソース再利用が要求される。従って、レベル１のリソースプール及びレベル２のリソースプール双方における複数の仮想マシンは、そのようなシナリオにおけるアプリケーションを満たす。例えば、仮想デスクトップインフラストラクチャ（Ｖｉｒｔｕａｌ  Ｄｅｓｋｔｏｐ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ、ＶＤＩと略す）ビジネスモデルにおいて、ユーザは、仮想マシンの高い価格／性能比及び複数のリソースの再利用性を要求する。この場合、仮想マシンは、高い稼働／非稼働率を有し、かつデフォルトリソースプールの中の複数の仮想マシンは、このシナリオに適している。
【００８２】
本発明の実施例は、さらに、本発明の実施例における方法を適用可能な計算ノードを提案する。図５に示されるように、計算ノード５００は：高度なリソースプールの中の仮想マシンの数の変化に従って、前記高度なリソースプールの中の割り当てられた物理的コアの数を動的に調整し、かつ前記高度なリソースプールの中の前記割り当てられた物理的コアの数に従って、デフォルトリソースプールの中の割り当てられた物理的コアの数を調整するように構成されるリソース調整部５１０；及び中央処理装置の複数の物理的コアを、前記デフォルトリソースプール及び前記高度なリソースプールに、該複数のリソースプールの複数のサービスレベルに従って分割するように構成されるリソース割当部５２０；を含む。
【００８３】
本発明の実施例において、各リソースプールは当該リソースプールにおいて実行される複数の仮想マシンに対してサービスを提供する。適切な場合には、本発明のこの実施例に従う計算ノードは、本発明の方法の実施例における他の複数の技術的特徴を有してもよい。以下、これを説明するために複数の例を使用する。
【００８４】
本発明の実施例によると、サービスレベルは、各仮想マシンにより占有可能な物理的な複数のコア計算リソースの数を含む。
【００８５】
本発明の実施例によると、リソース割当部は、デフォルトリソースプールの中の全ての物理的なコアの複数の計算リソースを共有するために、デフォルトリソースプールの中の複数の仮想マシンをスケジュールするように構成される。
【００８６】
本発明の実施例によると、高度なリソースプールはレベル１のリソースプールを含み、ここでレベル１のリソースプールの中の各仮想マシンは、１つの物理的なコア計算リソースを排他的に占有することが可能である。
【００８７】
本発明の実施例によると、高度なリソースプールはレベル２のリソースプールを含み、ここでレベル２のリソースプールの中の各仮想マシンは、１つの物理的な計算リソースの５０％を占有することが可能である。
【００８８】
本発明の実施例によると、高度なリソースプールの中の仮想マシンの数が増加した場合、前記リソース調整部５１０は、増加した仮想マシンの数及び前記高度なリソースプールのサービスレベルに従って、前記高度なリソースプールに割り当てられる必要のある物理的コアの第１の数を決定し、かつ前記デフォルトリソースプールから前記高度なリソースプールに対して前記第１の数の物理的コアを割り当てる；又は前記高度なリソースプールの中の前記仮想マシンの前記数が減少した場合に、前記リソース調整部５１０は、前記減少した仮想マシンの数及び前記高度なリソースプールのサービスレベルに従って、前記高度なリソースプールから減算する必要のある物理的コアの第２の数を決定し、かつ前記高度なリソースプールから前記デフォルトリソースプールに対して、前記第２の数の物理的コアを割り当てる。
【００８９】
本発明の実施例によると、高度なリソースプールにおいて仮想マシンが実行されていない場合に、リソース調整部は、高度なリソースプールの中の物理的な複数のコアをデフォルトリソースプールに割り当てるように構成される。
【００９０】
図６に示されるように、本発明の実施例によると、前記計算ノードは：前記高度なリソースプールの中の前記仮想マシンの数が変化した後、前記高度なリソースプールの前記サービスレベルを満たすためには、前記高度なリソースプールの中の前記物理的コアの数が不十分であると決定するように構成される第１決定部５３０；をさらに備える。
【００９１】
本発明の実施例によると、前記第１の決定部５３０は、さらに、前記高度なリソースプールの中の前記仮想マシンの数が変化した場合、前記高度なリソースプールの中に、該高度なリソースプールの中の仮想マシンにサービスを提供しない１つ以上の使用されていない物理的なコア計算リソースが存在することを決定するように構成される。
【００９２】
本発明の実施例によると、リソース割当部５２０は、各仮想マシンにより占有可能な物理的な複数の計算リソースの事前に定められた割合に従って、デフォルトリソースプールの中の全ての物理的なコアの複数の計算リソースを共有するために、デフォルトリソースプールの中の複数の仮想マシンをスケジュールするように構成される。
【００９３】
本発明の実施例によると、リソース調整部５１０は、デフォルトリソースプールの中の物理的なコアの数及び各仮想マシンにより占有可能な物理的な複数のコア計算リソースの事前に定められた割合に従って、デフォルトリソースプールにより収容可能な仮想マシンの数を決定するように構成される。
【００９４】
本発明の実施例によると、リソース割当部５２０は、デフォルトリソースプールの中の全ての物理的なコアの複数の計算リソースを均等に共有するよために、デフォルトリソースプールの中の複数の仮想マシンをスケジュールするように構成される。
【００９５】
本発明の実施例によると、リソース割当部５２０は、デフォルトリソースプールの中の各仮想マシンに対して、各仮想マシンにより占有可能な物理的な複数のコア計算リソースの上限割合及び／又は下限割合を設定するように構成される。
【００９６】
本発明の実施例によると、リソース割当部５２０は、デフォルトリソースプールの中の複数の仮想マシンに対して、物理的な複数のコア計算リソースの使用における各仮想マシンの優先順位を設定し、かつ優先順位の高い順に、デフォルトリソースプールの中の複数の仮想マシンに対して、物理的な複数のコア計算リソースを割り当てるように構成される。
【００９７】
図７は、本発明の実施例に従う計算ノードの他の概略構成図である。図７に示されるように、計算ノード７００は、ＣＰＵ等の１つ以上のプロセッサ７１０、１つ以上のポート７２０、メモリ７３０、及び１つ以上の通信バス７４０を備える。通信バス７４０は、これらの装置の間の接続及び通信を実行するように構成される。プロセッサ７１０は、コンピュータプログラムなどの、メモリ７３０に記憶される実行可能モジュールを実行するように構成される。選択的に、通信ノードは、ディスプレイ、キーボード、マウス等のクリック装置、トラックボール（ｔｒａｃｋｂａｌｌ）、タッチパッド又はタッチスクリーンを含むがそれには限定されない、ユーザインターフェース７５０を備える。メモリ７３０は、高速ＲＡＭメモリを含んでもよく、かつ１つ以上の磁気ディスクメモリなどの不揮発性メモリ（ｎｏｎ−ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ）を含んでもよい。計算ノードとクラスタ制御部との間の通信接続は、１つ以上のポート７２０を使用することにより実現されてもよく、かつ計算ノードと１つ以上の他の計算ノードとの間の通信接続は、当該１つ以上のポート７２０を使用することにより実現されてもよい。
【００９８】
いくつかの実施方法において、メモリ７３０は、以下の要素、実行可能モジュール又はデータ構造、又はそれらのサブセット、又はそれらの拡張セットを記憶する：各種基本サービスを実行し、かつハードウェアベースの複数のタスクを処理するように構成される、各種システムプログラムを含むオペレーティングシステム７３２；及び各種アプリケーションサービスを実行するように構成される、各種アプリケーションを含むアプリケーションモジュール７３４。
【００９９】
アプリケーションモジュール７３４は、リソース調整部（５１０）、リソース割当部（５２０）、及び第１決定部（５３０）を含むが、それには限定されない。
【０１００】
アプリケーションモジュール７３４の中の複数のユニットの具体的な実行について、図５及び図６に示される複数の実施例の対応する複数のユニットを参照してもよく、詳細はここでは改めて説明しない。
【０１０１】
本明細書において開示される複数の実施例を参照して説明される例示的なユニット及びアルゴリズムのステップは、電子的なハードウェア又はコンピュータソフトウェア及び電子的なハードウェアの組み合わせによって実施されてもよい、ということを当業者は認識することができる。複数の機能がハードウェアにより実行されるか又はソフトウェアにより実行されるかについては、特定の複数のアプリケーション及び技術的な複数の解決手段の複数の設計制約条件に依存する。当業者は、各特定のアプリケーションに対する説明された複数の機能を実行するために、異なる複数の方法を使用することができるが、しかしそのような実装は、本発明の範囲を超えていると見なすべきではない。
【０１０２】
便宜的かつ簡単な説明を目的として、前述のシステム、装置、及びユニットの詳細な動作処理については、前述の複数の方法の実施例における対応する処理を参照することが可能であり、その詳細はここでは改めて説明しない、ということが当業者により明確に理解できる。
【０１０３】
本出願において提供されるいくつかの実施例において、開示されるシステム、装置、及び方法は、他の複数の方法において実施されてもよい、ということが理解されるべきである。例えば、説明される方法の実施例は、単なる例示である。例えば、複数のユニットの分割は、複数の論理的機能の単なる分割であり、そして実際の実装において、他の複数の分割が存在してもよい。例えば、複数のユニット又は構成要素は、結合されてもよく、或いは他のシステムに統合されてもよく、又はいくつかの機能は省略されてもよく、或いは実行されなくてもよい。また、示される又は論じられる複数の相互結合又は直接結合又は通信接続は、いくつかのインターフェースを介して実装されてもよい。複数の装置又は複数のユニットの間の複数の間接結合又は複数の通信接続は、電気的、機械的、又は他の複数の形態で実施されてもよい。
【０１０４】
別々の部品として説明される複数のユニットは、物理的に分離されてもよく、物理的に分離されていなくてもよく、そして複数のユニットとして示される複数の部品は、物理的な複数のユニットであってもよく、物理的な複数のユニットでなくてもよい、つまり、複数のユニットは１つの位置に置かれてもよく、又は複数のネットワークユニットに分散されてもよい。複数の実施例の複数の解決手段の複数の目的を達成する実際の必要に従って、複数のユニットのうちの一部又は全てが選択されてもよい。
【０１０５】
また、本発明の複数の実施例における複数の機能的ユニットは、１つの処理ユニットに統合されてもよく、或いは各ユニットは物理的に単独で存在してもよく、又は２つ以上のユニットが１つのユニットに統合されてもよい。
【０１０６】
複数の機能がソフトウェア機能部の形態において実行されかつ販売される、又は独立した製品として使用される場合、当該複数の機能はコンピュータ読み取り可能な記憶媒体に記憶されてもよい。このような理解に基づき、本発明の複数の技術的解決手段は、本質的に、又は従来技術に貢献する部分、又は複数の技術的解決手段の一部は、ソフトウェア製品の形態で実施されてもよい。ソフトウェア製品は、記憶媒体に記憶され、そしてコンピュータ装置（パーソナルコンピュータ、サーバ、又はネットワーク装置であってもよい）に、本発明の複数の実施例において説明される複数の方法の複数のステップの全て又はその一部を実行するように指示するためのいくつかの命令を含む。前述の記憶媒体は：ＵＳＢフラッシュ装置、リムーバブルハードディスク、読み出し専用メモリ（ＲＯＭ、Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ランダムアクセスメモリ（ＲＡＭ、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、磁気ディスク、又は光ディスクなどの、プログラムコードを記憶可能な任意の媒体を含む。
【０１０７】
前述の複数の説明は、本発明の単なる複数の特定の実施例であるが、本発明の保護範囲を限定することは意図されていない。本発明において開示される技術範囲内で当業者により容易に考案される如何なる変更又は置換も、本発明の保護範囲に属さなければならない。従って、本発明の保護範囲は、複数の特許請求項の保護範囲に従わなければならない。
【図１】
0006461224.tif 000002
【図２】
0006461224.tif 000003
【図３】
0006461224.tif 000004
【図４】
0006461224.tif 000005
【図５】
0006461224.tif 000006
【図６】
0006461224.tif 000007
【図７】
0006461224.tif 000008