JP7047036B2 - 投機的仮想マシン実行 - Google Patents
投機的仮想マシン実行 Download PDFInfo
- Publication number
- JP7047036B2 JP7047036B2 JP2020158874A JP2020158874A JP7047036B2 JP 7047036 B2 JP7047036 B2 JP 7047036B2 JP 2020158874 A JP2020158874 A JP 2020158874A JP 2020158874 A JP2020158874 A JP 2020158874A JP 7047036 B2 JP7047036 B2 JP 7047036B2
- Authority
- JP
- Japan
- Prior art keywords
- page
- future
- migration
- migration target
- target host
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Description
ウェブサービスはサーバ上で仮想マシンを動作させ得る。各サーバは、当該サーバ内で独立したマシンとして存在して動作する複数の仮想マシンをホストし得る。さらに、各仮想マシンは1つ以上の仮想中央処理装置(vCPU)を含み得る。サーバがメンテナンスを必要とする場合、または他の理由で劣化した場合、仮想マシンは異なるサーバに移行され得る。仮想マシンを異なるサーバに移行させるためにライブマイグレーションが行なわれ得る。ライブマイグレーションは一般に、現在のサーバ上の仮想マシンを休止または中断し、仮想マシンを異なるサーバにコピーするかまたは移行させる。そして、異なるサーバが仮想マシンを再開して動作を継続する。ライブマイグレーションでは、コピーまたは移行が起こっている間は仮想マシンの動作を休止または中断する必要がある。仮想マシンの休止または中断によって生じる遅延は、仮想マシン動作にとって許容できない場合がある。したがって、迅速にダウンタイムなしで仮想マシンを別のサーバに移行させることが望ましい場合がある。
本開示の一局面は、投機的VM実行のための方法を提供する。当該方法は、ゲスト仮想マシンをマイグレーションソースホストからマイグレーションターゲットホストにポストコピーマイグレーションすることを含む。ゲスト仮想マシンは複数の命令の命令ストリームを有する。当該方法は、ゲスト仮想マシンの命令ストリームをマイグレーションターゲットホスト上で実行することと、マイグレーションターゲットホストによって、ゲスト仮想マシンがページ違反に遭遇したことを判断することとをさらに含む。ゲスト仮想マシンが、命令ストリームにおいて不在ページへのページ参照についてのページ違反に遭遇すると、ゲスト仮想マシンは命令ストリームの実行をストールする。不在ページはマイグレーションソースホスト上に存在しており、マイグレーションターゲットホスト上には存在していない。ゲスト仮想マシンがページ違反に遭遇すると、当該方法は、マイグレーションターゲットホストが、マイグレーションターゲットホスト上にロードするための不在ページをマイグレーションソースホストに要求することと、マイグレーションターゲットホスト上で実行されているかまたはマイグレーションターゲットホストと通信しているエミュレータ上で、ゲスト仮想マシンの命令ストリームの継続実行をエミュレートすることとを含む。当該方法は、エミュレータが、エミュレートされた命令ストリームの継続実行から将来のページへの将来のページ参照を識別することと、マイグレーションターゲットホストが、不在ページ要求と並行して、マイグレーションソースホストに将来のページを要求することにより、不在ページをマイグレーションターゲットホスト上にロードしつつ、将来のページをマイグレーションターゲットホストにプリフェッチすることとをさらに含む。
うにすることを含む。
ポストコピーマイグレーションを用いて仮想マシン(たとえばゲストvCPU)をマイグレーションソースホストからマイグレーションターゲットホストに移行させる間、ゲストvCPUの休止中に物理的な静止状態および最小の動的状態(たとえば登録状態)のみが移行する。この結果、仮想マシンがマイグレーションターゲットホスト上で再開すると、ゲストページ参照を行なうと(ゲストページはその新たなホスト、すなわちマイグレーションターゲットホスト上にまだロードされていないので)不在違反が生じる。ゲストvCPUが不在ページ違反に遭遇すると、ゲストvCPUは、命令ストリームの実行をストールし、同時に、不在ページをマイグレーションソースホストに要求して、マイグレーションターゲットホストが不在ページをロードするのを待つ。違反を除去する/無くすために、マイグレーションターゲットホストは、オンデマンドでマイグレーションソースからマイグレーションターゲットへのページの移行を要求する。ゲストvCPUが不在ページ違反のためにストールしている間、エミュレータがゲストvCPUによる命令ストリームの実行を継続して、命令ストリームから将来のページ参照を抽出し、抽出された将来のページ参照が発見されるとそれらを不在ページと並行してマイグレーションソースに要求することによって、不在ページをマイグレーションターゲットホスト上にロードしつつ、識別されたページ参照をマイグレーションターゲットホストにプリフェッチし得る。
以上のサーバまたはホスト110、110a、110b…110nの各々は、データ処理ハードウェア112(たとえば1つ以上のコンピュータプロセッサ)と、データ処理ハードウェア112と通信しているメモリハードウェア130とを含む。各ホスト110は、他のホスト110と、またはネットワーク140を介して(たとえばインターネットを介して)1つ以上のクライアント120と通信するように構成されたネットワークインターフェイス接続(NIC)116を含む。
方の目的で構築される。ハイパーバイザがハードウェアを共有して管理し、さまざまな環境を互いに分離して同一の物理マシン上で実行し得る。
ページ230、230aが取出され得るまで命令210の実行をストールし、ストールしたvCPU206として作用する。不在ページ違反240に続いて、マイグレーションターゲットホスト110、110bはエミュレータ250を実行する。エミュレータ250は命令210を調べるかまたは実行して、マイグレーションターゲットホスト110、110b上で不在ページ230を受信することによって不在ページ違反240が取除かれた後にデータ処理ハードウェア112がアクセスし得る将来のページ230、230bを識別する。ある例では、エミュレータ250は命令210の実行を継続し、エミュレータ250は不在のページ230または値をすべて除外し、命令210が次に呼出し得るかまたは必要とし得るページ230、230bを識別し続ける。また、エミュレータ250はページ230を直接調べて、関係に基づいて、さらなる不在ページ違反240を防止するためにデータ処理ハードウェア112またはvCPU206がどのページ230、230bを必要とするかを判断し得る。エミュレータ250は、ページ230同士の間の過去の使用の頻度、共通のアドレス位置、メモリアクセス要件、埋込まれたリンク付け、またはページ230同士の間の他の関係(を含むがこれらに限定されるものではない)を調べて、将来のページ230、230bへの参照を決定し得る。ある例では、将来のページ230、230bへのページ参照220は、親ページ230と1つ以上の子ページ230との間のページナビゲーションマップを含む。
ージ230aを求める不在ページ要求242と並行して、エミュレートされた命令212から発見された将来のページ参照220に対応する将来のページ230bを求める1つ以上の将来ページ要求252を送信し得る。
テンツ等を含む動的状態204とを含み得る。各仮想マシン200は、さまざまなページ230を参照する1組の命令210を有する。ネットワーク140は、その物理的状態202および動的状態204を含む仮想マシン200をマイグレーションソースホスト110、110aからマイグレーションターゲットホスト110、110bに移行させ得る。ブロック304において、方法300は、ゲスト仮想マシン200の命令210をマイグレーションターゲットホスト110、110b上で実行することを含む。マイグレーションターゲットホスト110、110bのデータ処理ハードウェア112、112bは命令210を実行して、少なくとも1つの関連付けられたvCPU206を有する仮想マシン200を提供し得る。ゲスト仮想マシン200が、命令210の命令ストリームにおいて不在ページ230、230aへのページ230へのページ参照またはアドレス232についてのページ違反240に遭遇すると、ゲスト仮想マシン200は命令210の命令ストリームの実行をストールし得る。不在ページ230、230aは、マイグレーションソースホスト110、110a上に存在しており、マイグレーションターゲットホスト110、110b上には存在していない場合がある。ブロック306において、方法300は、マイグレーションターゲットホスト110、110bが、ゲスト仮想マシン200がページ違反240に遭遇したことを判断することを含み得る。マイグレーションターゲットホスト110、110bのデータ処理ハードウェア112は、命令210の継続実行に必要なページ230がマイグレーションターゲットホスト110、110bのメモリ130、130bに不在である場合に不在ページ違反240に遭遇し得る。ゲスト仮想マシン200がページ違反240に遭遇すると、方法300は以下を含み得る。ブロック308において、方法300は、マイグレーションターゲットホスト110、110bが、マイグレーションターゲットホスト110、110b上にロードするための不在ページ230、230aをマイグレーションソースホスト110、110aに要求することを含む。不在ページ230、230は、不在ページ230、230aのアドレス232を含む不在ページ242を求める要求によって要求され得る。ブロック310において、方法300は、マイグレーションターゲットホスト110、110b上で実行されているかまたはマイグレーションターゲットホスト110、110bと通信しているエミュレータ250上で、ゲスト仮想マシン200の命令210の命令ストリームの継続実行をエミュレートすることを含み得る。エミュレータ250は、命令210を処理することによって命令210の継続実行をエミュレートし続け得る。エミュレータ250は、不在ページ違反240を通り越して命令210を調べ続けて、不在ページ違反240の後に仮想マシン200(および/またはvCPU206)がどのページ230を必要とし得るかを判断する、ストールした仮想マシン200(および/またはvCPU206)として作用し得る。ブロック312において、方法300は、エミュレータ250が、命令210の命令ストリームのエミュレートされた継続実行またはエミュレートされた命令212から将来のページ参照220を識別することを含み得る。エミュレートされた命令212は、命令210を調べてページ230が必要とする値を除外して、命令210がその継続実行のためにどのページ230を後で必要とし得るかを判断することによって、将来のページ参照220を識別し得る。ある例では、エミュレータ250はページ230と不在ページ230、230aとの関係を調べて、将来のページ230、230bへの将来のページ参照220を識別する。ブロック314において、方法300は、マイグレーションターゲットホスト110、110bが、不在ページ242を求める要求と並行して、将来のページ230、230bをマイグレーションソースホスト110、110aに要求することにより、不在ページ230、230aをマイグレーションターゲットホスト110、110b上にロードしつつ、将来のページ230、230bをマイグレーションターゲットホスト110、110bにプリフェッチすることを含み得る。識別された将来のページ参照220は、具体的な将来のページ230bを識別するアドレス232を含み得る。マイグレーションソースホスト110、110aは、識別された将来のページ230bを将来ページリターン254によってマイグレーションターゲットホスト110、110bに部分的にまたは完全に移行させ得る。不在ページリターン244は不在ページ230、230aを戻し得る。不在ペー
ジリターン244および将来ページリターン254は並列動作し得る。
ンターフェイス440に結合されているディスプレイ480などの外部入出力デバイス上に表示するためにメモリ130内または記憶装置430上に記憶されている命令が含まれる。他の実装例では、複数のプロセッサおよび/または複数のバスが、複数のメモリおよび複数種類のメモリとともに適宜用いられ得る。また、複数のコンピューティングデバイス400が接続され得、各デバイスは(たとえば、サーババンク、ブレードサーバ群、またはマルチプロセッサシステムとして)必要な動作の一部を提供する。
ア、ソフトウェア、および/またはその組み合わせで実現できる。これら各種実装は、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能な1つ以上のコンピュータプログラムでの実装を含むことができ、それは、専用または汎用目的でもよく、格納システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスに対して、データおよび命令を受信し、データおよび命令を送信するように結合される。
Claims (18)
- 方法であって、
マイグレーションターゲットホストが、マイグレーションソースホストから前記マイグレーションターゲットホストにポストコピーマイグレーションされていて、かつ前記マイグレーションターゲットホスト上で実行されているゲスト仮想マシンが前記ゲスト仮想マシンの命令ストリームにおいて不在ページへのページ参照についてのページ違反に遭遇したことを判断することと、
前記マイグレーションターゲットホストが、前記マイグレーションターゲットホスト上にロードするための前記不在ページを前記マイグレーションソースホストに要求することと、
前記マイグレーションターゲットホスト上で実行されているエミュレータ上で、または、前記マイグレーションターゲットホストと通信しているエミュレータ上で、前記ゲスト仮想マシンの前記命令ストリームの継続実行をエミュレートすることと、
前記エミュレータが、前記継続実行をエミュレートするときに実行される前記命令ストリームの命令に基づき、将来のページへの将来のページ参照を識別することと、
前記エミュレータが、識別された前記将来のページ参照のうちの1つと関連付けられた前記命令ストリーム内の少なくとも1つの命令を調べて、少なくとも1つの付加的な将来のページ参照を識別することと、
前記マイグレーションターゲットホストが、前記不在ページを前記マイグレーションソースホストに要求するとき、識別された前記将来のページ参照に対応する前記将来のページと、識別された前記少なくとも1つの付加的な将来のページ参照に対応する付加的な将来のページとを、前記マイグレーションソースホストに要求することを備える、方法。 - 前記不在ページを前記マイグレーションターゲットホスト上にロードする間に前記将来のページを前記マイグレーションターゲットホストにプリフェッチするために、識別された前記将来のページ参照に対応する前記将来のページを前記マイグレーションソースホストに要求することは、前記不在ページを要求することと並行している、請求項1に記載の方法。
- 前記ゲスト仮想マシンの前記命令ストリームの前記継続実行をエミュレートする間、前記不在ページのロードされた値に依存する命令を除外することによって、前記エミュレータが将来のページ違反より後の将来のページ参照を識別できるようにすることをさらに備える、請求項1または2に記載の方法。
- 前記マイグレーションターゲットホストは、
1つ以上のコンピューティングデバイスと、
前記1つ以上のコンピューティングデバイスと通信している1つ以上のメモリホストとを備え、前記1つ以上のメモリホストはページを格納している、請求項1から3のいずれか1項に記載の方法。 - 前記少なくとも1つの付加的な将来のページ参照を識別することは、
前記将来のページ参照と前記不在ページとの関係に基づいて前記少なくとも1つの付加的な将来のページ参照を識別することを含む、請求項1から4のいずれか1項に記載の方法。 - 前記関係は、親ページと1つ以上の子ページとの間のページナビゲーションマップを備える、請求項5に記載の方法。
- 前記不在ページを要求することによって、前記不在ページが前記マイグレーションソースホストから前記マイグレーションターゲットホストに配信されて、前記マイグレーションターゲットホストにロードされた場合、前記マイグレーションターゲットホストが、前記エミュレータによる前記命令ストリームの前記継続実行のエミュレーションを中止することをさらに備える、請求項1から6のいずれか1項に記載の方法。
- 前記不在ページを要求することによって、前記不在ページが前記マイグレーションソースホストから配信されて前記マイグレーションターゲットホスト上にロードされた場合、前記マイグレーションターゲットホストは前記ゲスト仮想マシンの前記命令ストリームの実行を継続することをさらに備える、請求項7に記載の方法。
- 前記エミュレータが前記命令ストリームの命令に基づき、将来のページ参照を識別することは、識別された前記将来のページ参照の将来のページアドレスを識別することをさらに備える、請求項1から8のいずれか1項に記載の方法。
- マイグレーションターゲットホストであって、
データ処理ハードウェアと、
前記データ処理ハードウェアと通信しているメモリハードウェアとを備え、前記メモリハードウェアは命令を格納しており、前記命令は前記データ処理ハードウェア上で実行されると前記データ処理ハードウェアに動作を実行させ、前記動作は、
マイグレーションソースホストから前記メモリハードウェアにポストコピーマイグレーションされていて、かつ前記データ処理ハードウェア上で実行されているゲスト仮想マシンが、前記ゲスト仮想マシンの命令ストリームにおいて不在ページへのページ参照についてのページ違反に遭遇したことを判断することと、
前記メモリハードウェア上にロードするための前記不在ページを前記マイグレーションソースホストに要求することと、
前記データ処理ハードウェア上で実行されているエミュレータ上で、または、前記マイグレーションターゲットホストと通信しているエミュレータ上で、前記ゲスト仮想マシンの前記命令ストリームの継続実行をエミュレートすることと、
前記エミュレータが、前記継続実行をエミュレートするときに実行される前記命令ストリームの命令に基づき、将来のページへの将来のページ参照を識別することと、
前記エミュレータが、識別された前記将来のページ参照のうちの1つと関連付けられた前記命令ストリーム内の少なくとも1つの命令を調べて、少なくとも1つの付加的な将来のページ参照を識別することと、
前記不在ページを前記マイグレーションソースホストに要求するとき、識別された前記将来のページ参照に対応する前記将来のページと、識別された前記少なくとも1つの付加的な将来のページ参照に対応する付加的な将来のページとを、前記マイグレーションソースホストに要求することとを備える、マイグレーションターゲットホスト。 - 前記不在ページを前記マイグレーションターゲットホスト上にロードする間に前記将来のページを前記マイグレーションターゲットホストにプリフェッチするために、識別された前記将来のページ参照に対応する前記将来のページを前記マイグレーションソースホストに要求することは、前記不在ページを要求することと並行している、請求項10に記載のマイグレーションターゲットホスト。
- 前記動作はさらに、前記ゲスト仮想マシンの前記命令ストリームの前記継続実行をエミュレートする間、前記不在ページのロードされた値に依存する命令を除外することによって、前記エミュレータが将来のページ違反より後の将来のページ参照を識別できるようにすることを備える、請求項10または11に記載のマイグレーションターゲットホスト。
- 前記動作はさらに、前記将来のページ参照が識別されると、識別された前記将来のページ参照を前記マイグレーションソースホストに要求することを備える、請求項10から12のいずれか1項に記載のマイグレーションターゲットホスト。
- 前記少なくとも1つの付加的な将来のページ参照を識別することは、前記将来のページ参照と前記不在ページとの関係に基づいて前記少なくとも1つの付加的な将来のページ参照を識別することを備える、請求項10から13のいずれか1項に記載のマイグレーションターゲットホスト。
- 前記関係は、親ページと1つ以上の子ページとの間のページナビゲーションマップを備える、請求項14に記載のマイグレーションターゲットホスト。
- 前記動作はさらに、前記不在ページを要求することによって、前記不在ページが配信されて前記マイグレーションターゲットホストの前記メモリハードウェア上にロードされた場合、前記エミュレータによる前記命令ストリームの前記継続実行のエミュレーションを中止することを備える、請求項10から15のいずれか1項に記載のマイグレーションターゲットホスト。
- 前記動作はさらに、前記不在ページを要求することによって、前記不在ページが前記マイグレーションターゲットホストに配信されて前記メモリハードウェア上にロードされた場合、前記ゲスト仮想マシンの前記命令ストリームの実行を継続することを備える、請求項16に記載のマイグレーションターゲットホスト。
- 前記エミュレータが前記命令ストリームの命令に基づき、将来のページ参照を識別することは、識別された前記将来のページ参照の将来のページアドレスを識別することをさらに備える、請求項10から17のいずれか1項に記載のマイグレーションターゲットホスト。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/178,937 | 2016-06-10 | ||
US15/178,937 US9880872B2 (en) | 2016-06-10 | 2016-06-10 | Post-copy based live virtual machines migration via speculative execution and pre-paging |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018548748A Division JP6768823B2 (ja) | 2016-06-10 | 2017-05-15 | 投機的仮想マシン実行 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021007027A JP2021007027A (ja) | 2021-01-21 |
JP7047036B2 true JP7047036B2 (ja) | 2022-04-04 |
Family
ID=58794154
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018548748A Active JP6768823B2 (ja) | 2016-06-10 | 2017-05-15 | 投機的仮想マシン実行 |
JP2020158874A Active JP7047036B2 (ja) | 2016-06-10 | 2020-09-23 | 投機的仮想マシン実行 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018548748A Active JP6768823B2 (ja) | 2016-06-10 | 2017-05-15 | 投機的仮想マシン実行 |
Country Status (6)
Country | Link |
---|---|
US (2) | US9880872B2 (ja) |
EP (2) | EP3570166B1 (ja) |
JP (2) | JP6768823B2 (ja) |
KR (1) | KR102044717B1 (ja) |
CN (1) | CN108713189B (ja) |
WO (1) | WO2017213802A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107797878A (zh) * | 2016-09-06 | 2018-03-13 | 阿里巴巴集团控股有限公司 | 虚拟机热迁移处理方法及系统 |
CN108595250B (zh) * | 2018-05-02 | 2021-05-28 | 南京大学 | 一种面向IaaS云平台的资源调度效率优化方法及系统 |
JP7010272B2 (ja) * | 2019-10-08 | 2022-01-26 | 横河電機株式会社 | リアルタイム通信処理システム、およびリアルタイム通信処理方法 |
US11409619B2 (en) | 2020-04-29 | 2022-08-09 | The Research Foundation For The State University Of New York | Recovering a virtual machine after failure of post-copy live migration |
US11870846B2 (en) | 2021-02-25 | 2024-01-09 | Red Hat, Inc. | Post-copy migration cross cluster synchronization for post-copy migration of virtual machines |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015022380A (ja) | 2013-07-16 | 2015-02-02 | 日本電信電話株式会社 | 情報処理装置、仮想マシンの移行方法及び仮想マシンの移行プログラム |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2408481C (en) * | 2002-10-17 | 2009-10-06 | Ibm Canada Limited-Ibm Canada Limitee | Autonomic reallocation of memory among buffer pools |
US7404067B2 (en) * | 2003-09-08 | 2008-07-22 | Intel Corporation | Method and apparatus for efficient utilization for prescient instruction prefetch |
US7089370B2 (en) * | 2003-09-30 | 2006-08-08 | International Business Machines Corporation | Apparatus and method for pre-fetching page data using segment table data |
EP1589433A1 (en) * | 2004-04-20 | 2005-10-26 | Ecole Polytechnique Federale De Lausanne | Virtual memory window with dynamic prefetching support |
US20060095679A1 (en) * | 2004-10-28 | 2006-05-04 | Edirisooriya Samantha J | Method and apparatus for pushing data into a processor cache |
US7444498B2 (en) * | 2004-12-17 | 2008-10-28 | International Business Machines Corporation | Load lookahead prefetch for microprocessors |
US8903888B1 (en) * | 2006-10-27 | 2014-12-02 | Hewlett-Packard Development Company, L.P. | Retrieving data of a virtual machine based on demand to migrate the virtual machine between physical machines |
US8799494B1 (en) * | 2008-02-04 | 2014-08-05 | Symantec Corporation | Application streaming proactive failover |
US8151100B2 (en) * | 2008-02-06 | 2012-04-03 | Broadcom Corporation | Operating system for a computing device with handheld and extended computing units |
US8639886B2 (en) * | 2009-02-03 | 2014-01-28 | International Business Machines Corporation | Store-to-load forwarding mechanism for processor runahead mode operation |
US8490088B2 (en) | 2010-09-10 | 2013-07-16 | International Business Machines Corporation | On demand virtual machine image streaming |
US9086981B1 (en) * | 2010-11-02 | 2015-07-21 | Vmware, Inc. | Exporting guest spatial locality to hypervisors |
US8935506B1 (en) * | 2011-03-31 | 2015-01-13 | The Research Foundation For The State University Of New York | MemX: virtualization of cluster-wide memory |
JP5858371B2 (ja) * | 2012-05-31 | 2016-02-10 | 株式会社日立製作所 | 解析システム、計算機システム及び解析方法 |
US9547591B1 (en) * | 2012-09-28 | 2017-01-17 | EMC IP Holding Company LLC | System and method for cache management |
CN103049308B (zh) | 2012-11-30 | 2016-01-20 | 华为技术有限公司 | 实现虚拟机热迁移的方法、装置及系统 |
US9372726B2 (en) * | 2013-01-09 | 2016-06-21 | The Research Foundation For The State University Of New York | Gang migration of virtual machines using cluster-wide deduplication |
US9055119B2 (en) * | 2013-03-26 | 2015-06-09 | Vmware, Inc. | Method and system for VM-granular SSD/FLASH cache live migration |
US9710386B1 (en) * | 2013-08-07 | 2017-07-18 | Veritas Technologies | Systems and methods for prefetching subsequent data segments in response to determining that requests for data originate from a sequential-access computing job |
US9454400B2 (en) | 2013-08-16 | 2016-09-27 | Red Hat Israel, Ltd. | Memory duplication by origin host in virtual machine live migration |
US9459902B2 (en) * | 2013-08-16 | 2016-10-04 | Red Hat Israel, Ltd. | Memory duplication by destination host in virtual machine live migration |
US9183035B2 (en) * | 2013-11-08 | 2015-11-10 | International Business Machines Corporation | Virtual machine migration with swap pages |
US9354918B2 (en) * | 2014-02-10 | 2016-05-31 | International Business Machines Corporation | Migrating local cache state with a virtual machine |
CN105095227B (zh) * | 2014-04-28 | 2019-03-26 | 小米科技有限责任公司 | 网页预加载的方法及装置 |
US10318325B2 (en) * | 2015-01-07 | 2019-06-11 | International Business Machines Corporation | Host-side cache migration |
WO2016202364A1 (en) * | 2015-06-16 | 2016-12-22 | Telefonaktiebolaget Lm Ericsson (Publ) | A method of live migration |
US9710401B2 (en) * | 2015-06-26 | 2017-07-18 | Intel Corporation | Processors, methods, systems, and instructions to support live migration of protected containers |
CN105512254B (zh) * | 2015-12-01 | 2018-11-13 | 上海携程商务有限公司 | 终端、网页信息预加载方法及系统 |
-
2016
- 2016-06-10 US US15/178,937 patent/US9880872B2/en active Active
-
2017
- 2017-05-15 KR KR1020187026616A patent/KR102044717B1/ko active IP Right Grant
- 2017-05-15 CN CN201780016248.9A patent/CN108713189B/zh active Active
- 2017-05-15 JP JP2018548748A patent/JP6768823B2/ja active Active
- 2017-05-15 EP EP19182269.1A patent/EP3570166B1/en active Active
- 2017-05-15 EP EP17726406.6A patent/EP3414658B1/en active Active
- 2017-05-15 WO PCT/US2017/032617 patent/WO2017213802A1/en active Application Filing
- 2017-12-20 US US15/849,505 patent/US10481940B2/en active Active
-
2020
- 2020-09-23 JP JP2020158874A patent/JP7047036B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015022380A (ja) | 2013-07-16 | 2015-02-02 | 日本電信電話株式会社 | 情報処理装置、仮想マシンの移行方法及び仮想マシンの移行プログラム |
Non-Patent Citations (1)
Title |
---|
広渕 崇宏,外2名,「準仮想化ページフォルトを用いたポストコピー型ライブマイグレーションの性能向上手法」,情報処理学会 シンポジウム コンピュータシステム・シンポジウム 2012 [online],情報処理学会,2012年11月29日,pp.2-12 |
Also Published As
Publication number | Publication date |
---|---|
US20170357527A1 (en) | 2017-12-14 |
EP3570166B1 (en) | 2023-03-15 |
JP6768823B2 (ja) | 2020-10-14 |
US10481940B2 (en) | 2019-11-19 |
JP2019526083A (ja) | 2019-09-12 |
WO2017213802A1 (en) | 2017-12-14 |
EP3414658B1 (en) | 2019-09-18 |
CN108713189B (zh) | 2020-05-22 |
US9880872B2 (en) | 2018-01-30 |
CN108713189A (zh) | 2018-10-26 |
KR102044717B1 (ko) | 2019-12-02 |
EP3570166A1 (en) | 2019-11-20 |
US20180136963A1 (en) | 2018-05-17 |
JP2021007027A (ja) | 2021-01-21 |
EP3414658A1 (en) | 2018-12-19 |
KR20180112846A (ko) | 2018-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7047036B2 (ja) | 投機的仮想マシン実行 | |
US10691363B2 (en) | Virtual machine trigger | |
US10162658B2 (en) | Virtual processor allocation techniques | |
US9928091B2 (en) | Techniques for streaming virtual machines from a server to a host | |
US20150205542A1 (en) | Virtual machine migration in shared storage environment | |
US9792136B2 (en) | Hardware assisted inter hypervisor partition data transfers | |
JP2009116914A (ja) | 仮想マシンをフォークまたはマイグレートするための方法 | |
US10162657B2 (en) | Device and method for address translation setting in nested virtualization environment | |
Lu et al. | HSG-LM: hybrid-copy speculative guest OS live migration without hypervisor | |
US9552211B1 (en) | Method for performing hot-swap of a storage device in a virtualization environment | |
US10664299B2 (en) | Power optimizer for VDI system | |
Wang | Can “micro VM” become the next generation computing platform?: Performance comparison between light weight Virtual Machine, container, and traditional Virtual Machine | |
WO2024041351A1 (en) | Disabling processor facility on new processor generation without breaking binary compatibility | |
US20240184612A1 (en) | Virtual machine live migration with direct-attached non-volatile memory express device | |
US20230027307A1 (en) | Hypervisor-assisted transient cache for virtual machines | |
Verboven et al. | Evaluating Nested Virtualization Support | |
Nguyen et al. | YOLO: Speeding up VM Boot Time by reducing I/O operations | |
KUMAR | CHAPTER FIVE VIRTUALIZATION IN THE CLOUD MOHIT KUMAR, FAROOQ AHMAD AND MOHD DILSHAD ANSARI |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201002 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201002 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210914 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210915 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211130 |
|
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: 20220301 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220323 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7047036 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |