(57)【特許請求の範囲】
【請求項１】
ＣＰＵと主記憶装置とＩ／Ｏデバイスを制御するＩ／Ｏ制御装置とを資源として含む計算機を論理区画に割り当てて制御するハイパバイザ、及び前記Ｉ／Ｏデバイスから前記主記憶装置へのデータ転送を前記ハイパバイザからの指示に応答して記録するロギング回路を有し、
前記ハイパザイザは、前記論理区画に割り当てられた主記憶装置の記憶領域である論理記憶領域に格納されているデータを、他の計算機の他のハイパバイザが制御する他の論理区画の論理記憶領域へ移動する第一の移動を行い、
前記ロギング回路は、前記第一の移動中に、前記論理区画の上で動作するＯＳによって制御された前記Ｉ／Ｏデバイスから前記主記憶装置へのデータ転送によって前記主記憶装置に格納されているデータが書き換えられると、書き換えられたデータが格納されている格納位置を示すアドレス及び格納データ量を示すサイズを所定のエントリに記録し、
前記ハイパバイザは、前記論理区画に割り当てられたＣＰＵである論理ＣＰＵを停止し、
前記ハイパバイザは、前記ロギング回路により前記エントリに記録された前記アドレス及び前記サイズで示される前記主記憶装置のデータを、前記他の論理区画の論理記憶領域へ移動する第二の移動を行う
ことを特徴とする仮想計算機システム。
【請求項２】
前記エントリに記録された、前記Ｉ／Ｏデバイスから前記主記憶装置へのデータ転送は、ＤＭＡ転送であることを特徴とする請求項１記載の仮想計算機システム。
【請求項３】
前記エントリに記録されたデータ転送のエントリ数が所定数を超えているときの、前記ハイパバイザによる前記移動する処理の再実行に伴い、前記ハイパバイザは前記指示を再発行することを特徴とする請求項２記載の仮想計算機システム。
【請求項４】
ＣＰＵと主記憶装置とＩ／Ｏデバイスを制御するＩ／Ｏ制御装置とを資源として含む計算機を論理区画に割り当て、前記論理区画に割り当てた前記資源を制御し、前記論理区画で動作するＯＳからの指示に基づいて、前記計算機は、前記Ｉ／Ｏデバイスから前記主記憶装置へのデータ転送の記録をロギング回路へ指示する仮想計算機システムの制御方法であって、
前記計算機は、前記論理区画に割り当てられた主記憶装置の記憶領域である論理記憶領域に格納されているデータを、他の計算機の他の計算機が制御する他の論理区画の論理記憶領域へ移動する第一の移動を行い、
前記ロギング回路は、前記第一の移動中に、前記論理区画の上で動作するＯＳによって制御された前記Ｉ／Ｏデバイスから前記主記憶装置へのデータ転送によって前記主記憶装置に格納されているデータが書き換えられると、書き換えられたデータが格納されている格納位置を示すアドレス及び格納データ量を示すサイズを所定のエントリに記録し、
前記計算機は、前記論理区画に割り当てられたＣＰＵである論理ＣＰＵを停止し、
前記計算機は、前記ロギング回路により前記エントリに記録された前記アドレス及び前記サイズで示される前記主記憶装置のデータを、前記他の論理区画の論理記憶領域へ移動する第二の移動を行う
ことを特徴とする仮想計算機システムの制御方法。
【請求項５】
前記エントリに記録された、前記Ｉ／Ｏデバイスから前記主記憶装置へのデータ転送は、ＤＭＡ転送であることを特徴とする請求項４記載の仮想計算機システムの制御方法。
【請求項６】
前記エントリに記録されたデータ転送のエントリ数が所定数を超えているとき、前記移動する処理を再実行し、前記ロギング回路への指示を再発行することを特徴とする請求項５記載の仮想計算機システムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想計算機システム及びその制御方法に係る。特にある物理計算機上の仮想計算機システム上で稼働中のＯＳ（仮想計算機）を、他の物理計算機上の仮想計算機システムへ移動する際に有用な制御技術に関する。
【背景技術】
【０００２】
計算機システムは、サーバ台数の増加と共にシステムの運用に関する複雑さが増加し、運用コストが問題化している。運用コストを低減する技術として複数サーバを１台にまとめるサーバ統合が注目を集めている。サーバ統合を実現する技術として、一つのコンピュータを任意の割合で論理的に分割する仮想計算機が知られている。ハイパバイザなどのファームウェア（またはミドルウェア）により、物理計算機を複数の論理区画（ＬＰＡＲ：Ｌｏｇｉｃａｌ  ＰＡＲｔｉｔｉｏｎ）に分割し、各ＬＰＡＲに対して計算機資源（ＣＰＵ、主記憶装置、Ｉ／Ｏデバイス）を割当て、各ＬＰＡＲ上でそれぞれＯＳを動作させる仮想計算機を実現するもので、ＣＰＵを時分割で利用するため柔軟なサーバ統合が可能となる。このような仮想計算機の例が特開２００５−３０９５５３号公報（特許文献１）に示されている。
【０００３】
さらに、物理計算機資源の使用率向上あるいは物理計算機ハードウェアの保守等を目的として、複数の物理計算機上の仮想計算機システム間で稼働中のＯＳ（仮想計算機）を移動させることによりシステム運用の柔軟性を向上することができる。このような仮想計算機の移動方式の例が特開平１０−２８３２１０号公報（特許文献２）に示されている。
【０００４】
【特許文献１】特開２００５−３０９５５３号
【特許文献２】特開平１０−２８３２１０号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ハイパバイザからＩ／Ｏデバイスへの介入を無くす（Ｉ／Ｏデバイスの動作をハイパバイザの制御の外に置く）ことによりＩ／Ｏアクセス性能の低下を防ぐことを目的として、Ｉ／ＯデバイスをＬＰＡＲに占有して割り当てる場合がある。ＬＰＡＲ上で動作するＯＳからの指示によりＩ/Ｏデバイスが動作する。この場合、Ｉ／ＯデバイスからのＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送をハイパバイザにより制御できないため、たとえばＬＰＡＲの移動処理に際して、ＬＰＡＲを停止状態にすることによって、Ｉ／Ｏデバイスへの新たな処理要求を抑止し、Ｉ／Ｏデバイスからの継続中のＤＭＡ転送の終了を待って、ＬＰＡＲの移動処理を開始する必要があり、ＬＰＡＲを停止状態にしている時間が長くなる。このためＬＰＡＲ上のＯＳで時間待ちタイムアウトを検出する場合がある。
【課題を解決するための手段】
【０００６】
本発明は、ＬＰＡＲの停止時間を短くするためには、ハイパバイザの動作とハイパバイザに制御されていないＩ/Ｏデバイスによる処理動作を並行させ、並行動作したＩ/Ｏデバイスによる処理結果をハイパバイザの動作に反映できるように記録しておく。
【０００７】
本発明の仮想計算機システムの態様は、ＣＰＵと主記憶装置とＩ／Ｏデバイスを制御するＩ／Ｏ制御装置とを資源として含む計算機を一つ以上の論理区画（ＬＰＡＲ）の各々に割り当て、制御するハイパバイザ、及びハイパバイザの制御の外にある、Ｉ／Ｏデバイスから主記憶装置へのデータ転送を、ハイパバイザからの指示に応答して、記録するロギング回路を有する。
【０００８】
本発明の他の態様である仮想計算機システムの制御方法は、ＣＰＵと主記憶装置とＩ／Ｏデバイスを制御するＩ／Ｏ制御装置とを資源として含む計算機を一つ以上の論理区画の各々に割り当て、一つ以上の論理区画の各々を制御し、一つ以上の論理区画の各々で動作するＯＳからの指示による、Ｉ／Ｏデバイスから主記憶装置へのデータ転送の記録をロギング回路へ指示するハイパバイザによるものである。
【０００９】
本発明のさらに他の態様は、論理区画を、他のハイパバイザが他の計算機の資源を割り当て、制御する他の論理区画に移動する処理の一環として、ハイパバイザからデータ転送の記録をロギング回路へ指示する。
【００１０】
本発明のさらに他の態様は、ハイパバイザによる論理区画を移動する処理を実行中の、Ｉ／Ｏデバイスから主記憶装置へのデータ転送をロギング回路が記録する。
【００１１】
なお、本明細書では、論理区画（ＬＰＡＲ）の移動処理というように、「移動」という用語を用いるが、論理区画に割り当てられた資源を移動先の論理区画に再現する意味で用いる。具体的には、移動元の論理区画に割り当てた論理主記憶の内容を移動先に「複写」し、移動先に複写した論理主記憶の内容をモディファイして、あたかも新たな論理区画を生成する場合、移動元の論理区画に割り当てた論理主記憶の内容を移動先に複写し、移動先の論理区画に仮想計算機で処理を再開し、移動元の論理区画での処理を終了する「移行」の場合などである。
【発明の効果】
【００１２】
本発明によれば、ハイパバイザの動作とハイパバイザに制御されていないＩ/Ｏデバイスによる処理動作を並行させ、並行動作したＩ/Ｏデバイスによる処理結果をハイパバイザの動作に反映できるように記録しておくことにより、ＬＰＡＲ（ＬＰＡＲ上で動作するＯＳ）の停止時間を短くすることができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の一実施形態を図面を用いて説明する。
【００１４】
図１は、本実施形態の仮想計算機システムの構成を示すブロック図である。物理計算機１は、ＣＰＵ(プロセッサ)１０と、主記憶装置２０と、Ｉ／Ｏ(入出力)制御装置３０から構成されている。物理計算機１は、主記憶装置２０上の仮想計算機システムを制御するハイパバイザ２１を動作させる。ハイパバイザ２１は、主記憶装置２０に格納され、ＣＰＵ１０で実行されるソフトウエア、又は物理計算機１のファームウェアとして実現される。ハイパバイザ２１によりＬＰＡＲ(論理区画)２２、ＬＰＡＲ２３が制御されて各ＬＰＡＲ上でＯＳ２４、ＯＳ２５が動作する。物理計算機２も同様に、ＣＰＵ４０と、主記憶装置５０と、Ｉ／Ｏ制御装置６０から構成されている。物理計算機２も主記憶装置５０上のハイパバイザ５１を動作させる。ハイパバイザ５１によりＬＰＡＲ５２、ＬＰＡＲ５３が制御されて各ＬＰＡＲ上でＯＳ５４、ＯＳ５５が動作する。図１では、各々の物理計算機に複数のＬＰＡＲが存在するように示しているが、一つでも良い。物理計算機１、物理計算機２は、それぞれＩ／Ｏ制御装置３０、Ｉ／Ｏ制御装置６０からＩ／Ｏバス４によりＩ／Ｏバススイッチ５を経由してＩ／Ｏデバイス６と接続することで、Ｉ／Ｏデバイス６が共用可能となっている。後述するＬＰＡＲの移動の制御を簡単に説明するためにＩ／Ｏデバイス６を共用できる構成としているが、ＬＰＡＲを移動するためには、移動先に同じ又はそれ以上の資源があればよい。また、物理計算機１と物理計算機２は、通信回線３で接続されていて、ハイパバイザの制御下で通信回線３を通じてハイパバイザ間でデータの転送が実行される。
【００１５】
Ｉ／Ｏアクセス性能を確保するために、Ｉ／Ｏデバイス６をＬＰＡＲ２２、２３、５２、５３に割当て、ハイパバイザ２１はＩ／Ｏデバイス６の制御に関与しない。Ｉ／Ｏデバイス６によるＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送に係る制御はＬＰＡＲ上のＯＳによるものであり、ハイパバイザ２１によって制御できない。
【００１６】
Ｉ／Ｏ制御装置３０、Ｉ／Ｏ制御装置６０はそれぞれＩ／Ｏデバイス６から主記憶装置２０、主記憶装置５０へのＤＭＡ転送状況を記録するロギング回路３１、ロギング回路６１を持つ。ロギング回路３１、ロギング回路６１は、ハードウェア回路として実現しても良いし、ソフトウエア(ファームウェア)として実現しても良い。大規模なＩ／Ｏ制御装置はＣＰＵやメモリを持った処理装置により構成されるので、ソフトウエアによる実現も容易である。ＤＭＡ転送として実行されるデータ転送は、主記憶装置２０や主記憶装置５０からＩ／Ｏデバイス６へのデータ出力と、Ｉ／Ｏデバイス６から主記憶装置２０や主記憶装置５０へのデータ入力とがある。本実施形態の対象は、主記憶装置２０や主記憶装置５０に格納されているデータがＤＭＡ転送により書き換えられる、Ｉ／Ｏデバイス６からのデータ入力に関わるＤＭＡ転送である。
【００１７】
なお、ロギング回路３１、ロギング回路６１は、ＬＰＡＲ上のＯＳからＩ／Ｏデバイスに至るＩ／Ｏパス上のいずれの場所に設けても良いが、Ｉ／Ｏに係るアドレス変換の実行や、ＤＭＡ転送のためのパラメータを認識できるＩ／Ｏ制御装置３０、Ｉ／Ｏ制御装置６０に設けることが望ましい。
【００１８】
ＬＰＡＲ２２、ＬＰＡＲ２３、ＬＰＡＲ５２、ＬＰＡＲ５３は物理計算機の計算機資源を仮想化した計算機資源である、各ＬＰＡＲは、ＣＰＵを仮想化した論理ＣＰＵ、主記憶装置を分割して割り当てた論理主記憶（以下、割り当てた記憶領域を論理主記憶領域と呼ぶ。）、Ｉ／Ｏ制御装置を仮想化した論理Ｉ／Ｏ制御装置を持ち、仮想化されたＩ／Ｏデバイスと接続している。
【００１９】
なお、物理計算機１や物理計算機２を構成するＣＰＵは１つでも良いし、２つ以上であっても良い。同様に各ＬＰＡＲ（ＬＰＡＲ２２、ＬＰＡＲ２３、ＬＰＡＲ５２、ＬＰＡＲ５３）を構成する論理ＣＰＵは１つでも良いし、２つ以上であっても良い。また、ハイパバイザ２１、ハイパバイザ５１に制御されるＬＰＡＲの数も任意で良い。
【００２０】
図２は、ロギング回路３１、ロギング回路６１をハイパバイザ２１、５１から制御するための制御レジスタ２００の構成例を示す。制御レジスタと呼ぶが、Ｉ／Ｏ制御装置３０内に設けた記憶装置(メモリ)を使用しても良い。制御レジスタ２００は、Ｉ／Ｏ制御装置３０が制御するＩ／Ｏデバイス数ｎのデバイス番号２０１に対応して、モード２０２、オフセット２０３、最大エントリ２０４、及びエントリ数２０５の領域を持つ。モード２０２は、ＤＭＡ転送状況をロギングするか否かを示す。オフセット２０３は、ロギング時のＤＭＡ転送状況を記録するバッファ領域（ＤＭＡ転送状況記録領域）の位置を示す。最大エントリ２０４は、ＤＭＡ転送状況記録領域の最大エントリ数を示す。エントリ数２０５は、ＤＭＡ転送状況記録領域の有効エントリ数（ＤＭＡ転送状況を記録した領域の有効なエントリ数であり、次にＤＭＡ転送状況を記録すべきエントリを表す。）を示す。
【００２１】
モード２０２には、「通常」と「ロギング」の二つのモードがあり、その初期値は「通常」であり、ロギングしない。モード２０２が「通常」の場合にオフセット２０３と最大エントリ２０４の設定が可能であり、モード２０２を「ロギング」に設定する前にオフセット２０３と最大エントリ２０４を設定する。モード２０２を「通常」から「ロギング」に設定する際には、エントリ数２０５の内容を０に初期化する。モード２０２が「ロギング」に設定されている場合、デバイス番号２０１に対応したＩ／Ｏデバイス６がＤＭＡ転送を１回行うと、ロギング回路３１によってオフセット２０３で示される位置を先頭とするＤＭＡ転送状況記録領域内のエントリ数２０５で示されるエントリにＤＭＡ転送状況が記録され、エントリ数２０５の内容が１増加される。モード２０２を「ロギング」から「通常」に設定すると、ロギング回路３１によるＤＭＡ転送状況のロギングが停止する。また、エントリ数２０５が最大エントリ２０４で指定されたエントリ数に達した場合もＤＭＡ転送状況のロギングが停止する。
【００２２】
図３は、ロギング回路３１がＤＭＡ転送状況を記録するバッファ領域であるＤＭＡ転送状況記録領域３００の構成例を示す。ＤＭＡ転送状況記録領域３００は、最大エントリ２０４で設定されたエントリ数分の領域を持ち、エントリ番号３０１に対応して、アドレス３０２、サイズ３０３で構成される。アドレス３０２、サイズ３０３は、それぞれＤＭＡ転送により、格納されていたデータが書き換えられた、主記憶装置２０の記憶領域の先頭アドレスと、その記憶領域のサイズを示す。先頭アドレスは、主記憶装置のアドレスであっても、主記憶装置をＬＰＡＲに割り当てた論理主記憶のアドレスであっても、ハイパーバイザはＬＰＡＲへの割り当て情報に基づきアドレス変換すれば良い。
【００２３】
なお、ＤＭＡ転送状況記録領域３００は、Ｉ／Ｏ制御装置３０の内部に設けた記憶装置にあっても、主記憶装置２０内にあってもよい。
【００２４】
図４は、本実施形態のハイパバイザ間でＬＰＡＲの記憶領域の移動制御を示すフローチャートである。以下、図１に示すハイパバイザ２１のＬＰＡＲ２３の論理主記憶領域を、他のハイパバイザ５１のＬＰＡＲ５２の論理主記憶領域として移動する場合を例にして説明する。ハイパバイザ２１は、ＬＰＡＲ２３上のＯＳ２５(論理ＣＰＵの動作)を停止させずに、ハイパバイザ５１へ通信回線３を介して移動制御を開始することを通知し、本処理を起動する。本処理はハイパバイザ２１の処理の一環である。
【００２５】
ハイパバイザ２１は、ロギング回路３１に対する指示として、ＬＰＡＲ２３に割り当てられているＩ／Ｏデバイス６に対応するデバイス番号２０１毎に、ＤＭＡ転送状況記録領域３００の位置を示すオフセット２０３と、ＤＭＡ転送状況記録領域３００の最大エントリ数を示す最大エントリ２０４を制御レジスタ２００に設定し（ステップ４０１）、制御レジスタ２００のエントリ数２０５を０に初期化し、モード２０２をロギングに設定し（ステップ４０２）、ＤＭＡ転送状況の記録を開始させる。
【００２６】
ハイパバイザ２１は、通信回線３を介してＬＰＡＲ２３の論理主記憶領域の内容をハイパバイザ５１のＬＰＡＲ５２の論理主記憶領域に転送する（ステップ４０３）。ステップ４０３の処理中でも、ハイパバイザ２１は、ＬＰＡＲ２３上のＯＳ２５を停止させないため、ＬＰＡＲ２３の論理ＣＰＵによるＬＰＡＲ２３の論理主記憶領域の内容は変更される。このため、ハイパバイザ２１はＬＰＡＲ２３の論理ＣＰＵによるＬＰＡＲ２３の論理主記憶領域の内容変更を検出して、変更された内容をＬＰＡＲ５２の論理主記憶領域に転送する。ＬＰＡＲ２３の論理ＣＰＵの動作はハイパバイザ２１の制御下にあるので、ハイパバイザ２１はＬＰＡＲ２３の論理主記憶領域の内容変更を検出できる。
【００２７】
ハイパバイザ２１は、ステップ４０２で設定したデバイス番号２０１毎に設定した最大エントリ２０４に対してエントリ数２０５が十分少ないかを判定し（ステップ４０４）、対応するデバイス番号２０１の一つでもエントリ数２０５が十分少なくない場合は、リトライ処理(後述)であるステップ４２０へ、十分少ない場合はステップ４０５に進む。実装上は十分少ない値を予め設定しておき、最大エントリ２０４に対する割合ではなく、設定しておいた値とエントリ数２０５とを比較すると容易である。
【００２８】
ハイパバイザ２１は、ＬＰＡＲ２３の論理ＣＰＵの動作を停止し（ステップ４０５）、エントリ数２０５に応じた数のＤＭＡ転送状況記録領域３００のアドレス３０２とサイズ３０３で示される、ＬＰＡＲ２３の論理主記憶領域の内容をＬＰＡＲ５２の論理主記憶領域に転送する（ステップ４０６）。
【００２９】
ステップ４０６の転送は、ＬＰＡＲ２３の論理ＣＰＵの動作が停止した状態で実行される。したがって、ステップ４０６の転送時間が長ければ長いほど、ＬＰＡＲ２３の論理ＣＰＵの動作の停止時間が長くなる。そこでステップ４０４で、転送時間に代わるものとしてエントリ数２０５の大きさを判定する。厳密には、エントリ毎の転送すべき論理主記憶領域のサイズ３０３も考慮した方が良い。エントリ毎のＤＭＡ転送状況記録領域３００のアドレス３０２の切替時間に比べて、転送すべき論理主記憶領域のサイズに依存する転送時間が十分に短い場合、ステップ４０４のように、エントリ数２０５の大きさを判定することで十分である。
【００３０】
ハイパバイザ２１は、ステップ４０２で設定したデバイス番号２０１毎、設定した最大エントリ２０４に対してエントリ数２０５が十分少ないかどうか判定し（ステップ４０７）、対応するデバイス番号２０１の一つでもエントリ数２０５が十分少なくない場合はリトライ処理であるステップ４２０へ、十分少ない場合はステップ４０８に進む。
【００３１】
ハイパバイザ２１は、Ｉ／Ｏバススイッチ５を制御して物理計算機１と物理計算機２の間でＩ／Ｏバススイッチ５の接続を切り替える（ステップ４０８）。ステップ４０８により、物理計算機１とＩ／Ｏバススイッチ５の接続は切り離されて、物理計算機２とＩ／Ｏバススイッチ５の接続が確立される。
【００３２】
ハイパバイザ２１は、ステップ４０２で設定を行ったデバイス番号２０１毎、エントリ数２０５がステップ４０６で転送したエントリ数と同じかを確認して多くなっている場合、増加したエントリ数分の対応するＤＭＡ転送状況記録領域３００のアドレス３０２とサイズ３０３で示されるＬＰＡＲ２３の論理主記憶領域の内容をＬＰＡＲ５２の論理主記憶領域に転送する（ステップ４０９）。このように、ステップ４０６からステップ４０８の間に書き換えられたＬＰＡＲ２３の論理主記憶領域の内容をＬＰＡＲ５２の論理主記憶領域に転送するので、ＬＰＡＲ２３の論理主記憶領域の内容とＬＰＡＲ５２の論理主記憶領域の内容の一致を保証できる。
【００３３】
ハイパバイザ２１は、ＬＰＡＲ２３の論理ＣＰＵの制御情報等を含むＬＰＡＲの制御情報をハイパバイザ５１に転送する（ステップ４１０）。これにより、ＬＰＡＲ５２上で転送されたＯＳ５４を動作させるための全情報の転送が終了し、ハイパバイザ２１は、ハイパバイザ５１に対してＬＰＡＲ２３の全情報の転送が終了したことを通知する（ステップ４１１）。
【００３４】
最後にハイパバイザ２１は、ロギング機構３１に対して、ステップ４０２で設定したデバイス番号２０１毎、モード２０２を通常に設定する（ステップ４１２）ことで、ＬＰＡＲ２３の論理主記憶領域の転送処理が終了する。
【００３５】
図５にステップ４２０のリトライ処理のフローチャートを示す。リトライ回数が予め設定したｍ回未満か判定し、ｍ回未満の場合はステップ５０２へ、それ以外の場合はステップ５０５に進む（ステップ５０１）。
【００３６】
ＬＰＡＲ２３の論理ＣＰＵが停止状態かを判定し、停止状態の場合はステップ５０３へ、それ以外の場合はステップ５０４に進む（ステップ５０２）。ＬＰＡＲ２３の論理ＣＰＵを停止状態から動作状態に変更する（ステップ５０３）。
【００３７】
ステップ４０２で設定したデバイス番号２０１毎に、モード２０２を通常に設定する（ステップ５０４）。この後、ステップ４０２から処理を再開することで、ＬＰＡＲの論理主記憶領域の転送処理をリトライする。ステップ４０２から処理を再開することにより、ロギング回路３１へのＤＭＡ転送状況のロギングの指示も再発行（「通常」から「ロギング」へのモード２０２の再切り替え）されることになる。ステップ４０２から処理を再開することにより、一時的なＩ／Ｏアクセス負荷の増加によりエントリ数２０５が増えたため、ＬＰＡＲ２３の論理主記憶領域の内容をＬＰＡＲ５２の論理主記憶領域に転送する処理が失敗した可能性がある場合（エントリ数２０５が最大エントリ２０４の値を超え、ＤＭＡ転送状況記録領域３００がオーバーフローした場合を含む）にリトライすることで、Ｉ／Ｏアクセス負荷が減少した時に転送処理が成功する。また、ステップ５０１からステップ５０４により、ＬＰＡＲ２３のＯＳ２５の停止時間を短くすることができる。
【００３８】
リトライ回数が予め設定したｍ回以上の場合は、リトライオーバーとしてステップ４１２に進む(ステップ５０５)。ステップ４１２では、ＬＰＡＲ２３の転送処理を中断したことになる。このような場合、ＤＭＡ転送状況記録領域３００の領域を増やすなどの対処の後、再度、ステップ４０１から実行することにより、ＬＰＡＲ２３のＬＰＡＲ５２への転送処理を行う。
【００３９】
本実施形態によれば、ＬＰＡＲにＩ／Ｏデバイスを占有して割り当てた(Ｉ／Ｏデバイスをハイパバイザの制御下に置かない)場合でも物理計算機間でのＬＰＡＲの移動が可能となり、システム運用の柔軟性を向上することができる。
【図面の簡単な説明】
【００４０】
【図１】仮想計算機システムの構成を示すブロック図である。
【図２】ロギング回路を制御するための制御レジスタの構成例である。
【図３】ＤＭＡ転送状況記録領域の構成例である。
【図４】ハイパバイザ間でＬＰＡＲの記憶領域の移動制御を示すフローチャートである。
【図５】リトライ処理を示すフローチャートである。
【符号の説明】
【００４１】
１、２：物理計算機、６：Ｉ/Ｏデバイス、１０、４０：ＣＰＵ、２０、５０：主記憶装置、２１、５１：ハイパバイザ、２２、２３、５２、５３：ＬＰＡＲ、３０、６０：Ｉ／Ｏ制御装置、３１，６１：ロギング回路。
【図１】
0005028304.tif 000002
【図２】
0005028304.tif 000003
【図３】
0005028304.tif 000004
【図４】
0005028304.tif 000005
【図５】
0005028304.tif 000006