JP5885920B2 - 仮想cpuベースの、周波数、及び電圧制御 - Google Patents

仮想cpuベースの、周波数、及び電圧制御 Download PDF

Info

Publication number
JP5885920B2
JP5885920B2 JP2010284798A JP2010284798A JP5885920B2 JP 5885920 B2 JP5885920 B2 JP 5885920B2 JP 2010284798 A JP2010284798 A JP 2010284798A JP 2010284798 A JP2010284798 A JP 2010284798A JP 5885920 B2 JP5885920 B2 JP 5885920B2
Authority
JP
Japan
Prior art keywords
workload
virtual
profile
processing device
control algorithm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010284798A
Other languages
English (en)
Other versions
JP2011134333A (ja
Inventor
ティエン クン
ティエン クン
ユイ コーァ
ユイ コーァ
Original Assignee
インテル コーポレイション
インテル コーポレイション
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 インテル コーポレイション, インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2011134333A publication Critical patent/JP2011134333A/ja
Application granted granted Critical
Publication of JP5885920B2 publication Critical patent/JP5885920B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Power Sources (AREA)

Description

本発明は、仮想CPUベースの、周波数、及び電圧制御に関する。
マイクロプロセッサ、及びコンピュータシステムが発展するにつれて、多くのソフトウエアが単一のプラットフォームで実行されるようになってきた。異なるプラットフォーム、及びオペレーティングシステム(OS)用に記述された異なるソフトウエアに対応するために、仮想化技術が開発された。仮想化は、リソースを共有し、かつ単一のハードウェアプラットホーム上で、並行して実行する複数のOS、及びアプリケーションを使用可能にする。今日、仮想化は、小型のサーバから複数の・カスタマーに同時に計算サービスを提供する大規模なデータセンターまで、多様な種類のコンピューティング環境に、利用されるようになってきている。
仮想化は、バーチャルマシーンモニタ(VMM:Virtual Machine Monitor)と称するソフトウェア・エンティティを使用して、一般にインプリメントされる。VMMは各々のOSに仮想資源を提供し、一つ以上の仮想プロセッサ、仮想メモリ、及び仮想入出力(I/O)リソースを含む仮想マシン(VM)を備える。そして、OSは完全に、かつ直接的にこれを制御する。VMMは、仮想化ポリシー(例えばVMの中の物理的資源の共有及び/又は割当)をインプリメントするためのシステム環境を確保する。ホスト又はホスト・ソフトウェア、例えばVMMは、仮想環境の外で動作するソフトウエアであるのに対して、各々のOS、及びその他のソフトウエアは、VM上で動作するゲストあるいはゲストソフトウェアと称する。したがって、仮想化技術は、複数のゲストソフトウェアが単一のホスト又は物理的なプラットフォーム上で同時に動作することを可能とする。システム上で動作しているゲストは、仮想CPU(VCPU)を認識している。これは、ちょうど、物理CPU又はこれのサブセットとしての物理CPU(PCPU)の特長を有する。仮想化技術が単一の物理的な計算機に多くの多様なワークロードを統合することができるため、仮想化は物理的資源の効率的利用を実現し、したがって、一つの環境にやさしい(又はグリーン)技術として認識されうる。特にエネルギー消費が増加の傾向にある中で、これは仮想化技術の普及を促進させている。しかしながら、単に単一のプラットフォーム上にOSを統合することだけでは、効率化の要求を満たすには十分ではない。この目的のために、仮想化技術は、より高度化されたパワーマネージメント(又はパワーセービング)の能力が、まず、クライアントデバイスに、そして現在においては、ハイエンドサーバにも普及し始めている。しかしながら、CPUの仮想化、及び物理的資源の連続共有、及び再割当は、複雑化を将来する。物理マシン上のOSによってインプリメントされる従来のパワーマネージメント技術を仮想環境に移行させることを難しくする。
本発明の目的を実現するために、本発明は、複数の仮想処理デバイスの各々によって実行されるワークロードの特徴のプロファイルを作るステップと;
前記仮想処理デバイスのそれぞれのプロファイルが作られた特徴の関数として、各々の仮想処理デバイスのためのクロック周波数を決定するステップと;
を有する方法を提供する。
本発明の一実施例のシステムのブロック図である。 本発明の一実施例に従う方法のフローチャートである。 本発明の一実施例に従う例示的な仮想マシンモニタのブロック図である。
各種実施形態において、周波数制御(frequency scaling)、及び電圧制御(voltage scaling)を含むパワーセービング能力が仮想化技術と効率的に一体化され得る。現在の仮想システムは、あらゆるタイプの制御技術を行わないか(すなわちパワーセービングを行わないか)、あるいは、物理マシンのOSにより実装されるアルゴリズムと同じものを実行するかのいずれかである。しかしながら、物理的な環境のために用いられる制御アルゴリズムは、仮想環境に十分役立つとは言えない。物理マシンにおいてインプリメントされる一般の制御技術の1つの例として、動的な電圧、及び周波数制御(DVFS:voltage and frequency scaling)と呼ばれるものがある。チップセット(例えばプロセッサ又はCPU)のパワーの浪費は、そのチップセットのスタティックCMOSゲートに加えられる電圧及び周波数によるものである。DVFS技術によって、電源消費は、環境変化に基づいて、CPUに適用される信号の電圧、及び周波数を変えることによって、能率的に減少する。DVFS技術をインプリメントしているシステムにおいては、パフォーマンスに対して最小の影響しか及ぼさないように、制御アルゴリズムが、電圧、及び周波数を制御することが適切な時期をインテリジェントに決定する。この一つの方法は、CPUの利用に基づいて、制御を決定することである。
しかしながら、物理プロセッサ(すなわちPCPU)の利用に基づくパワーセービングアルゴリズムは、仮想マシンにおいてインプリメントされる多様な種類のワークロード(例えばメモリ利用のワークロード、レイテンシに敏感なワークロード、その他)に対して、ほとんど関知しない。仮想化は、並行して実行する一つの物理マシンに、様々なワークロードを統合するための物理プロセッサの利用に基づく制御アルゴリズムであり、現在スケジュールされているワークロードに対して対応が遅く、しかも密接に関係することができない場合がある。さらに、単に物理マシンによって使用されるアルゴリズムを用いることは、仮想CPU上で動作しているワークロード特徴を示す仮想化イベントを発見する機会を逃してしまう。この種のインジケータは、ほとんど考慮されることはない。なぜなら、このインジケータを検知することが複雑であるためと、コストが高いためである。VMMソフトウエアは、仮想資源(例えばCPU、メモリ、I/O)をゲストに提供する必要があるため、これらのインジケータは仮想環境において、利用可能な状態にあるのである。
したがって、本発明の一部の実施例では、周波数、及び電圧を制御する技術は、物理CPUではなく、各々の仮想CPUに関連付けられる。例えば、各々の仮想CPUは、制御をその特定のVCPU用に修正し指示するために、それ自身のワークロード・プロファイリング・チャネル及び/又はそれ自身の制御アルゴリズムによって配給される。加えて、さまざまなVCPUで実行される多様なワークロードに対し、動的にかつ、より知的に反応するために、一部の実施例のプロファイル・ワークロードの特徴は、仮想化イベントの連続モニタリングに基づいている。このような実施例では、複数の異なる制御アルゴリズムは、現在実行しているワークロードの実際の特徴の関数として、選択的に利用できてもよい。このように、周波数、及び電圧制御は急速に変化する統合されたワークロード・パターンに反応することができ、パフォーマンスを犠牲にせずにパワーセービングが達成される。
周波数、及び電圧制御アルゴリズムは、PCPUの要求、及び利用に関する一般的な経過情報(historical information)に基づく。例えば、一部のOSのインプリメンテーションは、定期的に、例えば、20ミリ秒の(ms)間隔で、PCPUの利用をサンプリングする。PCPUの利用のその過去のパターンに基づいて、適切なクロック周波数(又は制御ファクタ)が、次の20msの間隔のCPUに対して決定されてもよい。例えば、CPUの利用度が高い場合、高い周波数が選択される。同様に、利用度が低い場合、低い周波数が選択されてもよい。OSシステム・スケジューラが通常は短い間隔(例えば1ms)で動作するので、この技術は物理システムにおいて一般に十分である。したがって、一般に20msのウィンドウにおいて監視されるワークロード・パターンは、単一のPCPU上の平均ワークロード・パターンの正確な指示を提供するのに十分である。
しかしながら、VMMスケジューラは、そのPCPU上で動作しているVCPUのために、PCPUを時分割する必要があり、異なる振る舞いを見せる。短い間隔で動作するよりはむしろ、VMMスケジューラは、一般には、各々の新しく導入された仮想化レイヤーによる高いコンテクストスイッチのオーバーヘッドを回避するために、タスクのスケジューリングを、より大きい間隔で緩慢にさせる。例えば、VMMは、通常は30msのオーダ以上のスケジューリング間隔を有してもよい。この時間量(例えば30ms)は、長ささとしては、PCPU制御アルゴリズムの周波数制御間隔(例えば20ms)に比較的近いので、前にスケジュールアウトされた(scheduled-out)VCPUのパターンが次にスケジュールインされた(scheduled-in)VCPUのための周波数制御を決定するために使用されるという可能性が高い。スケジュールアウトされたVCPU、及びスケジュールインされたVCPUは、非常に異なる種類のワークロードで実行されうるため、スケジュールインされたVCPUのために選択される周波数は、現在実行されている動作に十分に適しているとは限らない。この課題は、「誤った制御(false scaling)」と称する一つの課題である。この場合誤った制御の課題を回避する一つの方策は、単純に、制御間隔を拡張することである(例えば、200ms以上)。しかしながら、長い制御間隔は、逆に、動作中のワークロードの急速な変化に反応することができず、かつ、制御アルゴリズムがリソースを共有することに対する公正さに問題を生じさせることになってしまうことがある。各VCPUに対して自身のプロファイリング・チャネルを与えることによって、この誤った制御を回避する。このため、各VCPUの特長を個別的にモニタし、分析することを可能とする。したがって、制御の決定は、実際のVCPUで実行されているワークロードの特徴に基づくことができる。
上述したように、制御の決定は、通常はCPUの利用の関数であってもよい。しかしながら、CPUの利用は必ずしも特定のワークロードに対する最適周波数のための精密なインジケータでない。そして、それはまた、誤った制御の状況に結果としてなることがある。例えば、メモリの集中的なワークロードは、CPUをサチュレートさせ得る。また、多くのストールサイクルを発生させる。したがって、CPUの利用において、高周波が選択されなければならないことを示す場合であっても、実際には、パフォーマンスの低下を伴わずに、低い周波数が選択され得る。本発明の一部の実施例は、CPUの利用に基づかないワークロード・パターンを認識し、ワークロード特徴プロファイリング・チャネルを適応させ、この種の誤った制御の課題に対処する。
いくつかの実施例では、VCPUベースの制御は、また、各々のVCPUのための異なる制御アルゴリズムを使用することにより、更なる効果を提供してもよい。さらに他の、複数の制御アルゴリズムが、いかなるVCPU用に利用されてもよい。例えば、1つの制御アルゴリズムはCPUの利用に基づいて周波数を選択することに適していてもよい。他の制御アルゴリズムはパフォーマンスの考慮に基づいて周波数を選択するように構成されてもよい。また、他の制御アルゴリズムはパワーセービング等にその決定の基礎をおいてもよい。このような実施例では、特定の制御アルゴリズムは、プロファイリング・チャネルによって提供される現在のワークロードの特徴に基づいて、動的に選択されてもよい。現在のワークロードの特徴に変化が合った場合、現在選択された制御アルゴリズムは、他の制御アルゴリズムと交換されてもよい。以下に更に詳細に述べるが、例えば、I/Oに集中した(intensive)ワークロード、メモリに集中したワークロード、及びレイテンシに集中したワークロードは、それらのワークロードの特徴の現実を考慮に入れた異なる制御アルゴリズムの使用によって、軽減されうる。
各々のVCPUのために用意された改善された制御能力を提供することに加えて、VCPUベースの制御は、更に正確に、コンピューティングサービスとそのカスタマーとの間のサービスレベル契約を遵守することの判断の機会を提供する。例えば、この種の契約は、物理的な処理リソースの利用、及び速度に基づく特定の条項を含みうる。したがって、各々のVCPUが動作している周波数は、サービスレベル契約要件に対して考慮に入れてもよいファクタである。PCPUベースの制御が使用される場合、正確に周波数の要件を遵守することが可能でないこともあろう。したがって、この種の要件に従うVCPUが、PCPU上で動作している限り、PCPUベースの制御アルゴリズムはディスエーブルしなければならないかもしれない。VCPUベースの制御は、各々のカスタマーのワークロードのためのシステムの処理リソースの利用を、より正確に測定及び課金することを容易にすることができる。
図1は、本発明の一実施例に従った仮想環境のVCPUベースの制御をインプリメントするための例示的なフレームワーク100である。図1は、仮想化フレームワーク100の実施例を示すが、実施例は、また、仮想化技術が使用される特定の用途に従って、他のフレームワーク、アーキテクチュア、システム、プラットフォーム又は環境においてインプリメントされてもよいことは言うまでもない。図1に示すように、仮想化フレームワーク100は、OS又はVMMソフトウエアを実行することができるコンピュータシステムのいずれにも対応し得る、基本的なハードウェアプラットホーム102を備える。例えば、基本的なハードウェアプラットホームは、パソコン、メインフレームコンピュータ、ポータブルコンピュータ、ハンドヘルド・コンピュータ、セットトップボックス、サーバ又はその他のコンピューティング・システムであってもよい。図1に示すように、基本的なハードウェアプラットホーム102は、物理プロセッサ(又はPCPU)104、メモリ106、I/Oリソース107、及びプラットフォーム102(例えばPCPU104)の各種要素用の周波数を有するクロック信号、及び電圧を生成するためのクロック生成/制御回路108を有する。
PCPU104は、任意のタイプのプロセッサであってもよい。例えば、多目的マイクロプロセッサ(例えばマルチコアプロセッサ、マイクロコントローラ又はプログラマブル・ロジック)を含む。図1は、1つのPCPU104だけを示すが、基本的なハードウェアプラットホーム102がマルチプロセッサを含んでもよいことは言うまでもない。そして、各々がいかなる数の実行コアをも有するいかなる数のマルチコアプロセッサ、及び、各々がいかなる数のスレッドをも有するいかなる数のマルチスレッドのプロセッサを含む。
図1において示されるメモリ106は、ダイナミック・ランダム・アクセス・メモリ(DRAM)又は他のメモリ例えばスタティックランダムアクセスメモリを含んでもよい。基本的なプラットフォームハードウエア102は、いかなる数の補助装置又は接続を含んでもよい。例えば、データ、アプリケーション、ソフトウエアの命令等を保存する様々な記憶装置が挙げられる。
基本的なハードウェアプラットホーム102に加えて、図1のシステム100は、VMM110、及びVCPUs112a、112b、112n、ゲストOS122、及び124、及びゲストアプリケーション126、128、130、及び134を含むVM118、及び120を有する。図示するように、ゲストOS122、及びゲストアプリケーション126、及び128は、VCPUs112a、及び112bによって実行されるために、VM118にインストールされる。ゲストOS124、及びゲストアプリケーション130、及び132は、VCPU112nによって実行されるために、VM120にインストールされる。しかしながら、システム100は、いかなる数のVM、ゲスト、及びVCPUsを含んでもよく、また、VMは、他の仮想資源(例えば仮想メモリ、仮想I/Oリソース、その他)を含んでもよい。なお、発明の範囲は、この点に関して制限されない。
VMM110は、ゲストにVM(すなわち基本プラットフォームハードウエア102の抽象化)を提供するために、又はVMを生成し管理し仮想化ポリシーをインプリメントするために、基本プラットフォームハードウエア102にインストールされあるいはアクセスできる、いかなるソフトウエア、ファームウェア又はハードウェア・ホストであってもよい。その他の実施例では、ホストは、いかなるVMM、ハイパーバイザ、OS又は他のソフトウエア、ファームウェア又は基本的なプラットフォームでハードウエア102が制御可能なハードウエアであってもよい。ゲストはいかなるOS、いかなるVMMでもあってもよい。そして、VMM110の他のインスタンス、いかなるハイパーバイザ、いかなるアプリケーション、又は他のソフトウエアをも含む。
図1を参照すると、VMM110は、仮想ベースの周波数、及び電圧制御(VBFVS)センタ134、及び複数のVBFVSインスタンス(instance)136a−nを含む。各々のVBFVSインスタンス136a−nは、VCPU112a−nに割り当てられる。各々のVBFVSインスタンス136a−nは、また、プロファイルの関数としてのVCPUのワークロードの特徴を規定するプロファイリング・チャネル138a−nに拘束され、かつプロファイルを作ることによって提供されたプロファイルの関数として適切に制御された周波数及び/又は電圧(又は制御ファクタ)を決定する制御アルゴリズム140a−nに拘束される。いくつかの実施例では、特定の制御アルゴリズム140に対する拘束は、動的に実行されてもよい。例えば、プロファイリングデータは、VCPUにかかるワークロードに対して、現在拘束されているアルゴリズム140aよりも、制御アルゴリズム140bが、より適していることを示してもよい。この種の場合、VBFVSインスタンス136は、アルゴリズム140aから制御アルゴリズム140bに動的に切り替えてもよい。
図1を再度参照する。また、システム100は、各々のVCPUs112a−nをスケジュールするためのVMMスケジューラ142を含む。スケジューラ142が新規なVCPU(例えばVCPU112b)のスケジュールをするとき、スケジューラ142はコンテクストスイッチ・イベントをVBFVSセンター134に送信する。VBFVSセンター134がコンテクストスイッチ・イベントを受け入れると、スケジュールインされたVCPU112bに割り当てるために、VBFVSセンター134は、VBFVSインスタンス(例えばインスタンス136b)を選択する。VBFVSインスタンス136bに関連づけられたプロファイリング・チャネル(例えば、138bチャネル)が開始され、適切に制御された周波数及び/又は電圧を決定するために、インスタンス136bに拘束される制御アルゴリズム(例えばアルゴリズム140b)に情報を提供する。VBFVSセンター134は、PCPU104のためのクロック信号を生成するクロック生成回路108に新しい周波数の指示を通信することによって、周波数を制御する。いくつかの実施例では、制御は、VCPU112bがスケジュールインされている全ての期間の間、繰り返し実行される。実施例において、各々のVBFVSインスタンス136は、また、アカウント及びバジェットモジュール(ABM:Accounting and Budgeting Module)144に関連づけられた、あるVCPUレベルでパワー、及びエネルギーのきめ細かい計算を提供する。図2は、システム100でインプリメントされ得る周波数及び/又は電圧制御を決定するための例示的なフローチャートである。本発明は、示されるステップの特定のステップ又は特定の順番に限られないことが、理解されなければならない。他の実施例は、より少ないステップを含んでもよく、あるいは、順番を変えてもよい。
図2において、ブロック202で、VMMスケジューラ142は、新規なVCPU(例えばVCPU112b)をスケジュールインする。ブロック204で、VMMスケジューラ142は、コンテクストスイッチ・イベントをVBFVSセンター134に送信する。VBFVSセンター134は、スケジュールインされたVCPU112(ブロック206)のためのVBFVSインスタンス136を選択する。いくつかの実施例では、VBFVSセンター134は、また、制御統計をスケジューラ142に送信してもよい。例えば、VBFVSセンター134は、スケジュールアウトされたVCPUによってプロファイリング・チャネル及び制御アルゴリズムが最後に使用されたかを記憶してもよい。そして、ワークロード特徴、及びVCPU使用に関する統計を更新してもよい。VBFVSセンター134は、また、スケジュールアウトされたVCPU用に決定された最後の周波数を記録してもよい。VBFVSセンター134は、また、統計をスケジューラ142に送信してもよい。更に、VBFVSセンター134は、スケジュールインされたVCPU112のための前に記録された最後の周波数を回復してもよく、かつ現在のスケジュールインされたVCPU112によって最後に使用されたプロファイリングメカニズム、及び制御アルゴリズムを解凍してもよい。その他の実施例では、VBFVSセンター134は、スケジュールインされたVCPUに最初に適用するために、どの周波数、プロファイリングメカニズム、及び制御アルゴリズムを決定する他の技術を用いてもよい。例えば、デフォルトの開始パラメータ等が挙げられる。プロファイリングメカニズム、制御アルゴリズム、及び周波数/電圧が、スケジュールインされたVCPUのために最初に選択される態様にかかわらず、選択されたプロファイリング・チャネル138が、作動して、かつ、スケジュールインされたVCPU112の現在の実行のワークロードの特徴のプロファイルを作成するためにデータを収集し始める(ブロック208、及び210)。プロファイルとして収集された情報は、選択された制御アルゴリズム140に提供される。ブロック212で、アルゴリズム140は、適切な周波数/電圧(又は制御ファクタ)を決定し、かつ、VBFVSセンター134にそれを通信する。VBFVSセンター134は、クロック生成回路108のクロック周波数/電圧を制御する。プロファイリング・チャネル138はデータを収集し、かつ制御アルゴリズム140を送信し続け、かつ新規なVCPUがスケジュールインされるまで、制御アルゴリズム140はデータに応答して周波数及び/又は電圧を制御し続ける。
上記したように、様々な形の制御アルゴリズムが使用されてもよい。そして、事実、複数の異なる種類の制御アルゴリズムが、現在のスケジュールインされたVCPUのために選択的に利用されてもよい。したがって、実施例によって、図2において示される制御・技術は、新規な制御アルゴリズム140に変更するか、プロファイルとして収集されたワークロードに基づいて、これを選択するステップを有する(ブロック214)。例えば、本発明の1つの例示的実施態様で、選択的に利用できる1タイプの制御アルゴリズムは、CPU要求ベース(CPU demand−based)(CPU−DBS)のアルゴリズムである。通常、物理CPUの利用は、以下によって算出されてもよい:
(Telapsed−Tidle)/Telapsed (式1)
ここで、Telapsedは、利用が最後にサンプリングされてからの経過時間である。そして、Tidleは経過時間の段階の間のCPUアイドルタイムである。
VCPUに基づく制御・フレームワークに対して、この要求ベースの式は、VCPUに密接に関わるようにし、その結果、誤った制御の発生を減らすように変更することができる。例えば、いくつかの新しい要因が、仮想環境を考慮に入れたプロファイリング・チャネル138にもたらされてもよい。例えば、仮想マシンで、VMMスケジューラ142は、一般に一部のタイムクオンタム(例えば30ms)を各々のスケジュールインされたVCPU112に割り当てる。しかしながら、スケジュールインされたVCPU112が、1つのタイムスライスで、それに付与されたクオンタムの全てを消費してもよいというわけでない、幾つかの状況が存在する。VCPU112自体が動作を停止したためにアイドル状態に入ったときが、その一例である。この状態では、仮想化イベントがVCPU112をウエイクアップさせるまで、VMMスケジューラ142は、VCPU112をブロック状態(blocked state)としてもよい。VCPUの利用を特定するために、VCPU112がブロック状態のままである時間を、Tblockedと称してもよい。したがって、スケジューラ142は、ワークロードの特長をプロファイルとすることに利用するために、与えられたクオンタム及びブロックされたパラメータをプロファイリング・チャネル138に伝えてもよい。
VCPU112が単一のタイムスライスのその全てのクオンタムを消費してはならない他の状況は、VCPU112よりも、他の上位の優先するVCPUs112が優先されるときに発生しうる。この場合に、優先されていない(preempted)VCPU112は、まだ作動できる状態(runable)であるが、動作のキュー(run queue)に止まっており、かつ、実際に継続中の意味あるジョブを持っている。また、VCPU112利用を特定するために、この優先されてしまった時間(preempted time)は、Tstolenと称してもよい。そして、スケジューラ142は、横取りされた時間パラメータ(stolen time parameter)をプロファイリング・チャネル138に転送してもよい。
これらの新しい要素を踏まえ、プロファイリング・チャネル138は、以下の通りにVCPU112の利用を算出してもよい:
(Tquantum−Tstolen−Tblocked)/(Tquantum−Tstolen) (式2)
VCPU112の利用を決定する式(2)を用いることによって、ネイティブOS環境のための周知の要求周波数制御アルゴリズムが利用されてもよい。ここでの差異は、(PCPU104利用の代わりに)VCPU112の利用は、DBSベースのアルゴリズム140の入力として提供されることである。VCPUの利用を入力として、CPU−DBSアルゴリズムは、低い利用度に対しては低い周波数をアウトプットし、またその逆も成り立つ。
CPU−DBSアルゴリズムは、パフォーマンス、及びパワーセービングの間の最適バランスを提供しない場合がある。いくつかの場合では、より良好なバランスを担保するためには、現在のワークロードの特徴に関して、付加的な、あるいは異なる情報(VCPU112利用以外)のプロファイルを作ることによって達成されてもよい。仮想環境においては、仮想化の間、ワークロード特徴が推論され得る多くのヒントが生成される。より詳しくは、単一の物理マシン上の複数のVMを統合するために、VMMは、各々のVMから様々な形のセンシティブなアクションをインターセプトし、所望の挙動をエミュレートし、かつ非同期仮想割り込みを導入することを必要とする。この新規な仮想化レイヤーは、基本的なハードウェアプラットホーム上の動作と比較して、オーバーヘッドを仮想マシンに加える。しかしながら、この必然的なオーバーヘッドによって提供される豊富なヒントは、ワークロード特徴の推測を補助するために使用されてもよい。
例えば、入出力(I/O)の集中した特徴を有するワークロードは、エミュレートされた入出力デバイス上の入出力要求の頻度に基づいて、直ちに識別され得る。入出力デバイスがドライバ・レベルで、並列に仮想化(para−virtualized)されている場合、高度なドライバは、I/Oの集中したワークロードを示す統計を率先して提供することができる。別の例として、メモリ仮想化イベントは、メモリの集中したワークロードのインジケータであってもよい。例えば、VMMは、通常は、シャドウページテーブルを維持する。シャドウページテーブルは、ゲスト・ページテーブルから生成され、後者が変更されると後者と同期する。これは、ゲスト・ページテーブルがPCPUによって直接理解することができない仮想メモリアドレスを含むためである。VMMはゲスト・ページテーブルを読取り専用にマークしてもよい。ゲストがその現在のページテーブルを修正することを試みると、同期するVMMのためにページフォルトが発生する。VCPUがしばしばメモリを割り当てて、かつ開放する場合、この種のワークロードはこの種のページフォルトを示す統計に識別されてもよい。レイテンシに敏感なワークロードは、また、直ちに識別されてもよい。通常は、レイテンシに敏感なパターンは、複数の・タイマー、及び割り込みによって特徴づけられる。タイマー、及び割り込みのソースがVMMによって仮想化されるので、VMMはレイテンシに敏感なワークロードを識別するためにそれらのイベントをトラッキングすることができる。
上で述べた仮想化イベントは、例示的なものであることが、理解されなければならない。そして、その他方式、及びイベント又はインジケータの組合せが、プロファイルの収集に使用されてもよく、そして、適切な制御アルゴリズムを選択するために、ワークロードの特徴を推論してもよい。さらに、ワークロード特徴のプロファイルを作ること、および推論することは、VMMの特定のインプリメンテーション、ハードウエア仮想化の特徴等の基本的な特長などに従い変化してもよい。ワークロード特徴を識別する特定の方法に関係なく、本発明の実施例は、図1において示されるVCPUに基づく制御・フレームワークに、それらの特徴を導入してもよい。これらのワークロードの特徴を使用することにより、そのワークロードを持つVCPUに割り当てられるVCPUインスタンスを拘束するために、特定の制御アルゴリズムが選択されてもよい。
以下の実施例は、ワークロード特徴に基づいて、制御アルゴリズムの複数の・タイプの選択ができることによって達成され得る利点を例示する。第1の実施例として、メモリの集中したワークロードは通常は多くのストールサイクルを有する。このように、この種のワークロードはパフォーマンスを失うことのない、より低い周波数クロックによって動作することができ、同時に、より低い周波数オペレーションはパワーセービングとなりうる。こうした状況では、CPU−DBSアルゴリズムは良好な候補ではない。なぜなら、VCPUがメモリの集中したワークロードの下で完全にサチュレートしており、そのため、CPU−DBSアルゴリズムは高い周波数を計算する。その代わりに、メモリの集中したワークロードは、より低い周波数で動作させることができるという認識に基づいて、パワーセービングベースの制御アルゴリズムが選択されうる。したがって、チャネルプロファイリルを作ることによって収集されるデータが、メモリの集中したワークロードのヒントを示す場合、より低い周波数オペレーションとなるよう、電力セーブ・アルゴリズムが選択されてもよい。
別の例として、レイテンシに敏感なワークロードに対しては、VCPUの低い利用を行ってもよい。したがって、CPU−DBSアルゴリズムは、結果として低い周波数の選択となる。しかしながら、VCPUがレイテンシに敏感なワークロードで動作するときは、それはすばやく入力イベントに反応することが可能でなければならない。低い周波数がレイテンシ(待ち時間)を増加させるため、CPU−DBSアルゴリズムは適切でない。その代わりに、レイテンシに敏感なワークロードが、プロファイルが作られたインジケータから推論される場合、高い周波での動作を確実にするパフォーマンスベースの制御アルゴリズムが選択され得る。
CPU−DBSアルゴリズムは、多くの適用範囲を更に有する。例えば、ほとんど仮想化イベントが検出されない場合、VCPUの利用は、周波数の制御に対する適切な指標であり得る。
図3の例示的実施形態に示すように、各々のVBFVSインスタンス136のためのチャネルプロファイル138は、さまざまな仮想化イベントソース(例えば仮想デバイス146のモデル、仮想マシン148間の通信、仮想割込コントローラ150、メモリに関連する仮想化イベントソース152、その他)からの情報を収集することによって、仮想化イベントのプロファイルを作る。加えて、プロファイリング・チャネル138は、VCPUの割当クオンタム、失われた時間(stolen time)、ブロック化された時間、などを含むVCPUの利用に関し、スケジューラ142から情報を受信する。これらのさまざまなソースからの情報は、VCPU112がスケジュールインされたVCPUであるクオンタムの間、連続的に分析される。これによって、情報から認識されるワークロード特徴パターンに基づいて、VFBVSインスタンス136がそれ自体を特定の制御アルゴリズム140a−cに動的に拘束することができる。図3に示すように、利用できる制御アルゴリズムは、CPU−DBSアルゴリズム140a、電力セーブ・アルゴリズム140b、及びパフォーマンスベースのアルゴリズム140c、等である。
VCPUベースの制御は、本願明細書において記載されている具体例に限定されない。例えば、本発明の一実施例において、VCPUベースの制御は、単にプロファイリング情報としてVCPU周波数変動要求を使用し、VBFVSセンターに要求を渡すためのパススルー制御アルゴリズム、又は、要求を直接VBFVSセンターにルーティングすることを選択することによって、インプリメントされてもよい。実施例は、ソフトウェアコード(VMM110、及びそのコンポーネントのいずれかを含む)でインプリメントされてもよく、かつ、システムが命令を実行するようにプログラムするために使用できる命令を記憶する記憶媒体に記憶されてもよい。記憶媒体は、ディスクを含むフロッピー(登録商標)ディスク、光ディスク、固体ドライブ、コンパクトディスク読取り専用メモリ、コンパクトディスク書き換え可能メモリ、及び光磁気ディスク、半導体デバイス例えば、読取り専用メモリ、ランダムアクセスメモリ、例えばダイナミック・ランダム・アクセス・メモリ、スタティックランダムアクセスメモリ、消去可能なプログラマブル・リードオンリーメモリ、フラッシュメモリ、電気的に消去可能なリードオンリーメモリ、磁気あるいは光学カード、その他、電子的命令を記憶することに適するあらゆるタイプのメディアが含まれる。もちろん、これらに限定されるものではない。ソフトウエアの命令は、プロセッサ(例えば図1のPCPU104)での実行のためにロードされてもよい。
本発明が限定された数の実施例に関して記載されているが、当業者はそこから多数の修正変更を理解する。添付の請求項は、本発明の精神及び本発明の範囲に該当する全ての実施例およびバリエーションを含む
100 仮想化フレームワーク
102 ハードウェアプラットホーム
110 VMM
118 VM
120 VM

Claims (20)

  1. コンピュータが実行する方法であって、
    仮想処理デバイスにインスタンスが割り当てられており、割り当てられた前記インスタンスに複数のワークロード・プロファイリング・チャネルのうちの1つが関連づけられており、関連づけられた前記ワークロード・プロファイリング・チャネルにおいて、ークロードに関するデータを収集することによって、前記コンピュータの1つ以上の物理プロセッサを作動させる仮想マシンの複数の前記仮想処理デバイスの各々によってもたらされる前記ワークロードの特徴に関するプロファイルを生成するステップと;
    生成された前記プロファイル特徴であって前記収集されたデータを含む特徴を、インスタンスに拘束された制御アルゴリズムに提供するステップと;
    前記拘束された制御アルゴリズムを介して、前記仮想処理デバイスのそれぞれの生成されたプロファイル特徴の関数として、前記仮想処理デバイスの各々に対して次のスケジューリング間隔における前記1つ以上の物理プロセッサのクロック周波数を決定するステップと;
    を有する方法。
  2. 前記仮想処理デバイスに対する前記クロック周波数を決定するために前記制御アルゴリズムを選択するステップ、を更に含み、
    前記選択は、前記仮想処理デバイスに対する前記ワークロードの生成された前記プロファイル特徴に基づく、
    請求項1記載の方法。
  3. 前記プロファイルを生成するステップは、前記仮想処理デバイスがそのワークロードを実行しているスケジューリング間隔の間、連続的に実行される、請求項1記載の方法。
  4. 前記制御アルゴリズムの前記選択は、前記仮想処理デバイスがそのワークロードを実行しているスケジューリング間隔の間、動的に実行される、請求項2記載の方法。
  5. 前記制御アルゴリズムの前記選択は、前記仮想処理デバイスによって実行される前記ワークロードに関連づけられた仮想化イベントに基づく、請求項4記載の方法。
  6. 前記プロファイルを生成するステップは、前記仮想処理デバイスに関連づけられた仮想化イベントに基づく、請求項1記載の方法。
  7. 前記プロファイルを生成するステップは、動的に実行される、請求項6記載の方法。
  8. 前記プロファイルを生成するステップは、前記仮想処理デバイスの利用に基づく、請求項1記載の方法。
  9. 物理プロセッサ資源と;
    複数の仮想プロセッサへの前記物理プロセッサ資源の仮想化を管理する仮想マシンモニタと、を有し、
    前記仮想マシンモニタは、仮想プロセッサがそれぞれのワークロードを実行するために、スケジューリング間隔を前記仮想プロセッサに割り当て、前記仮想マシンモニタは、更に、仮想プロセッサにインスタンスが割り当てられており、割り当てられた前記インスタンスに複数のワークロード・プロファイリング・チャネルのうちの1つが関連づけられており、関連づけられた前記ワークロード・プロファイリング・チャネルにおいて、前記スケジューリング間隔の間、実行される前記ワークロードの特徴に関するプロファイルを生成し生成された前記プロファイル特徴を、インスタンスに拘束された制御アルゴリズムに提供し、かつ、生成された前記プロファイル特徴に基づき、前記拘束された制御アルゴリズムを介して、前記仮想プロセッサの各々のために前記物理プロセッサ資源のクロック周波数を決定する、システム。
  10. 前記仮想マシンモニタは、前記仮想プロセッサが前記ワークロードを実行している前記スケジューリング間隔の間に、連続的に前記ワークロードの特徴に関するプロファイルを生成する、請求項9記載のシステム。
  11. 前記ワークロードの前記特徴は、仮想化イベントを含む、請求項10記載のシステム。
  12. 前記ワークロードの前記特徴は、前記仮想プロセッサの利用を含む、請求項11記載のシステム。
  13. 前記仮想マシンモニタは、更に前記クロック周波数を決定するために、制御アルゴリズムを選択し、前記仮想マシンモニタは、生成された前記プロファイル特徴の関数として、前記制御アルゴリズムを選択する、請求項9記載のシステム。
  14. 前記仮想マシンモニタは、生成された前記プロファイル特徴の関数として、制御アルゴリズムを選択する、請求項13記載のシステム。
  15. 前記仮想マシンモニタは、前記仮想プロセッサが前記ワークロードを実行している前記スケジューリング間隔の間、動的に制御アルゴリズムを選択する、請求項14記載のシステム。
  16. 仮想処理デバイスインスタンスが割り当てられており、割り当てられた前記インスタンスに複数のワークロード・プロファイリング・チャネルのうちの1つが関連づけられており、関連づけられた前記ワークロード・プロファイリング・チャネルにおいて、ークロードに関するデータを収集することによって、コンピュータの1つ以上の物理プロセッサを作動させる仮想マシンの複数の前記仮想処理デバイスの各々によってもたらされる前記ワークロードの特徴に関するプロファイルを生成するステップと;
    生成された前記プロファイル特徴であって前記収集されたデータを含む特徴を、インスタンスに拘束された制御アルゴリズムに提供するステップと;
    前記拘束された制御アルゴリズムを介して、前記仮想処理デバイスのそれぞれの生成されたプロファイル特徴の関数として、前記仮想処理デバイスの各々に対して次のスケジューリング間隔における前記1つ以上の物理プロセッサのクロック周波数を決定するステップと;
    をコンピュータに実行させるプログラム。
  17. 仮想処理デバイスに対する前記クロック周波数を決定するために前記制御アルゴリズムを選択するステップをコンピュータに実行させるプログラムであって、
    前記選択は、前記仮想処理デバイスに対する前記ワークロードの生成された前記プロファイル特徴に基づく、
    請求項16記載のプログラム。
  18. 前記プロファイルを生成するステップは、前記仮想処理デバイスがそのワークロードを実行しているスケジューリング間隔の間、連続的にプロファイルを生成する、請求項16記載のプログラム。
  19. 前記プロファイルを生成するステップは、前記仮想処理デバイスに関連づけられた仮想化イベントに基づく、請求項18記載のプログラム。
  20. 前記プロファイルを生成するステップは、前記スケジューリング間隔の間、前記仮想化イベントのプロファイルを動的に生成する、請求項19記載のプログラム。
JP2010284798A 2009-12-22 2010-12-21 仮想cpuベースの、周波数、及び電圧制御 Expired - Fee Related JP5885920B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/644,359 2009-12-22
US12/644,359 US8364997B2 (en) 2009-12-22 2009-12-22 Virtual-CPU based frequency and voltage scaling

Publications (2)

Publication Number Publication Date
JP2011134333A JP2011134333A (ja) 2011-07-07
JP5885920B2 true JP5885920B2 (ja) 2016-03-16

Family

ID=43778272

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010284798A Expired - Fee Related JP5885920B2 (ja) 2009-12-22 2010-12-21 仮想cpuベースの、周波数、及び電圧制御

Country Status (4)

Country Link
US (1) US8364997B2 (ja)
EP (1) EP2348410B1 (ja)
JP (1) JP5885920B2 (ja)
CN (1) CN102103516B (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5311234B2 (ja) * 2008-04-09 2013-10-09 日本電気株式会社 計算機システムとその動作方法
JP5435133B2 (ja) * 2010-07-13 2014-03-05 富士通株式会社 情報処理装置、情報処理装置の制御方法及びプログラム
JP5696603B2 (ja) * 2011-06-29 2015-04-08 富士通株式会社 計算機システム、計算機システムの電力制御方法およびプログラム
US8185758B2 (en) 2011-06-30 2012-05-22 Intel Corporation Method and system for determining an energy-efficient operating point of a platform
CN102511188B (zh) * 2011-11-14 2014-06-04 华为技术有限公司 一种降低芯片功耗的方法及设备
US8892919B2 (en) * 2011-12-14 2014-11-18 Ati Technologies Ulc Method and apparatus for power management of a processor in a virtual environment
US9513688B2 (en) 2013-03-16 2016-12-06 Intel Corporation Measurement of performance scalability in a microprocessor
US9778943B2 (en) * 2013-05-28 2017-10-03 Red Hat Israel, Ltd. Timer based virtual processor scheduling and suspension on physical processor for use of physical processor by other processing
KR102110812B1 (ko) * 2013-05-30 2020-05-14 삼성전자 주식회사 멀티 코어 시스템 및 멀티 코어 시스템의 작업 스케줄링 방법
US9195291B2 (en) 2013-06-21 2015-11-24 Apple Inc. Digital power estimator to control processor power consumption
US9304573B2 (en) * 2013-06-21 2016-04-05 Apple Inc. Dynamic voltage and frequency management based on active processors
WO2015005909A1 (en) * 2013-07-09 2015-01-15 Empire Technology Development Llc Differential voltage and frequency scaling (dvfs) switch reduction
US9317318B2 (en) 2013-08-26 2016-04-19 Vmware, Inc. Virtual machine monitor configured to support latency sensitive virtual machines
CN103488522B (zh) * 2013-09-22 2017-10-17 华为技术有限公司 一种管理虚拟机的设备的方法及设备
US10289437B2 (en) 2014-01-07 2019-05-14 Red Hat Israel, Ltd. Idle processor management in virtualized systems via paravirtualization
US9436263B2 (en) 2014-02-21 2016-09-06 Qualcomm Incorporated Systems and methods for power optimization using throughput feedback
US10365936B2 (en) 2014-02-27 2019-07-30 Red Hat Israel, Ltd. Idle processor management by guest in virtualized systems
US9606605B2 (en) 2014-03-07 2017-03-28 Apple Inc. Dynamic voltage margin recovery
US9921862B2 (en) 2014-06-24 2018-03-20 Intel Corporation Virtual machine power management
KR102169692B1 (ko) 2014-07-08 2020-10-26 삼성전자주식회사 멀티-코어 프로세서를 포함하는 시스템 온 칩 및 그것의 동적 전력 관리 방법
CN104102327B (zh) * 2014-07-28 2017-02-15 联想(北京)有限公司 一种工作处理器的控制电路和电子设备
WO2016144368A1 (en) * 2015-03-12 2016-09-15 Hewlett Packard Enterprise Development Lp Frequency of a clock signal
US10078457B2 (en) 2016-01-13 2018-09-18 International Business Machines Corporation Managing a set of wear-leveling data using a set of bus traffic
US9886324B2 (en) 2016-01-13 2018-02-06 International Business Machines Corporation Managing asset placement using a set of wear leveling data
US10095597B2 (en) * 2016-01-13 2018-10-09 International Business Machines Corporation Managing a set of wear-leveling data using a set of thread events
CN108496324B (zh) * 2016-01-18 2021-08-20 华为技术有限公司 云工作负载发放系统和方法
US10678603B2 (en) * 2016-09-01 2020-06-09 Microsoft Technology Licensing, Llc Resource oversubscription based on utilization patterns in computing systems
US10948957B1 (en) 2019-09-26 2021-03-16 Apple Inc. Adaptive on-chip digital power estimator
CN113687909B (zh) * 2021-07-28 2024-01-30 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 基于微内核的分时vcpu多核调度方法及系统
TWI813259B (zh) * 2022-04-19 2023-08-21 凌通科技股份有限公司 在非揮發性隨機存取記憶體上做演算法綁定的方法與使用其之演算法電路

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7219241B2 (en) * 2002-11-30 2007-05-15 Intel Corporation Method for managing virtual and actual performance states of logical processors in a multithreaded processor using system management mode
US7739532B2 (en) * 2004-06-07 2010-06-15 Intel Corporation Method, apparatus and system for enhanced CPU frequency governers
US7711966B2 (en) * 2004-08-31 2010-05-04 Qualcomm Incorporated Dynamic clock frequency adjustment based on processor load
US7386739B2 (en) * 2005-05-03 2008-06-10 International Business Machines Corporation Scheduling processor voltages and frequencies based on performance prediction and power constraints
US7861068B2 (en) * 2006-03-07 2010-12-28 Intel Corporation Method and apparatus for using dynamic workload characteristics to control CPU frequency and voltage scaling
US7730340B2 (en) * 2007-02-16 2010-06-01 Intel Corporation Method and apparatus for dynamic voltage and frequency scaling
CN101354663A (zh) * 2007-07-25 2009-01-28 联想(北京)有限公司 应用于虚拟机系统的真实cpu资源的调度方法及调度装置
CN101470634B (zh) * 2007-12-24 2012-05-09 联想(北京)有限公司 Cpu资源调度方法及cpu资源调度装置
US8370663B2 (en) * 2008-02-11 2013-02-05 Nvidia Corporation Power management with dynamic frequency adjustments
US8892916B2 (en) * 2008-08-06 2014-11-18 International Business Machines Corporation Dynamic core pool management
US20110153984A1 (en) * 2009-12-21 2011-06-23 Andrew Wolfe Dynamic voltage change for multi-core processing

Also Published As

Publication number Publication date
EP2348410A3 (en) 2013-07-10
US8364997B2 (en) 2013-01-29
EP2348410B1 (en) 2018-06-20
CN102103516B (zh) 2015-04-08
US20110154321A1 (en) 2011-06-23
CN102103516A (zh) 2011-06-22
JP2011134333A (ja) 2011-07-07
EP2348410A2 (en) 2011-07-27

Similar Documents

Publication Publication Date Title
JP5885920B2 (ja) 仮想cpuベースの、周波数、及び電圧制御
EP2071458B1 (en) Power control method for virtual machine and virtual computer system
JP6219512B2 (ja) 仮想ハドゥープマネジャ
Hirofuchi et al. Reactive consolidation of virtual machines enabled by postcopy live migration
EP2430538B1 (en) Allocating computing system power levels responsive to service level agreements
US8046468B2 (en) Process demand prediction for distributed power and resource management
Verma et al. Cosmig: Modeling the impact of reconfiguration in a cloud
Isci et al. Agile, efficient virtualization power management with low-latency server power states
US20080134191A1 (en) Methods and apparatuses for core allocations
US20140373010A1 (en) Intelligent resource management for virtual machines
JP2008225655A (ja) 仮想計算機システム
US11579918B2 (en) Optimizing host CPU usage based on virtual machine guest OS power and performance management
EP2798489A1 (en) Scheduling virtual central processing units of virtual machines among physical processing units
US10664040B2 (en) Event-driven reoptimization of logically-partitioned environment for power management
Zhang et al. Characterizing power and energy usage in cloud computing systems
JP5136658B2 (ja) 仮想計算機の割当方法及び割当プログラム並びに仮想計算機環境を有する情報処理装置
WO2015015756A1 (ja) 不揮発性メモリ搭載サーバの省電力制御システム、制御装置、制御方法および制御プログラム
Hirofuchi et al. Reactive cloud: Consolidating virtual machines with postcopy live migration
Cheng et al. Smart VM co-scheduling with the precise prediction of performance characteristics
Ye et al. Energy-efficient memory management in virtual machine environments
Yang et al. Implementation of cloud infrastructure monitor platform with power saving method
Zhang CoolCloud: Improving energy efficiency in virtualized data centers
Mosoti Derdus et al. Energy Consumption in Cloud Computing Environments
Ye Energy management for virtual machines
Derdus et al. Energy Consumption in Cloud Computing Environments

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130827

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131127

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140408

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140808

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140815

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160210

R150 Certificate of patent or registration of utility model

Ref document number: 5885920

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees