JP5484117B2 - ハイパーバイザ及びサーバ装置 - Google Patents

ハイパーバイザ及びサーバ装置 Download PDF

Info

Publication number
JP5484117B2
JP5484117B2 JP2010031976A JP2010031976A JP5484117B2 JP 5484117 B2 JP5484117 B2 JP 5484117B2 JP 2010031976 A JP2010031976 A JP 2010031976A JP 2010031976 A JP2010031976 A JP 2010031976A JP 5484117 B2 JP5484117 B2 JP 5484117B2
Authority
JP
Japan
Prior art keywords
area
physical
failure
hypervisor
copy
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
JP2010031976A
Other languages
English (en)
Other versions
JP2011170477A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2010031976A priority Critical patent/JP5484117B2/ja
Priority to US13/023,214 priority patent/US8479198B2/en
Publication of JP2011170477A publication Critical patent/JP2011170477A/ja
Application granted granted Critical
Publication of JP5484117B2 publication Critical patent/JP5484117B2/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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、ハイパーバイザを利用した仮想化技術に関する。
サーバ統合(Server Consolidate)やクラウドコンピューティング等の基盤技術として、サーバ仮想化が知られている。サーバ仮想化によれば、1台の物理的なコンピュータが複数台のコンピュータであるかのように論理的に分割され、分割されたそれぞれのコンピュータで、OS(Operating System)やアプリケーションソフト等のコンピュータプログラムが実行される。分割されたコンピュータは、例えば「仮想マシン」と呼ばれる。
サーバ仮想化では、仮想マシンの耐障害性の向上が望まれる。ハードウェエア障害として、プロセッサ障害、チップセット障害及びメモリ障害等があるが、その中の1つに、Memory Uncorrectable Errorがある(以下、「MUE」と略す)。MUEは、メモリのビット反転による、メモリの修正不可能なエラーである。MUEは、一般的にはハードウェアの故障が原因ではなく、一過性の障害である。それ故、通常、MUEの生じているメモリを交換する必要は無い。データが正常であれば、そのメモリの使用が継続されて良い。
MUEの生じたメモリ領域内のデータを回復する方法として、メモリのミラーリングが考えられる。例えば、特許文献1によれば、運用系にあるメモリ転送部が運用系のメモリ内のデータを待機系にあるメモリコピー部へ転送する技術が開示されている。しかし、この技術によれば、あらゆる機構(共通バス、専用コピー機構、専用転送機構、書き込みアドレス監視機構、一時記憶領域、二重書き機構)を有するプラットフォームが必要になってしまう。
メモリのミラーリングとして、単純に2倍のメモリを消費する方法がある。しかし、これをサーバ仮想化に適用することは難しい。なぜなら、サーバ仮想化では、物理的なメモリが複数の仮想マシンに使用されることになり、メモリの使用量を抑える工夫が必要になるからである。
メモリ使用量に関して、例えば特許文献2に開示の技術がある。この技術によれば、OSとファームウェアのホットプラグの機能とを使用して、OSが使用するメモリが枯渇してきた際に、メモリのミラーリングが動的に無効にされる。この技術によれば、ゲストOSがホットプラグに対応している必要がある。
特殊なハードウェア機構及び特殊なゲストOSを必要となしない、メモリのミラーリングに関する技術が知られている(例えば特許文献3)。特許文献3によれば、プロセッサのライトプロテクト機能を利用して、メモリのミラーリングが実現される。
特開2006−243852号公報 特開2009−199478号公報 特開2007−207250号公報
ところで、ハイパーバイザを利用したサーバ仮想化が知られている。ハイパーバイザを利用したサーバ仮想化によれば、一般に、仮想マシンにおいて、LPAR上でOS(ゲストOS)が実行される。LPARとは、論理パーティションの略であり、物理的なハードウェア資源に基づく論理的なハードウェア資源である。
ハイパーバイザを利用したサーバ仮想化にライトプロテクト機能を利用したメモリミラーリングが適用されたシステムが考えられる。
しかし、このシステムでは、ゲストOSからメモリへのデータの書き込みの都度に、書込みがトラップされ、ハイパーバイザが、メモリに書き込まれたデータをミラーリングすることになる。つまり、このシステムでは、ゲストOSからメモリへのデータの書き込みの度に、ハイパーバイザへ処理が遷移する。それ故、ハイパーバイザを実行する物理的なサーバ装置の性能が大きく低下してしまうと考えられる。
上記のような問題は、MUEに限らず、メモリで発生する別種の障害(例えば、MUEと同程度のレベルの障害)についても、あり得る。
そこで、本発明の目的は、所定の障害の生じた記憶領域内のデータを回復できるサーバ装置であってハイパーバイザを実行するサーバ装置の性能の低下を軽減することにある。
ハイパーバイザが、物理的なメモリのうち仮想マシンに割り当てられている記憶領域であり複数の物理領域で構成されている物理割当て領域の全ての物理領域を書込み禁止状態とする。仮想マシンからの書込み先物理領域が書込み禁止状態であることを、サーバ装置内の物理的なプロセッサが特定した場合、ハイパーバイザが、書込み先物理領域について更新有りと管理し、且つ、書込み先物理領域の書込み禁止状態を解除する。スナップショット取得時点になった場合に、ハイパーバイザが、物理割当て領域を構成する全ての物理領域のうち、更新有りの物理領域内のデータを、物理割当て領域とは異なる記憶領域であるコピー領域にコピーする。物理領域の所定の障害が発生したことが検出された場合に、ハイパーバイザが、所定の障害が発生した物理領域である障害領域に記憶されていたデータのコピーを記憶しているコピー領域からデータを回復する。
サーバ装置は、例えば、1又は複数の計算機で構成されていて良い。また、物理領域は、後述する物理ページであっても良いし、物理ページより大きい又は小さい記憶領域であっても良い。
物理的なプロセッサが物理領域にデータを書き込む際に参照する情報である物理領域管理情報(例えばシャドウページテーブル)に、物理割当て領域を構成する全ての物理領域が書込み禁止状態であることが設定されて良い。この場合、物理的なプロセッサは、書込み先領域が書込み禁止状態であることをその物理領域管理情報から特定することができる。
スナップショット取得時点とは、物理割当て領域のスナップショットイメージを確定させる時点である。
物理領域の所定の障害は、MUEであっても良いし、MUE以外の障害であっても良い。なお、データの回復が、コピー領域内のデータを障害領域にコピーすることであるならば、上記所定の障害は、障害領域を含んだメモリの故障では無いことが望ましい。
所定の障害の生じた記憶領域内のデータを回復できるサーバ装置であってハイパーバイザを実行するサーバ装置の性能の低下を軽減することができる。
本発明の一実施例に係るサーバ装置の構成を示す。 図2Aは、シャドウページテーブル(2321)の構成を示す。図2Bは、更新監視テーブル(2521)の構成を示す。図2Cは、メモリ差分情報(252)の構成を示す。 ライトプロテクトとスナップショットイメージの取得とに関する処理のフローを示す。 MUEが発生した場合に行われる処理のフローを示す。 図4のステップ75の障害処理のフローを示す。 図4のステップ79の回復処理のフローを示す。 図6のステップ795及び797のコピー処理のフローを示す。
以下、図面を参照して、本発明の一実施例を説明する。なお、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサによって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)を用いながら行うことができる。このため、処理の主語が、プロセッサとされてもよい。プロセッサは、プロセッサが行う処理の一部又は全部を行うハードウェア回路を含んでも良い。コンピュータプログラムは、プログラムソースから各計算機にインストールされても良い。プログラムソースは、例えば、プログラム配布サーバ又は記憶メディアであっても良い。
図1は、本発明の一実施例に係るサーバ装置の構成を示す。
サーバ装置100の物理的なハードウェア資源(物理資源)1には、例えば、物理的なCPU(Central Processing Unit)(1)、物理的なメモリ(12)、及び、物理的なI/O(Input/Output)デバイス(13)が含まれている。図1によれば、物理CPU(11)、物理メモリ(12)及び物理I/Oデバイス(13)は、それぞれ、複数であるが、以下、説明を分かり易くするため、それぞれ、1つであるとする。物理I/Oデバイス(13)は、例えば、サーバ装置の外部の機器と通信ネットワークを介して通信するための通信インタフェース装置(例えば、HBA(Host Bus Adapter)或いはNIC(Network Interface Card))である。
物理CPU(11)によって、ハイパーバイザ(2)が実行される。ハイパーバイザ(2)は、1以上の仮想マシン(仮想計算機)を起動したり終了したりすることができる。
仮想マシンは、ハイパーバイザ(2)に管理され、LPAR(3)とゲストOS(4)とを有する。
ゲストOS(4)は、LPAR(3)上で実行されるが、実際には、物理CPU(11)における少なくとも1つの物理CPUで実行される。図示しないが、ゲストOS(4)上で、仮想マシンにおけるアプリケーションプログラム等のプログラムが実行される。
LPAR(3)は、論理パーティションの略であり、物理資源(1)がハイパーバイザ(2)によって論理的に分割された資源、つまり、論理的なハードウェア資源である。従って、各LPAR(3)には、論理CPU(31)、論理メモリ(32)及び論理I/Oデバイス(33)が含まれる。論理CPU(31)は、物理CPU(11)に基づく論理的なCPUである。論理メモリ(32)は、物理メモリ(12)に基づく論理的なメモリである。論理I/Oデバイス(33)は、物理I/Oデバイス(13)に基づく論理的なI/Oデバイスである。
以下、各構成要素を詳細に説明する。
物理メモリ(12)は、複数の物理的な記憶領域(以下、物理ページ)で構成されている。
論理メモリ(32)は、複数の論理的な記憶領域(以下、論理ページ)で構成されている。
ゲストOS(4)は、ゲスト論理アドレスとゲスト物理アドレスとを管理する。ゲスト論理アドレスは、ゲストOS(4)上で実行されるアプリケーションプログラム等のプログラムに提供されるメモリ空間のアドレスである。そのメモリ空間の容量は、論理メモリ(32)の容量と一致していることもあれば、違っていることもある(一般に、メモリ空間は、論理メモリ(32)より大きい)。ゲスト物理アドレスは、論理メモリ(32)の論理ページのアドレスである。
ゲストOS(4)は、ゲストページテーブル(41)を有する。ゲストページテーブル(41)は、論理CPU(31)が論理ページにデータを書き込む際に参照する情報である。ゲストページテーブル(41)は、論理ページ毎にエントリを有する。エントリは、ゲスト物理アドレスと、ライトプロテクトフラグ(以下、WPフラグ)とを有する。ゲストOS(4)は、或る論理ページへの書き込みを禁止する場合、その論理ページに対応したWPフラグをONにする。一方、ゲストOS(4)は、或る論理ページへの書き込みを許可する場合、その論理ページに対応したWPフラグをOFFにする。論理CPU(31)は、WPフラグがONになっている論理ページには、データを書き込めず、WPフラグがOFFになっている論理ページに、データを書き込める。
物理CPU(11)における各物理CPUは、物理メモリ(12)におけるどの物理ページで障害が生じたかを表す情報が格納される記憶領域(例えばレジスタ)、例えば、MSR(Model Specific Register)(111)を有する。
ハイパーバイザ(2)は、例えば、下記の機能を有する。
*物理資源1を管理する資源管理部(21)、
*複数のLPAR(3)に物理CPU(11)を割り当てるスケジューラ(22)、
*物理CPU(11)の処理をエミュレーションするCPU仮想化部(23)、
*I/Oの処理を仮想化するI/O仮想化部(24)、及び、
*障害が検出された場合にその障害に対応した処理を行うRAS(Reliability, Availability, Serviceability)部(25)。
資源管理部(21)は、例えば、下記の機能を有する。
*メモリ割り当て情報(2111)を用いて、物理メモリ(12)の各LPAR(3)への割当てを管理するメモリ割り当て管理部(211)、
*CPU割り当て情報(2121)を用いて、物理CPU(11)の各LPAR(3)への割当てを管理するCPU割り当て管理部(212)、
*I/O割り当て情報(2131)を用いて、物理I/Oデバイス(13)の各LPAR(3)への割当てを管理するI/Oデバイス割り当て管理部(213)。
メモリ割り当て情報(2111)は、物理メモリ(12)のどの物理ページ群がどの論理メモリ(32)に割り当てられているかを表す情報である。
CPU割り当て情報(2121)は、物理CPU(11)と論理CPU(31)との対応関係を表す情報である。
I/O割り当て情報(2131)は、物理I/Oデバイス(13)と論理I/Oデバイス(33)との対応関係を表す情報である。
CPU仮想化部(23)は、例えば、下記の機能を有する。
*特権命令のエミュレーションを司る命令エミュレーション部(231)、
*MMU(メモリ管理ユニット)のエミュレーションを実施するMMU仮想化部(232)、
*割り込みをエミュレーションする割り込みエミュレーション部(233)。
MMU仮想化部(232)は、ゲストページテーブル(41)を基にシャドウページテーブル(2321)を作成する。シャドウページテーブル(2321)の詳細は後に述べる。
I/O仮想化部(24)は、DMA(Direct Memory Access)経由のメモリ転送を把握するためのDMA転送エミュレーション部(241)を有する。
RAS部(25)は、例えば、下記の機能を有する。
*障害が発生した際にMSR(111)を解析する障害情報解析部(251)、
*メモリの一部の領域を冗長化するための機能を司るメモリ更新情報管理部(252)。
管理部(252)は、障害発生時に回復処理を司る回復処理部(2523)を有する。また、管理部(252)は、更新管理テーブル(2521)と、メモリ差分情報(2522)とを管理する。更新管理テーブル(2521)は、どの物理ページ内のデータが更新されたかを表す。メモリ差分情報(2522)は、論理的な記憶デバイスであり、例えば、物理ページからコピーされたデータが格納される論理的な記憶領域と、交代メモリ領域とを含んでいる。テーブル更新管理テーブル(2521)、メモリ差分情報(2522)及び交代メモリ領域の詳細は後に述べる。
図2Aは、シャドウページテーブル(2321)の構成を示す。
シャドウページテーブル(2321)は、物理ページ毎にエントリを有する。エントリは、ホスト物理アドレスと、ライトプロテクトフラグ(WPフラグ)(2321(a))と、種々の属性情報とを有する。
ホスト物理アドレスは、物理ページのアドレスである。
WPフラグ(2321(a))は、物理ページへの書き込みを禁止するか否かを表す。WPフラグ(2321(a))がONであれば、物理ページへの書き込みが禁止されている。この場合、物理CPU(11)は、その物理ページにデータを書き込むことができない。一方、WPフラグ(2321(a))がOFFであれば、物理ページへの書き込みが許可されている。この場合、物理CPU(11)は、その物理ページにデータを書き込むことができる。
このようなシャドウページテーブル(2321)が、ゲストページテーブル(41)を基に、ハイパーバイザ(2)によって作成される。その際、ゲストページテーブル(41)に登録されているゲスト物理アドレスに、そのゲストページテーブル(41)を有する仮想マシン内のLPAR(3)に対応したオフセットを加算することで、シャドウページテーブル(2321)に登録されるホスト物理アドレスが算出される。ゲスト物理アドレスは、ゲスト論理アドレスに対応している。このため、シャドウページテーブル(2321)を基に、ゲスト論理アドレスを用いてホスト物理アドレスを特定する(物理ページを特定する)ことができる。
ゲストOS(4)が、ハイパーバイザ(2)を介さずに物理CPU(11)によって実行される。このため、ハイパーバイザ(2)を介さずに、ゲストOS(4)から物理ページにデータを書き込むことができる。例えば、ゲストOS(4)は、そのゲストOS(4)上で実行されるプログラムから、ゲスト論理アドレスを指定した書込み要求を受ける。そのゲストOS(4)を実行する物理CPU(11)が、シャドウページテーブル(2321)を基に、そのゲスト論理アドレスに対応したホスト物理アドレスを特定する。物理CPU(11)が、そのホスト物理アドレスが表す物理ページに、書込み要求に従うデータを書き込む。その際、書込み先の物理ページに対応したWPフラグ(2321(a))がOFFになっていれば、ハイパーバイザ(2)に処理は遷移しないが、書込み先の物理ページに対応したWPフラグ(2321(a))がONになっていれば、ハイパーバイザ(2)に処理が遷移する。
図2Bは、更新監視テーブル(2521)の構成を示す。なお、以下の説明では、論理メモリ(32)が割り当てられている、物理メモリ(12)の全部又は一部を、「物理割当て領域」と言う。また、或る時点での物理割当て領域のイメージを「スナップショットイメージ」と言い、その或る時点のことを「スナップショット取得時点」と言う。また、スナップショットイメージのうち物理割当て領域から別の記憶領域へコピーされたデータを「スナップショットデータ」と言う。
更新監視テーブル(2521)は、物理割当て領域を構成する物理ページ毎に、下記の情報を有する。
*物理ページに対応するホスト物理アドレス、
*書込みがされたか否かの監視を開始した後に物理ページが更新されたか(物理ページに対する書込みが行われたか)否かを表す更新ビット(2521(a))、
*スナップショットデータのコピー先の記憶領域(以下、コピー領域)を表すアドレスであるスナップショットアドレス(2521(b))。
更新ビット(2521(a))がON(1)になっていれば、物理ページに対して更新が行われたということである。
スナップショットアドレス(2521(b))の値として、「N/A」は、Not Assignedの略であり、物理ページに対応するコピー領域が無いこと、言い換えれば、物理ページにデータが書き込まれてから未だその物理ページに対して1度も更新が行われていないことを意味する。以下、N/Aを「無効値」と言う。
更新ビット(2521(a))がOFF(0)であるのにスナップショットアドレス(2521(b))として有効な値(コピー領域のアドレス)が設定されているエントリ(行)がある。そのエントリにおいて、その有効な値は、過去のスナップショットイメージ(最新のスナップショット取得時点より過去のスナップショット取得時点のスナップショットイメージ)におけるスナップショットデータが格納されている記憶領域のアドレスである。この場合、最新のスナップショット時点では、更新ビット(2521(a))がON(1)になっている物理ページ内のスナップショットデータが、その物理ページに対応したスナップショットアドレス(2521(b))が表すコピー領域に、コピーされる。
なお、更新監視テーブル(2521)が有する各エントリは、スナップショットデータのサイズを有しても良い。この場合、監視の単位が、物理ページの単位ではなく、ゲストOS(4)が管理している論理ページの単位となって良い。
図2Cは、メモリ差分情報(252)の構成を示す。
メモリ差分情報(252)は、コピー領域(2522(a))と、交代メモリ領域(2522(b))とを有する。交代メモリ領域(2522(b))は、物理ページの代わりに使用される記憶領域である。
コピー領域(2522(a))の基になっている物理的な記憶領域と、交代メモリ領域(2522(b))の基になっている物理的な記憶領域との一方又は両方が、サーバ装置の内部にあっても良いし(例えば、物理メモリ(12)に含まれていても良いし)、サーバ装置の外部(例えば、外部のストレージ装置)にあっても良い。この場合、例えば、一部のコピー領域(2522(a))の基になっている物理的な記憶領域が、サーバ装置の内部にあって、別のコピー領域(2522(a))の基になっている物理的な記憶領域が、サーバ装置の外部にあっても良い。これは、交代メモリ領域(2522(b))についても同様である。また、コピー領域(2522(a))の基になっている物理的な記憶領域と、交代メモリ領域(2522(b))の基になっている物理的な記憶領域との一方が、サーバ装置の内部にあって、他方が、サーバ装置の外部にあっても良い。サーバ装置の内部に、コピー領域(2522(a))又は交代メモリ領域(2522(b))がある場合、その領域は、物理メモリ(12)内であって、物理割当て領域以外の領域内にあって良い。
以下、本実施例で行われる処理の流れを説明する。
図3は、ライトプロテクトとスナップショットイメージの取得とに関する処理のフローを示す。この処理は、定期的に又は不定期的に実行される。
まず、ハイパーバイザ(2)(CPU仮想化部(23))が、シャドウページテーブル(2321)に登録されている全てのエントリにおけるWPフラグ(2321(a))をONにする(ステップ51)。これにより、物理割当て領域(物理メモリ(12)のうち論理メモリ(32)に割り当てられている領域)を構成する全ての物理ページが、書込み禁止の状態となる。このステップによれば、ゲストOS(4)が書込みを禁止していない論理ページに対応した物理ページについても、書込みが禁止される状態となる。
その後、ハイパーバイザ(2)によってゲスト処理が実行される(ステップ52)。すなわち、ゲストOS(4)が物理メモリ(12)にアクセス可能な状況となる。言い換えれば、このゲスト処理が行われない間は、ゲストOS(4)から物理割当て領域内の物理ページが更新されることは無い。
ステップ52において、或るゲストOS(4)が、そのゲストOS(4)上で実行されるプログラムから、ゲスト論理アドレスを指定した書込み要求を受けたとする。この場合、その要求に応答して、書込み処理が行われる。具体的には、そのゲストOS(4)を実行する物理CPU(11)が、指定されたゲスト論理アドレスに対応したホスト物理アドレスをシャドウページテーブル(2321)から特定し、特定されたホスト物理アドレスが表す物理ページに、書込み要求に従うデータを書込む。
次に、物理CPU(11)が、上記特定されたホスト物理アドレスを有するエントリ(シャドウページテーブル(2321)が有するエントリ)内のWPフラグ(2321(a))がONであるか否かを判断する(ステップ53)。
WPフラグ(2321(a))がOFFであれば(ステップ53:NO)、物理CPU(11)の処理は終了する。その後、いずれかのゲストOS(4)が書込み要求を受けた場合、ステップ52が行われる。
WPフラグ(2321(a))がONであれば(ステップ53:YES)、物理CPU(11)は、物理CPU(11)によって、ハイパーバイザ(2)に処理が遷移される(例えば、物理CPU(11)から、上記特定されたホスト物理アドレスを用いてハイパーバイザ(2)がコールされる)。ハイパーバイザ(2)(メモリ更新情報管理部(25))は、上記特定されたホスト物理アドレスに対応した更新ビット(2521(a))をON(1)にする(ステップ54)。そして、ハイパーバイザ(2)(CPU仮想化部(23))は、上記特定されたホスト物理アドレスを有するエントリ(シャドウページテーブル(2321)が有するエントリ)内のWPフラグ(2321(a))をOFFにする(ステップ55)。これにより、この時点より後の時点で、WPフラグ(2321(a))がOFFとされた物理ページにデータが書き込まれても、ステップ53:NOとなるので、ハイパーバイザに処理が遷移することが無い。このため、サーバ装置の処理性能が低下することが抑えられる。
ハイパーバイザ(2)(メモリ更新情報管理部(25))が、スナップショットイメージの生成が必要か否かを判断する(ステップ56)。具体的には、例えば、更新された物理ページの数が所定の閾値を超えているか否か、及び/又は、一定期間における指定ブランチ命令数が閾値を超えているか否かが判断される。このステップでの判断に使用される情報として、前述の例に代えて又は加えて、I/O要求(書込み及び/又は読出し要求)の数、仮想マシンの実行時間長、仮想マシンの優先度等が採用されて良い。
ステップ56の判断の結果が否定的の場合(ステップ56:NO)、処理は終了する。その後、いずれかのゲストOS(4)が書込み要求を受けた場合、ステップ52が行われる。
ステップ56の判断の結果が肯定的の場合(ステップ56:YES)、ハイパーバイザ(2)(メモリ更新情報管理部(25))が、更新監視テーブル(2521)内の未参照のエントリのうちの1つを参照する(ステップ57)。ステップ51が行われた後にこのステップが初めて行われた場合、例えば、先頭のエントリが参照される。以下、参照されたエントリを、図3の説明において「対象エントリ」と言う。
次に、ハイパーバイザ(2)(メモリ更新情報管理部(25))は、対象エントリにおいて更新ビット(2521(a))がON(1)になっているか否かを判断する(ステップ58)。
更新ビット(2521(a))がOFF(0)であり(ステップ58:NO)、且つ、対象エントリが最終のエントリでなければ(つまり未参照のエントリが未だ有れば)(ステップ63:NO)、ステップ57が行われる。
ステップ58:NOであり、且つ、対象エントリが最終のエントリであれば(つまり、未参照のエントリが無ければ)(ステップ63:YES)、ONとなっている全ての更新ビット(2521(a))がハイパーバイザ(2)(メモリ更新情報管理部(25))によってOFFにされ、処理が終了する。その後、或るタイミングで(例えば直前回のステップ51から一定時間経過した時に)、ステップ51が行われる。
更新ビット(2521(a))がON(1)であれば(ステップ58:YES)、ハイパーバイザ(2)は、対象エントリ内のスナップショットアドレス(2521(b))が有効な値か否かを判断する(ステップ59)。言い換えれば、対象エントリに対応した物理ページに既にコピー領域(2522(a))が対応付けられているか否かが判断される。
ステップ59の判断の結果が否定的の場合(ステップ59:NO)、ハイパーバイザ(2)(メモリ更新情報管理部(25))は、いずれの物理ページに対応付けられていないいずれかのコピー領域(2522(a))を確保する(ステップ60)。そして、ハイパーバイザ(2)(メモリ更新情報管理部(25))は、確保したコピー領域(2522(a))のアドレスを、スナップショットアドレス(2521(b))として対象エントリに登録する(ステップ61)。
ステップ59の判断の結果が肯定的の場合(ステップ59:YES)、又は、ステップ61の後、ハイパーバイザ(2)(メモリ更新情報管理部(25))は、確保されているコピー領域(2522(a))に、対象エントリに対応した物理ページ内のスナップショットデータをコピーする(ステップ62)。その後、対象エントリが最終エントリでなければ(ステップ63:NO)、ステップ57が行われ、対象エントリが最終エントリであれば(ステップ63:YES)、処理が終了する。ステップ63:YESの場合、ONとなっている全ての更新ビット(2521(a))がハイパーバイザ(2)によってOFFにされ、処理が終了する。その後、或るタイミングで、ステップ51が行われる。
以上が、ライトプロテクトとスナップショットイメージの取得とに関する処理である。なお、ステップ57が行われる回数を削減するために、更新管理テーブル(2521)の更新ビット(2521(a))が新たにON(1)になったエントリのみが、ステップ57の対象とされても良い。この場合、更新ビット(2521(a))が新たにON(1)になったエントリがどこであるかを表す情報(例えばテーブル)が、ハイパーバイザ(2)によって管理されても良い。
図4は、MUEが発生した場合に行われる処理のフローを示す。
MUEが発生した場合(ステップ71)、MUEが発生した物理ページ(以下、MUEページ)のホスト物理アドレスが、物理CPU(11)におけるMSR(111)に書き込まれる。ハイパーバイザ(2)(更新情報解析部(251))は、MSR(111)に書き込まれているホスト物理アドレスを特定する(ステップ72)。
ハイパーバイザ(2)(メモリ更新情報管理部(25))は、更新監視テーブル(2521)を参照し(ステップ73)、ステップ72で特定されたホスト物理アドレスがそのテーブル(2521)に登録されているか否かを判断する(ステップ74)。
ステップ74の判断の結果が否定的の場合(ステップ74:NO)、ハイパーバイザ(2)は、障害処理を行う(ステップ75)。この障害処理の詳細は、後に、図5を参照して説明する。
ステップ74の判断の結果が肯定的の場合(ステップ74:YES)、ハイパーバイザ(2)は、ステップ72で特定したホスト物理アドレスを有するエントリ内の更新ビット(2521(a))がOFF(0)であるか否かを判断する(ステップ76)。
ステップ76の判断の結果が肯定的である場合(ステップ76:YES)、ハイパーバイザ(2)は、回復処理を行う(ステップ77)。すなわち、MUEページに対応する更新ビット(2521(a))がOFFであるということは、MUEページに格納されていたデータが、MUEページに対応付けられているコピー領域(2522(a))に格納されているということである(但し、一度も更新されたことの無い物理ページについては、回復すべき必要なデータが無いということである)。このため、回復処理が行われる。なお、この回復処理(ステップ77)の詳細は、後に、図6を参照して説明する。
ステップ76の判断の結果が否定的の場合(ステップ76:NO)、ハイパーバイザ(2)は、障害処理を行う(ステップ75)。MUEページに対応する更新ビット(2521(a))がONであるということは、MUEページに格納されていたデータが、コピー領域(2522(a))にコピーされていないということである。このため、そのMUEページ内のデータを回復することはできず、故に、障害処理が行われる。なお、頻繁に書き換えられる物理ページに関しては、サーバ装置内の図示しないキャッシュ領域に存在する可能性が高い。このため、ステップ76:NOの場合(又は、ステップ74:NO)、ハイパーバイザ(2)が、MUEページ内のデータと同じデータがキャッシュ領域に残っているか否か判断し、同じデータがあれば、その同じデータが、MUEページ或いは交代メモリ領域にコピーされても良い(図6のステップ795又はステップ796と同じ処理が行われても良い)。
図5は、図4のステップ75の障害処理のフローを示す。
ハイパーバイザ(2)が、障害(MUE)が発生した際の、物理CPU(11)の特権レベルを特定する(ステップ751)。その特権レベルを表す情報は、物理CPU(11)のレジスタ或いは物理メモリ(12)の所定の領域(例えば、物理割当て領域以外の領域)などの記憶領域に記憶されている。その情報を参照することで、特権レベルを特定することができる。
ハイパーバイザ(2)が、特権レベルが所定値(例えば重要度が低いことを意味する値)かを確認する(752)。特権レベルは、仮想マシンでどういうプログラムが実行されていたかによって異なる。例えば、MUE発生時にアプリケーションプログラムが実行されていた場合の特権レベルは、MUE発生時にゲストOS(4)が実行されていた場合の特権レベルよりも低い。本実施例では、特権レベルの値が大きい方が、特権レベルは低い。
特権レベルが所定値(例えば3)であれば(ステップ752:YES)、ハイパーバイザ(2)は、MUE以外の障害(例えば、#GP(一般保護例外))を報告(ステップ7549)。報告先は、MUEページが割り当てられている仮想マシン(例えばその仮想マシン内のゲストOS(4))である。ハイパーバイザ(2)は、障害要因を化かし、影響をアプリケーションプログラムのみにするなどの処理を実施する。この場合、MUEが発生したものの、その影響は小さいものとなる。具体的には、例えば、MUE以外の障害の報告を受けた仮想マシンにおいて、ゲストOS(4)によって、アプリケーションプログラムだけが終了される。
一方、特権レベルが所定値でなければ(例えば0であれば)(ステップ752:NO)、ハイパーバイザ(2)は、MUEページが割り当てられている仮想マシン(例えばゲストOS(4))に、MUEを報告する(ステップ753)。その後の処理は、その報告を受けた仮想マシン(ゲストOS(4))次第である。例えば、そのゲストOS(4)は、再起動する。
このような障害処理は、ハイパーバイザ(2)のメモリ更新情報管理部(252)が行うことができる。
図6は、図4のステップ79の回復処理のフローを示す。
ハイパーバイザ(2)の回復処理部(2523)は、回復ポリシーを確認する(ステップ791)。回復ポリシーとは、どのようなケースでどのようにしてデータを回復するかの定義を表す情報である。
回復ポリシーが、「MUEページを使用する」ことを表していれば(ステップ792:YES)、回復処理部(2523)は、コピー領域(2522(a))からスナップショットデータをMUEページにコピーする(ステップ797)。そのコピー領域(2522(a))は、MUEページに対応したスナップショットアドレス(2521(b))から特定される記憶領域である。
回復ポリシーが、「MUEページを使用しない」ことを表しており(ステップ792:NO)、且つ、「交代メモリ領域を新たに作成する」ことを表していれば(ステップ793:YES)、回復処理部(2523)は、交代メモリ領域(2522(b))を確保する(ステップ794)。そして、回復処理部(2523)は、確保した交代メモリ領域(2522(b))に、MUEページに対応したコピー領域(2522(a))内のスナップショットデータをコピーする(ステップ795)。その後、回復処理部(2523)は、シャドウページテーブル(2321)に、その交代メモリ領域(2522(b))のアドレスを、ホスト物理アドレスとして書き込む(ステップ796)。
回復ポリシーが、「MUEページを使用しない」ことを表しており(ステップ792:NO)、且つ、「交代メモリ領域を新たに作成しない」ことを表していれば(ステップ793:NO)、回復処理部(2523)は、シャドウページテーブル(2321)に、MUEページに対応したコピー領域(2522(a))のアドレスを、ホスト物理アドレスとして書き込む(ステップ796)。
図7は、図6のステップ795及び797のコピー処理のフローを示す。
回復処理部(2523)は、MUEページに対応したスナップショットアドレス(2521(a))を確認する(ステップ7951)。
スナップショットアドレス(2521(a))が無効値であるということは、MUEページに、更新がこれまで一度も発生していないということである。この場合(ステップ7952:NO)、回復処理部(2523)は、所定のデータ(例えば、オール0、或いは、0xFFFFFFFF)を、ゲストOS(4)上のプログラムに返す。
スナップショットアドレス(2521(a))が有効な値であれば(ステップ7952:YES)、回復処理部(2523)は、その値が表すコピー領域(2522(a))内のデータを、MUEページ或いは交代メモリ領域にコピーする(ステップ7954)。
以上、上述した実施例によれば、ハイパーバイザ(2)は、ゲストOS(4)が書込みを許可しているか否かに関わらず、ゲストOS(4)に対応した物理割当て領域(ゲストOS(4)が実行される仮想マシンが有する論理メモリ(32)に対応した領域)を構成する全ての物理ページを、書込み禁止の状態とする。そして、書込み禁止の物理ページに対する書込み要求が発生する都度に、ハイパーバイザ(2)が、その物理ページについて更新有りと管理し、且つ、その物理ページの書込み禁止を解除する(書込み許可とする)。その後、スナップショット取得時点(図3のS56:YES)になった場合に、ハイパーバイザ(2)は、更新有りの物理ページ内のデータ(スナップショットデータ)を、物理割当て領域とは別の記憶領域(コピー領域)にコピーする(更新無しの物理ページのスナップショットデータは、その物理ページで保持される)。スナップショットデータのコピー元の物理ページでMUEが発生した場合には、コピー領域からスナップショットデータが回復される。また、書込み許可の物理ページに対する書込み要求が発生した場合には、ハイパーバイザ(2)に処理が遷移することなく、その物理ページに、その書込み要求に従うデータが書き込まれる。従って、MUEページ内のデータを回復することを実現しつつ、ハイパーバイザ(2)を実行するサーバ装置の処理性能が低下する頻度を抑えることができる。
以上、本発明の一実施例を説明したが、本発明は、この実施例に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
例えば、情報の一例としてテーブルが例に採られているが、テーブルで管理される情報は、テーブル以外の形式で管理されても良い。このため、「XXテーブル」を「XX情報」と言うことができる。
また、例えば、更新監視テーブル(2521)には、ホスト物理アドレスに代えて、ゲスト論理アドレス或いはゲスト物理アドレスが登録されても良い。この場合、MSR(111)から特定されたホスト物理アドレス(MUEページのホスト物理アドレス)が、ゲスト論理アドレス或いはゲスト物理アドレスに変換された後に、テーブル(2521)が参照されても良い。
また、例えば、回復ポリシーは、「同一の領域(例えば物理ページ)でMUEが発生した回数がN回未満であれば、その領域(例えばMUEページ)を使用し、その回数がN回以上であれば、別の領域(例えばコピー領域又は新たな交代メモリ領域)を使用する」というポリシーであっても良い(Nは1以上の整数)。この場合、メモリ更新情報管理部(252)は、物理割当て領域における物理ページ毎(及び、物理割当て領域のホスト物理アドレスが割り当てられた記憶領域毎)に、MUEの発生回数を管理して良い。メモリ更新情報管理部(252)(例えば障害情報解析部(251))は、MUEの発生が検出された場合、MUEが発生した記憶領域(例えば物理ページ)の発生回数を更新して良い。回復処理部(2523)は、更新後の発生回数がN回未満であれば、その記憶領域に、コピー領域内のスナップショットデータをコピーして良い。一方、更新後の発生回数がN回以上であれば、回復処理部(2523)は、コピー領域又は新たな交代メモリ領域に、MUEの発生した記憶領域のホスト物理アドレスを割り当てて良い(すなわち、図6のステップ796、又は、ステップ794〜796を行って良い)。
1…物理計算機、2…ハイパーバイザ、3…LPAR、4…ゲストOS

Claims (7)

  1. 物理的なメモリと物理的なプロセッサとを有するサーバ装置で実行されるハイパーバイザであって、
    仮想マシンに割り当てられた前記物理的なプロセッサから物理領域への書込みを制御する書込み制御部と、
    前記物理的なメモリのうち前記仮想マシンに割り当てられている記憶領域であり複数の物理領域で構成されている物理割当て領域を管理する領域管理部と
    を有し、
    (A)前記書込み制御部が、前記物理割当て領域を構成する全ての物理領域を書込み禁止状態とし、
    (B)前記仮想マシンで発生した書込み要求で指定された物理領域である書込み先領域が書込み禁止状態であることを前記物理的なプロセッサが特定した場合、
    (b1)前記領域管理部が、前記書込み先領域について更新有りと管理し、且つ、
    (b2)前記書込み制御部が、前記書込み先領域の書込み禁止状態を解除し、
    (C)スナップショット取得時点になった場合に、前記領域管理部が、前記物理割当て領域を構成する全ての物理領域のうち、更新有りの物理領域内のデータを、前記物理割当て領域とは異なる記憶領域であるコピー領域にコピーし、
    (D)物理領域に所定の障害が発生したことが検出された場合に、前記領域管理部が、前記所定の障害が発生した物理領域である障害領域に記憶されていたデータのコピーを記憶している前記コピー領域を、前記物理的なプロセッサに割り当てられた前記仮想マシンの前記物理割当て領域を構成する物理領域とし、
    前記(B)が、前記(A)の後に行われ、
    前記(C)が、前記(A)の後に行われ、
    前記(C)の後、前記領域管理部が、更新有りの物理領域について、更新有りを更新無しと管理し、その後、再び前記(A)が行われ、
    前記障害領域において前記所定の障害が発生した回数が所定の回数以上の場合、前記(D)を行い、
    前記障害領域において前記所定の障害が発生した回数が所定の回数未満であり、物理領域の所定の障害が発生したことが検出され、且つ、前記障害領域について更新無しと管理されている場合に、
    (E)前記領域管理部が、前記障害領域に記憶されていたデータのコピーを記憶している前記コピー領域からデータを回復し、
    前記(D)において、物理領域の所定の障害が発生したことが検出され、且つ、前記障害領域について更新有りと管理されている場合に、前記領域管理部が、前記所定の障害が発生した際の、前記物理的なプロセッサの特権レベルを特定し、その特権レベルに応じた処理を行う、
    ハイパーバイザ。
  2. 請求項記載のハイパーバイザであって、
    前記(A)において、前記書込み制御部が、前記物理的なプロセッサが物理領域にデータを書き込む際に参照する情報である物理領域管理情報に、前記物理割当て領域を構成する全ての物理領域が書込み禁止状態であることを設定する、
    ハイパーバイザ。
  3. 請求項記載のハイパーバイザであって、
    前記所定の障害は、Memory Uncorrectable Errorである、
    ハイパーバイザ。
  4. 請求項記載のハイパーバイザであって、
    前記(D)において、前記領域管理部が、前記特権レベルが、第1のレベルの場合に、前記所定の障害を、前記障害領域が割り当てられている仮想マシンに報告するが、前記特権レベルが、第2のレベルの場合には、前記所定の障害とは異なる障害を前記障害領域が割り当てられている仮想マシンに報告する、
    ハイパーバイザ。
  5. 請求項記載のハイパーバイザであって、
    前記第1のレベルは、前記障害領域が割り当てられている仮想マシンで前記所定の障害が発生した際にOSが実行されていたことを表すレベルであり、
    前記第2のレベルは、前記障害領域が割り当てられている仮想マシンで前記所定の障害が発生した際にアプリケーションプログラムが実行されていたことを表すレベルである、
    ハイパーバイザ。
  6. 請求項記載のハイパーバイザであって、
    前記(D)において、物理領域の所定の障害が発生したことが検出され、前記障害領域について更新無しと管理されており、且つ、前記障害領域に記憶されていたデータのコピーを記憶している記憶領域が無い場合には、前記領域管理部が、所定のデータを返す、
    ハイパーバイザ。
  7. 物理的なメモリと、
    ハイパーバイザを実行する物理的なプロセッサと
    を有し、
    (A)前記ハイパーバイザが、前記物理的なメモリのうち仮想マシンに割り当てられている記憶領域であり複数の物理領域で構成されている物理割当て領域を構成する全ての物理領域を書込み禁止状態とし、
    (B)前記仮想マシンで発生した書込み要求で指定された物理領域である書込み先領域が書込み禁止状態であることを前記物理的なプロセッサが特定した場合に、
    (b1)前記ハイパーバイザが、前記書込み先領域について更新有りと管理し、且つ、
    (b2)前記ハイパーバイザが、前記書込み先領域の書込み禁止状態を解除し、
    (C)スナップショット取得時点になった場合に、前記ハイパーバイザが、前記物理割当て領域を構成する全ての物理領域のうち、更新有りの物理領域内のデータを、前記物理割当て領域とは異なる記憶領域であるコピー領域にコピーし、
    (D)物理領域に所定の障害が発生したことが検出された場合に、前記ハイパーバイザが、前記所定の障害が発生した物理領域である障害領域に記憶されていたデータのコピーを記憶している前記コピー領域を、前記物理的なプロセッサに割り当てられた前記仮想マシンの前記物理割当て領域を構成する物理領域とし、
    前記(B)が、前記(A)の後に行われ、
    前記(C)が、前記(A)の後に行われ、
    前記(C)の後、前記ハイパーバイザが、更新有りの物理領域について、更新有りを更新無しと管理し、その後、再び前記(A)が行われ、
    前記障害領域において前記所定の障害が発生した回数が所定の回数以上の場合、前記(D)を行い、
    前記障害領域において前記所定の障害が発生した回数が所定の回数未満であり、物理領域の所定の障害が発生したことが検出され、且つ、前記障害領域について更新無しと管理されている場合に、
    (E)前記ハイパーバイザが、前記障害領域に記憶されていたデータのコピーを記憶している前記コピー領域からデータを回復し、
    前記(D)において、物理領域の所定の障害が発生したことが検出され、且つ、前記障害領域について更新有りと管理されている場合に、前記ハイパーバイザが、前記所定の障害が発生した際の、前記物理的なプロセッサの特権レベルを特定し、その特権レベルに応じた処理を行う、
    サーバ装置。
JP2010031976A 2010-02-17 2010-02-17 ハイパーバイザ及びサーバ装置 Expired - Fee Related JP5484117B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010031976A JP5484117B2 (ja) 2010-02-17 2010-02-17 ハイパーバイザ及びサーバ装置
US13/023,214 US8479198B2 (en) 2010-02-17 2011-02-08 Hypervisor and server apparatus capable of restoring data inside a failure area

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010031976A JP5484117B2 (ja) 2010-02-17 2010-02-17 ハイパーバイザ及びサーバ装置

Publications (2)

Publication Number Publication Date
JP2011170477A JP2011170477A (ja) 2011-09-01
JP5484117B2 true JP5484117B2 (ja) 2014-05-07

Family

ID=44370532

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010031976A Expired - Fee Related JP5484117B2 (ja) 2010-02-17 2010-02-17 ハイパーバイザ及びサーバ装置

Country Status (2)

Country Link
US (1) US8479198B2 (ja)
JP (1) JP5484117B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9990237B2 (en) * 2011-02-23 2018-06-05 Red Hat Israel, Ltd. Lockless write tracking
JP5778296B2 (ja) * 2011-12-13 2015-09-16 株式会社日立製作所 仮想計算機システム、仮想化機構、及びデータ管理方法
JP5914145B2 (ja) * 2012-05-01 2016-05-11 ルネサスエレクトロニクス株式会社 メモリ保護回路、処理装置、およびメモリ保護方法
GB2515536A (en) * 2013-06-27 2014-12-31 Ibm Processing a guest event in a hypervisor-controlled system
WO2015069280A1 (en) 2013-11-08 2015-05-14 Empire Technology Development, Llc Memory deduplication masking
WO2015132941A1 (ja) * 2014-03-07 2015-09-11 株式会社日立製作所 計算機
US9940458B2 (en) * 2014-08-07 2018-04-10 Empire Technology Development Llc Flag based threat detection
CN105988874B (zh) 2015-02-10 2020-08-28 阿里巴巴集团控股有限公司 资源处理方法及装置
US10481938B2 (en) * 2015-05-06 2019-11-19 Centurylink Intellectual Property Llc System and method for implementing network experience shifting
US9720846B2 (en) 2015-05-28 2017-08-01 Red Hat Israel, Ltd. Memory swap for direct memory access by a device assigned to a guest operating system
US9772962B2 (en) * 2015-05-28 2017-09-26 Red Hat Israel, Ltd. Memory sharing for direct memory access by a device assigned to a guest operating system
US20210026950A1 (en) * 2016-03-07 2021-01-28 Crowdstrike, Inc. Hypervisor-based redirection of system calls and interrupt-based task offloading
US11275599B1 (en) * 2017-05-09 2022-03-15 Tintri By Ddn, Inc. Hypervisor remote offload for VM data migration between storage devices
KR102008953B1 (ko) * 2017-12-15 2019-08-08 한국전자통신연구원 메모리 오염 감시 장치 및 방법
US10649656B2 (en) * 2017-12-28 2020-05-12 Micron Technology, Inc. Techniques to update a trim parameter in non-volatile memory
US11520611B2 (en) * 2018-08-20 2022-12-06 Intel Corporation Secure public cloud using extended paging and memory integrity

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002202959A (ja) * 2000-12-28 2002-07-19 Hitachi Ltd 動的な資源分配をする仮想計算機システム
JP4679178B2 (ja) 2005-03-01 2011-04-27 富士通株式会社 通信装置及びメモリ装置
US20070180312A1 (en) * 2006-02-01 2007-08-02 Avaya Technology Llc Software duplication
JP4755968B2 (ja) * 2006-12-07 2011-08-24 株式会社東芝 二重化制御装置、及びそのメモリ部の複数ビットエラーの自動修復方法
JP2009199478A (ja) 2008-02-25 2009-09-03 Hitachi Ltd メモリミラーリング自動構成制御方式
JP4783392B2 (ja) * 2008-03-31 2011-09-28 株式会社東芝 情報処理装置および障害回復方法
US8689211B2 (en) * 2009-05-25 2014-04-01 International Business Machines Corporation Live migration of virtual machines in a computing environment

Also Published As

Publication number Publication date
US20110202919A1 (en) 2011-08-18
US8479198B2 (en) 2013-07-02
JP2011170477A (ja) 2011-09-01

Similar Documents

Publication Publication Date Title
JP5484117B2 (ja) ハイパーバイザ及びサーバ装置
US9065706B2 (en) Information processing apparatus, computer-readable recording medium, and control method
US8627140B2 (en) Failure management method and computer
US20080235477A1 (en) Coherent data mover
JP4783392B2 (ja) 情報処理装置および障害回復方法
US8856588B2 (en) Information processing apparatus, control method, and computer-readable recording medium
US10521354B2 (en) Computing apparatus and method with persistent memory
US10223026B2 (en) Consistent and efficient mirroring of nonvolatile memory state in virtualized environments where dirty bit of page table entries in non-volatile memory are not cleared until pages in non-volatile memory are remotely mirrored
US7734842B2 (en) Computer-implemented method, apparatus, and computer program product for managing DMA write page faults using a pool of substitute pages
JP2007183952A (ja) ゲストがメモリ変換されたデバイスにアクセスする方法及び装置
US10140212B2 (en) Consistent and efficient mirroring of nonvolatile memory state in virtualized environments by remote mirroring memory addresses of nonvolatile memory to which cached lines of the nonvolatile memory have been flushed
WO2022193768A1 (zh) 内存读写指令的执行方法及计算设备
US20120226832A1 (en) Data transfer device, ft server and data transfer method
WO2015132941A1 (ja) 計算機
JPWO2010097925A1 (ja) 情報処理装置
JP2019159562A (ja) 情報処理装置、情報処理システム、及びプログラム
US8898413B2 (en) Point-in-time copying of virtual storage
WO2024051292A1 (zh) 数据处理系统、内存镜像方法、装置和计算设备
CN113127263B (zh) 一种内核崩溃恢复方法、装置、设备及存储介质
US8892838B2 (en) Point-in-time copying of virtual storage and point-in-time dumping
WO2015122007A1 (ja) 計算機、及び、ハイパバイザによる資源スケジューリング方法
Kourai Fast and correct performance recovery of operating systems using a virtual machine monitor
JP2021026375A (ja) ストレージシステム
JP2017033375A (ja) 並列計算システム、マイグレーション方法、及びマイグレーションプログラム
US20150269092A1 (en) Information processing device and shared memory management method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120410

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130806

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131003

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140122

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140129

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140218

R150 Certificate of patent or registration of utility model

Ref document number: 5484117

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees