JP6461224B2 - 中央処理装置のリソース割当方法及び計算ノード - Google Patents

中央処理装置のリソース割当方法及び計算ノード Download PDF

Info

Publication number
JP6461224B2
JP6461224B2 JP2017076053A JP2017076053A JP6461224B2 JP 6461224 B2 JP6461224 B2 JP 6461224B2 JP 2017076053 A JP2017076053 A JP 2017076053A JP 2017076053 A JP2017076053 A JP 2017076053A JP 6461224 B2 JP6461224 B2 JP 6461224B2
Authority
JP
Japan
Prior art keywords
resource pool
advanced
physical
virtual machines
virtual machine
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
Application number
JP2017076053A
Other languages
English (en)
Other versions
JP2017142838A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to JP2017076053A priority Critical patent/JP6461224B2/ja
Publication of JP2017142838A publication Critical patent/JP2017142838A/ja
Application granted granted Critical
Publication of JP6461224B2 publication Critical patent/JP6461224B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明の複数の実施例は、仮想化技術に関連し、そして特に、中央処理装置のリソース割当方法及び計算ノードに関連する。
現在、仮想化技術は情報技術の分野で広く応用されている。仮想化技術は、1つのサーバに、複数の仮想マシンを配置する能力を提供し、これによりユーザの全体的なコストを削減し、そして複数のアプリケーションの信頼性及び柔軟性を向上させる。現在、産業界において、複数の仮想マシンの複数の中央処理装置(Central Processing Unit、CPUと略す)の管理のために、CPU過剰割当てが広く実施されている。すなわち、物理的な複数のリソースを完全に使用するために、仮想マシンの仮想CPUsの数はサーバにおける物理的なCPUsの数よりも多い。しかしながら、物理的なリソースが足りない場合において、どのようにして物理的な複数のCPUリソースを適切に割り当てるかについては、直面する最大の問題のうちの1つとなっている。よく使われる実施方法は、複数の仮想マシンに対して、優先順位を設定することであり、そして異なる複数の優先順位に従って、異なる数量のCPUリソースを複数の仮想マシンに割り当てる。異なる複数の要求を持つ複数のユーザに異なるサービスを提供し、そしてサービスの品質を向上するために、より高い優先順位の仮想マシンに対しては、より多くの数量の物理的CPUリソースが割り当てられる。
物理的な複数のCPUリソースは、複数の優先順位に従って、複数の仮想マシンに割り当てられるので、より高い優先順位の仮想マシンが支配的な地位を占め、そしてより低い優先順位の仮想マシンは、物理的なCPUリソースを得ることができず、これは物理的な複数のCPUリソースの効果的な割り当てに反する。
本発明の複数の実施例は、中央処理装置のリソース割り当て方法を提案する。当該方法は、CPUの複数の物理的コアを異なる複数のリソースプールに分離することにより実施され、物理的な複数のコアは、異なる複数のリソースプールの間で分離され、そして物理的な複数のコアは、各リソースプールによりサービスの提供を受ける複数の仮想マシンの数に従って、異なる複数のリソースプールの間で動的に割り当てられ、これにより、物理的な複数のコアリソースの効果的な使用を実現し、そして異なる複数のリソースプールの中の複数の仮想マシンのサービス品質を確実に保証する。
第1の態様によると、中央処理装置のリソース割り当て方法が提供され、ここで当該方法は:高度なリソースプール(advanced resource pool)の中の複数の仮想マシンの数の変化に従って、前記高度なリソースプールの中の割り当てられた物理的なコアの数を動的に調整するステップ;及び前記高度なリソースプールの中の割り当てられた物理的なコアの数に従って、デフォルトリソースプールの中の割り当てられた物理的なコアの数を調整するステップを備え、前記高度なリソースプール及び前記デフォルトリソースプールは、複数のリソースプールであって、前記複数のリソースプールの複数のサービスレベルに従って、中央処理装置の物理的な複数のコアを分割することにより取得される、複数のリソースプール、である。
前記第1の態様に関して、第1の可能な実施方法において、前記サービスレベルは、各仮想マシンにより占有され得る物理的なコア計算リソースの数を含む。
前記第1の態様又は前記第1の態様の前記第1の可能な実施方法に関する、第2の可能な実施方法において、前記デフォルトリソースプールの中の複数の仮想マシンは、前記デフォルトリソースプールの中の前記複数の物理的コア全ての複数の計算リソースを共有する。
前記第1の態様又は前記第1の態様の前記第1又は第2の可能な実施方法に関する、第3の実施方法において、前記高度なリソースプールは、レベル1のリソースプールを含み、ここで該レベル1のリソースプールの中の各仮想マシンは、1つの物理的なコア計算リソースを排他的に占有可能である。
前記第1の態様又は前記第1の態様の前記第1から第3の可能な実施方法のうちのいずれか1つに関する、第4の可能な実施方法において、前記高度なリソースプールは、レベル2のリソースプールを含み、ここで、該レベル2のリソースプールの中の各仮想マシンは、1つの物理的なコア計算リソースの50%を占有可能である。
前記第1の態様又は前記第1の態様の前記第1から第4の可能な実施方法のうちのいずれか1つに関する、第5の可能な実施方法において、高度なリソースプールの中の仮想マシンの数の変化に従って、前記高度なリソースプールの中の前記割り当てられた物理的コアの数を動的に調整する前記ステップは:前記高度なリソースプールの中の前記仮想マシンの数が増加した場合に、増加した仮想マシンの数及び前記高度なリソースプールのサービスレベルに従って、前記高度なリソースプールに割り当てられる必要のある物理的なコアの第1の数を決定し、かつ前記デフォルトリソースプールから前記高度なリソースプールに対して前記第1の数の物理的なコアを割り当てるステップ;又は前記高度なリソースプールの中の前記仮想マシンの数が減少した場合に、前記減少した仮想マシンの数及び前記高度なリソースプールのサービスレベルに従って、前記高度なリソースプールから減算する必要のある物理的なコアの第2の数を決定するステップ;及び前記高度なリソースプールから前記デフォルトリソースプールに対して、前記第2の数の物理的なコアを割り当てるステップ;を含む。
前記第1の側面又は前記第1の側面の第1から第5の可能な実施方法のうちのいずれか1つに関する、第6の可能な実施方法において、前記高度なリソースプールの中の前記仮想マシンの前記数が減少した場合に、前記減少した仮想マシンの数及び前記高度なリソースプールのサービスレベルに従って、前記高度なリソースプールから減算する必要のある物理的コアの第2の数を決定するステップ;及び前記高度なリソースプールから前記デフォルトリソースプールに対して、前記第2の数の物理的コアを割り当てる前記ステップは、具体的には:前記高度なリソースプールの中で実行される仮想マシンがない場合に、前記高度なリソースプールの中の前記物理的なコアを前記デフォルトリソースプールに割り当てるステップ;を含む。
前記第1の態様又は前記第1の態様の前記第1から第6の可能な実施方法のうちのいずれか1つに関する、第7の可能な実施方法において、高度なリソースプールの中の仮想マシンの数の変化に従って、前記高度なリソースプールの中の割り当てられた物理的コアの数を動的に調整するステップの前に、前記方法は、さらに:前記高度なリソースプールの中の前記仮想マシンの数が変化した後、前記高度なリソースプールの前記サービスレベルを満たすためには、前記高度なリソースプールの中の前記物理的コアの数が不十分であると決定するステップ;を含む。
前記第1の態様又は前記第1の態様の前記第1から第6の可能な実施方法のうちのいずれか1つに関する、第8の可能な実施方法において、高度なリソースプールの中の仮想マシンの数の変化に従って、前記高度なリソースプールの中の割り当てられた物理的コアの数を動的に調整するステップの前に、前記方法は、さらに:前記高度なリソースプールの中の前記仮想マシンの数が変化した後、前記高度なリソースプールの中に、該高度なリソースプールの中の仮想マシンにサービスを提供しない1つ以上の使用されていない物理的なコア計算リソースが存在することを決定するステップ;を含む。
前記第1の態様又は前記第1の態様の前記第1から第8の可能な実施方法に関する第9の可能な実施方法において、前記方法は、さらに:前記デフォルトリソースプールの中の前記複数の仮想マシンに対して、各仮想マシンにより占有可能な前記物理的な複数のコア計算リソースの上限割合及び/又は下限割合を設定するステップ;を含む。
前記第1の態様又は前記第1の態様の第1から第9の可能な実施方法のうちのいずれか1つに関する、第10の可能な実施方法において、前記方法は、さらに:前記デフォルトリソースプールの中の前記複数の仮想マシンに対して、物理的ば複数のコア計算リソースの使用における各仮想マシンの優先順位を設定するステップ、及び優先順位の高い順に、前記デフォルトリソースプールの中の前記複数の仮想マシンに対して、物理的な複数のコア計算リソースを割り当てるステップ;を含む。
第2の態様によると、仮想システムに適用可能な計算ノードが提案され、ここで、該計算ノードは:高度なリソースプールの中の仮想マシンの数の変化に従って、前記高度なリソースプールの中の割り当てられた物理的なコアの数を動的に調整し、かつ前記高度なリソースプールの中の前記割り当てられた物理的なコアの数に従って、デフォルトリソースプールの中の割り当てられた物理的なコアの数を調整するように構成されるリソース調整部;及び中央処理装置の複数の物理的なコアを、前記デフォルトリソースプール及び前記高度なリソースプールに、該複数のリソースプールの複数のサービスレベルに従って分割するように構成されるリソース割当部;を含む。
前記第2の態様に関する、第1の可能な実施方法において、前記高度なリソースプールの中の前記仮想マシンの数が増加した場合に、前記リソース調整部は、増加した仮想マシンの数及び前記高度なリソースプールのサービスレベルに従って、前記高度なリソースプールに割り当てられる必要のある物理的なコアの第1の数を決定し、かつ前記デフォルトリソースプールから前記高度なリソースプールに対して前記第1の数の物理的なコアを割り当てる;又は前記高度なリソースプールの中の前記仮想マシンの前記数が減少した場合に、前記リソース調整部は、前記減少した仮想マシンの数及び前記高度なリソースプールのサービスレベルに従って、前記高度なリソースプールから減算する必要のある物理的なコアの第2の数を決定し、かつ前記高度なリソースプールから前記デフォルトリソースプールに対して、前記第2の数の物理的なコアを割り当てる。
第2の態様又は第2の態様の第1の可能な実施方法に関する、第2の可能な実施方法において、前記計算ノードは:前記高度なリソースプールの中の前記仮想マシンの数が変化した後、前記高度なリソースプールの前記サービスレベルを満たすためには、前記高度なリソースプールの中の前記物理的なコアの数が不十分であると決定するように構成される第1決定部;をさらに備える。
前記第2の態様又は前記第2の態様の前記第1の可能な実施方法に関する、第3の可能な実施方法において、前記計算ノードは、さらに:前記高度なリソースプールの中の前記仮想マシンの数が変化した場合、前記高度なリソースプールの中に、該高度なリソースプールの中の仮想マシンにサービスを提供しない1つ以上の使用されていない物理的なコア計算リソースが存在することを決定するように構成される第1の決定部;を備える。
前記第2の態様又は前記第2の態様の前記第1から第3の可能な実施方法のうちのいずれか1つに対する、第4の可能な実施方法において、前記リソース割当部は、前記デフォルトリソースプールの中の各仮想マシンに対して、各仮想マシンにより占有可能な前記複数の物理的コア計算リソースの上限割合及び/又は下限割合を設定するように構成される。
前記第2の態様又は前記第2の態様の前記第1から第4の可能な実施方法のうちのいずれか1つに関する第5の可能な実施方法において、前記リソース割当部は、前記デフォルトリソースプールの中の前記複数の仮想マシンに対して、物理的な複数のコア計算リソースの使用における各仮想マシンの優先順位を設定し、かつ優先順位の高い順に、前記デフォルトリソースプールの中の前記複数の仮想マシンに対して、物理的な複数のコア計算リソースを割り当てるように構成される。
本発明の複数の実施例によると、物理的な複数のコアは、異なる複数のリソースブールに分割され、そして1つのリソースプールの中の物理的な複数のコアの複数の計算リソースは、他のリソースプールの中のそれらから分離され、これにより、異なる複数の適用シナリオに対する複数の物理的コア計算リソースの効果的な割り当てを実現し、多くの計算リソースを長時間占有する優越的な仮想マシンの出現を回避し、複数の物理的コア計算リソースの不均衡な割り当てを防止し、そして複数の物理的コアの複数の計算リソースの使用の効率を向上する。
本発明の複数の実施例における複数の技術的解決手段をより明確に説明するために、以下において、当該複数の実施例又は先行技術を説明するために必要となる添付の複数の図面を簡潔に紹介する。明らかに、以下の説明における添付の複数の図面は、本発明の複数の実施例のいくつかのみを示すものであり、当業者は、創造的な努力なしで、依然として、これらの添付図面から他の複数の図面を導出することが可能である。
本発明の実施例に従う、中央処理装置のリソース割り当て方法の概略フローチャートである。 本発明の実施例に従う、仮想マシンの移入(migration−in)処理の具体的な例のフローチャートである。 本発明の実施例に従う、仮想マシンの移出(migration−out)処理の具体的な例のフローチャートである。 ソース計算ノードから宛先の計算ノードに仮想マシンを移行するためのシグナリングインターワーキング(signaling interworking)の図である。 本発明の実施例に従う計算ノードの概略構成図である。 本発明の実施例に従う計算ノードの概略構成図である。 本発明の実施例に従う計算ノードの他の概略構成図である。
以下において、本発明の複数の実施例における添付の複数の図面を参照することにより、本発明の複数の実施例における複数の技術的解決手段を明確かつ完全に記載する。明らかに、記載される複数の実施例は、本発明の複数の実施例のうちの一部であり、全てではない。創造的努力なしで、本発明の複数の実施例に基づき、当業者により取得される他の複数の実施例の全ては、本発明の保護範囲に属さなければならない。
本発明の複数の実施例における複数の技術的な解決手段は、仮想マシンの仮想CPU(VCPUと略す)を指定されたリソースプールにバインドする基本的な機能に基づいて実現される。当業者は、リソースプールに対してVCPUをバインドするための特定の複数の方式及び複数の実現手段を理解することが可能であり、それについては、簡潔性のため、ここにおいては詳述されない。
本発明の複数の実施例の説明において、物理的なコアとは、物理的な中央演算装置のコアのことを言う。仮想マシンがその上で実行されるサーバ又はコンピューティングノードは、一般に、複数のCPUを備え、そして各CPUは、1つ以上の物理的なコアを含む。物理的な複数のコアは、異なる複数の目的に対して使用されてもよい。本発明の複数の実施例において、リソースプールを形成するCPUの物理的な複数のコアは、1つのCPUの物理的な複数のコアであってもよく又は複数のCPUの物理的な複数のコアであってもよく、複数のCPUは、1つのサーバ又は計算ノードに置かれてもよく、或いは複数のサーバ又は複数の計算ノードに置かれてもよく、それについては、本発明の複数の実施例においては特に限定されない。
本発明の複数の実施例において、仮想マシンは、複数のVCPUを含んでもよい。説明を容易にするために、1つの仮想マシンが1つのVCPUを含む例が説明される。記述処理において、1つの仮想マシンが複数の実施例における1つのVCPUを含むので、「VCPUとリソースプールをバインドする」ことは、また、一般に、「仮想マシンとリソースプールをバインドする」と表現されてもよい。当業者は、本明細書における「バインドする」という意味は、その用語が当該技術分野で通常理解されるのと同じである、ということを理解する。当業者は、「リソースプールにおいて実行される仮想マシン」ということは、仮想マシンが当該リソースプールの中の物理的なコア計算リソースを占有するということを意味し、他のリソースプールの中の物理的なコア計算リソースを占有するということではないことを理解することができる。本発明の複数の実施例において、物理的なコア計算リソースとは、物理的なコアにより与えられる計算能力のことを示す。リソースプールにおいて実行される仮想マシンにより占有され得る複数の計算リソースは、リソースプールの1つの物理的コアに由来してもよく、或いはリソースプールの中の物理的な複数のコアに由来してもよく、これについては、本発明の複数の実施例においては限定されない。仮想マシンにより占有され得る「物理的な複数のコア計算リソース」とは、仮想マシンにより占有され得る複数のリソースプールの中の物理的な複数のコア計算リソースであって、その中で、1つの仮想マシンが動作する、物理的な複数のコア計算リソース、のことを示す。或いはリソースプールであって、その中で仮想マシンが実行される、リソースプール、の中の物理的な複数のコア計算リソースであって、仮想マシンの全てのVCPUにより占有され得る、物理的な複数のコア計算リソース、のことを示してもよい。以下の説明における明確性のため、本発明の複数の実施例は、例を使用することにより説明され、それにおいて、「仮想マシンにより占有される物理的な複数のコア計算リソース」は、仮想マシンが実行されるリソースプールの中の物理的な複数の計算リソースであって、仮想マシンの全てのVCPUにより占有される、物理的な複数の計算リソースである。
図1は、本発明の実施例に従う中央処理装置リソース割り当て方法の概略フローチャートである。図1に示されるように、当該方法100は以下の複数のステップを含む。
110.高度なリソースプール(advanced resource pool)の中の仮想マシンの数の変化に従って、前記高度なリソースプールの中の割り当てられた物理的コアの数を動的に調整する。
120.前記高度なリソースプールの中の割り当てられた物理的なコアの数に従って、デフォルトリソースプールの中の割り当てられた物理的なコアの数を調整し、ここで前記高度なリソースプール及び前記デフォルトリソースプールは、複数のリソースプールであって、前記複数のリソースプールの複数のサービスレベルに従って、中央処理装置の複数の物理的コアを分割することにより取得される、複数のリソースプール、である。
本発明の実施例において、各リソースプールは、当該リソースプールの中で実行される複数の仮想マシンにサービスを提供し、そして当該リソースプールのサービスレベルは、当該リソースプールの中で実行される複数の仮想マシンにより要求されるサービスレベルに対応する。ここで、「サービスレベル」とは、例えば、各仮想マシンにより占有され得る物理的な複数のコア計算リソースの数である。本発明のこの実施例及び後の複数の実施例において、「占有する」とは、リソースプールの中の各仮想マシンに実際に割り当てられる物理的な複数のコア計算リソースのことを示す。例えば、高度なリソースプールにおいて、仮想マシンは、1つの物理的コア計算リソースの50%を占有することが可能であり、これは、1つの物理的コア計算リソースの50%が、当該高度なリソースプールの中の仮想マシンに対して実際に割り当てられる、ということを意味する。例えば、他の高度なリソースプールにおいて、仮想マシンは、1つの物理的なコア計算リソースを占有することが可能であり、これは、1つの物理的なコア計算リソースが実際に1つの仮想マシンに割り当てられる、ということを意味する。
本発明の他の実施例において、異なる複数のリソースプールは、論理的に互いに分離される。すなわち、各リソースプールの中の複数の物理的コアは、各リソースプールの中で実行される複数の仮想マシンに対してのみサービスを提供し、そして当該リソースプールの中で実行される複数の仮想マシンに対して物理的な複数のコア計算リソースを提供する。ここで説明される論理的な分離は、物理的な分離の可能性を除外するものではない。本発明の実施例に従う可能な実施方法において、異なる複数のリソースプールは、物理的に互いに分離されることもあり得る。例えば、異なる複数のリソースプールの中の複数の物理的なコアは、異なる複数の計算ノードに取り付けられてもよい。
本発明の実施例において、デフォルトリソースプールにおいて実行される複数の仮想マシンは、当該デフォルトリソースプールの中の全ての物理的コアの複数の計算リソースを共有する。高度なリソースプールは、特定のアプリケーションの要件に従って設定されてもよい。可能な実施方法において、高度なリソースプールは、レベル1のリソースプールを含み、ここで該レベル1のリソースプールの中の各仮想マシンは、1つの物理的コア計算リソースを排他的に占有可能とされる、すなわち、レベル1のリソースプールのサービスレベルは100%である。仮想マシンがただ1つのVCPUを含む場合において、レベル1のリソースプールの中の複数の物理的コアの数は、リソースプールの中で実行される仮想マシンの数に等しい。レベル1のリソースプールは、1つの物理的コア計算リソースが、当該レベル1のリソースプールにおいて常に実行される仮想マシンに割り当てられることを保証することができるが、当該「1つの物理的コア計算リソース」は、当該リソースプールの中の1つ以上の物理的なコアに由来してもよい。別の可能な実施方法において、レベル1のリソースプールに加えて、高度なリソースプールはさらに、レベル2のリソースプールを含む。レベル2のリソースプールにおいて実行される仮想マシンは、1つの物理的なコア計算リソースの50%を占有することが可能であり、すなわち、レベル2のリソースプールのサービスレベルは50%である。言い換えると、レベル2のリソースプールにおいて、物理的なコア計算リソースの50%は、各仮想マシンに実際に割り当てられるが、「1つの物理的なコア計算リソースの50%」は、リソースプールの中の1つ以上の物理的なコアに由来してもよい。本発明の実施例に従う他の可能な実施方法において、高度なリソースプールは、レベル2のリソースプールのみを含んでもよい。本発明の実施例に従う他の可能な実施方法において、高度なリソースプールは、さらに、レベル3のリソースプールを含んでもよく、ここで、当該レベル3のリソースプールにおいて実行される仮想マシンは、1つの物理的なコア計算リソースの33%を占有することが可能である。特定のアプリケーションの要件に応じて、高度なリソースプールの中に、より多い又はより少ないサブリソースプールを設定することが可能であり、そして当該複数のサブリソースプールの複数のサービスレベルが異なっていてもよい、ということを当業者は理解することができる。
本発明の実施例によると、ステップ110は、具体的には:前記高度なリソースプールの中の前記仮想マシンの数が増加した場合に、増加した仮想マシンの数及び前記高度なリソースプールのサービスレベルに従って、前記高度なリソースプールに割り当てられる必要のある物理的コアの第1の数を決定するステップ;及び前記デフォルトリソースプールから前記高度なリソースプールに対して前記第1の数の物理的コアを割り当てるステップ;又は前記高度なリソースプールの中の前記仮想マシンの数が減少した場合に、前記減少した仮想マシンの数及び前記高度なリソースプールのサービスレベルに従って、前記高度なリソースプールから減算する必要のある物理的コアの第2の数を決定するステップ;及び前記高度なリソースプールから前記デフォルトリソースプールに対して、前記第2の数の物理的コアを割り当てるステップ;を含む。
高度なリソースプールの中の複数の物理的なコアは、当該高度なリソースプールの中で実行される仮想マシンがない場合に、デフォルトリソースプールに対して割り当てられる。以下において、説明のために、複数のリソースプールはデフォルトリソースプール及び高度なリソースプールを含み、かつ高度なリソースプールはレベル1のリソースプール及びレベル2のリソースプールを含む例を使用する。ここで使用される例は、本発明の実施例の複数の実施方法を説明することのみを意図しており、本発明の実施例を限定するものではない、ということに注意すべきである。また、本発明の実施例の説明において、異なる複数のサービスレベルの複数のリソースプールにおいて実行される複数の仮想マシンは、複数のサービスレベルに対応する複数の仮想マシンと呼ばれてもよい。例えば、レベル1のリソースプールにおいて実行される仮想マシンは、レベル1の仮想マシンと呼ばれてもよく、そしてデフォルトリソースプールの中で実行される仮想マシンは、デフォルト仮想マシンと呼ばれてもよい。
最初に、例えば、システムの電源が投入されると、高度なリソースプールの中で実行される仮想マシンがないため、全ての物理的なリソースはデフォルトリソースプールに割り当てられる。異なる複数のアプリケーションシナリオに応じて、複数の仮想マシンが起動され、そして、異なる複数のリソースプールに移行される異なる複数のリソースプール又は複数の仮想マシンに加えられる。逆のプロセスは、複数の仮想マシンを停止する、又は複数のリソースプールから複数の仮想マシンを移行することである。例えば、レベル1の仮想マシン、すなわち、1つの物理的なコア計算リソースの100%を占有することの可能な仮想マシンが必要とされる。その後、レベル1のリソースプールにおいて、レベル1の仮想マシンを生成する必要がある。当業者は、仮想マシンを生成及び開始する複数の処理を理解及び認識し、そして従って、簡潔性のため、当該複数の処理は本明細書においては詳述されない。レベル1の複数の仮想マシンがレベル1のリソースプールに加えられた場合、加えられたレベル1の仮想マシンの数に従って、レベル1のリソースプールに割り当てられる必要のある第1の数の物理的なコアが決定され、そしてその後デフォルトリソースプールから第1の数の物理的なコアがレベル1のリソースプールに対して割り当てられる。特定のアプリケーションシナリオに従って、レベル1の仮想マシンの数を減らす必要がある場合、例えば、レベル1のリソースプールから第2の数のレベル1の仮想マシンを移行する必要がある場合、又は第2の数のレベル1の仮想マシンを停止する必要がある場合、レベル1のリソースプールから第2の数のレベル1の仮想マシンを移行する例を使用することにより、レベル1のリソースプールから第2の数のレベル1の仮想マシンを移行する一方で、レベル1のリソースプールから第2の数の物理的なコアを減算する必要がある、ということが決定される。次に、レベル1のリソースプールの中の第2の数の物理的コアが、デフォルトリソースプールに対して割り当てられる。このように、レベル1のリソースプールの中の仮想マシンの数の変化に従って、レベル1のリソースプールの中の割り当てられた複数の物理的コアの数が動的に調整され、かつデフォルトリソースプールの中の割り当てられた物理的なコアの数がそれに応じて調整される。
レベル2のリソースプールに対して、調整方法は同様である。相違は、物理的なコア計算リソースの50%が、レベル2のリソースプールの中のレベル2の仮想マシンに対して実際に割り当てられることである。
本発明の実施例によると、可能な実施方法において、ステップ110の前に、方法はさらに:高度なリソースプールの中の仮想マシンの数が変化した後に、当該高度なリソースプールの中の物理的なリソースの数が当該高度なリソースプールの計算リソース要件を満たすのに、不十分であることを決定するステップを含む。例えば、1つのレベル1の仮想マシンが高度なリソースプールのレベル1のリソースプールに加えられた場合、レベル1のリソースプールの中の各仮想マシンは、1つの物理的なコア計算リソースを必要とし、かつ排他的に占有することが可能であるため、レベル1のリソースプールは、レベル1のリソースプールの中の全ての仮想マシンの複数の計算リソース要件を満たすことができない。また、以下の場合が存在し得る。例えば、高度なリソースプールのレベル2のリソースプールの中に3つのレベル2の仮想マシンが存在し、かつ各レベル2の仮想マシンは、1つの物理的なコア計算リソースの50%を占有することが可能である。従って、レベル2のリソースプールにおいて、2つの物理的なコアを3つのレベル2の仮想マシンに対して割り当てる必要がある。しかしながら、物理的な複数のコア計算リソースが3つのレベル2の仮想マシンに対して割り当てられた後、1つの物理的なコア計算リソースの50%が残る。この場合において、レベル2の仮想マシン1つがレベル2のリソースプールに加えられる場合、レベル2のリソースプールが全てのレベル2の仮想マシンの複数の計算リソース要件を満足できないということは生じない。このように、レベル2のリソースプールの中の1つの物理的なコア計算リソースの残り50%は、新しく加えられた仮想マシンに対して割り当てられてもよい。この場合、デフォルトリソースプールからレベル2のリソースプールに対して、新たな物理的コアを割り当てることは不要である。
本発明の実施例によると、可能な実施方法において、ステップ110の後で、当該方法はさらに:前記高度なリソースプールの中の前記仮想マシンの数が変化した後、前記高度なリソースプールの中に、該高度なリソースプールの中の仮想マシンにサービスを提供しない1つ以上の使用されていない物理的なコア計算リソースが存在することを決定するステップ;を含み、ここで、「1つ以上の使用されていない物理的なコア計算リソース」は、異なる複数の物理的なコアに由来してもよく、すなわち、異なる複数の物理的なコアからの複数の計算リソースの合計は、1つの物理的なコア計算リソースと同じである。例えば、レベル1の仮想マシンの1つが高度なリソースプールのレベル1のリソースプールから移行された後、当該レベル1のリソースプールの中に1つの使用されない物理的なコア計算リソースが出現する。この場合において、物理的なコアの複数の計算リソースを効率的に使用可能とするために、1つの物理的なコアは、デフォルトリソースプールの中で実行される仮想マシンによる使用のために、レベル1のリソースプールからデフォルトリソースプールに対して割り当てられてもよい。
例えば、高度なリソースプールのレベル2のリソースプールからレベル2の仮想マシン1つが移行された後、レベル2のリソースプールの中の各仮想マシンは、1つの物理的なコア計算リソースの50%を占有することが可能であるため、使用されない物理的なコア計算リソースが出現しない可能性がある。従って、1つ以上の使用されない物理的なコア計算リソースがレベル2のリソースプールに存在すると決定された場合にのみ、物理的なコアは、レベル2のリソースプールから戻って、デフォルトリソースプールに対して割り当てられ得る。
前述のように、デフォルトリソースプールの中の複数のデフォルト仮想マシンは、デフォルトリソースプールの中の全ての物理的なコアの複数の計算リソースを共有する。本発明の実施例によると、特定の条件に従って、共有方法が決定されてもよい。第1の可能な実施方法において、複数のデフォルト仮想マシンは、デフォルトリソースプールの中の全ての物理的なコアの複数の計算リソースを均等に共有してもよい。第1の可能な実施方法に基づく改良された解決手段によると、デフォルトリソースプールの中の各デフォルト仮想マシンにより占有され得る物理的な複数のコア計算リソースの上限の割合が設定されてもよい。例えば、デフォルトリソースプールの中の各仮想マシンにより占有され得る物理的な複数のコア計算リソースの上限の割合は、1つの物理的なコア計算リソースの10%である。このように、支配的な仮想マシン、すなわち、多くの計算リソースを占有する仮想マシンのデフォルトリソースプールにおける出現が防止される。
他の改善された解決手段によると、デフォルトリソースプールの中の複数の仮想マシンの計算性能を確かなものとするために、各仮想マシンにより占有され得る物理的な複数のコア計算リソースの下限の割合が設定されてもよい。例えば、デフォルトリソースプールの中の各仮想マシンにより占有され得る物理的な複数のコア計算リソースの下限の割合は、1つの物理的なコア計算リソースの5%である。各仮想マシンにより占有され得る物理的なコア計算リソースの上限の割合及び下限の割合が決定された後、ステップ110が実行される前に、当該方法100は:デフォルトリソースプールの中の仮想マシンの数及びデフォルトリソースプールの中の仮想マシンにより占有可能な物理的な複数のコア計算リソースの下限の割合に従って、デフォルトリソースプールが高度なリソースプールに割り当てられる十分なリソースを有することを決定するステップ;又はデフォルトリソースプールに仮想マシンが加えられた場合において、デフォルトリソースプールの容量の上限に達していない、すなわち、追加的な仮想マシンをさらに収容可能であることを決定するステップ;を含む。
例えば、デフォルトリソースプールの中の各仮想マシンにより占有され得る物理的な複数のコア計算リソースの下限の割合は5%であり、かつデフォルトリソースプールの中の各仮想マシンにより占有され得る物理的な複数のコア計算リソースの上限の割合は10%であることが仮定される。この場合、デフォルトリソースプールは10の物理的なコアを含むことが仮定され、そしてその結果、デフォルトリソースプールにおいて、物理的な複数のコア計算リソースを最大200のデフォルト仮想マシンに対して提供することが可能であり、かつ物理的な複数のコア計算リソースを少なくとも100のデフォルト仮想マシンに対して提供することが可能である。デフォルトリソースプールの中で実行される仮想マシンの数は、185であると仮定される。1つのレベル1の仮想マシンを追加する必要がある場合、つまり、デフォルトリソースプールから高度なリソースプールのレベル1のリソースプールに対して、1つの物理的なコアを割り当てる必要がある場合、計算結果によると、レベル1のリソースプールに1つの物理的なコアが割り当てられた後、デフォルトリソースプールの中の残りの物理的な複数のコア計算リソースは、最大180のデフォルト仮想マシンに対して、物理的な複数のコア計算リソースを提供することが可能である。しかしながら、185のデフォルト仮想マシンは、現在デフォルトリソースプールの中において実行されている。この場合、当該方法100は:高度な仮想マシンを追加するための要求を拒否するステップを含む。この例において、レベル1の仮想マシンを追加することが拒否される。確かに、本発明の実施例の他の場合において、1つの物理的なコアが高度なリソースプールのレベル1のリソースプールに対して割り当てられてもよく、かつデフォルトリソースプールの中の各デフォルト仮想マシンにより占有される物理的な複数のコア計算リソースの下限が調整される、或いはデフォルトリソースプールの中の複数の仮想マシンの展開ポリシーに従って、デフォルトリソースプールの中の各デフォルト仮想マシンにより占有される物理的な複数のコア計算リソースの既存の下限を満たすために、対応するデフォルト仮想マシンが停止される。
他の例として、デフォルトリソースプールの中の各仮想マシンにより占有され得る1つの物理的なコア計算リソースの下限の割合は5%であり、かつデフォルトリソースプールの中の各仮想マシンにより占有され得る1つの物理的なコア計算リソースの上限の割合は10%であることが仮定される。この場合、デフォルトリソースプールは10の物理的コアを含み、かつデフォルトリソースプールの中で実行される仮想マシンの数は185であることが仮定される。1つの仮想マシンをデフォルトリソースプールに加える必要がある場合、すなわち、1つのデフォルト仮想マシンを加える必要がある場合、計算結果によると、デフォルトリソースプールの容量は、さらに3つのデフォルト仮想マシンを収容することが可能であり、そして従って、デフォルトリソースプールに1つの仮想マシンを追加することが可能となる。
他の可能な実施方法において、デフォルトリソースプールの中のデフォルト仮想マシンに対して、さらに、優先順位を設定してもよい。デフォルトリソースプールの中の物理的な複数のコア計算リソースは、優先的に、高い優先順位のデフォルトの仮想マシンの要件を満たす。各デフォルト仮想マシンにより占有され得る物理的な複数のコア計算リソースの上限の割合及び上限が設定されているので、優先順位の高いデフォルトの仮想マシンは、優先順位の低いデフォルト仮想マシンへの計算リソースの割り当ての失敗の原因となる「優越的な仮想マシン」となることはない。
以下、本発明の実施例の実施過程を完全に説明するために、レベル2のリソースプールに仮想マシンを追加する具体的な処理の例を使用する。図2は、本発明の実施例に従う、仮想マシンの移入(migration−in)処理の具体的な例のフローチャートである。図2に示されるように、仮想マシンをレベル2のリソースプールに追加する処理200は、以下の複数のステップを含む:
210.ユーザは仮想マシン1のレベル2のリソースプールへの移行を要求する。
220.システムは、物理的な複数のコア計算リソースが十分であるかどうかを決定する。
すなわち、デフォルトリソースプールの中のレベル1のリソースプールの中の仮想マシンの数及びレベル2のリソースプールの中の仮想マシンの数デフォルトリソースプールの中の仮想マシンの数、及びデフォルトリソースプールの中の各仮想マシンに割り当てられる計算リソースの下限の割合に従って、システムは、レベル2のリソースプールに割り当てられる十分な計算リソースがあるかどうかを決定し、ここで、レベル1のリソースプール及びレベル2のリソースプールは現在の高度なリソースプールに含まれる。この例において、物理的なコアは、レベル2のコアリソースプールに移行されてもよいため、システムは、デフォルトリソースプールの中の1つ以上の物理的なコアをレベル2のリソースプールに割り当てることができると決定する必要がある。物理的な複数のコアリソースが十分な場合、手順はステップ230に進む;そして、物理的な複数のコアリソースが不十分な場合、手順はステップ270にスキップする。
230.物理的な複数のコア計算リソースが十分である場合、仮想マシン1がレベル2のリソースプールに移行した後に、システムは、新しい物理的なコアをレベル2のリソースプールに対して割り当てる必要があるかどうか決定する。
レベル2のリソースプールにおける各仮想マシンは、1つの物理的な計算リソースの50%を占有することが可能である。従って、仮想マシン1がレベル2のリソースプールに移行する前に、レベル2のリソースプールの中の仮想マシンの数が奇数である場合、1つの物理的なコアの計算リソースの50%は、レベル2のリソースプールの中で割り当てられないままとなる。この場合、レベル2のリソースプールに新しい物理的なコアを割り当てることは不要である。これに反して、仮想マシン1がレベル2のリソースプールに移行する前に、レベル2のリソースプールの中の仮想マシンの数が偶数である場合、仮想マシン1が計算リソースを提供されるようにするために、デフォルトリソースプールからレベル2のリソースプールに対して、物理的なコアを割り当てる必要がある。
240.レベル2のリソースプールに対して新しい物理的なコアを割り当てる必要がある場合、仮想マシン1をレベル2のリソースプールに移行し、かつ1つの物理的なコア計算リソースの残りの50%を仮想マシン1に割り当てる。
250.レベル2のリソースプールに対して新しい物理的コアを割り当てる必要がある場合、デフォルトリソースプールからレベル2のリソースプールに対して、新しい物理的コアを割り当て、仮想マシン1をレベル2のリソースプールに移行し、そして仮想マシン1に対して1つの物理的計算リソースの残りの50%を与える。
260.これに対応して、デフォルトリソースプールは、当該デフォルトリソースプールの中の複数の仮想マシンの間で、物理的な複数のコア計算リソースの割り当てを調整する。
前述の内容によると、デフォルトリソースプールの中の物理的な複数のコア計算リソースの調整方法は、デフォルトリソースプールの特定の複数の設定と共に、変化する。例えば、デフォルトリソースプールの中の複数の仮想マシンが均等に物理的な複数のコアの複数の計算リソースを共有する場合、物理的なコアが減算されるため、デフォルトリソースプールの中の各仮想マシンに実際に割り当てられる物理的なコアの複数の計算リソースは、それに応じて減少する。
270.仮想マシン1は、レベル2のリソースプールに移行することは許可されない。
この場合、システムにおける物理的な複数のコア計算リソースが不十分であるため、レベル2のリソースプールに仮想マシン1が移行することは許可されないことを示すメッセージを使用することにより、通知がユーザに送られてもよい。
仮想マシンをレベル1のリソースプール又はデフォルトリソースプールに移行する手順は、図2に示される手順と同様である。
図2に示される手順に対応して、図3は、仮想マシンをレベル2のリソースプールから移出する手順である。図3に示されるように、手順300は、以下の複数のステップを含む:
310.ユーザは、レベル2のリソースプールからの仮想マシン2の移出を要求する。
320.システムは、仮想マシン2がレベル2のリソースプールから移出された後、レベル2のリソースプールの中の物理的なコアの数を減らす必要があるかどうかを決定する。
レベル2のリソースプールの中の各仮想マシンは、1つの物理的コア計算リソースの50%を占有することが可能である。従って、仮想マシン2がレベル2のリソースプールから移行される前に、レベル2のリソースプールの中の仮想マシンの数が奇数である場合、物理的なコア計算リソースの50%は、レベル2リソースプールの中で割り当てられないままとなる。この場合、仮想マシン2がレベル2のリソースプールから移行された後、1つの物理的コア計算リソースは使用されておらず、そして1つの物理的なコアをレベル2のリソースプールから減算する必要がある。これに反して、仮想マシン2がレベル2のリソースプールから移行される前に、レベル2のリソースプール内の仮想マシンの数が偶数である場合、レベル2のリソースプール内の物理的なコアの数は、減らすことができない。
330.レベル2のリソースプールの中の物理的なコアの数を減らす必要がある場合、すなわち、レベル2のリソースプールの中の既存の仮想マシンの数が奇数である場合、レベル2のリソースプールの中の1つの物理的なコア計算リソースの50%は、割り当てられないままとなる。この場合、仮想マシン2がレベル2のリソースプールから移行された後、1つの物理的なコア計算リソースは不稼働となり、かつ1つの物理的コアがデフォルトリソースプールに割り当てられ、そして手順はステップ350にスキップする。
340.レベル2のリソースプールの中の物理的なコアの数を減らす必要がある場合、仮想マシン2がレベル2のリソースプールから移行される。
350.デフォルトリソースプールは、それに応じて、デフォルトリソースプール内の複数の仮想マシンの物理的な複数のコア計算リソースの割り当てを調整する。
本発明の実施例において、レベル2のリソースプールの中の全ての仮想マシンが移出(migrate out)される場合、レベル2のリソースプールの中の全ての物理的なコアは、デフォルトリソースプールに割り当てられる。
前述の実施例では、高度なリソースプールがレベル1リソースプール及びレベル2リソースプールを含む例を使用している。実際のアプリケーションのシナリオに応じて、高度なリソースプールは、レベル1リソースプール及びレベル2リソースプール等のサブリソースプールを含まなくてもよい。実際のアプリケーションのシナリオに応じて、高度なリソースプールは、レベル1リソースプール及びレベル2リソースプールを含んでもよいだけでなく、実際のアプリケーションに応じて各リソースプールのサービスレベルを設定してもよい。
前述の内容によれば、デフォルトリソースプールの中の物理的な複数のコア計算リソースは、デフォルトリソースプールの特定の設定と共に変化する。例えば、デフォルトリソースプールの中の複数の仮想マシンがデフォルトリソースプールの中の物理的な複数のコアの複数の計算リソースを均等に共有する場合、1つの物理的なコアが加えられるので、物理的な複数のコア計算リソースを充分に使用するために、デフォルトリソースプールの中の各仮想マシンに対して割り当てられる物理的なコア計算リソースは、それに応じて増やされる。
図4は、本発明の実施例に従う、特定のアプリケーションシナリオのシグナリングインターワーキング(signaling interworking)の図である。図4に示されるアプリケーションのシナリオにおいて説明されるように、仮想マシンは、ソース計算ノードから宛先計算ノードに移行する。図1、図2、及び図3に示される本発明の実施例における方法は、図4に示されるアプリケーションのシナリオに適用可能であってもよい。
図4に示されるように、移行処理400は、以下の複数のステップを含む:
410.ユーザは、ソース計算ノードから宛先計算ノードへの仮想マシン3の移行を要求する仮想マシン移行要求をクラスタ制御部に送信する。
420.クラスタ制御部は、ユーザが送信した仮想マシン移行要求を受信し、そして対応する処理を実行する。
クラスタ制御部は、例えば、割り当てられた複数のリソースを先に占有する等、従来の仮想マシンスケジューリング手順に従って、対応する処理を実行してもよい。
430.クラスタ制御部は、仮想マシン3をソース計算ノードから移出(migrate out)するために、ソース計算ノードにスケジューリング要求を送信する。
440.仮想マシン3は、ソース計算ノードから移出する。
ソース計算ノードにおいて、例えば、図3に示される仮想マシンの移出手順(migration−out procedure)が実行される。
450.ソース計算ノードは、物理的な複数のコア計算リソースの動的な調整を実行する。
460.仮想マシン3は、宛先計算ノードに移転する。
宛先計算ノードにおいて、例えば、図2に示される仮想マシン移入手順(migration−in procedure)が実行される。
470.宛先計算ノードは、物理的な複数のコア計算リソースの動的な調整を実行する。
480.ソース計算ノードは、移出成功又は失敗のメッセージをクラスタ制御部に返す。
490.クラスタ制御部は、ソース計算ノードから宛先計算ノードへの仮想マシン3の移転の結果をユーザに通知する。
本発明の実施例によると、物理的な複数のコアは、異なる複数のリソースプールに分割され、そして1つのリソースプールの中の物理的な複数のコアの複数の計算リソースは、他のリソースプールの中のそれらから分離され、これにより、異なる複数のアプリケーションシナリオに対して物理的な複数のコア計算リソースの効果的な割り当てを実現し、多くの計算リソースを占有する優越的な仮想マシンの出現を避け、物理的な複数のコア計算リソースの不均衡な割り当てを防止し、かつ物理的な複数のコアの複数の計算リソースの使用効率を向上させることができる。
本発明の実施例における方法は、異なる複数のクラウドコンピューティングビジネスモデルに適用可能である。例えば、インターネットデータセンタ(Internet Data Center、IDCと略す)ビジネスモデルにおいて、仮想マシンが常に1つの物理的なコア計算リソースを排他的に占有し、かつ計算リソースが他のユーザにより占有されないようにするために、レベル1のリソースプールの中に置かれる仮想マシンは、ユーザに対して提供されてもよく、これにより、安定した計算能力をユーザに提供する。例えば、サービスプライベートクラウド(Service Private Cloud、SPCと略す)ビジネスモデルにおいて、ユーザに対して提供される仮想マシンは、高性能及びサービス安定性を持つことだけでなく、ある程度のCPUリソース再利用が要求される。従って、レベル1のリソースプール及びレベル2のリソースプール双方における複数の仮想マシンは、そのようなシナリオにおけるアプリケーションを満たす。例えば、仮想デスクトップインフラストラクチャ(Virtual Desktop Infrastructure、VDIと略す)ビジネスモデルにおいて、ユーザは、仮想マシンの高い価格/性能比及び複数のリソースの再利用性を要求する。この場合、仮想マシンは、高い稼働/非稼働率を有し、かつデフォルトリソースプールの中の複数の仮想マシンは、このシナリオに適している。
本発明の実施例は、さらに、本発明の実施例における方法を適用可能な計算ノードを提案する。図5に示されるように、計算ノード500は:高度なリソースプールの中の仮想マシンの数の変化に従って、前記高度なリソースプールの中の割り当てられた物理的コアの数を動的に調整し、かつ前記高度なリソースプールの中の前記割り当てられた物理的コアの数に従って、デフォルトリソースプールの中の割り当てられた物理的コアの数を調整するように構成されるリソース調整部510;及び中央処理装置の複数の物理的コアを、前記デフォルトリソースプール及び前記高度なリソースプールに、該複数のリソースプールの複数のサービスレベルに従って分割するように構成されるリソース割当部520;を含む。
本発明の実施例において、各リソースプールは当該リソースプールにおいて実行される複数の仮想マシンに対してサービスを提供する。適切な場合には、本発明のこの実施例に従う計算ノードは、本発明の方法の実施例における他の複数の技術的特徴を有してもよい。以下、これを説明するために複数の例を使用する。
本発明の実施例によると、サービスレベルは、各仮想マシンにより占有可能な物理的な複数のコア計算リソースの数を含む。
本発明の実施例によると、リソース割当部は、デフォルトリソースプールの中の全ての物理的なコアの複数の計算リソースを共有するために、デフォルトリソースプールの中の複数の仮想マシンをスケジュールするように構成される。
本発明の実施例によると、高度なリソースプールはレベル1のリソースプールを含み、ここでレベル1のリソースプールの中の各仮想マシンは、1つの物理的なコア計算リソースを排他的に占有することが可能である。
本発明の実施例によると、高度なリソースプールはレベル2のリソースプールを含み、ここでレベル2のリソースプールの中の各仮想マシンは、1つの物理的な計算リソースの50%を占有することが可能である。
本発明の実施例によると、高度なリソースプールの中の仮想マシンの数が増加した場合、前記リソース調整部510は、増加した仮想マシンの数及び前記高度なリソースプールのサービスレベルに従って、前記高度なリソースプールに割り当てられる必要のある物理的コアの第1の数を決定し、かつ前記デフォルトリソースプールから前記高度なリソースプールに対して前記第1の数の物理的コアを割り当てる;又は前記高度なリソースプールの中の前記仮想マシンの前記数が減少した場合に、前記リソース調整部510は、前記減少した仮想マシンの数及び前記高度なリソースプールのサービスレベルに従って、前記高度なリソースプールから減算する必要のある物理的コアの第2の数を決定し、かつ前記高度なリソースプールから前記デフォルトリソースプールに対して、前記第2の数の物理的コアを割り当てる。
本発明の実施例によると、高度なリソースプールにおいて仮想マシンが実行されていない場合に、リソース調整部は、高度なリソースプールの中の物理的な複数のコアをデフォルトリソースプールに割り当てるように構成される。
図6に示されるように、本発明の実施例によると、前記計算ノードは:前記高度なリソースプールの中の前記仮想マシンの数が変化した後、前記高度なリソースプールの前記サービスレベルを満たすためには、前記高度なリソースプールの中の前記物理的コアの数が不十分であると決定するように構成される第1決定部530;をさらに備える。
本発明の実施例によると、前記第1の決定部530は、さらに、前記高度なリソースプールの中の前記仮想マシンの数が変化した場合、前記高度なリソースプールの中に、該高度なリソースプールの中の仮想マシンにサービスを提供しない1つ以上の使用されていない物理的なコア計算リソースが存在することを決定するように構成される。
本発明の実施例によると、リソース割当部520は、各仮想マシンにより占有可能な物理的な複数の計算リソースの事前に定められた割合に従って、デフォルトリソースプールの中の全ての物理的なコアの複数の計算リソースを共有するために、デフォルトリソースプールの中の複数の仮想マシンをスケジュールするように構成される。
本発明の実施例によると、リソース調整部510は、デフォルトリソースプールの中の物理的なコアの数及び各仮想マシンにより占有可能な物理的な複数のコア計算リソースの事前に定められた割合に従って、デフォルトリソースプールにより収容可能な仮想マシンの数を決定するように構成される。
本発明の実施例によると、リソース割当部520は、デフォルトリソースプールの中の全ての物理的なコアの複数の計算リソースを均等に共有するよために、デフォルトリソースプールの中の複数の仮想マシンをスケジュールするように構成される。
本発明の実施例によると、リソース割当部520は、デフォルトリソースプールの中の各仮想マシンに対して、各仮想マシンにより占有可能な物理的な複数のコア計算リソースの上限割合及び/又は下限割合を設定するように構成される。
本発明の実施例によると、リソース割当部520は、デフォルトリソースプールの中の複数の仮想マシンに対して、物理的な複数のコア計算リソースの使用における各仮想マシンの優先順位を設定し、かつ優先順位の高い順に、デフォルトリソースプールの中の複数の仮想マシンに対して、物理的な複数のコア計算リソースを割り当てるように構成される。
図7は、本発明の実施例に従う計算ノードの他の概略構成図である。図7に示されるように、計算ノード700は、CPU等の1つ以上のプロセッサ710、1つ以上のポート720、メモリ730、及び1つ以上の通信バス740を備える。通信バス740は、これらの装置の間の接続及び通信を実行するように構成される。プロセッサ710は、コンピュータプログラムなどの、メモリ730に記憶される実行可能モジュールを実行するように構成される。選択的に、通信ノードは、ディスプレイ、キーボード、マウス等のクリック装置、トラックボール(trackball)、タッチパッド又はタッチスクリーンを含むがそれには限定されない、ユーザインターフェース750を備える。メモリ730は、高速RAMメモリを含んでもよく、かつ1つ以上の磁気ディスクメモリなどの不揮発性メモリ(non−volatile memory)を含んでもよい。計算ノードとクラスタ制御部との間の通信接続は、1つ以上のポート720を使用することにより実現されてもよく、かつ計算ノードと1つ以上の他の計算ノードとの間の通信接続は、当該1つ以上のポート720を使用することにより実現されてもよい。
いくつかの実施方法において、メモリ730は、以下の要素、実行可能モジュール又はデータ構造、又はそれらのサブセット、又はそれらの拡張セットを記憶する:各種基本サービスを実行し、かつハードウェアベースの複数のタスクを処理するように構成される、各種システムプログラムを含むオペレーティングシステム732;及び各種アプリケーションサービスを実行するように構成される、各種アプリケーションを含むアプリケーションモジュール734。
アプリケーションモジュール734は、リソース調整部(510)、リソース割当部(520)、及び第1決定部(530)を含むが、それには限定されない。
アプリケーションモジュール734の中の複数のユニットの具体的な実行について、図5及び図6に示される複数の実施例の対応する複数のユニットを参照してもよく、詳細はここでは改めて説明しない。
本明細書において開示される複数の実施例を参照して説明される例示的なユニット及びアルゴリズムのステップは、電子的なハードウェア又はコンピュータソフトウェア及び電子的なハードウェアの組み合わせによって実施されてもよい、ということを当業者は認識することができる。複数の機能がハードウェアにより実行されるか又はソフトウェアにより実行されるかについては、特定の複数のアプリケーション及び技術的な複数の解決手段の複数の設計制約条件に依存する。当業者は、各特定のアプリケーションに対する説明された複数の機能を実行するために、異なる複数の方法を使用することができるが、しかしそのような実装は、本発明の範囲を超えていると見なすべきではない。
便宜的かつ簡単な説明を目的として、前述のシステム、装置、及びユニットの詳細な動作処理については、前述の複数の方法の実施例における対応する処理を参照することが可能であり、その詳細はここでは改めて説明しない、ということが当業者により明確に理解できる。
本出願において提供されるいくつかの実施例において、開示されるシステム、装置、及び方法は、他の複数の方法において実施されてもよい、ということが理解されるべきである。例えば、説明される方法の実施例は、単なる例示である。例えば、複数のユニットの分割は、複数の論理的機能の単なる分割であり、そして実際の実装において、他の複数の分割が存在してもよい。例えば、複数のユニット又は構成要素は、結合されてもよく、或いは他のシステムに統合されてもよく、又はいくつかの機能は省略されてもよく、或いは実行されなくてもよい。また、示される又は論じられる複数の相互結合又は直接結合又は通信接続は、いくつかのインターフェースを介して実装されてもよい。複数の装置又は複数のユニットの間の複数の間接結合又は複数の通信接続は、電気的、機械的、又は他の複数の形態で実施されてもよい。
別々の部品として説明される複数のユニットは、物理的に分離されてもよく、物理的に分離されていなくてもよく、そして複数のユニットとして示される複数の部品は、物理的な複数のユニットであってもよく、物理的な複数のユニットでなくてもよい、つまり、複数のユニットは1つの位置に置かれてもよく、又は複数のネットワークユニットに分散されてもよい。複数の実施例の複数の解決手段の複数の目的を達成する実際の必要に従って、複数のユニットのうちの一部又は全てが選択されてもよい。
また、本発明の複数の実施例における複数の機能的ユニットは、1つの処理ユニットに統合されてもよく、或いは各ユニットは物理的に単独で存在してもよく、又は2つ以上のユニットが1つのユニットに統合されてもよい。
複数の機能がソフトウェア機能部の形態において実行されかつ販売される、又は独立した製品として使用される場合、当該複数の機能はコンピュータ読み取り可能な記憶媒体に記憶されてもよい。このような理解に基づき、本発明の複数の技術的解決手段は、本質的に、又は従来技術に貢献する部分、又は複数の技術的解決手段の一部は、ソフトウェア製品の形態で実施されてもよい。ソフトウェア製品は、記憶媒体に記憶され、そしてコンピュータ装置(パーソナルコンピュータ、サーバ、又はネットワーク装置であってもよい)に、本発明の複数の実施例において説明される複数の方法の複数のステップの全て又はその一部を実行するように指示するためのいくつかの命令を含む。前述の記憶媒体は:USBフラッシュ装置、リムーバブルハードディスク、読み出し専用メモリ(ROM、Read−Only Memory)、ランダムアクセスメモリ(RAM、Random Access Memory)、磁気ディスク、又は光ディスクなどの、プログラムコードを記憶可能な任意の媒体を含む。
前述の複数の説明は、本発明の単なる複数の特定の実施例であるが、本発明の保護範囲を限定することは意図されていない。本発明において開示される技術範囲内で当業者により容易に考案される如何なる変更又は置換も、本発明の保護範囲に属さなければならない。従って、本発明の保護範囲は、複数の特許請求項の保護範囲に従わなければならない。

Claims (18)

  1. 中央演算装置のリソース割り当て方法であって、
    仮想システムに適用可能な計算ノードにより、高度なリソースプールの中の仮想マシンの数の変化に従って、前記高度なリソースプールの中の割り当てられた物理的なコアの数を動的に調整するステップ;及び
    前記計算ノードにより、前記高度なリソースプールの中の前記割り当てられた物理的なコアの数に従って、デフォルトリソースプールの中の割り当てられた物理的なコアの数を調整するステップ;
    を備え、
    前記高度なリソースプール及び前記デフォルトリソースプールは、リソースプールのサービスレベルに従って、中央処理装置の物理的なコアを分割することにより取得されるリソースプールであり、前記デフォルトリソースプールの中の仮想マシンは、前記デフォルトリソースプールの中の全ての物理的なコアの計算リソースを共有し、前記高度なリソースプールの中で実行する仮想マシンは、1つの物理的なコア計算リソースの所定の割合を占有可能であり、
    前記動的に調整するステップは:
    前記高度なリソースプールの中の前記仮想マシンの数が減少した場合に、前記計算ノードにより、減少した仮想マシンの数及び前記高度なリソースプールのサービスレベルに従って、前記高度なリソースプールから減算する必要のある物理的なコアの数を決定するステップ;及び
    前記デフォルトリソースプールに対して、前記高度なリソースプールから減算する必要のある前記物理的なコアの数を割り当てるステップ;を含む、
    方法。
  2. 前記サービスレベルは、各仮想マシンにより占有され得る物理的なコア計算リソースの数を含む、
    請求項1に記載の方法。
  3. 前記高度なリソースプールは、レベル1のリソースプールを含み、該レベル1のリソースプールの中の各仮想マシンは、1つの物理的なコア計算リソースを排他的に占有可能である、
    請求項1又は2に記載の方法。
  4. 前記高度なリソースプールは、レベル2のリソースプールを含み、該レベル2のリソースプールの中の各仮想マシンは、1つの物理的なコア計算リソースの50%を占有可能である、
    請求項1から3のいずれか1項に記載の方法。
  5. 前記高度なリソースプールの中の前記仮想マシンの前記数が減少した場合に、前記計算ノードにより、減少した仮想マシンの数及び前記高度なリソースプールのサービスレベルに従って、前記高度なリソースプールから減算する必要のある物理的コアの数を決定する前記ステップ;及び前記デフォルトリソースプールに対して、前記高度なリソースプールから減算する必要のある前記物理的なコアの数を割り当てる前記ステップは:前記高度なリソースプールの中で実行する仮想マシンがない場合に、前記高度なリソースプールの中の前記物理的なコアを前記デフォルトリソースプールに割り当てるステップ;を含む、
    請求項1から4のいずれか1項に記載の方法。
  6. 仮想システムに適用可能な計算ノードにより、高度なリソースプールの中の仮想マシンの数の変化に従って、前記高度なリソースプールの中の割り当てられた物理的なコアの数を動的に調整する前記ステップの前に、
    前記方法は、さらに:
    前記高度なリソースプールの中の前記仮想マシンの数が変化した後、前記高度なリソースプールの前記サービスレベルを満たすためには、前記高度なリソースプールの中の前記物理的なコアの数が不十分であると決定するステップ;を含む、
    請求項1から5のいずれか1項に記載の方法。
  7. 仮想システムに適用可能な計算ノードにより、高度なリソースプールの中の仮想マシンの数の変化に従って、前記高度なリソースプールの中の割り当てられた物理的なコアの数を動的に調整する前記ステップの前に、
    前記方法は、さらに:
    前記高度なリソースプールの中の前記仮想マシンの数が変化した後、前記高度なリソースプールの中に、該高度なリソースプールの中の仮想マシンにサービスを提供しない少なくとも1つの使用されていない物理的なコア計算リソースが存在することを決定するステップ;を含む、
    請求項1から6のいずれか1項に記載の方法。
  8. 前記方法は、さらに:
    前記計算ノードにより、前記デフォルトリソースプールの中の仮想マシンに対して、各仮想マシンにより占有可能な前記物理的なコア計算リソースの上限割合又は下限割合を設定するステップ;を含む
    請求項1から7のいずれか1項に記載の方法。
  9. 前記方法は、さらに:
    前記計算ノードにより、前記デフォルトリソースプールの中の前記仮想マシンに対して、物理的なコア計算リソースの使用における各仮想マシンの優先順位を設定するステップ、及び優先順位の高い順に、前記デフォルトリソースプールの中の前記仮想マシンに対して、物理的なコア計算リソースを割り当てるステップ;を含む
    請求項1から8のいずれか1項に記載の方法。
  10. 仮想システムに適用可能な計算ノードであって、
    高度なリソースプールの中の仮想マシンの数の変化に従って、前記高度なリソースプールの中の割り当てられた物理的なコアの数を動的に調整し、かつ前記高度なリソースプールの中の前記割り当てられた物理的なコアの数に従って、デフォルトリソースプールの中の割り当てられた物理的なコアの数を調整するように構成されるリソース調整部;及び
    中央処理装置の物理的なコアを、前記デフォルトリソースプール及び前記高度なリソースプールに、リソースプールのサービスレベルに従って分割するように構成されるリソース割当部であり、前記デフォルトリソースプールの中の仮想マシンは、前記デフォルトリソースプールの中の全ての物理的なコアの計算リソースを共有し、前記高度なリソースプールの中で実行する仮想マシンは、1つの物理的なコア計算リソースの所定の割合を占有可能であるリソース割当部;を備え、
    前記高度なリソースプールの中の前記仮想マシンの数が減少した場合に、前記リソース調整部は、減少した仮想マシンの数及び前記高度なリソースプールのサービスレベルに従って、前記高度なリソースプールから減算する必要のある物理的なコアの数を決定し、かつ前記デフォルトリソースプールに対して、前記高度なリソースプールから減算する必要のある前記物理的なコアの数を割り当てる、
    計算ノード。
  11. 前記サービスレベルは、各仮想マシンにより占有され得る物理的なコア計算リソースの数を含む、
    請求項10に記載の計算ノード。
  12. 前記高度なリソースプールは、レベル1のリソースプールを含み、該レベル1のリソースプールの中の各仮想マシンは、1つの物理的なコア計算リソースを排他的に占有可能である、
    請求項10又は11に記載の計算ノード。
  13. 前記高度なリソースプールは、レベル2のリソースプールを含み、該レベル2のリソースプールの中の各仮想マシンは、1つの物理的なコア計算リソースの50%を占有可能である、
    請求項10から12のいずれか1項に記載の計算ノード。
  14. 前記リソース調整部は、前記高度なリソースプールの中で実行する仮想マシンがない場合に、前記高度なリソースプールの中の前記物理的なコアを前記デフォルトリソースプールに対して割り当てるように構成される、
    請求項10から13のいずれか1項に記載の計算ノード。
  15. 前記計算ノードは:
    前記高度なリソースプールの中の前記仮想マシンの数が変化した後、前記高度なリソースプールの前記サービスレベルを満たすためには、前記高度なリソースプールの中の前記物理的なコアの数が不十分であると決定するように構成される第1決定部;をさらに備える
    請求項10から14のいずれか1項に記載の計算ノード。
  16. 前記計算ノードは:
    前記高度なリソースプールの中の前記仮想マシンの数が変化した場合、前記高度なリソースプールの中に、該高度なリソースプールの中の仮想マシンにサービスを提供しない少なくとも1つの使用されていない物理的なコア計算リソースが存在することを決定するように構成される第1決定部;
    をさらに備える、請求項10から15のいずれか1項に記載の計算ノード。
  17. 前記リソース割当部は、前記デフォルトリソースプールの中の各仮想マシンに対して、各仮想マシンにより占有可能な前記物理的なコア計算リソースの上限割合又は下限割合を設定するように構成される、
    請求項10から16のいずれか1項に記載の計算ノード。
  18. 前記リソース割当部は、前記デフォルトリソースプールの中の前記仮想マシンに対して、物理的なコア計算リソースの使用における各仮想マシンの優先順位を設定し、かつ優先順位の高い順に、前記デフォルトリソースプールの中の前記仮想マシンに対して、物理的なコア計算リソースを割り当てるように構成される、
    請求項10から17のいずれか1項に記載の計算ノード。
JP2017076053A 2017-04-06 2017-04-06 中央処理装置のリソース割当方法及び計算ノード Active JP6461224B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017076053A JP6461224B2 (ja) 2017-04-06 2017-04-06 中央処理装置のリソース割当方法及び計算ノード

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017076053A JP6461224B2 (ja) 2017-04-06 2017-04-06 中央処理装置のリソース割当方法及び計算ノード

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2015526852A Division JP6159402B2 (ja) 2012-08-31 2012-08-31 中央処理装置のリソース割当方法及び計算ノード

Publications (2)

Publication Number Publication Date
JP2017142838A JP2017142838A (ja) 2017-08-17
JP6461224B2 true JP6461224B2 (ja) 2019-01-30

Family

ID=59628514

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017076053A Active JP6461224B2 (ja) 2017-04-06 2017-04-06 中央処理装置のリソース割当方法及び計算ノード

Country Status (1)

Country Link
JP (1) JP6461224B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112149964A (zh) * 2020-09-03 2020-12-29 长沙市到家悠享网络科技有限公司 资源分配方法及装置
CN116610457B (zh) * 2023-07-20 2023-09-12 北京万界数据科技有限责任公司 一种面向ai云计算服务器群组的资源调度方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4197303B2 (ja) * 2004-02-17 2008-12-17 株式会社日立製作所 計算機リソース管理方法及び実施装置並びに処理プログラム
JP2009265778A (ja) * 2008-04-22 2009-11-12 Dino Co Ltd 仮想化サーバ
JP5400482B2 (ja) * 2009-06-04 2014-01-29 株式会社日立製作所 管理計算機、リソース管理方法、リソース管理プログラム、記録媒体および情報処理システム
US8589936B2 (en) * 2010-03-16 2013-11-19 Alcatel Lucent Method and apparatus for managing reallocation of system resources
JP5417287B2 (ja) * 2010-09-06 2014-02-12 株式会社日立製作所 計算機システム、及び、計算機システムの制御方法
CN103154926B (zh) * 2010-09-30 2016-06-01 亚马逊技术股份有限公司 用专用实施资源进行虚拟资源成本追踪

Also Published As

Publication number Publication date
JP2017142838A (ja) 2017-08-17

Similar Documents

Publication Publication Date Title
JP6159402B2 (ja) 中央処理装置のリソース割当方法及び計算ノード
CN108701059B (zh) 多租户资源分配方法和系统
US10120726B2 (en) Hybrid virtual machine configuration management
US9588789B2 (en) Management apparatus and workload distribution management method
US9183016B2 (en) Adaptive task scheduling of Hadoop in a virtualized environment
JP5510556B2 (ja) 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム
Park et al. Locality-aware dynamic VM reconfiguration on MapReduce clouds
US9690608B2 (en) Method and system for managing hosts that run virtual machines within a cluster
KR20210095690A (ko) 리소스 관리 방법과 장치, 전자 디바이스 및 기록 매체
KR102640232B1 (ko) 가상화 환경에서의 자원 할당 방법 및 장치
JP2009258982A (ja) ノード装置及びプログラム並び資源割当方法
US20220035662A1 (en) Scheduling workloads on a common set of resources by multiple schedulers operating independently
JP6461224B2 (ja) 中央処理装置のリソース割当方法及び計算ノード
CN116157778A (zh) 共享物理主机上混合集中分布式调度的系统和方法
CN111104203A (zh) 虚拟机分散调度方法、装置以及电子设备、存储介质
JP2013140596A (ja) メニーコアシステムのためのオペレーティングシステム動的再構成装置及び方法
US11762704B2 (en) Resource allocation device, resource management system, and resource allocation program
WO2017133421A1 (zh) 一种多租户资源共享的方法及装置
US10963296B1 (en) Load balancing of compute resources based on resource credits
Tang et al. Thoth: Provisioning Over-Committed Memory Resource with Differentiated QoS in Public Clouds
JP2003131894A (ja) コンピュータ環境の資源管理方法
JP2014225116A (ja) 仮想マシンを動作させるためのサーバ
JP2009123053A (ja) 資源割り当て装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180327

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181225

R150 Certificate of patent or registration of utility model

Ref document number: 6461224

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250