JP5363646B2 - 最適化仮想マシンマイグレーション機構 - Google Patents

最適化仮想マシンマイグレーション機構 Download PDF

Info

Publication number
JP5363646B2
JP5363646B2 JP2012504720A JP2012504720A JP5363646B2 JP 5363646 B2 JP5363646 B2 JP 5363646B2 JP 2012504720 A JP2012504720 A JP 2012504720A JP 2012504720 A JP2012504720 A JP 2012504720A JP 5363646 B2 JP5363646 B2 JP 5363646B2
Authority
JP
Japan
Prior art keywords
host
host device
consolidation
virtual machine
mapping
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
JP2012504720A
Other languages
English (en)
Other versions
JP2012523620A5 (ja
JP2012523620A (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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2012523620A publication Critical patent/JP2012523620A/ja
Publication of JP2012523620A5 publication Critical patent/JP2012523620A5/ja
Application granted granted Critical
Publication of JP5363646B2 publication Critical patent/JP5363646B2/ja
Active 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/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
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • 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
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Power Sources (AREA)
  • Supply And Distribution Of Alternating Current (AREA)

Description

本発明は、最適化仮想マシンマイグレーション機構に関する。
仮想マシンはコンピュータ装置のコンピュータソフトウェア実装であり、そこで仮想マシンは物理コンピュータのようにプログラムを実行することができる。仮想マシンは何百又は何千のホストマシンが動作しているデータセンタで広く使用される。コンピューティングリソースを管理するために、多くのデータセンタは、仮想マシンを1つのホスト装置から他のホスト装置に移動させることができるので、サーバコンピュータを仮想マシンとして動作させる。
多くのデータセンタは周期的な基準で動作し、需要は1日のある期間又は一週間のある日に亘ってより高くなる。低い需要の時には、仮想マシンを、所定のホストマシンに整理統合し、他のホストマシンを停止(電源オフ)するか又は減少電力モードで動作させることができる。
多くの場合に、データセンタは大量の電気を消費している場合がある。低減したコンピュータ負荷の期間にハードウェアを電源オフするとデータセンタはその電気コストを実質的に減少させることができる。
仮想マシンをホスト装置上に配置する方法は複雑なパッキング問題を有することがある。
仮想マシン管理システムは、3相マイグレーション分析を行ってより低効率のホストの仮想マシンをより高効率のホストに移動させることができる。多くの場合に、マイグレーションは、非効率のホスト装置の電源停止を可能にし、データセンタ又は他のユーザに対する全体的なエネルギーコストを低減させることができる。マイグレーション分析は、仮想マシンを整理統合し、かつホスト装置を解放するとき、第1の整理統合、負荷バランス化、及び第2の整理統合を行うことを含むことができる。また、マイグレーション分析は、容量を拡張するとき、第1の負荷バランス化、整理統合、及び第2の負荷バランス化を行うことを含むこともできる。
本概要は以下の詳細な説明で更に記述される概念の抜粋を簡単な形で紹介するために提供される。本概要は請求項の構成の重要な特徴又は主要な特徴を識別することを意図としておらず、また請求項の構成の範囲を限定するために用いられることを意図としていない。
図面において、
仮想マシンを管理するシステムを示す一実施形態の図である。 整理統合を行う方法を示す一実施形態のフローチャートである。 負荷バランス化を行う方法を示す一実施形態のフローチャートである。 データを収集して効率を判定する方法を示す一実施形態のフローチャートである。 整理統合方法を示す一実施形態のフローチャートである。 負荷バランス化方法を示す一実施形態のフローチャートである。
効率駆動最適化処理は、仮想マシンのためにデータセンタ又はホスト装置の他のグループにおける能力を拡張又は収縮させる3相マイグレーション分析を行うことができる。多くの場合に、仮想マシンを整理統合又は負荷バランス化する3相マイグレーション分析は、仮想マシンを非効率なホスト装置からより高効率のホスト装置へ移動させることができ、かつより高効率なホスト装置を動作(電源オン)させ、非効率なホスト装置を停止(電源オフ)させることを含むことができる。
3相マイグレーション分析は、ホスト装置の効率スコアを判定することができるデータを収集することを含むことができる。効率スコアを用いて、電源停止の候補を識別することができ、当該候補の仮想マシンを第1の整理統合処理において他のホストに移動させることを試みることができる。第1の整理統合処理の間に、高い閾値を用いて、仮想マシンに設定することができる。
整理統合処理の第2の相では、負荷バランス化操作を過負荷のホスト装置のために行うことができる。ある場合には、負荷バランス化操作は、電源オンしている1以上のホストをもたらし、一部の仮想マシンを受け入れることができる。新たに電源オンしたホストを、より高効率のホストから選択することができる。
整理統合の第3の相では、第2の整理統合を行い、潜在的に活用されていないホスト装置を識別することができる。第2の整理統合では、より低い閾値を用いて、仮想マシンを配置し、ホスト装置が過負荷にならないようにする。
負荷バランス化操作は、整理統合操作と同じような方法で動作することができる。負荷バランス化操作の第1のステップでは、仮想マシンのホスト装置を識別する低い閾値を設定することができる。任意の新しいホスト装置を、最も効率のよいホスト装置から選択することができる。第2のステップは、整理統合ステップとすることができ、第3のステップは、より高い閾値を有する第2の負荷バランス化操作とすることができる。
最適化処理は、ホスト装置上の仮想マシンの現在の状態を考慮することができ、仮想マシンの移動又はスラッシングを最小限に抑えることができる。更に、最適化処理は、仮想マシンを、非効率のホスト装置からより高効率のホスト装置へ移動させることを重視することができる。
本明細書及び請求項を通して用語「ホスト(host)」を、仮想マシンを実行することができる物理的なハードウェアプラットフォームを説明するために用いる。ある実施形態において、軽量のオペレーティングシステムがホスト上で動作することができ、かつ1つ、2つ、又は更に多くの仮想マシンをサポートすることができる。ある実施形態において、何十又は何百の仮想マシンでさえ、1つの物理的なホスト装置上で実行することができる。
用語「ホスト」は、仮想マシンを実行することができる任意の種類のハードウェアプラットフォームとすることができる。ある場合には、ハードウェアプラットフォームは、仮想マシンを動作させるために特別に設計された、専用のプロセッサ、メモリ、ディスク記憶装置、及びネットワーク接続部を含むサーバコンピュータとすることができる。他の場合には、ホストは、従来のデスクトップ又はサーバコンピュータとすることができ、又はモバイル電話、ラップトップコンピュータ、又は他の装置等のポータブル装置とすることができる。本明細書のために、多くの例はデータセンタアプリケーションを含むことができる、その分野の当業者には多くの他の実施が可能であることが理解できるであろう。
本明細書を通して同一の参照番号は図面の説明を通して同一の要素を示している。
要素を「接続した(connected)」又は「連結した(coupled)」と称しているとき、その要素を一緒に直接接続もしくは連結することができ、又は1以上の介在要素が存在する場合もある。逆に、要素を「直接接続した(directly connected)」又は「直接連結した(directly coupled)」と称しているとき介在要素は存在しない。
本主題を、装置、システム、方法、及び/又はコンピュータプログラム製品として実施することができる。よって、本主題の一部又は全てをハードウェア及び/又はソフトウェア(ファームウェア、常駐ソフトウェア、マイクロコード、状態マシン、ゲートアレイ等を含む)において実施することができる。更に、本主題は、命令実行システムとの接続による又は命令実行システムとの接続における利用のために媒体で実施されるコンピュータ利用可能又はコンピュータ読み取り可能なプログラムを有するコンピュータ利用可能又はコンピュータ読み取り可能な記憶装置上におけるコンピュータプログラム製品の形式をとることができる。本文書の文脈において、コンピュータ利用可能又はコンピュータ読み取り可能な媒体は、命令実行システム、装置、もしくはデバイスとの接続による、又は命令実行システム、装置、もしくはデバイスとの接続における利用のためにプログラムを含む、保存する、通信する、伝える、もしくは運ぶことができる任意の媒体とすることができる。
コンピュータ利用可能又はコンピュータ読み取り可能な媒体は、限定されないが、電子、磁気、光学、光磁気、赤外線、又は半導体のシステム、装置、デバイス、又は伝搬媒体とすることができる。例としては、限定されないが、コンピュータ読み取り可能な媒体はコンピュータ記憶媒体及び通信媒体を含むことができる。
コンピュータ記憶媒体は、コンピュータ読み取り可能命令、データ構造、プログラムモジュール又は他のデータ等の情報の記憶のための任意の方法又は技術において実施される揮発性及び不揮発性、リムーバブル及び非リムーバブル媒体を含む。コンピュータ記憶媒体は、限定されないが、RAM、ROM、EEPROM、フラッシュメモリ又は他のメモリ技術、CD−ROM、ディジタルバーサタイルディスク(DVD)又は他の光学式記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置又は他の磁気記憶装置、又は所望の情報を保存するために用いることができ、命令実行システムによってアクセスすることができる任意の他の媒体を含む。ここで留意すべきは、コンピュータ利用可能な又はコンピュータ読み取り可能な媒体は、プログラムが印刷された紙又は他の適切な媒体であり、そのプログラムを例えば、紙又は他の媒体の光学的な走査を介して電子的に取り出し、次いでコンパイルし、解釈し、又はそうでなければ、必要ならば適切な方法で処理し、そしてコンピュータメモリに保存することができることである。
通信媒体は、一般に、搬送波又は他の搬送機構等の変調されたデータ信号内のコンピュータ読み取り可能な命令、データ構造、プログラムモジュール又は他のデータを実装し、任意の情報配信媒体を含む。用語「変調されたデータ信号」はその信号内の情報を符号化するような方式で設定又は変更されたその特性の1以上を有する信号を意味する。通信媒体は例として、限定されないが、有線ネットワーク又は直接有線接続等の有線媒体を含み、そして、音響、RF、赤外線及び他の無線媒体等の無線媒体を含む。また、上記のいずれかの組み合わせがコンピュータ読み取り可能な媒体の範囲内に含まれるはずである。
本主題を、コンピュータ実行可能な命令の一般的な状況において実施するとき、その実施形態は1以上のシステム、コンピュータ、又は他の装置によって実施されるプログラムモジュールを含むことができる。一般に、プログラムモジュールは、特定のタスクを実行する又は特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、リソース、データ構造等を含む。通常、プログラムモジュールの機能を、様々な実施形態において望まれたように組み合わせ、又は分散することができる。
図1は、仮想マシンを管理するシステムを示す一実施形態100の図である。実施形態100は、いくつかのホスト装置で仮想マシンを管理するシステムを簡易化した例である。
図1の図は、システムの機能的なコンポーネントを示している。ある場合に、そのコンポーネントはハードウェアコンポーネント、ソフトウェアコンポーネント、又はハードウェアとソフトウェアの組み合わせとすることができる。コンポーネントの一部は、アプリケーションレベルのソフトウェアとすることができる一方、他のコンポーネントはオペレーティングシステムレベルのコンポーネントとすることができる。ある場合には、1つのコンポーネントの他のコンポーネントへの接続は、2以上のコンポーネントが単一のハードウェアプラットフォーム上で動作する緊密な接続関係とすることができる。他の場合には、コンポーネントを長い距離に及ぶネットワーク接続を介して形成することができる。各実施形態は、異なるハードウェア、ソフトウェア、及び記述された機能を達成する相互接続アーキテクチャを用いることができる。
実施形態100は、多くのホスト装置を含むことができるデータセンタの例であり、ホスト装置の各々は複数の仮想マシンを実行することができる。仮想マシンは、装置のソフトウェアバージョンとすることができる。大きなデータセンタ環境において、サーバコンピュータを、仮想マシンとして実行することができる。需要が減少するほど、仮想マシンをいくつかのホスト装置に整理統合し、他のホストを電力停止する又は減少したエネルギー状態で動作することができる。需要が増加するほど、ホストをオンライン状態にし、仮想マシンを利用可能なホストの間に拡げることができる。仮想マシンを利用可能なホストに拡げる処理は、負荷バランス化として知られているかもしれない。
データセンタの全体的な負荷が減少するほど、いくつかのホスト装置は十分に活用されなくなる場合がある。十分に活用されないホストを、そのホスト上の仮想マシンを他のホストに移動させることによって整理統合することができ、そして、そのホストの電源を切ることができる。通常、いくつかのホスト装置が十分な利用状態より減少したときに整理統合操作を起こすことができる。
整理統合するホストを選択するときに、ホストの利用に関わらず、非効率なホストを選択することができる。選択したホスト上の仮想マシンがそのホストから立ち去ると、そのホストを電源停止するか又は減少電力モードで動作させることができる。
データセンタの全体的な負荷が増加するほど、いくつかのホストは過負荷になる場合がある。過負荷のホストは、仮想マシンを過負荷のホストから、過負荷でない他の動作中のホストへ移動させることによって、負荷バランス化を図ることができる。ある場合には、他の動作していないホストがそれ自身が過負荷にされることなく仮想マシンを受け入れることが可能な場合がある。そのような場合には、新しいホストの電源オンを認識することができ、仮想マシンをその新しいホストに移動することができる。
負荷バランス化の間に電源オンするホストを選択する際、効率の良いホストを選択することができる。
ホストの効率を、消費電力により分割されるホストによって供給されるリソースによって判定することができる。多くの実施形態において、リソースはCPUの能力である一方、他の実施形態は様々なリソースを用いることができる。
多くの場合には、ホストは様々な性能及び様々な能力を有することができる。ホストにおいて利用可能なリソースを、消費可能リソースと消費不能リソースとに分類することができる。
消費可能リソースは、仮想マシンによって消費されるリソースであり、かつ他の仮想マシン又はホストオペレーティングシステムと共有させることはできない。消費可能リソースの例は、RAM(ランダムアクセスメモリ)とすることができる。各仮想マシンは、その仮想マシンに割り当てられたRAMの専用量を有することができ、そのRAMを他の仮想マシンによって使用することはできない。他の例は、ディスク空間又は他の記憶装置とすることができる。
ある場合には、消費可能リソースを様々なコンポーネントリソースの合計とみなすことができる。例えば、ハードディスクリソースを、ディスク読み取り速度、ディスク書き込み速度、及び容量の合計とみなすことができる。
消費不能リソースは、仮想マシン又はホストオペレーティングシステムによって共有可能なリソースとすることができる。一例は、ホスト装置上で利用可能な多くのプロセッサである。ある仮想マシンは2つ、4つ、もしくはそれ以上のプロセッサ又はコアを用いて動作することができる。仮想マシンが4つのプロセッサを使用するとしても、他の仮想マシン又はホストオペレーティングシステムは、同一のプロセッサを使用することができる。
バイナリーリソースは、消費不能リソースのサブセットとすることができる。バイナリーリソースは、ホスト上に存在するか又は存在しないリソースとすることができる。例えば、ホストは、グラフィックスプロセッサ、又は特定の仮想マシンによって使用可能な他の特徴を有することができるし又は有さなくても良い。
様々なリソースを、仮想マシンをホストに配置するとき、検討のための次元として本明細書で説明することができる。用語「次元(dimensions)」は、ホストの効率を評価するときに考慮可能なリソース又は任意のの他の要因を含むことを意図されている。ある場合には、次元はホスト上で利用可能な又は仮想マシンによって用いられるリソースに対応しなくても良い。
データセンタ104では、ラック108が複数のホスト装置を含むことができる。一般的なデータセンタは、複数のブレードサーバ112を包含可能なブレードエンクロージャ110を備えるラックを有する。あるラックは、スタンドアローンのサーバ114、記憶装置116、及び電源部118を含むことができる。多くの場合には、ラック又はラック群は、冷却システム、電力調整装置、無停電電源部、及び他のコンポーネントを有することができる。大規模なデータセンタでは、何百又は何千でさえのラックが存在する場合があり、それらの多くは異なる構成を有することができる。
多くのリソースを、いくつかのホスト装置を介して共有することができる。リソースを共有するとき、リソースの「コスト」又は電力使用を、複数のホストに分けることができ、そのホストは非常に効率的となる場合がある。数少ないホストがリソースを共有するとき、そのホストはより非効率となる場合がある。ホストは、他のホストが電源オフしたとき、数少ない動作中のホストを離れて、他の共有リソースを消費するので、非効率となる場合がある。
一例としてデータセンタを使用し、機器のラックは、電源部、冷却又は他のサービス部等のサービス部をラック全体に提供する装置を有することができる。1つのサーバがラック内で動作する場合でも、そのラックベースのサービス部を作動させることができる。そのような場合に、1つのサーバ又はホスト装置は、ラックベースの電源部、ラック冷却、又は他のサービス部の電力消費を、多くのホスト装置を介して共有しないとき、非常に非効率になる場合がある。
他の例では、ブレードエンクロージャは、電力、ネットワークアクセス、冷却、又は他のサービス部を複数のブレードに提供することができる。ブレードエンクロージャを、エンクロージャ内で動作可能な1つのブレードサーバをサポートするためにさえ、十分に使用することができる。そのような場合には、ブレードエンクロージャの電力消費は、動作しているホスト装置に起因する場合があり、そのホストの非効率さを引き起こす。
データセンタ内の仮想マシンを整理統合するときに、非効率のホストを、仮想マシンを他の装置に移動することによって、シャットダウンのために認識することができる。負荷バランス化のとき、効率的なホストを、オンライン状態とし、かつ仮想マシンを受け入れるため考慮することができる。
ホストの効率を、ホストによる消費電力でホストによって提供されるリソースを分割することによって判定することができる。ホストによる消費電力を、共有装置を使用しているホストの数で分割された共有装置による消費電力として概算することができる。ブレードエンクロージャの上記の例においては、ブレードエンクロージャによる消費電力を、そのエンクロージャ内で動作するブレードサーバの間で分割することができる。ブレードエンクロージャは、10のサーバを有し、その10のサーバの全てが動作しているならば、ブレードエンクロージャによる消費電力を、10で分割し、かつ各ホストに帰属することができる。同一のブレードエンクロージャが1つの動作しているサーバのみを有しているならば、そのブレードエンクロージャによる全消費電力を、そのサーバに帰属ことができる。
多くの実施形態において、ホストの効率を、そのホストによる消費電力によるリソースを測定することによって表すことができる。一般的な実施形態は、CPU能力を消費電力によって分割することができる。ホストによる消費電力は、共有電源部、共有冷却リソース、又は他の共有装置等の共有装置によってホストに基づいた消費を含むことができる。
他の実施形態において、ホストの効率を、ディスク容量、ネットワーク性能、又は他のリソース等の他のリソースを測定し、かつ電力消費で分割することによって表すことができる。ある実施形態は、リソースを分析して、効率を判定するために不足のリソースを識別することができる。そのような場合には、リソースは、1つの分析から他の分析に変更することができる。
ある実施形態において、多くの配置シナリオを、シミュレーションし、かつ分析し、好ましいシナリオを識別することができる。そのような実施形態において、数千又は数百万のシナリオを、シミュレーションすることができ、スコアをシナリオに割り当てることができる。そのスコアを使用し、実施の場合がある好ましいシナリオを選択することができる。
実施形態100は、データセンタ環境において仮想マシンを管理するシステムの例である。その仮想マシンマネージャ102は、データセンタ104を構成する装置とすることができ、そこにおいて複数の仮想マシン106を様々なホスト装置によって実行することができる。
仮想マシンマネージャ102は、ハードウェアプラットフォーム上で動作するアプリケーションとすることができる。その仮想マシンマネージャ102を、ハードウェアコンポーネント122で動作するソフトウェアコンポーネント120から構成することができる。ハードウェアコンポーネント122は、プロセッサ、ランダムアクセスメモリ126、ディスク又は他の記憶装置128、及びネットワーク接続部130を含むことができる。ある実施形態において、ハードウェアコンポーネント122の一部又は全てを仮想化することができる。
仮想マシンマネージャ102は、データ収集器132、分析エンジン134、配置サービス部136、及び警報システムを含むソフトウェアコンポーネント120を有することができる。データ収集器132は、ホスト装置及び仮想マシンから様々な次元のステータスを収集することができる。分析エンジン134は、ホスト上の仮想マシンのセットの配置を判定することができ、その配置サービス部136は、仮想マシンを指定したホストに移動することができる。警報システム138は、整理統合又は負荷バランス化操作を実行することができるとき、状態を識別することができる。
データ収集器132は、ホストによって供給され、かつ仮想マシンによって要求される次元又はリソース上でデータを収集することができる。その供給及び要求情報を使用し、様々な次元の不足を判定することができ、それらを配置マネージャ134によって順に使用して、ホスト上の仮想マシンのために様々な配置を判定することができる。
分析エンジン134は、多くの様々な配置構成を評価することができる。各配置構成は、特定のホスト装置で実行される特定の仮想マシンのセットとすることができる。ある実施形態において、数千、数百万、又はそれ以上の配置構成を評価することができる。配置構成毎に、スコアをパラメータを最適化するために計算することができる。例えば、各構成は、最適化構成を選択することができる電力消費スコアを有することができる。
図2は、仮想マシンの整理統合を行う方法を示す一実施形態200のフローチャートである。実施形態200は、実施形態100において示されるように仮想マシンマネージャ102によって実行可能な方法の簡易化例である。
他の実施形態は、異なるシーケンス、追加又はより少ないステップ、及び異なる用語又は技術を用いて類似の機能を達成することができる。ある実施形態において、様々な動作又は動作のセットを、他の動作と並行して、同期方法又は非同期方法で実行することができる。本明細書で選択されたステップは、簡易化の形式で動作の一部の原理を示すために選択された。
実施形態200は、整理統合ルーチンを実行する1つの方法を示している。1以上のホスト装置が十分に活用されなくなったとき、整理統合を開始することができ、その処理は仮想マシンをホスト装置から他の装置に移動することができる。
多くの場合に、整理統合処理は、1以上のホスト装置を電源停止させることができる。一般に、整理統合は、データセンタの全負荷を減少するときに生じることができ、多くの場合に、いくつかのホスト装置は十分に活用されなくなる場合がある。未活用は、ホスト上で動作している1以上の仮想マシンが、より少ないホストリソースを消費しているときに起きる場合があり、使用されていないホストリソースの多くを停止させる。
整理統合処理は、緩い制限を用いて第1の整理統合操作を行い、中程度の制限を用いて負荷バランス化操作を行い、そしてより厳しい制限を用いて第2の整理統合操作を行うことができる。
その制限は、ホストの能力を示す閾値又は他のパラメータとすることができる。例えば、データセンタは、通常、80%の能力でホストを運営している。80%の能力要因を選択することによって、そのホストは、能力を超えることなく、負荷変動に対応することができる場合がある。
様々なデータセンタは、多くの様々な要因に基づいて様々な制限を設定することができる。データセンタ負荷が、極めて一定及び予測可能である場合に、通常の能力要因は、85%、90%、又は更に高い値など、より高くなる場合がある。ある場合には、データセンタ負荷は、変動し易い場合があり、結果として、管理者が、75%、70%、60%、又は更に低い値など、低い能力要因を使用することになる。
ある実施形態において、能力要因を、日の時間又は他の要因のために変更することができる。例えば、労働時間の間に高負荷を見込むデータセンタは、より低い能力要因で動作することができ、そのデータセンタはすぐに反応できる状態を維持することができる。データセンタの負荷が更に予想可能で安定しているとき、その同一のデータセンタを、夜通し、より高い能力ファクタで動作させることができ、多くのホスト装置を、電源オフすることができる。
実施形態200において、第1の整理統合を緩い制限で動作させることができる。そのような動作では、仮想マシンを、非効率の装置からより効率的な装置に移動することでき、その際、その効率的な装置が過負荷になる場合がある。負荷バランス化操作は、過負荷の装置から他の装置へ仮想マシンを移動させることができ、仮想マシンを受け入れることができる1以上の新しい装置を始動させることを含むことができる。負荷バランス化操作を行うとき、始動される装置を、更に効率的な装置から選択することができる。
より厳しい制限を用いて第2の整理統合操作を実行することができ、第2の整理統合操作はあるホスト装置を無負荷又は電源停止にさせることができるが、その制限を選択し、過負荷状態が他の装置で起きないようにすることができる。
実施形態200の3相方法は、結果的に電源停止される非効率のホスト装置及び始動されるより効率的なホストとすることができる。通常の処理では、いくつかの非効率のホスト装置を電源停止することができ、より少ない数の更に効率的なホスト装置を電力アップすることができる。
実施形態200は、ブロック202において整理統合する状態を識別することによって開始する。異なる実施形態は、整理統合する状態を識別することに対して異なる機構を有することができる。ある実施形態において、監視システムは、能力が所定の閾値より低いホスト装置からの警報を受け入れることができる。例えば、リソースの20%利用状態より低いホスト装置は、実施形態100の警報システム138等の中央集中型監視システムに警報を送信することができる。
様々な実施形態は、十分に活用されていないホストを識別することができる利用状態の下限を有することができる。上記の例において、20%の利用要因を用いる。ある実施形態は、50%、40%、30%、25%、15%、10%、又は利用状態の下限に対する他の要因を用いることができる。利用状態の上限に対して上記したように、利用状態の下限は、1日の流れ、日又は週、又は他の季節的又は周期的な基準の中で変化することができる。
ある実施形態において、十分に活用されなくなっている1つのホスト装置は、実施形態200の整理統合操作を始動することができる。他の実施形態において、所定の数の装置からの警報を使用し、整理統合操作を開始することができる。
ある実施形態において、整理統合の状態は、データセンタの全負荷がデータセンタの現在の能力より著しく小さいときに起きる場合がある。そのような実施形態は、個々のホスト装置に対するデータに加えて又は代えて、データセンタの幅広い能力及び負荷パラメータに基づいて整理統合を行うことができる。
ブロック204において、ホスト及び仮想マシンデータを収集することができる。そのようなデータを収集する方法の例を、実施形態400に示す。ホスト及び仮想マシン毎に収集されたデータは、電力使用と共にリソース使用を識別するために使用可能なデータとすることができる。ある実施形態においては、不足のリソースを識別し、ホスト装置の効率を計算するために用いることができる。
ブロック206において、ホスト装置の電力効率を判定することができる。ホストの消費電力によるリソースを分割することによって、そのホスト装置の効率を判定することができる。リソースとしてCPUを用いる簡単な例において、ホストの効率を、消費ワットにより分割されたCPU能力において測定することができる。
ブロック208において、緩い制限を用いて第1の整理統合を行うことができる。整理統合方法の例を、本明細書で後述される実施形態500に示す。整理統合方法は、非効率のホスト装置を識別し、仮想マシンを非効率のホスト装置から他の更に効率の良いホスト装置に移動しようと試みることができる。
ブロック208の第1の整理統合を、緩い制限で行うことができる。緩い制限は、ホストがそれらの意図した能力を超えて仮想マシンによって負荷をかけることができる制限とすることができる。例えば、仮想マシンをホスト上にパッキングするとき、その受け入れホストに、所望の80%能力を超える仮想マシンをパッキングすることができる。ある実施形態において、緩い制限は受け入れホストが90%、100%、110%、又はより高い能力でさえ超えることを可能にする場合がある。
ブロック208の整理統合を、任意の仮想マシンを移動することなく、シミュレーションした整理統合として行うことができる。実施形態200を通して、シミュレーション操作を行い、ホスト装置に対する仮想マシンのマッピングを生成することができる。マッピングを判定した後、仮想マシンをそのマッピングに応じて移動することができる。
ブロック208で用いられた制限は、2種類の制限とすることができる。第1の制限は、上記したように仮想マシンを受け入れるホストのための上限能力とすることができる。第2の制限は、電源停止が検討されているホスト装置のための下限能力とすることができる。緩い制限は厳しい制限より電源停止するホスト装置のより大きなセットを考慮することができる。
例えば、緩い制限は、電源停止するために30%、又はより低い能力を有するホストを考慮することができる。厳しい制限は、電源停止するために10%、又はより低い能力を有するホストのみを考慮することができ、それはホスト装置の非常に小さいセットとすることができる。
ブロック208の整理統合の後、第1の中間マッピングを作成することができる。第1の中間マッピングをブロック210において使用し、中程度の制限を用いてシミュレーションした負荷バランス化を行うことができる。シミュレーションした負荷バランス化処理の例を、本明細書において後述される実施形態600に示す。
そのシミュレーションした負荷バランス化において、能力限界を超えるホストを調べ、そのホストから他のホストに一部の仮想マシンを移動することができる。仮想マシンを受け入れることができるホストがない場合には、新しいホストが電源オンされて仮想マシンを受け入れることができる。
負荷バランス化操作の間に、新しいホストを、より効率的なホスト装置から選択することができる。多くの場合には、ホスト装置のソートされたリストを、効率に基づいて作成することができ、最も効率が良いホストをそのリストのトップから選択することができる。
多くの実施形態において、ブロック210の中程度の制限は、データセンタに対して一般的な動作制限又は厳しい制限とすることができる。ある実施形態において、ブロック210の中程度の制限は、データセンタに対する厳しい制限より、更に厳しい又は更に緩い場合がある。
ブロック210の負荷バランス化は、ホストに対する仮想マシンの第2のマッピングを生成することができる。第2のマッピングを、ブロック212において使用し、より厳しい制限及び最終マッピングを用いて第2の整理統合を行うことができる。
ブロック212の第2の整理統合は、ブロック208と類似の動作とすることができるが、様々な制限のセットで行われる。ブロック212では、より厳しい制限のセットを考慮することができる。ブロック212では、電源停止のために、更に制限された下限能力限界を考慮することができ、更に制限された上限能力限界を有するホストに仮想マシンを移動することができる。
ある実施形態において、ブロック212の第2の整理統合を、負荷バランス化のためにブロック210で使用したように、同一の上限制限を用いて行うことができるが、更に厳しい下限制限を用いる。
第2の整理統合をブロック212で行った後、マッピングを生成することができる。マッピングを、ブロック214において用いて、実際に仮想マシンの一部を新しい場所に移動し、一部のホスト装置を電源オフすることができる。
ある実施形態において、ブロック204〜212の分析を何度も行い、多くの異なるマッピングを生成することができる。ある実施形態は。数千以上のマッピングを生成するシミュレーションを行うことができ、それらのマッピングの各々をスコア付けすることできる。マッピングの1つをブロック214で選択して実施することができる。
実施形態200の処理は、ホストの効率を最大化する、整理統合したマッピングを生成することができる。低効率のホストを電源オフすることができ、新しいホストを始動するならば、その新しいホストを更に効率的なホストにすることができる。
実施形態200の処理は、第1の整理統合が緩い制限で起きることを可能にする。第1の整理統合は、一部のホストを過能力にさせるが、電源停止可能な非効率のホストの数を最大化することができる。負荷バランス化操作は、過能力ホストから負荷の一部を、始動可能でその能力を受け入れることができる1以上の効率的なホストを含む、他のホストに移すことができる。1以上のホストに非常に軽く負荷がかかるが、他のホストを過負荷にしていないならば、第2の整理統合操作を更に考慮することができる。
ブロック208及び212の整理統合操作は、ホストの効率に基づいてホスト装置を無負荷化して電源オフにする試みを行うことができ、ホストの効率はホストの現在の能力に対応しなくても良い。ある場合には、そのようなホストは、能力以上で動作している場合がある。その整理統合操作は、仮想マシンを他のより効率的なホストに移動している間、非効率のホストを電源オフすることができる。その最終結果は、相当な節電となる場合がある。
実施形態200の整理統合処理は、一部のホストを始動するという結果となり得る。そのような場合に、始動されたホストは電源停止されたホストより更に効率的とすることができる。通常の場合に、停止されるホストより、より少ない数のホストを始動させることができる。
図3は、仮想マシンの負荷バランス化を行う方法を示す一実施形態300のフローチャートである。実施形態300は、実施形態100で示されるように、仮想マシンマネージャ102によって行われ得る方法の簡易例である。
他の実施形態は異なるシーケンス、追加又はより少ないステップ、及び異なる用語又は技術を用いて類似の機能を達成することができる。ある実施形態において、様々な動作又は動作のセットを他の動作と並行して同期方法で又は非同期方法で実行することができる。本明細書で選択されたステップは簡易化の形式で動作のある原理を示すために選択された。
実施形態300は、実施形態200の処理と概念的に類似であるが、整理統合よりむしろ負荷バランス化操作を行う。実施形態300は、厳しい制限を有する第1の負荷バランス化処理、中程度の制限を有する整理統合操作、及び緩い制限を有する第2の負荷バランス化操作を行う。
実施形態300は、厳しい制限を用いることによって第1のバランス化動作において多数の仮想マシンを広げることを試みる。この動作は仮想マシンを多数のホスト装置に広げることができ、1以上の効率的なホスト装置を始動することができる。それに続く整理統合操作は、より非効率の装置を停止することを試みることができ、第2の負荷バランス化操作は任意の過負荷の装置を除去することができる。
実施形態300の最終結果は、負荷バランス化操作を、より低効率のホスト装置より効率的なホスト装置を選んでいる間に行うことができることである。ある動作において、非効率な状態で現在動作しているホストを、整理統合操作の間に停止することができ、第1の負荷バランス化操作の間に始動された効率的なホストを、動作中のままにすることができる。そのような場合には、負荷バランス化操作は、あるホスト装置を電源オフする結果となる場合がある。
整理統合操作は、ホストの効率に基づいてホスト装置を無負荷化することを試みることができ、ホストの効率はホストの現在の能力に対応していなくても良い。ある場合に、そのようなホストは能力以上で動作している場合がある。その整理統合操作は、仮想マシンを他のより効率的なホストに移動している間に、非効率のホストを電源オフすることができる。
負荷バランス化操作は、既に電源オンされているホスト装置を介して仮想マシンを移動する試みを行うことができる。しかしながら、その現在電源オンのホストに能力がない場合、新しいホストを電源オンし、オンライン状態にすることができる。電源オンされている新しいホストを、より効率的なホストから選択することができる。
実施形態300は、ブロック302において、負荷バランス化するための状態を識別することによって開始する。異なる実施形態は、負荷バランス化するための状態を識別する異なる機構を有することができる。ある実施形態において、監視システムは、能力のある閾値を超えるホストから警報を受け入れることができる。例えば、リソースの80%利用状態を超えるホスト装置は、実施形態100の警報システム138等の中央集中型監視システムに警報を送信することができる。
ある実施形態において、過剰利用となっている1つのホスト装置は、実施形態300の負荷バランス化操作を始動させることができる。他の実施形態において、所定の数の装置からの警報を用いて、負荷バランス化操作を始動させることができる。
ある実施形態において、負荷バランス化のための状態は、データセンタの全負荷がそのデータセンタの所望の能力より非常に大きいときに生じる場合がある。そのような実施形態は、個々のホスト装置についてのデータに加えて又は代えて、データセンタの幅広い能力及び負荷パラメータに基づいて負荷バランス化を行うことができる。
ブロック304において、ホスト及び仮想マシンデータを収集することができる。そのようなデータを収集する方法の例を、実施形態400に示す。ホスト及び仮想マシン毎に収集されたデータは、電力使用と共にリソース使用を識別するために使用可能なデータとすることができる。ある実施形態においては、不足のリソースを識別し、ホスト装置の効率を計算するために用いることができる。
ブロック306において、ホスト装置の電力効率を判定することができる。そのホスト装置の効率を、ホストの消費電力によるリソースを分割することによって判定することができる。リソースとしてCPUを用いる簡単な例においては、ホストの効率を、消費ワットにより分割されたCPU能力において測定することができる。
ブロック308において、第1の負荷バランス化を厳しい制限を用いて行うことができる。負荷バランス化方法の例を、本明細書で後述される実施形態600に示す。負荷バランス化方法は、仮想マシンを、高負荷の装置から低負荷の装置に転送することができる。ある場合に、新しいホストを始動させ、仮想マシンの一部を受け入れることができる。そのような場合に、その新しいホストを、効率的なホストのソートされたリストから選択することができる。
ブロック308の第1の負荷バランス化を、厳しい制限を用いて行うことができる。厳しい制限は、ホストを、それらの所望の能力より低い限界にまで、負荷低下することができる制限とすることができる。例えば、ホストから仮想マシンを移動させるとき、ホストを、その能力が所望の能力より小さい所定の能力になるまで負荷低下することができる。例えば、所望の能力は80%とすることができるが、ブロック308の厳しい制限を設定し、そのホスト装置を、60%より低くなるまで負荷低下することができる。
ブロック308の負荷バランス化を、仮想マシンを実際に移動させることなくシミュレーションした負荷バランス化として行うことができる。実施形態300を通して、シミュレーション操作を行い、ホスト装置に対する仮想マシンのマッピングを生成することができる。マッピングを判定した後、仮想マシンを、そのマッピングに応じて移動することができる。
ブロック308の負荷バランス化の後、第1の中間マッピングを作成することができる。第1の中間マッピングを、ブロック310において用いて、中程度の制限を用いてシミュレーションした整理統合を行うことができる。シミュレーションした整理統合処理の例を、本明細書において後述される実施形態600に示す。
ブロック310のそのシミュレーションした整理統合において、能力限界を下回るホストを調べ、そのホストから他のホストに、ある仮想マシンを移動させることができる。ホストを整理統合して電源オフすることが更にできないとき、整理統合操作は停止することができる。
ブロック310で用いられた制限は、2種類の制限とすることができる。第1の制限は、上記したように仮想マシンを受け入れるホストのための上限能力とすることができる。第2の制限は、電源停止が考慮されているホスト装置のための下限能力とすることができる。緩い制限は、厳しい制限より、電源停止するホスト装置のより大きなセットを考えることができる。
例えば、緩い制限は、電源停止するために30%、又はより低い能力を有するホストを考慮することができる。厳しい制限は、電源停止するために10%、又はより低い能力を有するホストだけを考慮することができ、それはホスト装置のかなり小さいセットとすることができる。負荷バランス化操作の間に、新しいホストを、より効率的なホスト装置から選択することができる。多くの場合には、ホスト装置のソートされたリストを、効率に基づいて作成することができ、最も効率が良いホストをそのリストのトップから選択することができる。
多くの実施形態において、ブロック310の中程度の制限は、データセンタには一般的な動作制限又は厳しい制限である場合がある。ある実施形態において、ブロック310の中程度の制限は、データセンタに対して厳しい制限より更に厳しい又は更に緩い場合がある。
ブロック310の整理統合は、ホストに対して仮想マシンの第2のマッピングを生成することができる。第2のマッピングを、ブロック312において用いて、より緩い制限及び最終マッピングを用いて第2の負荷バランス化を行うことができる。
ブロック312の第2の負荷バランス化は、ブロック308と類似の動作とすることができるが、異なる制限のセットを用いて行われる。ブロック312では、制限の緩いセットを考慮することができる。ブロック312では、負荷バランス化は、一般的に望まれ得るより高い使用を有する装置に対して生じる場合がある。多くの場合に、実施形態300の負荷バランス化を、データセンタが需要の高まりに直面しているときに行うことができる。そのようなものとして、データセンタの負荷が上昇することが予測され得るので、ブロック312の負荷バランス化を行い、目標の利用状態よりいくらか少ない状態で各ホストを利用することができる。
ある実施形態において、ブロック312の第2の負荷バランス化を、整理統合のためにブロック310で用いられたように、同一の上限を用いて行うことができる。
第2の整理統合を、ブロック312において行った後、マッピングを生成することができる。当該マッピングを、ブロック314において用いて、仮想マシンの一部を新しい場所に実際に移動させ、あるホスト装置を電源オフさせることができる。
ある実施形態において、ブロック304〜312の分析を、何度も行い、多くの異なるマッピングを生成することができる。ある実施形態は、数千以上のマッピングを生成するシミュレーションを行うことができ、そのマッピングの各々をスコア付けることができる。マッピングの1つを、ブロック314で選択して実施することができる。
実施形態300の処理は、ホストの効率を最大化する、整理統合したマッピングを生成することができる。低効率のホストを電源オフさせることができ、新しいホストを始動するならば、その新しいホストを更に効率的なホストにすることができる。
実施形態300の処理は、第1の負荷バランス化が厳しい制限で起きることを可能にする。第1の負荷バランス化は、電源オンされ得る新しいホストに仮想マシンを強要することができる。整理統合操作は、非効率のホストを負荷低下させることを試みることができる。第2の負荷バランス化操作は、残りのホストを介して仮想マシンを広げることができる。
実施形態300の負荷バランス化処理は、あるホストを電源停止するという結果をもたらすことができる。そのような場合に、始動されたホストは、電源停止されたホストより更に効率的とすることができる。通常の場合に、停止されるホストより多い数のホストを始動させることができる。
図4は、供給及び需要データを収集する方法を示す一実施形態400のフローチャートである。実施形態400は、実施形態100で示されたようにデータ収集器132によって、実施形態200のブロック204によって、また、実施形態300のブロック304によって行われ得る方法の簡易例である。
他の実施形態は、異なるシーケンス、追加又はより少ないステップ、及び異なる用語又は技術を用いて類似の機能を達成することができる。ある実施形態において、様々な動作又は動作のセットを、他の動作と並行して、同期方法又は非同期方法で実行することができる。本明細書で選択されたステップは、簡易化の形式で動作のある原理を示すために選択された。
実施形態400は、供給及び需要データを収集することができる一つの方法である。供給データは、ホスト装置上で見つけ出されたリソース又は他の次元に関係することができる一方、需要データは、仮想マシンによって用いられるリソース又は次元とのマッチングに関係することができる。データの収集後、不足を判定し、不足スコアをホスト装置毎に判定することができる。また、各ホストの効率を判定することができる。
実施形態400を、異なる初期状態を用いて、ホスト装置のセット上で行うことができる。1つのシナリオでは、仮想マシンが現在動作していないように、ホスト装置を分析することができる。そのようなシナリオでは、データセンタ全体に亘った仮想マシンの最適化配置を識別することができる。別のシナリオでは、ある他の初期状態のセットを用いて整理統合又は負荷バランス化を行うことができる。
ブロック402において、分析の初期状態を判定する。
ブロック404〜408において、需要を、各仮想マシンの次元毎に判定する。ブロック404では、各仮想マシンを分析する。ブロック406における次元毎にその次元に対する需要をブロック408では判定する。
分析された次元は実施形態間で変化する。多くの場合には、その次元は消費したリソース、消費しなかったリソース、バイナリーリソース、及び他の次元を含むことができる。
ブロック410におけるホスト装置毎に、各次元を、ブロック412において分析する。その次元対する供給を、ブロック414において判定する。
電力消費を、ブロック416において判定することができる。そのブロック416の電力消費は、他のホストと共有可能な装置のホストの割り当て分と共に、ホスト自身によって消費された電力を含むことができる。例えば、電源部、冷却システム、及び他の装置をホスト間で共有することができる。非常に僅かなホストが装置を共有している場合には、共有装置の電力消費をそれらの僅かなホストだけによるものとすることができる。多くの場合には、装置を共有する他のホストを電源オンしないとき、ホストの効率をかなり減少させることができる。
簡単な例において、サーバのラックは50のサーバを含むことができ、サーバが全て動作しているとき、50のサーバの間で共有される冷却システム及び電源部を有することができる。49のサーバの動作を停止し、1つのサーバが動作中であるとき、そのラック冷却及び電源部の電力の全てがその1つの動作中のサーバに帰属することができる。そのようなサーバは、50のサーバ全てが動作中で冷却システム及び電源部の電力コストを共有する場合に比べて非常に非効率である。
ブロック416における次元毎に、ブロック418において不足を判定する。
不足を次の式によって判定することができる。
Figure 0005363646
次元毎に、全てのホスト供給の合計と全ての仮想マシン需要の合計との差分によって全ての仮想マシン需要の合計を分割することによって不足を計算することができる。不足は次元毎の無次元数である。高い不足値は次元が不足していることを示す一方、低い不足値は次元が多いことを示す。
ブロック420では、各ホストを分析する。ブロック422では、ホストに対する効率を判定する。ホストに帰属される消費電力による選択したリソースを分割することによって効率を計算することができる。ある実施形態において、不足のリソースは、上記の式において判定されるように最も高い不足要因を有するリソースとすることができる。
ある実施形態において、ブロック422の効率を、CPU能力、ディスク容量、又はある他のリソース等の所定のリソースを用いて判定することができる。不足のリソースを用いる実施形態において、そのリソースは1つの分析から他の分析に変更することができる。
図5は、整理統合方法を示す一実施形態500のフローチャートである。実施形態500は、実施形態300のブロック310と共に、実施形態200のブロック208及び212の整理統合操作によって行われ得る方法の簡易例である。
他の実施形態は、異なるシーケンス、追加又はより少ないステップ、及び異なる用語又は技術を用いて類似の機能を達成することができる。ある実施形態において、様々な動作又は動作のセットを他の動作と並行して同期方法で又は非同期方法で実行することができる。本明細書で選択されたステップは、簡易化の形式で動作のある原理を示すために選択された。
実施形態500の動作は、仮想マシンの全てを1つのホストから他のホストに配置することを試みることができる。全ての仮想マシンを移動するとき、その1つのホストを電源オフすることができる。実施形態500は、その受け入れホストの能力が、その処理の終了時点において満たされるまで、多くのホストのために動作を行うことができる。
実施形態500は、効率の順にホストを処理することによってホストを電源オフすることを試み、先ず、最小の効率のホストから始める。ある場合には、最小の効率のホストはそのホストの能力限界又はそれ以上とすることができる。
ブロック502では、開始マッピングを読み取ることができる。ブロック504では効率を増加させる中で、複数のホストを順序付けることができ、ブロック506では1つのホストを選択することができる。ブロック506で選択されたホストは、ブロック504におけるリストに基づいて最も効率的なホストとすることができる。
ブロック508におけるホスト上の仮想マシン毎に、ブロック510では受け入れホストの上限を超えることなくその仮想マシンを配置する試みを他のホスト上で行うことができる。例えば、上限が80%能力である場合、仮想マシンの追加によってその受け入れホストが80%能力を超えないとき、その仮想マシンをホスト上に配置することができる。
仮想マシンを配置する処理510を、ワーストフィット減少(worst-fit decreasing)アルゴリズムを含む任意の種類のパッキングアルゴリズムを用いて、行うことができる。
ブロック512において配置が成功したとしたならば、ブロック514ではその配置をマッピングに加えることができ、次の仮想マシンをブロック508において分析することができる。
ブロック512において配置が成功しなかったとしたならば、ホストを整理統合することができないのでブロック516においてループを抜け出すことができる。ブロック518では現在のホストの変更をマッピングから取り除くことができ、ブロック524ではその処理を終了することができる。
仮想マシンの全てを、ブロック508において成功裏に配置したならば、ブロック520ではマッピングに電源オフとしてホストを記録することができる。ブロック522においてより多くのホストを分析するならば、その処理はブロック506に戻って、次の非効率のホストを選択することができる。そうでなければ、その処理はブロック524において終了することができる。
図6は、負荷バランス化方法を示す一実施形態600のフローチャートである。実施形態600は、実施形態200のブロック210及び実施形態300のブロック308及び312によって行われ得る方法の簡易例である。
他の実施形態は、異なるシーケンス、追加又はより少ないステップ、及び異なる用語又は技術を用いて類似の機能を達成することができる。ある実施形態において、様々な動作又は動作のセットを他の動作と並行して同期方法で又は非同期方法で実行することができる。本明細書で選択されたステップは簡易化の形式で動作のある原理を示すために選択された。
実施形態600は、仮想マシンを、過負荷ホストから過負荷でないホストに配置することを試みる。過負荷でないホストが存在しないならば、新しいホストを電源オンさせることができ、その新しいホストが仮想マシンを受け入れることができる。利用可能な最も効率的なホストからその新しいホストを選択することができる。
ブロック602では、開始マッピングを読み取ることができる。
ブロック604では、効率を減少させるに伴って、電源オフの複数のホストを順序付けることができる。ブロック604における電源オフのホストの順序付けられたリストを用いて、電源オン可能な新しいホストを選択することができる。1つの新しいホストを選択するとき、最も効率的なホストを選択することができる。
ブロック606では、当該動作のために定義された能力上限によって過負荷ホストを識別することができる。例えば、その能力上限が60%であったならば、60%より大きな利用状態のホストを選択することができる。
ブロック608では過負荷ホストの各々を分析することができる。
ブロック610では他のホストの能力上限を超えることなく過負荷ホストからの仮想マシンを配置することを試みることができる。受け入れるホストがその能力上限を超えないようにその配置を任意の他のホストに対して行うことができる。
ブロック612において配置が成功したとしたならば、ブロック614ではその配置をマッピングに加えることができる。ブロック615において現在のホストがまだ過負荷であるならば、その処理はブロック610に戻って他の仮想マシンを配置することを試みることができる。ブロック615において現在のホストがもはや過負荷でないならば、その処理はブロック609に戻って他の過負荷ホストを処理することができる。
ブロック612において配置が成功しなかったとしたならば、ブロック616では電源オンとする新しいホストを識別することができる。ブロック604において生成されたリストから現在電源オンでない最も効率的なホストとしてその新しいホストを選択することができる。
ブロック618では新しいホストに仮想マシンを配置することができ、ブロック620ではその新しいホストをマッピングに加えることができる。ブロック614ではその仮想マシンの配置をマッピングに加えることができ、その処理を継続させることができる。
ブロック608において全ての過負荷ホストを処理するとき、その処理はブロック622で終了することができる。
構成の上記の記載を図示及び説明の目的のために表現している。構成を開示された明確な形式に包括又は限定する意図はない。上記の開示を考慮すると他の変更及び変形が可能である。実施形態を、本発明の原理を最良の説明のための順番に選択しかつ説明し、それらによる実際の応用はその分野の他の当業者が、期待される特定の使用に適合されるように様々な実施形態及び様々な変更に本発明を最良に利用することを可能にする。添付の請求項は従来技術によって限定される場合を除き他の代替実施形態を含むように構成されることが意図される。

Claims (13)

  1. 複数のホスト装置上に複数の仮想マシンを配置する方法であって、前記方法は、
    ホスト装置におけるリソースの利用状態に係る所定の基準である第1のホスト能力限界を用いて第1の整理統合を行うステップであって、前記第1の整理統合を行うステップは
    各々が前記複数の仮想マシンの少なくとも1つのホストをなす電源オン状態のホスト装置である前記ホスト装置の第1のセットと、電源オフ状態のホスト装置である前記ホスト装置の第2のセットとを識別するステップと、
    前記第1のセットのホスト装置の各々に対する効率を、各ホスト装置における消費電力およびリソースの利用状態に基づいて判定するステップと、
    前記第1のセットのホスト装置から少なくとも1つ非効率なホスト装置、前記効率と前記第1のホスト能力限界に基づいて、識別するステップと、
    前記非効率なホスト装置上の仮想マシンを前記第1のセットのホスト装置のうちの前記非効率なホスト装置以外の他のホスト装置に配置した場合の第1のシミュレーションを行い、前記第1のシミュレーションが成功した場合の前記仮想マシンの配置に基づいて第1のマッピングを作成するステップであって、前記第1のシミュレーションは、前記複数のホスト装置の各々が前記第1のホスト能力限界より低い、リソースの利用状態を示す場合に成功したと判定される、ステップと
    を含む、ステップと、
    前記第1のマッピングを用いて、負荷バランス化操作を行ステップであって、前記負荷バランス化操作を行うステップは、
    前記複数のホスト装置から、ホスト装置におけるリソースの利用状態に係る所定の基準である第2のホスト能力限界を超えるリソースの利用状態を示す、少なくとも1つの過負荷のホスト装置を識別するステップと、
    前記過負荷のホスト装置上の仮想マシンを、前記複数のホスト装置のうちの前記過負荷のホスト装置以外の他のホスト装置に配置した場合の第2のシミュレーションを行い、前記第2のシミュレーションが成功した場合の前記仮想マシンの配置に基づいて第2のマッピングを作成するステップであって、前記第2のシミュレーションは、前記複数のホスト装置の各々が前記第2のホスト能力限界より低い、リソースの利用状態を示す場合に成功したと判定される、ステップと、
    を含む、ステップと、
    前記第2のマッピングを用いて第2の整理統合を行ステップであって、前記第2の整理統合前記第1の整理統合における、前記第1のホスト能力限界を、ホスト装置におけるリソースの利用状態に係る所定の基準である第3のホスト能力限界に、前記第1のマッピングを第3のマッピングに、それぞれ置き換えて行われる、ステップと、
    前記第3のマッピングに基づいて前記複数のホスト装置上に前記仮想マシンを配置するステップと、
    を備えたことを特徴とする方法。
  2. 前記リソースは、CPUリソースであることを特徴とする請求項に記載の方法。
  3. 前記リソースは、記憶装置リソースであることを特徴とする請求項に記載の方法。
  4. 前記負荷バランス化操作を行うステップは、前記第2のセットのホスト装置から選択した少なくとも1つのホスト装置に前記仮想マシンの少なくとも1つを移動させるステップを含むことを特徴とする請求項1に記載の方法。
  5. 前記第2のセットのホスト装置から選択した少なくとも1つのホスト装置は、ホスト装置における消費電力およびリソースの利用状態に基づいて、前記第2のセットのホスト装置から最も効率的なホスト装置であると判定されたホスト装置であることを特徴とする請求項に記載の方法。
  6. 前記第1のホスト能力限界は、前記第2のホスト能力限界より高い基準であることを特徴とする請求項1に記載の方法。
  7. 前記第2のホスト能力限界は、前記第3のホスト能力限界より高い基準であることを特徴とする請求項に記載の方法。
  8. 前記第1の整理統合を、前記複数のホスト装置のうちの少なくとも2つに対して行うことを特徴とする請求項1に記載の方法。
  9. 複数のホスト装置と前記複数のホスト装置上で動作可能な複数の仮想マシンを管理するシステムであって、前記システムは、
    ホスト装置におけるリソースの利用状態に係る所定の基準である第1のホスト能力限界を用いて第1の整理統合を行、前記第1の整理統合を行うことは
    各々が前記複数の仮想マシンの少なくとも1つのホストをなす電源オン状態のホスト装置である前記ホスト装置の第1のセットと、電源オフ状態のホスト装置である前記ホスト装置の第2のセットとを識別
    前記第1のセットのホスト装置の各々に対する効率を、各ホスト装置における消費電力およびリソースの利用状態に基づいて判定
    前記第1のセットのホスト装置から少なくとも1つ非効率なホスト装置、前記効率と前記第1のホスト能力限界に基づいて、識別
    前記非効率なホスト装置上の仮想マシンを、前記第1のセットのホスト装置のうちの前記非効率なホスト装置以外の他のホスト装置に配置した場合の第1のシミュレーションを行い、前記第1のシミュレーションが成功した場合の前記仮想マシンの配置に基づいて第1のマッピングを作成、前記第1のシミュレーションは、前記複数のホスト装置の各々が前記第1のホスト能力限界より低い、リソースの利用状態を示す場合に成功したと判定される
    ことを含
    第1のマッピングを用いて、負荷バランス化操作を行い、前記負荷バランス化操作を行うことは、
    前記複数のホスト装置から、ホスト装置におけるリソースの利用状態に係る所定の基準である第2のホスト能力限界を超えるリソースの利用状態を示す、少なくとも1つの過負荷のホスト装置を識別し、
    前記過負荷のホスト装置上の仮想マシンを、前記ホスト装置のうちの前記過負荷のホスト装置以外の他のホスト装置に配置した場合の第2のシミュレーションを行い、前記第2のシミュレーションが成功した場合の前記仮想マシンの配置に基づいて第2のマッピングを作成し、前記第2のシミュレーションは、前記複数のホスト装置の各々が前記第2のホスト能力限界により低い、リソースの利用状態を示す場合に成功したと判定される
    ことを含み、
    前記第2のマッピングを用いて、第2の整理統合を行、前記第2の整理統合前記第1の整理統合における、前記第1のホスト能力限界を、ホスト装置におけるリソースの利用状態に係る所定の基準である第3のホスト能力限界に、前記第1のマッピングを第3のマッピングに、それぞれ置き換えて行われ
    前記第3のマッピングに基づいて前記複数のホスト装置上に前記仮想マシンを再配置する
    ように構成されたことを特徴とするシステム。
  10. 前記負荷バランス化操作を、ワーストフィット減少アルゴリズムにより行うことを特徴とする請求項に記載のシステム。
  11. 前記システムは、
    前記第1の整理統合、前記負荷バランス化操作、および前記第2の整理統合を複数実行し、
    作成される複数の前記第3のマッピングの各々をスコア付けし、
    前記複数の第3のマッピングのうちの1つから、前記仮想マシンの再配置を行うための前記第3のマッピングを選択するように更に構成されたことを特徴とする請求項に記載のシステム。
  12. 前記リソースの利用状態は、ホスト装置におけるリソースのコストを含み、前記リソースのコストは、前記ホスト装置における電力供給コスト及び冷却コストを含むことを特徴とする請求項に記載のシステム。
  13. 前記リソースの利用状態は、CPU使用率、ストレージ使用量、およびネットワーク使用量のうちの少なくとも1つであることを特徴とする請求項に記載のシステム。
JP2012504720A 2009-04-08 2010-04-01 最適化仮想マシンマイグレーション機構 Active JP5363646B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/420,082 2009-04-08
US12/420,082 US8117613B2 (en) 2009-04-08 2009-04-08 Optimized virtual machine migration mechanism
PCT/US2010/029714 WO2010117888A2 (en) 2009-04-08 2010-04-01 Optimized virtual machine migration mechanism

Publications (3)

Publication Number Publication Date
JP2012523620A JP2012523620A (ja) 2012-10-04
JP2012523620A5 JP2012523620A5 (ja) 2013-03-28
JP5363646B2 true JP5363646B2 (ja) 2013-12-11

Family

ID=42935366

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012504720A Active JP5363646B2 (ja) 2009-04-08 2010-04-01 最適化仮想マシンマイグレーション機構

Country Status (7)

Country Link
US (1) US8117613B2 (ja)
EP (1) EP2417534B1 (ja)
JP (1) JP5363646B2 (ja)
KR (1) KR101654395B1 (ja)
CN (1) CN102388380B (ja)
CA (1) CA2756096C (ja)
WO (1) WO2010117888A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170110708A (ko) * 2015-03-09 2017-10-11 아마존 테크놀로지스, 인크. 자원 배치 최적화를 위한 기회적 자원 이주

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8099487B1 (en) * 2006-07-06 2012-01-17 Netapp, Inc. Systems and methods for determining placement of virtual machines
US9778718B2 (en) 2009-02-13 2017-10-03 Schneider Electric It Corporation Power supply and data center control
US9122537B2 (en) * 2009-10-30 2015-09-01 Cisco Technology, Inc. Balancing server load according to availability of physical resources based on the detection of out-of-sequence packets
JP2011125124A (ja) * 2009-12-09 2011-06-23 Sanyo Electric Co Ltd サーバーとサーバーに収納される無停電電源装置
JP5583394B2 (ja) * 2009-12-09 2014-09-03 Fdk株式会社 サーバーの無停電電源装置
WO2011162746A1 (en) 2010-06-22 2011-12-29 Hewlett-Packard Development Company, L.P. A method and system for determining a deployment of applications
US9858068B2 (en) 2010-06-22 2018-01-02 Hewlett Packard Enterprise Development Lp Methods and systems for planning application deployment
US8745234B2 (en) * 2010-12-23 2014-06-03 Industrial Technology Research Institute Method and manager physical machine for virtual machine consolidation
US8793427B2 (en) 2011-02-10 2014-07-29 Hewlett-Packard Development Company, L.P. Remote memory for virtual machines
US20140223430A1 (en) * 2011-04-07 2014-08-07 Hewlett-Packard Development Company, L.P. Method and apparatus for moving a software object
GB2492172A (en) * 2011-06-25 2012-12-26 Riverbed Technology Inc Controlling the Operation of Server Computers by Load Balancing
WO2013019185A1 (en) 2011-07-29 2013-02-07 Hewlett-Packard Development Company, L.P. Migrating virtual machines
WO2012109876A1 (zh) 2011-08-03 2012-08-23 华为技术有限公司 虚拟化数据备份方法、虚拟化数据重组方法、装置及系统
US8635152B2 (en) 2011-09-14 2014-01-21 Microsoft Corporation Multi tenancy for single tenancy applications
US9933843B2 (en) * 2011-12-22 2018-04-03 Schneider Electric It Corporation Systems and methods for reducing energy storage requirements in a data center
CN102571986B (zh) * 2012-02-27 2014-05-21 浙江大学 一种基于向量映射的负载均衡方法
JP2013196276A (ja) * 2012-03-19 2013-09-30 Fujitsu Ltd 情報処理装置、プログラムおよびデータ配置方法
CN104541247B (zh) * 2012-08-07 2018-12-11 超威半导体公司 用于调整云计算系统的系统和方法
US9331891B2 (en) 2012-10-11 2016-05-03 International Business Machines Corporation Virtual consolidated appliance
CN103077082B (zh) * 2013-01-08 2016-12-28 中国科学院深圳先进技术研究院 一种数据中心负载分配及虚拟机迁移节能方法及系统
US9009706B1 (en) * 2013-01-23 2015-04-14 Symantec Corporation Monitoring and updating state information of virtual devices to guest virtual machines based on guest virtual machine's probing policy
US9329888B2 (en) 2013-01-28 2016-05-03 International Business Machines Corporation Computing optimized virtual machine allocations using equivalence combinations
EP2953024A1 (en) * 2013-02-01 2015-12-09 NEC Corporation Resource control system, control pattern generation device, control device, resource control method and program
JP2014206805A (ja) * 2013-04-11 2014-10-30 株式会社三菱東京Ufj銀行 制御装置
CN103246564B (zh) * 2013-05-17 2016-06-01 浙江大学 一种面向云数据中心的大规模虚拟机快速迁移决策方法
JP6365536B2 (ja) 2013-05-29 2018-08-01 日本電気株式会社 仮想マシン制御装置、仮想マシン制御方法とプログラム、および、データセンタ
US20140359213A1 (en) * 2013-05-31 2014-12-04 Microsoft Corporation Differencing disk improved deployment of virtual machines
US9383986B2 (en) 2013-06-18 2016-07-05 Disney Enterprises, Inc. Safe low cost web services software deployments
US9792321B2 (en) 2013-07-09 2017-10-17 Oracle International Corporation Online database migration
US11157664B2 (en) 2013-07-09 2021-10-26 Oracle International Corporation Database modeling and analysis
US10776244B2 (en) * 2013-07-09 2020-09-15 Oracle International Corporation Consolidation planning services for systems migration
US9762461B2 (en) 2013-07-09 2017-09-12 Oracle International Corporation Cloud services performance tuning and benchmarking
US9996562B2 (en) 2013-07-09 2018-06-12 Oracle International Corporation Automated database migration architecture
US9805070B2 (en) 2013-07-09 2017-10-31 Oracle International Corporation Dynamic migration script management
US9747311B2 (en) 2013-07-09 2017-08-29 Oracle International Corporation Solution to generate a scriptset for an automated database migration
US9967154B2 (en) 2013-07-09 2018-05-08 Oracle International Corporation Advanced customer support services—advanced support cloud portal
US9442983B2 (en) 2013-07-09 2016-09-13 Oracle International Corporation Method and system for reducing instability when upgrading software
JP6023022B2 (ja) * 2013-08-05 2016-11-09 日本電信電話株式会社 電力消費量算出システムおよび方法
US9207976B2 (en) 2013-08-13 2015-12-08 International Business Machines Corporation Management of prioritizing virtual machines in an operating environment
WO2015030717A1 (en) * 2013-08-27 2015-03-05 Empire Technology Development Llc Consolidating operations associated with a plurality of host devices
US9348654B2 (en) 2013-11-19 2016-05-24 International Business Machines Corporation Management of virtual machine migration in an operating environment
US9317326B2 (en) 2013-11-27 2016-04-19 Vmware, Inc. Consistent migration of a group of virtual machines using source and destination group messaging
CN103677958B (zh) * 2013-12-13 2017-06-20 华为技术有限公司 一种虚拟化集群的资源调度方法及装置
JP6372074B2 (ja) * 2013-12-17 2018-08-15 富士通株式会社 情報処理システム,制御プログラム及び制御方法
US9632840B2 (en) 2014-04-22 2017-04-25 International Business Machines Corporation Load balancing with granularly redistributable workloads
US9811365B2 (en) * 2014-05-09 2017-11-07 Amazon Technologies, Inc. Migration of applications between an enterprise-based network and a multi-tenant network
US9298518B2 (en) * 2014-07-09 2016-03-29 International Business Machine Corporation Safe consolidation and migration
US9886083B2 (en) * 2014-12-19 2018-02-06 International Business Machines Corporation Event-driven reoptimization of logically-partitioned environment for power management
US11182713B2 (en) 2015-01-24 2021-11-23 Vmware, Inc. Methods and systems to optimize operating system license costs in a virtual data center
US11336519B1 (en) * 2015-03-10 2022-05-17 Amazon Technologies, Inc. Evaluating placement configurations for distributed resource placement
US10002015B2 (en) 2015-07-10 2018-06-19 International Business Machines Corporation Delayed boot of a virtual machine in a virtualized computing environment based on a fabric limit
US10002014B2 (en) 2015-07-10 2018-06-19 International Business Machines Corporation Management of a virtual machine in a virtualized computing environment based on a fabric limit
US9973432B2 (en) * 2015-07-10 2018-05-15 International Business Machines Corporation Load balancing in a virtualized computing environment based on a fabric limit
JP6431454B2 (ja) * 2015-07-30 2018-11-28 日本電信電話株式会社 クラスタ内リソース管理システム、クラスタ内リソース管理方法、管理サーバ及びプログラム
JP2017134668A (ja) * 2016-01-28 2017-08-03 富士通株式会社 情報処理システム、情報処理システムの制御方法および管理装置の制御プログラム
US11036696B2 (en) 2016-06-07 2021-06-15 Oracle International Corporation Resource allocation for database provisioning
US10834210B1 (en) * 2017-08-03 2020-11-10 Amazon Technologies, Inc. Synchronizing a personal workspace across multiple computing systems in a coding environment
CN110874248A (zh) * 2018-08-31 2020-03-10 上海仪电(集团)有限公司中央研究院 一种云计算环境中虚拟机启动加速方法及系统
KR102129389B1 (ko) * 2018-12-20 2020-07-08 경희대학교 산학협력단 클라우드 컴퓨팅 환경에서의 다목적 가상머신 배치 방법 및 장치
US11256671B2 (en) 2019-09-13 2022-02-22 Oracle International Corporation Integrated transition control center
CN115437739A (zh) * 2021-06-02 2022-12-06 伊姆西Ip控股有限责任公司 虚拟化系统的资源管理方法、电子设备和计算机程序产品

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010049741A1 (en) * 1999-06-18 2001-12-06 Bryan D. Skene Method and system for balancing load distribution on a wide area network
EP1418501A1 (fr) * 2002-11-08 2004-05-12 Dunes Technologies S.A. Méthode d'administration d'applications sur des machines virtuelles
US7203944B1 (en) * 2003-07-09 2007-04-10 Veritas Operating Corporation Migrating virtual machines among computer systems to balance load caused by virtual machines
US20050060590A1 (en) * 2003-09-16 2005-03-17 International Business Machines Corporation Power-aware workload balancing usig virtual machines
US8156490B2 (en) * 2004-05-08 2012-04-10 International Business Machines Corporation Dynamic migration of virtual machine computer programs upon satisfaction of conditions
CA2484957A1 (en) 2004-07-07 2006-01-07 Veris Industries, Llc Split core sensing transformer
US20060069761A1 (en) * 2004-09-14 2006-03-30 Dell Products L.P. System and method for load balancing virtual machines in a computer network
US7607129B2 (en) * 2005-04-07 2009-10-20 International Business Machines Corporation Method and apparatus for using virtual machine technology for managing parallel communicating applications
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US20070204266A1 (en) * 2006-02-28 2007-08-30 International Business Machines Corporation Systems and methods for dynamically managing virtual machines
US8185893B2 (en) * 2006-10-27 2012-05-22 Hewlett-Packard Development Company, L.P. Starting up at least one virtual machine in a physical machine by a load balancer
JP5317010B2 (ja) * 2006-11-24 2013-10-16 日本電気株式会社 仮想マシン配置システム、仮想マシン配置方法、プログラム、仮想マシン管理装置およびサーバ装置
US7444459B2 (en) * 2006-12-12 2008-10-28 Lsi Logic Corporation Methods and systems for load balancing of virtual machines in clustered processors using storage related load information
US7673113B2 (en) * 2006-12-29 2010-03-02 Intel Corporation Method for dynamic load balancing on partitioned systems
US7856549B2 (en) * 2007-01-24 2010-12-21 Hewlett-Packard Development Company, L.P. Regulating power consumption
EP1962192A1 (en) * 2007-02-21 2008-08-27 Deutsche Telekom AG Method and system for the transparent migration of virtual machine storage
US7836332B2 (en) * 2007-07-18 2010-11-16 Hitachi, Ltd. Method and apparatus for managing virtual ports on storage systems
WO2009088435A1 (en) * 2007-12-31 2009-07-16 Netapp, Inc. System and method for automatic storage load balancing in virtual server environments
US7925923B1 (en) * 2008-01-31 2011-04-12 Hewlett-Packard Development Company, L.P. Migrating a virtual machine in response to failure of an instruction to execute
US20100042719A1 (en) * 2008-08-12 2010-02-18 Junji Kinoshita Content access to virtual machine resource
CN101398768B (zh) * 2008-10-28 2011-06-15 北京航空航天大学 一种分布式虚拟机监视器系统的构建方法
US8250182B2 (en) * 2008-11-30 2012-08-21 Red Hat Israel, Ltd. Dynamic loading between a server and a client

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170110708A (ko) * 2015-03-09 2017-10-11 아마존 테크놀로지스, 인크. 자원 배치 최적화를 위한 기회적 자원 이주
KR102031471B1 (ko) 2015-03-09 2019-11-08 아마존 테크놀로지스, 인크. 자원 배치 최적화를 위한 기회적 자원 이주

Also Published As

Publication number Publication date
EP2417534B1 (en) 2018-01-10
CA2756096A1 (en) 2010-10-14
CN102388380B (zh) 2013-09-04
CN102388380A (zh) 2012-03-21
EP2417534A2 (en) 2012-02-15
WO2010117888A3 (en) 2011-01-13
CA2756096C (en) 2017-05-02
KR20120002989A (ko) 2012-01-09
US8117613B2 (en) 2012-02-14
WO2010117888A2 (en) 2010-10-14
EP2417534A4 (en) 2012-12-26
US20100262974A1 (en) 2010-10-14
KR101654395B1 (ko) 2016-09-05
JP2012523620A (ja) 2012-10-04

Similar Documents

Publication Publication Date Title
JP5363646B2 (ja) 最適化仮想マシンマイグレーション機構
US8464267B2 (en) Virtual machine packing method using scarcity
Paya et al. Energy-aware load balancing and application scaling for the cloud ecosystem
US8065541B2 (en) Server power consumption controller, and method and computer program for controlling server power consumption
CN102103516B (zh) 基于虚拟cpu的频率和电压调节
US9501124B2 (en) Virtual machine placement based on power calculations
US8402140B2 (en) Methods and apparatus for coordinated energy management in virtualized data centers
Patel et al. Energy efficient strategy for placement of virtual machines selected from underloaded servers in compute Cloud
Qureshi Profile-based power-aware workflow scheduling framework for energy-efficient data centers
US20110022870A1 (en) Component power monitoring and workload optimization
Li et al. Opportunistic scheduling in clouds partially powered by green energy
Choi et al. Task classification based energy-aware consolidation in clouds
CN110543355A (zh) 一种自动均衡云平台资源的方法
Rao et al. Energy analysis of task scheduling algorithms in green cloud
JP2012181647A (ja) 情報処理装置、仮想マシン管理方法および仮想マシン管理プログラム
Singh et al. A comprehensive review of cloud computing virtual machine consolidation
Leite et al. Power‐aware server consolidation for federated clouds
Kenga et al. Energy consumption in cloud computing environments
Al-Mahruqi et al. A proposed energy and performance aware cloud framework for improving service level agreements (SLAs) in cloud datacenters
Monteiro et al. A STUDY ON VIRTUAL MACHINE PLACEMENT ALGORITHMS IN CLOUD DATA CENTER
Son et al. Migration scheme based machine learning for QoS in cloud computing: Survey and research challenges
Chang et al. Green computing: An SLA-based energy-aware methodology for data centers
Prasad et al. A STUDY ON HOST MACHINE UNDERLOADING DETECTION ALGORITHM IN CLOUD DATA CENTER
Ajayi et al. An Energy-Aware Class-Based Load Balancing Model for Resource Management in Cloud Computing
CN117632464A (zh) 一种容器管理方法及相关设备

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130207

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130207

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20130207

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20130301

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130619

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130701

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130718

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130905

R150 Certificate of patent or registration of utility model

Ref document number: 5363646

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250