JP4894745B2 - 仮想マシン移動制御方式 - Google Patents

仮想マシン移動制御方式 Download PDF

Info

Publication number
JP4894745B2
JP4894745B2 JP2007322743A JP2007322743A JP4894745B2 JP 4894745 B2 JP4894745 B2 JP 4894745B2 JP 2007322743 A JP2007322743 A JP 2007322743A JP 2007322743 A JP2007322743 A JP 2007322743A JP 4894745 B2 JP4894745 B2 JP 4894745B2
Authority
JP
Japan
Prior art keywords
virtual machine
transfer
time
page
transfer time
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
JP2007322743A
Other languages
English (en)
Other versions
JP2009146161A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007322743A priority Critical patent/JP4894745B2/ja
Publication of JP2009146161A publication Critical patent/JP2009146161A/ja
Application granted granted Critical
Publication of JP4894745B2 publication Critical patent/JP4894745B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、物理マシン上の仮想マシンを他の物理マシン上の仮想マシンに移動する際の移動対象となる仮想マシンを決定するための、仮想マシン決定プログラムおよび仮想マシン決定装置および仮想マシン決定方法に関する。
物理サーバ上で複数の仮想マシンを動作させるにあたっては、負荷分散や省電力化のために、仮想マシンを他の物理サーバへと転送させる手法が採られることがある。
こうした転送の際には、物理サーバ上で動作する複数の仮想マシンのうち、適切な台数を他の物理サーバへ転送させることになる。
従来技術として、こうした転送処理を行う際には、以下の三種の方式を組み合わせることが知られている(非特許文献1参照)。
〈プッシュ(push)方式〉
図1は、従来技術にかかるpush方式を用いた、仮想マシンの転送方法を説明する概念図である。
push方式では、転送元計算機上で転送対象となる仮想マシン(転送元仮想マシン) 102
を稼動させたまま、その仮想マシンを構成するメモリページを転送先計算機へと転送して、転送先仮想マシン 104 を構成することになる。この転送作業中にも、稼働中である転送元仮想マシン 102 は動作するため、メモリページのうちの一部は更新される。そこで、この更新されたメモリページを、転送先へと再送する。
push方式は、以下のような特徴を有する。
◆再送されるメモリページ量は、転送元仮想マシンのメモリページ更新頻度に依存するため、総転送ページ数が静的に定まらない。
◆総転送ページ数が静的に定まらないため、転送処理時間を静的には見積もることができない。
◆転送処理の負荷により、転送処理中の仮想マシンの性能が低下してしまう。
〈停止転送方式〉
図2は、従来技術にかかる停止転送方式を用いた、仮想マシンの転送方法を説明する概念図である。
停止転送方式では、転送元仮想マシン 202 を停止させて、この仮想マシン 202 を構成するメモリページを転送先計算機へと転送して、転送先仮想マシン 204 をいちどきに構成してしまう。停止転送方式を用いる場合には、仮想マシンの動作によるメモリページ更新は発生しないため、以下のような特徴がある。
◆再送が発生しないので、転送するページ数が仮想マシンの構成に依り一意に定まる。
◆転送処理にかかる時間も一定である。
◆転送処理中には、仮想マシンを停止させなくてはならない。
〈プル(pull)方式〉
図3は、従来技術にかかるpull方式を用いた、仮想マシンの転送方法を説明する概念図である。
pull方式では、転送先計算機上で転送元仮想マシン302 を動作させ、未転送のメモリページを参照しようとする時に転送元計算機から当該メモリページを転送することで、漸次転送先仮想マシン 304 を構成してゆく。このため、再送は発生せず、以下のような特徴を有する。
◆再送が発生しないため、転送するページ数が仮想マシンの構成に依り一意に定まる。
◆転送処理は未転送のメモリページの参照頻度に基づいて進行するため、転送処理時間を静的には見積もることができない。
◆未転送のメモリページ参照時に発生するページフォールトのコストが高く、転送処理中の仮想マシンの性能は低下する。
停止転送方式とpull方式については、単体で使用しても転送処理が可能である。
また、push方式と、停止転送方式とを組み合わせたものをLive Migration方式とも呼ぶ。この方式では、更新ページ数が充分に少なくなるまでpush方式で転送を行い、最後に停止転送方式を行う。こうすると、push方式によりくりかえし更新ページを再送させている期間内には、仮想マシンは稼動しつづけるので、結果的に仮想マシンが提供するサービスの停止時間を短縮できることになる。なお、実際にこのLive Migration方式は、Xen(商標)仮想マシンモニタにおける仮想マシン転送方式として採用されている。
また、同様に、以下のようなpush/pull併用方式も実現することができる。
[1]転送元計算機上で仮想マシンを動作させたまま、いったん全てのメモリページを転送する。
[2]転送処理の間に更新されたページのリストを転送先に送信し、仮想マシンを動作させる計算機を転送先に切り替える。
[3]更新されたページのリストに含まれるページが参照された時に、転送元よりページを再送する。
[4]更新されたページのうち、未転送のページの数が一定以下になったら、それらをまとめて転送する。
このような方式を用いることにより、pull方式が持つページフォールトコストの問題が軽減でき、さらには、仮想マシンの停止を行うこと無く転送処理が実施可能となる。
上述したようなさまざまな仮想マシン転送方式を用いることで、高負荷である物理サーバ上の仮想マシンを他の物理サーバへ転送させて動的負荷分散を行ったり、または、一部の物理サーバに仮想マシンを集約させて稼働する物理サーバ数を削減し電力消費を抑えることができる。
仮想マシン転送方式を用いて動的負荷分散や省電力化を実現しようとする際には、物理サーバ上の複数の仮想マシンのうち、どの仮想マシンを転送対象とするのかを選択する必要がある。
特にpush方式を含む転送方式では、転送処理中にもページが更新されるために、そのページ更新頻度に依って、転送時間、および転送処理が必要とするCPU時間、が異なってくることになる。
このため、転送対象とする仮想マシンの選択にあたっては、例えば、転送時間、もしくは転送処理が必要とするCPU時間が、できるだけ少なくなるようにしたいという要請がある。
本発明の或る実施形態においては、物理マシン上の仮想マシンを他の物理マシン上の仮想マシンに移動する際の移動対象となる仮想マシンを決定する仮想マシン決定プログラムにおいて、コンピュータを、
仮想マシン毎にかつ経過時間毎に更新されたページ数を有する過去の記録であるページ数管理表から経過時間毎に更新されたページ数を読み出し、仮想マシンを搭載する物理マシンから他の物理マシンに転送する1ページあたりの転送時間を有する過去の記録である転送時間記録表から1ページあたりの転送時間を読み出し、読み出されたページ数と転送時間とから、所定の物理マシン上の所定の仮想マシンを他の物理マシン上の他の仮想マシンにページ転送するのに要する転送時間を、仮想マシン毎に算出する算出手段、
算出された転送時間が最も小さな仮想マシンを、移動対象の仮想マシンとして決定する仮想マシン決定手段、
として機能させるための仮想マシン決定プログラム、が提供される。
本発明の別の実施形態においては、上述いた更新されたページ数に代えて、参照されたページ数を用いることもできる。
本発明のさらに別の実施形態においては、上述したような仮想マシン決定プログラムが、コンピュータ上で実行された際に実施できるような、仮想マシン決定方法が提供される。
本発明のさらに別の実施形態においては、上述したような仮想マシン決定方法を実施できるような仮想マシン決定装置が提供される。
本発明の実施形態により、転送ページ数の見積もりを利用して、移動対象となる仮想マシンおよび使用する移動方式を、例えば、転送時間、もしくは転送処理が必要とするCPU時間が、できるだけ少なくなるように、選択できるようになる。
Clark, C., Fraser, K., Hand, S., Hansen, J. G., Jul, E., Limpach, C., Pratt, I. and Warfield, A., Live Migration of Virtual Machines, Proceedings of the 2nd ACM/USENIX Symposium on Networked Systems Design and Implementation (NSDI), Boston, MA, May, 2005.
〔1 定義〕
本明細書では、「仮想マシン」 virtual machine (VM) という語は、論理的な構成単位としてカプセル化して実施される仮想的なマシンもしくは計算機のことを指す。仮想マシンは、仮想マシンソフトウェア(仮想マシンモニター)によって実施される仮想サーバーと見做すことができるが、この解釈には限定はされない。仮想マシンの例としては、ソフトウェア内でのみ実施される仮想マシン、または、ソフトウェアにより部分的に実施される仮想マシン、または、ハードウェアおよびファームウェアおよびソフトウェアを組み合わせて実施する仮想マシン、が含まれるが、これらに限定はされない。
また本明細書では、「仮想マシン」という語が、当業者が一般に仮想化技術として認識している任意の形態を指すこともできる。こうした仮想化技術の例としては、物理パーティションによって実施される仮想サーバー、論理パーティションによって実施される仮想サーバー、ホストオペレーティングシステム(OS)上でエミュレートされるゲストOS(仮想OS)、といったものが含まれるが、これらに限定はされない。当業者は、これらの仮想化技術においても、当該技術分野において公知である手法を併用することにより、適切に本発明を実施できる、ということを正しく理解できる。
本発明の実施形態においては、こうした仮想マシンおよびその類似技術産物を、物理リソースあたり(もしくは、有体である物理計算機あたり)に、当業者が適切であると見做す個数だけ存在させることが可能である。
本明細書では、「リソース」 resource という語は、コンピュータ(計算機)を動作させる上で必要な種々の資源のことを指すか、または、それらの資源を任意に組み合わせた集合体のことを指す。リソースという概念には、一般に物理リソースと論理リソースとが含まれる。
本明細書では、「物理リソース」 physical resource とは、有体の資源のことを指すものであって、例えば、物理メモリ、CPU、I/Oデバイス、ストレージデバイス、などが含まれる。さらには、この「物理リソース」という語には、それら物理リソースの集合体としての物理マシンという概念も、また包摂されうる。
本明細書では、「論理リソース」もしくは「仮想リソース」 logical resource or virtual resource とは、情報的な資源を指すものであって、例えば、仮想メモリ、仮想ストレージ、データ構造、アプリケーション、などが含まれる。
本明細書では、(仮想マシンの)「移動」もしくは「転送」 migration という語は、互換可能に用いられ、仮想マシンを或るリソースから別のリソースへと移動(転送)させる行為を指す。転送元のリソースおよび転送先のリソースは、それぞれが、物理リソースであってもよいし、論理リソースであってもよいことを当業者は正しく理解できる。仮想マシンの転送に際しては、上述したような既知の転送方式およびそれらの組み合わせを用いることができる。加えて、本発明の或る実施形態では、将来実用化されるであろう開発途上の任意の転送方式を利用することも想定されている。
本明細書では、「ページ」 page もしくは「メモリページ」 memory page もしくは「ページファイル」 page file もしくは「スワップファイル」 swap file という語は、それぞれが互換可能に用いることができ、仮想リソースを実現するために用いられるひとつもしくは複数のファイルのことを指す。
本明細書では、「ページフォールト」 page fault という語は、仮想リソースを管理システムにおいて、物理メモリ上に存在しないページへの参照が起こったときに発生する割込みのことを指す。こうしたページフォールトが発生すると、上述したように転送処理中の仮想マシンの性能が低下する原因となる。
本明細書では、「転送時間」 migration time という語は、特に他に定めない限りは、或る仮想マシンを転送する処理の全体もしくは一部にかかる、実時間のことを指し、「転送実時間」とも称する。
本明細書では、「CPU時間」 CPU time という語は、或る時点(たとえばプロセス開始時点)から別の或る時点(たとえば現在)までのCPU使用時間の累積を表す値のことを指
す。詳細については後述する。
本明細書では、「CPU使用率」 CPU utilization という語は、或る処理の全体もしくは一部にかかった、CPU時間を転送時間(転送処理中に経過した実時間)で割った比率のことを指す。
〔2 概要〕
〔2.1 転送時間の予想についての概略〕
図4は、本発明の或る実施形態にかかる、仮想マシン上のサービスによるメモリページの更新/参照の頻度を動的に見積もるため、サービス毎のメモリページの更新/参照の頻度を記録するシステム 400 を説明するための機能ブロック図である。なお以下の説明では、システム 400 の構成要素が、或るホストコンピュータ(あるいは、ホストサーバ、または単に物理サーバもしくはサーバとも称する; 図示せず)の上で動作しているものとして説明してゆくが、別の手法として、これらの構成要素が複数のホストコンピュータの上にまたがって存在していてもよいし、または、システム 400 を動作させるコンピュータと仮想マシンを動作させるコンピュータが別であるように構成することも可能である。
システム 400 は、ホストコンピュータ(図示せず)上で動作する三個の仮想マシン 402, 404, 406 を包含している。なおここでの仮想マシンの数は単に例示に過ぎず、適切な他の個数の仮想マシンを使用することももちろん可能である。
さらにシステム 400 は、参照/更新頻度記録部 410 と、CPU時間記録部 412 と、転送時間記録部 414 と、方式選択部 416 と、VM選択部 418 と、転送制御部 420 とを含む。
参照/更新頻度記録部 410 は、仮想マシン 402, 404, 406 のページ(メモリページ)参照頻度および/もしくは更新頻度を記録し、適切な時期に方式選択部416 およびVM選択部 418 へと記録を出力する(より詳しくは後述する)。
CPU時間記録部 412 は、仮想マシン 402, 404, 406 を動作させているホストコンピュータのCPU(図示せず)の、或る作業(或る仮想マシンの転送など)にかかったCPU時間の記録を行い、適切な時期に方式選択部 416 およびVM選択部 418 へと記録を出力する(より詳しくは後述する)。
転送時間記録部 414 は、或る仮想マシンの転送にかかった実時間を記録する(より詳しくは後述する)。
方式選択部 416 は、CPU時間記録部 412 および転送時間記録部 414 の出力を承けて、適切な転送方式を判断し、転送制御部 420 へと出力する。転送方式は例えば、pull方式、停止転送方式、push方式、およびそれらの組み合わせ、から成る群から選択できるが、これらに限定はされない。
VM選択部 418 は、CPU時間記録部 412 および転送時間記録部 414 の出力を承けて、転送させるのに適切な仮想マシンを(例えば仮想マシン 402, 404, 406 の中から)選択して、転送制御部 420 へと報知する。
転送制御部 420 は、方式選択部 416 およびVM選択部 418 の出力を承けて、どの仮想マシンをどの方式で転送させればよいかを判断する。
〔2.2 転送対象とする仮想マシンを選択することについての概略〕
複数の仮想マシンが動作するホストサーバからいずれかの仮想マシンを転送させるにあたっては、上述した転送制御部 420 が、各仮想マシンの転送時間、または、各仮想マシンの転送処理が必要とするCPU時間もしくはCPU使用率、を見積もって、もっとも転送させ
やすい仮想マシンを選択して転送対象とする。
より具体的に述べると、方式選択部 416 およびVM選択部 418 が、参照/更新頻度記録部 410 、CPU時間記録部 412 、転送時間記録部 414 から得られた情報に基づいて、仮想マシン毎に転送時間および/もしくはCPU時間および/もしくはCPU使用率を算出する。そして、これらの算出結果から転送するにふさわしい仮想マシンを決定し、転送制御部 420
へと通知する(図4参照)。
これにより、従来技術では実現が困難であった、転送処理が必要とする転送時間および/もしくはCPU時間ができるだけ少なくなるような仮想マシンの選択が可能になる。
〔2.3 仮想マシン転送方式の選択についての概略〕
仮想マシンを転送させる際には、その転送方式の選択についても考慮できる。
転送方式を決定するにあたっては、方式選択部 416 が、各転送方式について、転送処理が必要とする転送時間および/もしくはCPU時間および/もしくはCPU使用率を上記方法で見積もる。
より具体的には、参照/更新頻度記録部 410 、CPU時間記録部 412 、転送時間記録部 414 から得られた情報に基づいて、仮想マシン毎の転送時間および/もしくはCPU時間および/もしくはCPU使用率を算出して、この算出結果に基づき転送方式を決定し、転送制御部 420 に通知する(図4参照)。
これにより、従来技術では困難であった、最適な仮想マシン転送方式の選択が可能となる。
以降の詳細な記載は、詳細な記載の一部を成す付随図面への参照を含んでいる。これらの図面は、あくまで例示のために、本発明を実施できる特定の実施形態群を示している。これらの実施形態群(本明細書中では「実施例」とも称する)は、当業者が本発明を実施できる程度に詳細に記載してある。これらの実施形態群は、利用可能な他の実施形態と組み合わせることもでき、あるいは、本発明の範囲を逸脱すること無く構造的変更および論理的変更を施すこともできる。したがって、以降の詳細な記載は、限定的なものとして解釈されるものでは無い。
〔3 転送時間の予想〕
図5は、転送対象とする仮想マシンを選択する際の手法の概念を説明するための図である。ここでは、複数の物理ホストサーバからなる環境において、それぞれの物理ホストサーバ上に複数の仮想マシン(VM)が動作している状況を示している。各物理ホストサーバは仮想マシンモニタを有し、おのおのの裡に在る仮想マシンの状況を監視できる。
本発明のいくつかの実施形態群においては、これらのうちの一つの物理サーバの負荷が高くなったときに、この物理サーバ上の仮想マシンを他の物理サーバに転送させることにより動的負荷分散を行う。
〔3.1 高速な負荷分散を指向する実施例〕
図5を用いてさらに説明する。図5には、物理(ホスト)サーバ 502, 512, 522 が在り、サーバ 502 上では、VM 503, 504, 505 および仮想マシンモニタ 508 が動作しており、以下同様にサーバ 512, 522 上ではそれぞれVM 513, 514 および仮想マシンモニタ 518 とVM 523, 524 および仮想マシンモニタ 528 が動作しており、それぞれのサーバはネットワーク(バス)で接続されている。
さてこの環境が稼動している際に何らかの原因でサーバ 502 に高負荷がかかったことが仮想マシンモニタ 508 からわかったとする。すると、サーバ 502 上の仮想マシン 503, 504, 505 のいずれかを他の物理サーバ 512, 522 へと転送させて負荷分散を行うことが求められる。このとき、仮想マシン 503, 504, 505 のどれが最も高速に転送できるのかを決定することで、可能なかぎり高速な負荷分散が実現できる。
図6は、図4に示した機構を高速な負荷分散に特化させた変形例を示す図である。なお図6中の構成要素に付した参照番号は、図4のそれと区別する意味で末尾に記号 "-6" がふってある。この末尾の記号以外が同じである構成要素同士の差異は、無いかもしくは当業者がその類似性を理解できる範囲内にとどめられる。また、以降の記載に現われる同様な図面・参照番号についても同様に理解されたい。
図6では、或る物理ホストサーバ(図示せず)上で稼動する仮想マシン 402-6, 404-6,
406-6 を、システム 400-6 が仮想マシンモニタ(図示せず)を用いて監視し適宜仮想マシンの転送処理をする際の判断を行う。
参照/更新頻度記録部 410-6 は、各仮想マシンが持つページの更新頻度および/もしくは参照頻度を計測し、将来のために統計情報を保持する。転送時間記録部 414-6 は、仮想マシン転送処理時の1ページあたりの転送時間を計測し、将来のために統計情報を保持する。なお、転送(実)時間の算出方法についての詳細は後述する。
適切な量の統計情報が得られたところで、図7に示す手順で転送処理を行う。
図7に示すフローチャートでは、まずステップ S702 で、過去の更新頻度情報と転送にかかった転送時間の統計情報とから、転送処理にかかる時間を各仮想マシン毎に算出して見積る。すべての仮想マシンについて算出が完了すると、ステップ S704 に進む。
ステップ S704 では、すべての仮想マシンのうち、転送時間が最短となることが見積もられた仮想マシンを決定する。
そしてステップ S706 では、決定された仮想マシンの転送を行う。
〔3.2 低負荷な負荷分散を指向する実施例〕
高負荷な物理ホストサーバ上で動作する仮想マシンを転送させる際には、最も低負荷に転送できるものを転送対象として選択することもできる。こうすることによって、転送処理による負荷上昇をできるだけ抑える負荷分散が可能となる。
図8は、図4に示した機構を低負荷な負荷分散に特化させた変形例を示す図である。図8では、或る物理ホストサーバ(図示せず)上で稼動する仮想マシン 402-8, 404-8, 406-8 を、システム 400-8 が仮想マシンモニタ(図示せず)を用いて監視し適宜仮想マシンの転送処理をする際の判断を行う。
参照/更新頻度記録部 410-8 は、各仮想マシンが持つページの更新頻度および/もしくは参照頻度を計測し、将来のために統計情報を保持する。CPU時間記録部 412-8 は、仮想マシン転送処理時の1ページあたりのCPU時間を計測し、将来のために統計情報を保持する。なお、CPU時間の算出方法についての詳細は後述する。
適切な量の統計情報が得られたところで、図9に示す手順で転送処理を行う。
図9に示すフローチャートでは、まずステップ S902 で、過去の更新頻度情報と転送にかかったCPU時間の統計情報とから、転送処理にかかるCPU時間を各仮想マシン毎に算出して見積る。すべての仮想マシンについて算出が完了すると、ステップ S904 に進む。
ステップ S904 では、すべての仮想マシンのうち、転送にかかるCPU時間が最短となることが見積もられた仮想マシンを決定する。
そしてステップ S906 では、決定された仮想マシンの転送を行う。
〔4 仮想マシン転送方式(移動方式)の選択〕
図5に戻り、今度は転送方式を選択して仮想マシンの転送を行うことを考える。高負荷がかかったサーバ 502 上の仮想マシン 503, 504, 505 のいずれかを他の物理サーバ 512, 522 へと転送させて負荷分散を行うことが求められたときに、仮想マシンを最も高速に転送できる転送方式を決定することで、動的負荷分散が実現できる。
〔4.1 高速な負荷分散を指向する実施例〕
図10は、図4に示した機構を高速な負荷分散に特化させた変形例を示す図である。図10では、或る物理ホストサーバ(図示せず)上で稼動する仮想マシン 402-10, 404-10,
406-10 を、システム 400-6 が仮想マシンモニタ(図示せず)を用いて監視し適宜仮想マシンの転送処理をする際の判断を行う。
参照/更新頻度記録部 410-10 は、各仮想マシンが持つページの更新頻度および/もしくは参照頻度を計測し、将来のために統計情報を保持する。転送時間記録部 414-10 は、仮想マシン転送処理時の1ページあたりの転送(実)時間を計測し、将来のために統計情報を保持する。
適切な量の統計情報が得られたところで、図11に示す手順で転送処理を行う。
図11に示すフローチャートでは、まずステップ S1102 で、過去の更新頻度情報と転送にかかった転送時間の統計情報とから、転送処理にかかる(実)時間を各転送方式毎に算出して見積る。考慮するすべての転送方式について算出が完了すると、ステップ S1104
に進む。
ステップ S1104 では、考慮したすべての転送方式のうち、転送時間が最短となることが見積もられた転送方式を決定する。
そしてステップ S1106 では、決定された転送方式により、或る仮想マシンの転送を行う。
〔4.2 低負荷な負荷分散を指向する実施例〕
本発明の或る実施形態においては、図8の実施例と同様の考えかたを以って、低負荷な負荷分散を指向した転送方式の選択を行う変形例も想定されている。図12は、そうした変形例を示す図であって、或る物理ホストサーバ(図示せず)上で稼動する仮想マシン 402-12, 404-12, 406-12 を、システム 400-12 が仮想マシンモニタ(図示せず)を用いて監視し適宜仮想マシンの転送処理をする際の判断を行う。
参照/更新頻度記録部 410-12 は、各仮想マシンが持つページの更新頻度および/もしくは参照頻度を計測し、将来のために統計情報を保持する。CPU時間記録部 412-12 は、仮想マシン転送処理時の1ページあたりの転送にかかったCPU時間を計測し、将来のために統計情報を保持する。
適切な量の統計情報が得られたところで、図13に示す手順で転送処理を行う。
図13に示すフローチャートでは、まずステップ S1302 で、過去の更新頻度情報と転送にかかったCPU時間の統計情報とから、転送処理にかかるCPU時間を各転送方式毎に算出して見積る。すべての転送方式について算出が完了すると、ステップ S1304 に進む。
ステップ S1304 では、考慮したすべての転送方式のうち、転送時間が最短となることが見積もられた転送方式を決定する。
そしてステップ S1306 では、決定された転送方式により、或る仮想マシンの転送を行う。
こうした実施例では、転送時間が最短となる転送方式を用いて仮想マシンを転送させるため、低負荷な負荷分散を実現できる。
〔5 参照/更新頻度記録部の動作についての詳細〕
以降、さらに詳細な機構の説明を行ってゆく。
或る実施形態においては、図4(またはそれに類似するということを上述した図、以下同様)の参照/更新頻度記録部 410 (または類似の構成要素、以下同様)は、n秒間に1回以上更新したメモリページ数もしくは参照したメモリページ数を記録する。
こうした参照/更新頻度の記録にあたっては、例えば、各仮想マシン毎に、その仮想マシンがページを更新もしくは参照したことを管理するビットマップを用いることができる。仮想マシンが、ページの更新もしくは参照を行うと、ビットマップ上のそのページに該当するビットを0から1に変化させる。その後、このビットマップを走査し、1となっているビットを数えることで、更新もしくは参照したページ数を管理することができるのである。
図14には、参照/更新頻度記録部 410 により記録される、更新(参照)ページ数管理表の例を示す。同様の手法により、参照ページ数管理表も作成できる。こうした管理表は、存在する各仮想マシンごとに作成するのが好ましい。図14に示した例では、或るひとつの仮想マシンを成すページのうち、10秒間に更新されたページ数を、1秒ごとに記録してある。
なお、こうした管理表は、参照/更新頻度記録部 410 が、適切な外部の格納手段に保存しておいて必要な際に参照することもできるし、または、参照/更新頻度記録部 410 自身がそうした格納手段を内包し管理表を保存することも可能である。
こうした管理表は、或る一定期間(例えば図14の例では10秒)内において、時刻n秒から(n+1)秒までの間に更新(参照)されたページ数を「n〜(n+1)秒間の更新ページ数」に記録し、同様にその他の区間についても記録するようにできる。当然のことながら、この区間の時間幅は他の任意の値に定めることもできる。
こうした管理表には、現在計測中である期間(図14の例では「記録中」と表記してある)のほかに、少なくとも1世代前の記録情報も保持できる。更新(参照)ページ数の情報の問い合わせがなされると、管理表は例えば以下のいずれかの情報を返すことができる。
◆1世代前の更新(参照)数
◆1世代前〜n世代前の更新(参照)数の単純平均
◆1世代前〜n世代前の更新(参照)数の重み付け平均
なお、管理表からは、他にも例えば任意のm世代前からn世代前までの更新(参照)数の単純平均/重み付け平均(m ≦ n の自然数)の情報や、または当業者が適切であると考える統計的数値の情報なども返すことが可能である。
図15は、参照/更新頻度記録部 410 が行う、更新(参照)ページ数記録処理を表したフローチャートである。
まず、変数 count の初期値を0として処理を開始する。
そしてステップ S1502 では、変数 count が、閾値としての一定数(適切な値を定めることができる)未満であるかどうかを判定する。またこの一定数は、記録する期間の秒数でもある。例えば、図14に示した例のように、1秒きざみに10秒間測定する場合は、一定数は10となる。変数 count が一定数未満であればステップ S1504 へ、一定数以上であったならばステップ S1512 へと進む。
ステップ S1504 では1秒間のスリープが行われる。なお、図15の例では、測定が1秒きざみであるので、スリープ時間は1秒であるが、他の実施形態で測定がt秒きざみである場合には、スリープ時間はt秒となる。このスリープの間に測定対象となっている仮想マシンは動作し、ページの更新(参照)を行う。
ステップ S1506 では、仮想マシン管理機構(図5の仮想マシンモニタ 508 など)を用いて、仮想マシンがページを更新もしくは参照したことを管理するビットマップ(更新(参照)ビットマップと略記する)に対し、対応するビットが記録される。そして1秒後にスリープが終わり処理が再開されると、更新(参照)ビットマップの走査が行われ、ビット数、すなわち或る時刻からスリープ時間分経過した時刻の間(たとえば時刻0から時刻1の間)に更新(参照)されたページ数、が記録される。
そしてステップ S1508 では、変数 count をインクリメントし、ステップ S1502 に戻る。
変数 count が一定数に達するまで、ステップS1502 からステップ S1508 の処理をくりかえしてゆき、図14に示したような管理表に更新(参照)したページ数をカウントして記録してゆく。
そして変数 count が一定数に達すると、ステップS1512 で更新(参照)ビットマップのクリアを行って、ステップ S1514 で変数 count を0に戻してから、ステップS1502 に戻る。
なお、上記では更新(参照)ビットマップと表記して更新処理と参照処理を特に区別して記載しなかったが、実際には、ビットマップと管理表を、更新処理と参照処理とで別々に作成して使用できる。そしてこれらのビットマップと管理表についての処理手順は、実質的に同一とすることができる。
図16には、或るデータベース(DB)サービス動作時に更新されるメモリページ数の時間依存変化を、グラフ化した例を示してあり、ここでは1≦n≦10としている。 "actual" と称した折れ線は、図14のような管理表の値をプロットしたものであって、また、 "approximate" と称した実線は、 "actual" から適切な近似式を(例えば最小二乗法などで)算出したものである。ここでは一例として、"approximate" の関係式を、 D を更新されるページファイルの数、 t を経過実時間(秒)として、
と示してある。ここで M および k は最小二乗法により算出した係数であって、 M = 1.00×105 、 k = -6.37×10-1 である。
こうした近似式と、過去に実際に行われた転送処理における、転送速度、1ページ転送
あたりのCPU時間、転送方式についての統計情報と、によって、仮想マシンの転送実時間、および転送処理が必要とするCPU時間を見積もることができる。
〔6 転送時間記録部の動作についての詳細〕
転送時間記録部(たとえば、図4の転送時間記録部 414 )は、仮想マシンの実際の転送処理(または、その一部)にかかった実時間を記録する役割を担う。
図17には、転送時間記録表の例を示す。転送時間記録部は、転送時間記録表に、1ページあたりの転送にかかった(実)時間を記録する。こうした転送時間記録表では、直近の記録情報を1つ保持すればよいが、好ましくは、より正確な転送時間についての情報を提供するために、数世代前の情報を保持する。また、転送先により、通信性能が異なる可能性があるため、転送時間記録表には転送ノード毎に情報を記録することが好ましい。
なお、こうした転送時間記録表は、転送時間記録部(たとえば、図4の転送時間記録部
414 ) が、適切な外部の格納手段に保存しておいて必要な際に参照することもできるし、または、転送時間記録部自身がそうした格納手段を内包し転送時間記録表を保存することも可能である。
転送時間の問い合わせがなされると、転送時間記録表は、例えば以下のいずれかの情報を返すことができる。
◆1世代前の更新(参照)数
◆1世代前〜n世代前の更新(参照)数の単純平均
◆1世代前〜n世代前の更新(参照)数の重み付け平均
なおこうした転送時間記録表は、上述した更新(参照)ページ数管理表と同様に、任意の世代間の更新(参照)数の単純平均/重み付け平均(m ≦ n の自然数)の情報なども提供できる。
転送時間記録部は、転送時間の記録を行うために、転送処理の前後にて転送開始時刻と終了時刻とを取得する。さらに転送時間記録部は、転送処理中には、転送ページ数を取得する。そうしてから、転送時間記録部はこれらの情報から、1ページあたりの転送時間を算出して、転送時間記録表に記録する。
図18には、転送時間記録処理のフローチャートを示す。
まずステップ S1802 では、転送開始時刻が(当該技術分野において周知である計時手段を用いるなどして)取得される。
そしてステップ S1804 では、転送処理を行い、転送処理が開始して終了するまでの転送ページ数をカウントして、その値を適切な格納手段に保持し、ステップ S1806 で転送終了時刻が取得される。
その後ステップ S1808 で、これまでのステップで取得している転送開始時刻・転送終了時刻・転送ページ数を用いて、1ページあたりの転送時間を算出し、記録する。なおこうした算出にあたっては、単純に転送ページ数を時間で割ってもよいし、または、当業者が適切と考える重み付けを施して計算を行ってもよい。
〔7 CPU時間記録部の動作についての詳細〕
CPU時間記録部(たとえば、図4のCPU時間記録部 412 )は、仮想マシンの実際の転送処理(または、その一部)にかかったCPU時間を記録する役割を担う。
図19には、CPU時間記録表の例を示す。CPU時間記録部は、CPU時間記録表に、1ページ
あたりの転送にかかったCPU時間を記録する。こうしたCPU時間記録表では、直近の記録情報を1つ保持すればよいが、好ましくは、正確なCPU時間についての情報を提供するために、数世代前の情報を保持する。また、転送先により、通信性能が異なる可能性があるため、CPU時間記録表には転送ノード毎に情報を記録することが好ましい。
転送にかかったCPU時間についての問い合わせがなされると、CPU時間記録表は、例えば以下のいずれかの情報を返すことができる。
◆1世代前の更新(参照)数
◆1世代前〜n世代前の更新(参照)数の単純平均
◆1世代前〜n世代前の更新(参照)数の重み付け平均
CPU時間記録部は、CPU時間の記録を行うために、例えば以下の機能を持つプロファイラを用いることができる。
◇一定期間(例えば1ms)おきに割込みを上げる(割込み処理を行う)。
◇割込み発生時の走行アドレスを取得し、転送処理かその他の処理(idleを含む)を判別し、転送処理の場合、カウントする。
◇プロファイラ停止時に、プロファイラの動作開始から停止までの時間と、カウント数とを用いて、転送処理にかかったCPU時間を算出する。具体的には、 "(割込み間隔)/(プロファイラ動作時間)*(カウント数)" をCPU時間とする。
なお、上述したようなプロファイル取得によるCPU時間の算出方法は、一般に広く用いられている手法である。
転送処理の前後にて、プロファイラの起動/停止を行い、CPU時間を取得する。また、転送処理中には、転送ページ数を取得する。これらの情報から、1ページあたりの転送時間を算出し、記録表に記録する。
図20にCPU時間記録部の処理のフローチャートを示す。
まずステップ S2002 で、(上述したような)プロファイラを起動する。
次にステップ S2004 で、転送処理を行って、転送ページ数をカウントし、得られた値を適切な格納手段に保持する。
そしてステップ S2006 でプロファイラを停止し、上述したような手法を用いてCPU時間を算出する。
その後ステップ S2008 で、これまでのステップで取得している転送開始時刻・転送終了時刻・転送ページ数を用いて、1ページあたりの転送にかかるCPU時間を算出し、記録する。なおこうした算出にあたっては、単純に転送ページ数を時間で割ってもよいし、または、当業者が適切と考える重み付けを施して計算を行ってもよい。
〔8 Live Migration方式での転送時間とCPU時間の算出方法についての詳細〕
本発明の或る実施形態においては、転送方式としてLive Migration方式を考慮する。こうした場合に、転送にかかる実時間とCPU時間を算出する手順についてさらに詳述してゆく。
一般に、Nページを転送する際にかかる時間Tは、下記の式(2)のように求められる。
ここで、 a は1ページあたりの転送時間であり、転送時間記録部より取得する。 b は初期コストであり、システム構成に依存して定まる。ただし、一般に b はせいぜい数100μs程度の値であるので、0と見做してもよい。
仮想マシンを構成するページ数を N1 とすると、1回目の転送時間 T1 は、式(2)より、
となる。
また、仮想マシンが時間 t の間に更新するページ数 N は、下記の式(4)で近似できる。
ここでこの M および k の値は、更新頻度記録表の情報を元に例えば最小二乗法により算出する。
式(4)より、1回目の転送時間 T1 の間に更新されたページ数、すなわち2回目に転送するページ数 N2 は、
である。
これを、2回目以降も同様に行ってゆく。具体的には、i回目の転送時間 Ti は、
で表され、また(i+1)回目の転送ページ数 Ni+1は、
で表される。
そして、 Ti および/もしくはNiが所定の閾値以下となるまで、上記計算をくりかえす。こうした閾値は、例えば Tiについての30ms、 Ni について30ページ、と設定できる。
この計算がj回くりかえされたとすると、総転送時間 Tallは、
と算出できる。
1ページ転送あたりにかかるCPU時間を c とすると、転送処理全体にかかる総CPU時間 Call は、
と算出できる。なお、 c は、CPU時間記録部より取得する。
そして、転送処理中の平均CPU使用率Paveは、
となる。
あるいは別の手法として、n回目の転送処理中のCPU使用時間 Cn
(ここで c は1ページ転送あたりのCPU時間とする)と算出し、n回目の転送処理中のCPU使用率 Pn
と算出することも可能であるが、実効的には、転送処理中の平均CPU使用率の方が重要であると考えられる。
〔9 Push/Pull併用方式での転送時間とCPU時間の算出方法についての詳細〕
本発明の或る実施形態においては、転送方式として上述したPush/Pull併用方式を考慮する。こうした場合には、まず、push方式の転送時間 T1 を下記の式(13)で算出する。
ここで T は転送時間、 N は転送ページ数、 a は1ページ転送の時間、 b はシステム依存の初期コストである。
次に、ページ更新について統計情報から得られた近似式より、1回目の転送時に更新されたページ数 N2 を算出すると
となる。即ち、push方式で転送されるページ数は N2となる。
そして、Pull方式の転送時間 T2を、ページ参照について統計情報から得られる下記の近似式(15)
を用いて、 R が一定数以上になる(則ち、参照ページが一定数以下になる)数 t を求めることで見積ることができる。なお、式(15)中の L 、 l 、 R は、例えば最小二乗法で求められる係数であって、 L = 5.24×105 、 l = -1.80 、 R = 4.19×105 となる。
このようにすることで、まずPush方式での転送処理中のCPU時間 C1 が、
と求まる。ここで c は1ページ転送あたりのCPU時間である。
すると、Push方式での転送処理中のCPU使用率 P1 は、
となる。
一方Pull方式での転送処理中のCPU時間 C2 は、
と求まる。ここで p はページフォールト処理にかかるCPU時間である。
そしてPull方式での転送処理中の平均CPU使用率 P2 は、
となる。
本発明を示し記載するにあたり、好ましい実施形態を参照してはいるが、本発明の本質
および範囲から逸脱すること無く多種多様な変更および修正を施すことが可能であるということを、当業者は容易に且つ正しく理解できる。開示した実施形態と、上述した変形例と、それらすべてに関する均等物とを包括するものとして、請求項を解釈されたい。
〔10 付記〕
(付記1)
物理マシン上の仮想マシンを他の物理マシン上の仮想マシンに移動する際の移動対象となる仮想マシンを決定する仮想マシン決定プログラムにおいて、コンピュータを、
仮想マシン毎にかつ経過時間毎に更新されたページ数を有する過去の記録であるページ数管理表から経過時間毎に更新されたページ数を読み出し、仮想マシンを搭載する物理マシンから他の物理マシンに転送する1ページあたりの転送時間を有する過去の記録である転送時間記録表から1ページあたりの転送時間を読み出し、読み出されたページ数と転送時間とから、所定の物理マシン上の所定の仮想マシンを他の物理マシン上の他の仮想マシンにページ転送するのに要する転送時間を、仮想マシン毎に算出する算出手段、
算出された転送時間が最も小さな仮想マシンを、移動対象の仮想マシンとして決定する仮想マシン決定手段、
として機能させるための仮想マシン決定プログラム。
(付記2)
前記更新されたページ数に代えて参照されたページ数であることを特徴とする付記1記載の仮想マシン決定プログラム。
(付記3)
前記転送時間は転送にかかるCPU時間またはCPU使用率であることを特徴とする付記1または2記載の仮想マシン決定プログラム。
(付記4)
前記算出手段は、ページの移動方式毎に、所定の物理マシン上の所定の仮想マシンを他の物理マシン上の他の仮想マシンにページ転送するのに要する転送時間を算出し、
前記コンピュータを、
算出された転送時間が最も小さな移動方式を、仮想マシンの移動方式として決定する移動方式決定手段、
として更に機能させることを特徴とする付記1から3の何れかに記載の仮想マシン決定プログラム。
(付記5)
前記移動方式は、Live Migration方式、かつ/または、push方式、かつ/または、pull方式、かつ/または、push/pull併用方式であることを特徴とする付記4記載の仮想マシン決定プログラム。
(付記6)
仮想マシン毎にかつ経過時間毎に更新されたページ数を有する過去の記録であるページ数管理表から経過時間毎に更新されたページ数を読み出し、仮想マシンを搭載する物理マシンから他の物理マシンに転送する1ページあたりの転送時間を有する過去の記録である転送時間記録表から1ページあたりの転送時間を読み出し、読み出されたページ数と転送時間とから、所定の物理マシン上の所定の仮想マシンを他の物理マシン上の他の仮想マシンにページ転送するのに要する転送時間を、仮想マシン毎に算出する算出手段と、
算出された転送時間が最も小さな仮想マシンを、移動対象の仮想マシンとして決定する仮想マシン決定手段と
を具えることを特徴とする、仮想マシン決定装置。
(付記7)
仮想マシン毎にかつ経過時間毎に更新されたページ数を有する過去の記録であるページ数管理表から経過時間毎に更新されたページ数を読み出し、仮想マシンを搭載する物理マシンから他の物理マシンに転送する1ページあたりの転送時間を有する過去の記録である転送時間記録表から1ページあたりの転送時間を読み出し、読み出されたページ数と転送
時間とから、所定の物理マシン上の所定の仮想マシンを他の物理マシン上の他の仮想マシンにページ転送するのに要する転送時間を、仮想マシン毎に算出するステップと、
算出された転送時間が最も小さな仮想マシンを、移動対象の仮想マシンとして決定するステップと
を含むことを特徴とする、仮想マシン決定方法。
従来技術にかかるpush方式を用いた、仮想マシンの転送方法を説明する概念図である。 従来技術にかかる停止転送方式を用いた、仮想マシンの転送方法を説明する概念図である。 従来技術にかかるpull方式を用いた、仮想マシンの転送方法を説明する概念図である。 本発明の或る実施形態にかかる、仮想マシン上のサービスによるメモリページの更新/参照の頻度を動的に見積もるため、サービス毎のメモリページの更新/参照の頻度を記録する機構を説明するための機能ブロック図である。 転送対象とする仮想マシンを選択する際の手法の概念を説明するための図である。 図4に示した機構を高速な負荷分散に特化させた変形例其之一を示す図である。 高速な負荷分散を指向する仮想マシン決定方法を示すフローチャートである。 図4に示した機構を低負荷な負荷分散に特化させた変形例其之一を示す図である。 低負荷な負荷分散を指向する仮想マシン決定方法を示すフローチャートである。 図4に示した機構を高速な負荷分散に特化させた変形例其之二を示す図である。 高速な負荷分散を指向する転送方式決定方法を示すフローチャートである。 図4に示した機構を低負荷な負荷分散に特化させた変形例其之二を示す図である。 低負荷な負荷分散を指向する転送方式決定方法を示すフローチャートである。 参照/更新頻度記録部により記録される、更新ページ数管理表の例である。 更新(参照)ページ数記録処理を表すフローチャートである。 或るデータベースサービス動作時に更新されるメモリページ数の時間依存変化を、グラフ化した例である。 転送(実)時間記録表の例である。 転送(実)時間記録処理を表すフローチャートである。 転送にかかったCPU時間を記録する表の例である。 転送にかかったCPU時間の記録処理を表すフローチャートである。
符号の説明
102 …… push方式による転送元仮想マシン
104 …… push方式による転送先仮想マシン
202 …… 停止転送方式による転送元仮想マシン
204 …… 停止転送方式による転送先仮想マシン
302 …… pull方式による転送元仮想マシン
304 …… pull方式による転送先仮想マシン
400 …… 仮想マシン決定システム
402 …… 仮想マシン
404 …… 仮想マシン
406 …… 仮想マシン
410 …… 参照/更新頻度記録部
412 …… CPU時間記録部
414 …… 転送時間記録部
416 …… 方式選択部
418 …… VM選択部
420 …… 転送制御部
400-6 …… 仮想マシン決定システム
402-6 …… 仮想マシン
404-6 …… 仮想マシン
406-6 …… 仮想マシン
410-6 …… 参照/更新頻度記録部
414-6 …… 転送時間記録部
418-6 …… VM選択部
420-6 …… 転送制御部
400-8 …… 仮想マシン決定システム
402-8 …… 仮想マシン
404-8 …… 仮想マシン
406-8 …… 仮想マシン
410-8 …… 参照/更新頻度記録部
412-8 …… CPU時間記録部
418-8 …… VM選択部
420-8 …… 転送制御部
400-10 …… 仮想マシン決定システム
402-10 …… 仮想マシン
404-10 …… 仮想マシン
406-10 …… 仮想マシン
410-10 …… 参照/更新頻度記録部
414-10 …… 転送時間記録部
416-10 …… 方式選択部
420-10 …… 転送制御部
400-12 …… 仮想マシン決定システム
402-12 …… 仮想マシン
404-12 …… 仮想マシン
406-12 …… 仮想マシン
410-12 …… 参照/更新頻度記録部
412-12 …… CPU時間記録部
416-12 …… 方式選択部
420-12 …… 転送制御部

Claims (5)

  1. 物理マシン上の仮想マシンを他の物理マシン上の仮想マシンに移動する際の移動対象となる仮想マシンを決定する仮想マシン決定プログラムにおいて、コンピュータを、
    仮想マシン毎にかつ経過時間毎に更新されたページ数を有する過去の記録であるページ数管理表から経過時間毎に更新されたページ数を読み出し、仮想マシンを搭載する物理マシンから他の物理マシンに転送する1ページあたりの転送時間を有する過去の記録である転送時間記録表から1ページあたりの転送時間を読み出し、読み出されたページ数と転送時間とから、所定の物理マシン上の所定の仮想マシンを他の物理マシン上の他の仮想マシンにページ転送するのに要する転送時間を、仮想マシン毎に算出する算出手段、
    算出された転送時間が最も小さな仮想マシンを、移動対象の仮想マシンとして決定する仮想マシン決定手段、
    として機能させるための仮想マシン決定プログラム。
  2. 前記更新されたページ数に代えて参照されたページ数であることを特徴とする請求項1記載の仮想マシン決定プログラム。
  3. 前記算出手段は、ページの移動方式毎に、所定の物理マシン上の所定の仮想マシンを他の物理マシン上の他の仮想マシンにページ転送するのに要する転送時間を算出し、
    前記コンピュータを、
    算出された転送時間が最も小さな移動方式を、仮想マシンの移動方式として決定する移動方式決定手段、
    として更に機能させることを特徴とする請求項1もしくは2に記載の仮想マシン決定プログラム。
  4. 仮想マシン毎にかつ経過時間毎に更新されたページ数を有する過去の記録であるページ数管理表から経過時間毎に更新されたページ数を読み出し、仮想マシンを搭載する物理マシンから他の物理マシンに転送する1ページあたりの転送時間を有する過去の記録である転送時間記録表から1ページあたりの転送時間を読み出し、読み出されたページ数と転送時間とから、所定の物理マシン上の所定の仮想マシンを他の物理マシン上の他の仮想マシンにページ転送するのに要する転送時間を、仮想マシン毎に算出する算出手段と、
    算出された転送時間が最も小さな仮想マシンを、移動対象の仮想マシンとして決定する仮想マシン決定手段と
    を具えることを特徴とする、仮想マシン決定装置。
  5. 仮想マシン毎にかつ経過時間毎に更新されたページ数を有する過去の記録であるページ数管理表から経過時間毎に更新されたページ数を読み出し、仮想マシンを搭載する物理マシンから他の物理マシンに転送する1ページあたりの転送時間を有する過去の記録である転送時間記録表から1ページあたりの転送時間を読み出し、読み出されたページ数と転送時間とから、所定の物理マシン上の所定の仮想マシンを他の物理マシン上の他の仮想マシンにページ転送するのに要する転送時間を、仮想マシン毎に算出するステップと、
    算出された転送時間が最も小さな仮想マシンを、移動対象の仮想マシンとして決定するステップと
    を含むことを特徴とする、仮想マシン決定方法。
JP2007322743A 2007-12-14 2007-12-14 仮想マシン移動制御方式 Active JP4894745B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007322743A JP4894745B2 (ja) 2007-12-14 2007-12-14 仮想マシン移動制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007322743A JP4894745B2 (ja) 2007-12-14 2007-12-14 仮想マシン移動制御方式

Publications (2)

Publication Number Publication Date
JP2009146161A JP2009146161A (ja) 2009-07-02
JP4894745B2 true JP4894745B2 (ja) 2012-03-14

Family

ID=40916698

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007322743A Active JP4894745B2 (ja) 2007-12-14 2007-12-14 仮想マシン移動制御方式

Country Status (1)

Country Link
JP (1) JP4894745B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010108409A (ja) * 2008-10-31 2010-05-13 Hitachi Ltd ストレージ管理方法及び管理サーバ
JP5391152B2 (ja) * 2010-05-26 2014-01-15 株式会社日立製作所 サーバシステム、及び、仮想サーバの移行方式を選択する方法
JP6044131B2 (ja) 2012-06-25 2016-12-14 富士通株式会社 プログラム、管理サーバおよび仮想マシン移動制御方法
JP5980335B2 (ja) * 2012-08-22 2016-08-31 株式会社日立製作所 仮想計算機システム、管理計算機及び仮想計算機管理方法
JP2014191752A (ja) * 2013-03-28 2014-10-06 Fujitsu Ltd マイグレーション処理プログラム,マイグレーション方法及びクラウドシステム
JP2015011569A (ja) * 2013-06-28 2015-01-19 株式会社東芝 仮想マシン管理装置、仮想マシン管理方法、及び仮想マシン管理プログラム
DE112015007188T5 (de) 2015-12-18 2018-09-13 Intel Corporation Batch-Migration virtueller Maschinen während des aktiven Bertriebs
CN107797810B (zh) * 2016-08-30 2021-04-20 比亚迪股份有限公司 更新车辆钥匙中的程序的方法和装置
JP6911670B2 (ja) 2017-09-22 2021-07-28 富士通株式会社 情報提供プログラム、情報提供装置および情報提供方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7313793B2 (en) * 2002-07-11 2007-12-25 Microsoft Corporation Method for forking or migrating a virtual machine
JP4438807B2 (ja) * 2007-03-02 2010-03-24 日本電気株式会社 仮想マシンシステム、管理サーバ、仮想マシン移行方法及びプログラム
US8019962B2 (en) * 2007-04-16 2011-09-13 International Business Machines Corporation System and method for tracking the memory state of a migrating logical partition

Also Published As

Publication number Publication date
JP2009146161A (ja) 2009-07-02

Similar Documents

Publication Publication Date Title
JP4894745B2 (ja) 仮想マシン移動制御方式
US10846137B2 (en) Dynamic adjustment of application resources in a distributed computing system
Nguyen et al. {AGILE}: elastic distributed resource scaling for {infrastructure-as-a-service}
US8627143B2 (en) Dynamically modeling and selecting a checkpoint scheme based upon an application workload
JP4438807B2 (ja) 仮想マシンシステム、管理サーバ、仮想マシン移行方法及びプログラム
US8131519B2 (en) Accuracy in a prediction of resource usage of an application in a virtual environment
US8402200B2 (en) Method and apparatus for storing and restoring state of virtual machine
US9600311B2 (en) Virtual-machine managing device and virtual-machine managing method
JP5967215B2 (ja) 情報処理装置、プログラムおよび仮想マシン移動方法
CA3090095C (en) Methods and systems to determine and optimize reservoir simulator performance in a cloud computing environment
US8935501B2 (en) Apparatus, method, and recording medium storing a program for selecting a destination storage based on a buffer size
US20150372878A1 (en) System and method for detecting and preventing service level agreement violation in a virtualized environment
RU2015114568A (ru) Автоматизированное профилирование использования ресурса
JPWO2013105217A1 (ja) 仮想マシン管理プログラム、方法、及び装置
JP2006227999A (ja) ボトルネック検出システム、測定対象サーバ、ボトルネック検出方法およびプログラム
JP6123626B2 (ja) 処理再開方法、処理再開プログラムおよび情報処理システム
Zhang et al. Adaptive live vm migration over a wan: Modeling and implementation
JP2010140134A (ja) 仮想マシン管理方法、プログラムおよび管理サーバ
US20140325520A1 (en) Application thread to cache assignment
CN104268003A (zh) 一种适用于虚拟机动态迁移的内存状态迁移方法
JP6323101B2 (ja) 配置制御プログラム、方法及び装置
US10754547B2 (en) Apparatus for managing disaggregated memory and method thereof
US20190173770A1 (en) Method and system for placement of virtual machines using a working set computation
GB2507816A (en) Calculating timeout for remote task execution from network delays and processing duration on local application/hardware replica
JP2011186821A (ja) 仮想化環境管理システム、装置、方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100715

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111027

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111212

R150 Certificate of patent or registration of utility model

Ref document number: 4894745

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150106

Year of fee payment: 3