JP5254601B2 - 資源回復するための方法、情報処理システムおよびコンピュータ・プログラム - Google Patents

資源回復するための方法、情報処理システムおよびコンピュータ・プログラム Download PDF

Info

Publication number
JP5254601B2
JP5254601B2 JP2007324593A JP2007324593A JP5254601B2 JP 5254601 B2 JP5254601 B2 JP 5254601B2 JP 2007324593 A JP2007324593 A JP 2007324593A JP 2007324593 A JP2007324593 A JP 2007324593A JP 5254601 B2 JP5254601 B2 JP 5254601B2
Authority
JP
Japan
Prior art keywords
memory
partition
resource recovery
bit
borrowed
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
JP2007324593A
Other languages
English (en)
Other versions
JP2008165777A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2008165777A publication Critical patent/JP2008165777A/ja
Application granted granted Critical
Publication of JP5254601B2 publication Critical patent/JP5254601B2/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0712Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は情報処理システムに関し、特に情報処理システムのために回復(復元)動作を管理するための方法、装置およびコンピュータ・プログラムに関する。
典型的なコンピュータ・システムのデザインはオペレーティング・システム(OS)がクラッシュするのを以下の方法で取扱う。オペレーティング・システムがクラッシュした後、メモリに常駐するメモリ・イメージがOSイメージ中の種々のデータ構造のためのシンボル(記号)定義とともに、予め定義したディスク位置にコピーされる。このコピーはシステム管理者に制御を戻す前に行われる。このプロセスはシステム・ダンプと通常は呼ばれる。メモリ・イメージがコピーされる間、そのオペレーティング・システム・イメージおよびCPU資源(リソース)は利用不能であり、システムの長い機能停止が生じ得る。典型的なシステムにおける何十何百ギガバイトものリアル・メモリ・サイズでのシステム・ダンプが完了するまでに何時間も必要である。CPUおよびメモリ資源はこの動作中、排他的に使用される必要があり、これによってそのダンプ・データが変わってしまうのを回避し、そのダンプ中の診断データが恒久的なストレージに保存されるのを許容する。クラッシュしたオペレーティング・システムの再IPL(再初期プログラム・ロード)がシステム・バンプ動作の後で順番に行われ、これによってシステムをともすれば長く機能停止にする。
従って、前述のような従来技術に係る問題を克服する必要性が存在する。
簡単にいえば、本発明により、資源回復のための情報処理システム、方法およびコンピュータ・プログラムが開示される。その方法は少なくとも1個のビットを少なくとも1個のメモリ・ブロックと関連させることを含む。そのビットはそのメモリ・ブロックのための借り状態を表す。そのビットは資源回復のためにセットされる。資源回復イベントが検知され、そのビットが資源回復のためにイネーブルされるのに応答して所与の期間、そのメモリ・ブロックを借りる。そのビットを借りて、資源回復に関連する情報をその情報が恒久的ストレージに書き込まれるまで一時的にそこに格納する。
他の実施例では、資源回復のための情報処理システムが開示される。その情報処理システムは、メモリおよびそのメモリに通信可能に結合されたプロセッサを含む。その情報処理システムはまたそのメモリおよびプロセッサに通信可能に結合されたパーティション制御モジュールを含む。パーティション制御モジュールは少なくとも1個のビットを少なくとも1個のメモリ・ブロックと関連付ける。そのビットはメモリ・ブロックの借り状態を表す。そのビットは資源回復のためにセットされる。資源回復イベントが検知され、資源回復のためにイネーブルされているビットに応答して所与の期間中、メモリ・ブロックを借りる。そのビットを借りて、その資源回復に関連する情報を、恒久的なストレージにその情報が書き込まれるまでそこに一時的に格納する。
更に他の実施例では、資源回復のためのコンピュータ・プログラムやその読取り可能媒体が開示される。このコンピュータ・プログラムは、少なくとも1個のビットを少なくとも1個のメモリ・ブロックに関連付ける。このビットはメモリ・ブロックのための借り状態を表す。そのビットは資源回復のためにセットされる。資源回復イベントが検知され、資源回復のためにイネーブルされているビットに応答して、所与の期間中、メモリ・ブロックを借りる。その資源回復に関連付けられた情報を、恒久的ストレージにその情報が書き込まれるまでそこに一時的に格納するために、そのビットを借りる。
本発明の1つの効果はシステム・ダンプにより引起される機能停止時間が顕著に短縮され、システムの高レベルの可用性が得られることである。本発明は同じコンピュータにおいてサーバーおよびストレージ・コントローラの両資源を並置することもできる利点があり、これによってそのストレージ・コントローラの大きな読出しキャッシュが一時的に再割当てされるのを許容する。再IPLされたサーバー・イメージがロードされるのをこの一時的な再割当てが許容し、その間にメモリ・イメージがディスクにコピーされる。その本来の利用から一時的に取り上げさせられていた他のメモリの利用がストレージ・コントローラ読出しキャッシュのほかにも使用可能であり、これは本発明が仮想化された環境にも同様に適用されるのを許容する。
本発明の他の効果はシステム・クラッシュからの機能停止時間が特定の構成パラメータと追加のリアル・メモリ・データ構造とを用いて短縮できることである。これらの構成パラメータとデータ構造とは、メモリおよびCPUの資源(リソース)を長期間に亘ってホールドすることになる、システム・ダンプその他の長期間かかる回復動作中に、コンピュータに於けるその制御ファームウエアが一層適切なリアル・メモリの割当てを許容する。
必要に応じて、本発明の詳細な説明がここに開示されるが、開示した実施例は本発明の単なる例示であり、種々の形態で実施できる。従ってここに開示する特定の構造および機能の詳細は、特許請求の範囲を制限するものと解釈してはならず、その基礎となり、また本発明をいろいろに用いて事実上任意の適当な詳細構造を当業者に教示するための代表例として解釈すべきである。更に、ここで使用される用語および句が制限することを企図しておらず、本発明の理解可能な記述を提供することを企図している。
ここで使用する「単数」とも見える表現は1個もしくはそれ以上を意味する。ここで使用する「複数個の」という用語は2またはそれ以上をいう。ここで使用する「他の」という用語は少なくとも第2のもしくはそれ以上を意味する。ここで使用する「含む」および/もしくは「有する」という用語は「含む」(すなわちオープンで閉じていない言語)を意味する。ここで使用する「結合」という用語は必ずしも直接にでも、必ずしも物理的にでもない「結合」を意味する。ここで使用する「プログラム」「ソフトウエア・アプリケーション」等はコンピュータ・システムで実行されるように設計された命令シーケンスと定義される。プログラム、コンピュータ・プログラム、もしくはソフトウエア・アプリケーションはサブルーチン、機能、手順、オブジェクト・メソッド、オブジェクト・インプリメンテーション、実行可能アプリケーション、アプレット、サーブレット(servlet)、ソース・コード、オブジェクト・コード、共有ライブラリ/ダイナミック・ロード・ライブラリおよび/もしくはコンピュータ・システム上で実行されるように設計された他の命令シーケンスを含んでもよい。
別個の図面に亘って同様の参照番号が同一のまたは機能的に類似のエレメントを表し、また詳細な説明とともに明細書に組込まれてその一部を構成する添付の図面は全て本発明による種々の実施例を示し、またその種々の原理および効果を説明するのに役立つ。
例示のコンピューティング環境
図1は本発明の実施例が導入される例示のコンピューティング環境100を示す。一例では、そのコンピューティング環境100が、図1に示すようにIBM(IBM社の登録商標)2107モデル9B2 Enterprize DS8000ディスク・サブシステムに導入される分散コンピューティング環境である。しかしここでは一例としてのみ使用されるだけで本発明がIBM2107システムに限らないことに留意されたい。図の例はそのディスク・サブシステムの一つのコントローラだけを示す。第2の結合されたコントローラは2107システムの一部であるが、簡単にするために図示していない。本発明が単一のシステムおよび分散コンピューティング環境の両方に適用可能であることに留意されたい。
一実施例では、コンピューティング環境100は、オペレーティング・システム・イメージがインスタンス化される複数の論理パーティションを備えたSMPコンピューティング環境である。SMPコンピューティング環境では、同じ処理ノード上の種々のプロセッサ上で実行する幾つかのタスク(プロセス)を並列のアプリケーションが持つことができる。そのコンピューティング環境100は、複数個のネットワーク・アダプタ103を介して相互に結合された複数の処理ノード112、113、114上で動作する。各処理ノード112、113、114はそれ自身のオペレーティング・システム・イメージ(図1の「OSイメージ」)120、121、122とは独立である。各論理パーティション(図1のLPAR A)112、(同LPAR B)113、(同LPAR C)114は複数個の処理装置(図1の「CP」)106をマイクロ・パーティショニングと呼ばれる態様で共有する。マイクロ・パーティショニングでは、処理装置がその同じ処理装置上の、ハイパーバイザ(「パーティション制御モジュール」ともいう)111によって時間的にスライスされることができる。他の実施例では、プロセッサ106を共有する必要はない。各LPARはそれ自身のプロセッサの全てを含み、コンテンツを登録する。処理装置中のL1、L2、およびL3キャッシュは、これらの特定の処理装置106上で実行するのを許容されたLPARにまたがっての実装に依存して共有もしくは専有され得る。各LPAR112、113、114、ハイパーバイザ111は、他の未使用のもしくは割当てられていないメモリ115と同様に、コンピューティング環境(システム)100のリアル・メモリ107のサブシステム中に含まれる。例示の実施例では、これが256ギガバイトのアドレス可能メモリである。
ハイパーバイザ111は一つのLPARから他のLPARへの共有CPU上でのメモリ・マッピング、コンテキスト・スイッチングに関してのLPAR(処理ノード)群112、113、114の制御エレメントであり、ソフトウエアからリアル・ハードウエアへの全ての通信(伝送)に一般的に関係する。CPユニット106およびリアル・メモリ107の間のコネクションは汎用目的コンピュータ上で見られるようにメモリ・バスおよびメモリ・コントローラを介してである。サービス・プロセッサ(SP)130は、コンピューティング環境100における多くのコンピュータへの、それ自身のワイヤリングされた電子ネットワークを含む、制御および装置初期化プロセッサである。ブロック110はハードウエア管理コンソール(HMC)116のために使用されるネットワーク・ポートを許容する接続ブロックである。このコンソール(制御卓ないし操作卓)は、特定のパーティションがメモリ借りを許容するのを許容するといったようなポリシー選択、ならびにパーティションのサイズおよび型のような構成値をシステム管理者がセットするのに使用される。
4個のプロセッサ106のみが図示されているが、もっと少ないあるいはもっと多いプロセッサがこの実施例の変形例で使用され得る。幾つかの実施例では、種々のLPAR112、113、114が処理クラスタの一部となることができる。これらの変形例の全てが本発明の実施例として考慮される。
図2はコンピューティング環境100における典型的なオペレーティング・システム・イメージのためのメモリ・マップの全体像を示すブロック図である。本発明の他の実施例が、サイズおよび型の両方のメモリ割当てを多かれ少なかれ有することができることに留意されたい。図2の上半分にはオペレーティング・システム・イメージ201を示している。オペレーティング・システムはオペレーティング環境で使用されるために構成された資源および機能に基づきオペレーティング・システムによって計算されるサイズでセットされ得るような必要な量のメモリを典型的には有する。リアル・メモリのこの範囲はハイパーバイザ111によるメモリ借りのために典型的にはイネーブルされないであろう。
ブロック209は、本発明の一部として呼び出し得るオペレーティング・システムの一部である割込みハンドラ・プログラムを示す。これはシステム・クラッシュまたはユーザーが開始するシステム・ダンプの後実行されるプログラムである。ブロック206はリアル・メモリ中にピン止めされる(pinned)バッファ・プールを有するデータベースのようなアプリケーションによって使用されるメモリであり、それらはページ・アウトされない。リアル・メモリのこの範囲は典型的にはハイパーバイザ111によって借りているメモリのためにイネーブルされない。ブロック207は典型的なUNIXまたはLINUXのオペレーティング・システムに於けるようなカーネル・バッファ・キャッシュのために使用されるメモリである。このメモリはメモリ中のディスク・ブロックの単なる読出しのために使用される多くのリアル・メモリ・ページを含む。このリアル・メモリの範囲はハイパーバイザ111によって借りているメモリのために典型的にはイネーブルされる。ブロック208は現在割当てられる自由なメモリであるが、将来のデマンド・ページ・リクエストを処理するためのメモリの自由なプールとしてオペレーティング・システムによっては使用されない。リアル・メモリのこの範囲はハイパーバイザ111によって借りているメモリのために典型的にはイネーブルされる。
ハイパーバイザ111はリアル・メモリ管理、マッピングおよび個々のLPAR112、113、114への割当ての責任を負う。メモリ管理およびマッピングを行うためには、ページ・テーブルと一般に呼ばれるデータ構造が使用される。ページ・テーブル中の各エントリは各ページについての情報または情報へのポインタを保持する。本発明の一実施例では、「借りのためのイネーブル」ビット、以下で「借りビット」と呼ばれる新規なビットが、ハイパーバイザ111にどのリアル・メモリ・ページが借りられるかを知らせるのに使用される。オペレーティング・システム122、ストレージ・コントローラ・イメージ120およびHMC116の構成が初期化のときハイパーバイザを呼出し、1個または複数個の借りビットをオンまたはオフにセットするのにリアル・メモリ・ページの適当な状態変化を呼出す。
図1および図2の組合せは図1に示すようなコンピューティング環境100で使用するための情報処理システム101の詳細図を含む。しかし、以下の説明がパーソナル・コンピュータ(例えば、デスクトップもしくはノートブック)やワークステーションなどにも適用できることを理解されたい。換言すると、任意の適切に構成された処理システムが本発明の他の実施例で情報処理システム101として同様に使用できる。情報処理システム101はコンピュータ201および260を含む。
情報処理装置101はまた1個もしくは複数個のプロセッサ106を含む。プロセッサ106はリアル・メモリであるメイン・メモリ107、I/Oサブシステム(117、118、103および102)にI/Oバスを介して通信可能に結合される。メイン・メモリ107はランダム・アクセス・メモリ(RAM)などの揮発性メモリまたは不揮発性メモリであってもよい。メイン・メモリ107に常駐する任意のコンポーネントが、DASD104、電子的に消去可能でプログラム可能な読取専用メモリ・スペース(EEPROMまたはフラッシュ・メモリ)、RAMドライブなどの不揮発性メモリに格納されていてもよいことに留意されたい。情報処理システム101はまたマス・ストレージ・インターフェース102、ターミナル・インターフェース116、I/Oアダプタ・スロットおよびハードウエアのネットワーク・アダプタ103を含む。I/Oハブ117およびI/Oドロワ108間の入出力バスがこれらのコンポーネントを接続する。
マス・ストレージ・インターフェース102がデータ・ストレージ装置104などのマス・ストレージ装置を情報処理システム101に接続するのに使用される。データ・ストレージ装置の一つの特定の型は、コンパクト・ディスク(CD)ドライブなどのコンピュータ読取り可能媒体であり、これはCDやDVDにデータを読み書きするのに使用できる。データ・ストレージ装置の他の型は、例えばJFS2型のファイル・システム動作をサポートするように構成されたハード・ディスクである。一実施例では、マス・ストレージ・インターフェース102は、以下で詳細に説明するストレージ・コントローラ読出しキャッシュ252を含む。
コンピューティング環境100にユーザー・インターフェースを提供するためにコンソールを情報処理システム101に直接接続するのにターミナル・インターフェース116が使用される。システム管理者およびユーザーが情報処理システム101と通信するのを許容するために、非インテリジェントなもしくは完全にプログラム可能なワークステーションとなることができるターミナルが使用される。これらのターミナルは簡単化のために図示しない。これらのターミナルはまた情報処理システム101に接続される周辺装置およびユーザー・インターフェースを含むことができる。ユーザー・インターフェースおよび周辺装置はそのターミナルに含まれるターミナル・インターフェース・ハードウエアによって制御される。ユーザー・インターフェースおよび周辺装置はビデオ・アダプタと、キーボード、ポインティング装置などのためのインターフェースとを含むことができる。
ネットワーク・アダプタ(ハードウエア)103および105が、他のコンピュータとのデータ通信を行うためのネットワーク(図示せず)へのインターフェースを提供する。このようなデータ通信はIPネットワークなどのデータ通信ネットワークを介し、あるいは他の任意の方法で行われてもよい。ネットワーク・アダプタは、一つのコンピュータが他のコンピュータに直接にもしくはネットワークを介してデータを送るハードウエア・レベルのデータ通信を行う。本発明の実施例による送信先の利用可能性を決定するのに有用な通信アダプタの例は、有線のダイアルアップ通信のためのモデム、有線のネットワーク通信のためのイーサネット(IEEE802.3)アダプタ、ワイヤレス・ネットワーク通信のための802.11アダプタを含む。本発明の実施例は今日のアナログおよび/もしくはデジタル技法を含む任意のデータ通信接続、あるいは将来のネットワーク機構を介しての任意のデータ通信接続と協働するように適用することができる。
メイン・メモリ107はハイパーバイザ111、パーティションA(LPAR A)112、パーティションB(LPAR B)113およびパーティションC(LPAR C)114など1個もしくはそれ以上の論理パーティション(LPAR)ならびにメモリ・プール115を含む。図示していないが、メイン・メモリ107中に他のコンポーネントがあってもよいことを理解されたい。メモリ・プール115は、一実施例において各パーティション112、113、114にとって利用可能な未使用なメモリのプールである。ハイパーバイザ111は、一実施例においてファームウエア中にあってよく、論理パーティションの創出、削除および管理を制御する。ハイパーバイザ111は、一実施例において回復論理を含むが、この詳細については後述する。論理パーティション112、113、114は一実施例では、単一のコンピュータ中でそのコンピュータ機能をそれがあたかも2個もしくはそれ以上の独立のコンピュータであるかのようにするためのコンピュータ資源の分配を可能にする(イネーブルする)一組のデータ構造およびサービスである。各論理パーティションには、プロセッサ・タイム、メモリ、オペレーティング・システムなど、それがあたかも独立のコンピュータであるかのように動作するのにそれが必要とする全ての資源が割当てられる。
ハイパーバイザ111は、論理パーティション112、113、114のオペレーティング・システム120、121、122の下で稼動するシステム・ソフトウエアの層である。即ち、ハイパーバイザ111はオペレーティング・システム120、121、122と、物理的プロセッサ106を含む、基になる物理的コンピュータ・コンポーネントとの間で稼動する。それはとりわけ、物理的プロセッサ106上の仮想プロセッサをスケジュールするための、ハイパーバイザ111の機能である。各パーティション112、113、114のOS120、121、122は、スレッドをスケジュールし、スレッドにシステム資源を利用できるようにする機能(メモリ・アクセス、入出力資源へのアクセスなどを含む)を提供するするシステム・ソフトウエアの層である。OS120、121、122はコンピュータ資源へのアクセスのための割当ておよび認可を制御する。OS120、121、122は、キーボードからの入力を認識し、ディスプレイ・スクリーンに出力を送り、磁気ディスク・ドライブ上でファイルおよびディレクトリを追跡し、ディスク・ドライブおよびプリンタなどの周辺装置を制御するといった低レベルの基本タスクを実行する。
OS120、121、122はまたセキュリティを確保する役割があり、権限のないユーザーがシステムをアクセスしないよう、またアクセス権限のある資源のみにスレッドがアクセスするように確保する。本発明の実施例によるマルチスレッド・コンピュータにおけるスレッドをスケジュールするのに有用なオペレーティング・システムはマルチスレッド・オペレーティング・システムであり、その例はUNIX(The Open Groupの商標)、Linux(Linus Torvalds氏の商標)、AIX(IBM社の商標)、IBM社のi5OSおよびそのほかにも多くある。
一実施例では、パーティションB 113がAIX OSなどの汎用目的のOSイメージを含み、パーティションA 112がストレージ・コントローラ・イメージを含むことができる。各パーティション112、113、114はまた1個もしくはそれ以上のメモリ・ブロック205、206、207、208、209、250、251、252、253,254よりなるメモリ201、260を含む。各パーティション112、113、114のOS120、121、122は初期プログラムロード(IPL)を実行することによって初期化される。IPLが実行されると、パーティション112、113、114のリアル・メモリ・ブロック208、207、252の大半が、OS120、121、122の必要性に応じて「借りビット」がイネーブル(「1」)もしくはディスエーブル(「0」)にセットされる。一実施例では、ストレージ・コントローラ・イメージ120を含むパーティションA 112のリアル・メモリ・ブロックがストレージ・コントローラ読出しキャッシュ252のような大型読出しキャッシュの一部となり得る。大抵のオペレーティング・システムはリアル・メモリのための絶対的な最小サイズを有し、これらのブロックは借りのためにはイネーブルされない。
一実施例の「借りビット」は、もし対応するメモリ・ブロックがシステム・ダンプなどの回復アクションのために借りられるなら、ハイパーバイザ111に知らせるデータ構造制御ビットとなる。また、どれだけの長さのメモリ・ブロックを借りることができるか、どの型の回復動作のためにそのメモリ・ブロックを借りることができるかなどを示すメモリ・ブロック208、207、252のための追加のビットを含めることができる。これらのビットはハイパーバイザ111のためのページ・テーブル・データ構造中に置くことができる。「借りビット」はオペレーティング・システムのリクエスト、アプリケーション構成、システム管理者のポリシーに基いてセットされることができる。
ハイパーバイザ111は「借りビット」をセットするために、また適切なデータ構造の必要な更新を行うために各パーティション112、113、114からのインターフェース呼出しを受容れる。ハイパーバイザ111は、借りられるページもしくはページの範囲のアドレスを含むリストもしくはそのリストへのポインタを更新することもできる。ハイパーバイザ111はまた借りられるメモリ・ブロックの総数をモニタすることもできる。OS120、121、122は、更新される「借りビット」の状態をリクエストすることもできる。例えば、もし以前に借りられるようにされたリアル・メモリ(例えば、ピン止めされたメモリ・リクエスト)に維持される特定のページをOS120、121、122が必要とするなら、これらのページの状態が、イネーブルされた「借りビット」からディスエーブルされた「借りビット」に更新され得る。この状態で、ハイパーバイザ111がその状態変化に関連するメモリ・ブロックのための適切なデータ構造を更新する。
もしOSクラッシュなどのイベント(事象)が起こると、そのイベントが起こったパーティションによりダンプ割込みハンドラ209が呼び出される。例えば、パーティションB 113のOSイメージ121がクラッシュする場合を考えてみよう。パーティションBのダンプ割込みハンドラ209がそのイベントを知らせる(post)ためにハイパーバイザ111に常駐する回復論理を呼び出す。回復論理は回復動作モードをそれから開始する。ハイパーバイザ111は、そのパーティション・イメージを凍結するかどうか、もしくはダンプ割込みハンドラ209に知らせて通常のシステム・ダンプ手順を実行するかどうかを決定する。ハイパーバイザ111はパーティションの構成を分析し、高速システムIPLが完了し得るか決定する。高速IPLは、一実施例では、故障したパーティションの恒久的なストレージへのシステム・ダンプと並行して、その故障したパーティションの新しいコピーのIPLである。
故障したパーティションの新しいコピーは未使用メモリ115、借りたメモリ207、208、252および解放されたメモリ113の組合せに初期化される。何故なら故障したパーティションのメモリは進行中のダンプによってフリーにされるからである。一実施例では、ハイパーバイザ111における回復論理はそのパーティションが高速IPLを許容するように構成されているかを決定し、そしてどれだけの量のメモリが割当てられ、借りられ、そして解放されてその高速のIPLを実行する必要があるかを決定する。この必要な量のメモリは、HMC116、ページ・テーブル、およびハイパーバイザ111中の関連したデータ構造に定義されたパーティション構成パラメータから決定されることができる。その決定が高速IPLを行うと一旦されたなら、ハイパーバイザ111中の回復論理が、予め定義されたパーティション、この場合パーティションCを活性化する。これはHMC116の構成に反映され、そしてパーティションBのI/OアダプタをパーティションCに移す。メモリ再割当ておよび借りならびに予め定義したパーティションへのI/Oの移行の組合せは、故障したパーティションを高速IPLするのに必要な総合的な資源を提供する。
回復イベントがハイパーバイザ111に一旦知らされてしまうと、未使用エリア115中で利用できる未使用メモリの量と、パーティションAのための252などの他のパーティションで利用可能なメモリとを決定する。例えば、パーティションB 113のシステム・クラッシュ後、ハイパーバイザ111はパーティションAのための252のストレージ・コントローラ・イメージの借りているイネーブルされた読出しキャッシュとメモリ・プール115中の未使用メモリとの間に十分なメモリが存在するかを決定する。それはHMC116の構成中に定義された最小の必要量に対しその利用可能量を比較し、もしその利用可能量が、最小として定義された量と一致するか超えるならそれは高速IPLを開始する。もしそれが一致しないなら、ハイパーバイザ111はHMC構成からポリシーで定義した順序で他のパーティションから追加の借りのイネーブルされたメモリ・ブロックを探す。一実施例では、情報処理システム101はデフォールト時に借りのためにイネーブルされ種々のパーティション112、114によって借りるように割当てられるメモリとなる、メモリの未使用なプールを含むことができ、もしそのパーティションが高速IPLを行うよう許容されないなら、あるいはクラッシュしたOSイメージに必要な量のメモリをその2個のパーティション間に十分な量もメモリがないなら、ファームウエアはダンプ割込みプログラムが通常のシステム・ダンプ処理を続行することを許容する値を戻す。
もしパーティション(パーティションB 113)が高速IPLのために構成され、そして十分利用可能なメモリがあれば、ハイパーバイザ111中の回復論理がクラッシュしたOSイメージ113のシステム・ダンプおよびIPLを並行して実行することができる。第1の動作はクラッシュしたOSイメージ113に凍結値を戻すことであり、そしてハイパーバイザ111がダイナミック・パーティション動作を介してメモリ・ブロックを必要であれば借りる。例えば、OSイメージ113を凍結した後、ハイパーバイザ111がそのクラッシュしたOSイメージ113のIPLを開始するのに十分なメモリがあるかを判定し、そしてストレージ・コントローラ読出しキャッシュ252を減じることなくそれを終了する。もしフルOSイメージのためにストレージ・コントローラ読出しキャッシュ252を用いずに十分なメモリがあれば、IPLが開始される。IPLが完了すると、生産的な作業が再開する。
ストレージ・コントローラ読出しキャッシュ252の利点の一つは、このメモリが進行中のもしくは将来のディスク書込みの動作、他のLPARメモリ・パフォーマンスに悪影響を及ぼさずに短期間の間使用され得ることであり、ディスク読出しの低下のみが生じる。この例では、故障したパーティションB 113がそのクラッシュ・イベントの直前におそらくはある程度の量のストレージ・コントローラ読出しキャッシュ252を使用していたとする。この例では、この読出しキャッシュの内容はもはや有効ではなく、その結果、読出しキャッシュをパフォーマンスには全く影響させない程度、減少させる。もし十分なメモリが存在しなければ、クラッシュしたOSイメージ113のメモリ・イメージを恒久的なストレージにコピーするという第2の動作を行う。
高速IPLを行うと一旦決定すると、ハイパーバイザ111中の回復論理は、予め定義したパーティション(この例ではパーティションC)を活性化する。これはHML116の構成に反映され、そこでハイパーバイザ111はパーティションCにパーティションBのI/Oアダプタを移行する。メモリ再割当て/借りと予め定義したパーティションへのI/Oアダプタの移行との組合せが高速IPLに必要な全体の資源のためにその故障したパーティションを提供する。
この例でクラッシュしたOSパーティションB 113からメモリを解放するプロセスは未使用メモリ115とストレージ・コントローラ読出しキャッシュ252との間の最小のメモリ要求に合致するのに足るメモリがあってもよいという利点を有するが、所望の量のメモリは合致しないかも知れない。ハイパーバイザ111はパーティションBの新しいコピーの高速IPLを開始することができ、またクラッシュしたOSパーティションBから予め構成した恒久的ストーレッジ104へのデータ移行を並行処理することができる。CPUの状態、レジスタおよび、メモリ・イメージがこの装置にコピーされる。
1ページもしくはある範囲のページがすっかりコピーされるので、ハイパーバイザ111はこれらのページを、クラッシュしたパーティション(パーティションB 113)のOSの再IPLのために利用できるようにする。これは全体のイメージが恒久的ストレージ104にコピーされてしまうまで続く。従って、高速IPLは同時に実行され得るし、新しいパーティションをもっと短い時間で所望のメモリ要求に合わせて構成させることができる。更には、解放プロセスが、借りたメモリをストレージ・コントローラ読出しキャッシュ252に戻すのを開始することができ、それから更に未使用メモリ115が全システム環境への停止期間の影響を減じることができる。
パーティションが初期プログラム・ロード(IPL)されている間に、所望のメモリ・サイズが得られる。あるいはIPLの後でさえ借りプールから利用できる全てのメモリを獲得したり、パーティションBのメモリ・イメージを恒久的ストレージにコピーしたりするのに遅れがある。パーティションC 114はメモリ207に常駐しているメモリ・ブロックにセットされたオプショナルの「借りビット」を有することもできる。これらの「借りビット」およびメモリ・ブロックはパーティションC 114では簡単にするために示されていない。
パーティションBからのOSイメージ113が恒久的ストレージ104に一旦コピーされると、ディスクへのOSイメージのコピーが完了することである、例えばOSイメージ113への特定の装置エラーの形式での状態メッセージが通知される。一実施例では、OSイメージ中の特定の装置からのエラーに基いて、自動化されたタスクもしくは手動のタスクがハイパーバイザ111によって開始される。このタスクはクラッシュしたOSイメージの装置をその幾つかの装置のうちの一つとしてオンラインでもたらす。クラッシュしたOSイメージからのデータのコピー動作およびフォーマット動作が、記号テーブルなどオペレーティング・システムからの適切な対をなすデータを伴う、通常のシステム・ダンプとして開始される。OSイメージはクラッシュしたメモリ・イメージ装置をリリースし、可変オフ動作(vary-off-operation)およびストレージ・コントローラへの特別のコマンドを介してそのストレージ・コントローラに戻す。
完了コードを一旦受取ると、クラッシュしたOSイメージからのメモリがダイナミック・パーティション動作を介して適切な所有するパーティションに戻される。例えば、ハイパーバイザ111中の回復論理は、どれだけ多くのメモリがそのコピーされたOSイメージ120、ストレージ・コントローラ読出しキャッシュ252、およびメモリ・プール115などの利用可能なメモリに戻される必要があるかを決定するためにメモリ計算を実行するか決定する。もし所望の状態のイメージを獲得するために、そのコピーされたOSイメージ113のために何らかのメモリがなおも必要であれば、ハイパーバイザ111はこのメモリをOSイメージ113にダイナミックに加える。ハイパーバイザ111はOSイメージ113から余分のメモリがあればそれを利用可能な未使用メモリ115に戻す。これらの1つもしくはそれ以上のメモリ再割当てステップは互いに並行してもしくは順次に行うことができる。全てのページがそれらの個々の所有者(オーナー)に戻されると、ハイパーバイザ111はパーティションBの定義を削除し、パーティションCをパーティションBに命名し直す。
このように、本発明はシステム・クラッシュなどの回復動作中、システム停止時間を減じる。本発明は追加のデータ構造制御ビットを介し、仮想化されたパーティション112、113、114とハイパーバイザ111との間の通信を提供する。制御ビットがハイパーバイザ111のリアル・メモリ割当て構造に置かれる。そのリアル・メモリ・ブロックは、システム・ダンプなどの回復動作中使用するために、主たるオーナーのパーティションから借りることができる。その等価のもしくは同じリアル・メモリ・ブロックは回復動作の完了後、主たるオーナーのパーティションに戻される。各メモリ・ブロックもしくはページのグループは、このページを回復動作のために借りることができるかということをハイパーバイザ111に知らせる追加の1個もしくは複数個のビット、即ち「借りビット」を有することができる。ページを借りることができるかということを決定するには1ビットで十分であるが、何かをどれくらいの長さ借りることができるかということを更に分類するのに追加のビットを使用することができる。一実施例は回復動作の長さおよび/もしくはクラス(分類)の分のビット数を有することができる。これらの分類はグループ分けの型として分もしくは時間の単位での回復動作として分類され得る。
仮想化された資源でもって適切に構成されたコンピュータにおいて回復動作のイベントが一旦行われると、ハイパーバイザ111は故障したパーティションの古いメモリ・イメージを保存しながら、故障したパーティションの高速の再IPLをイネーブルするためにメモリ資源およびCPU資源をリスト構造およびそれらの構造へのポインタを介して借りることができる。再IPLと並行して、故障したパーティション・メモリ・イメージを恒久的なストレージに書き込むことができる。故障したパーティション・メモリ・イメージが恒久的なストレージに一旦書き込まれてしまうと、パーティション制御モジュールはその借りたページをそれらの以前のオーナーにダイナミックに「戻す」ことができ、こうしてシステム機能およびパフォーマンスをフルに復元する。
本発明の実施例が、完全に機能的なコンピュータ・システムのコンテキストにおいて記述されているが、実施例はCDおよびその等価物、フレキシブル・ディスクもしくは他の形式の記録可能媒体を介して、あるいは任意の型の電子転送機構を介してプログラム製品として頒布されることができる。
「借りビット」をセットするプロセス
図3は高速システム・ダンプ手順のために「借りビット」をセットするプロセスを説明する動作フローチャートである。図3の動作フローチャートはステップ302で始まり、ステップ304に直接進む。ステップ304では、情報処理システム101がパーティションA 112、パーティションB 113など複数個の仮想化されたパーティションでもって構成される。ステップ306では、各パーティション112、113、114が初期プログラム・ロードされ、これによって各パーティション112、113、114のリアル・メモリ・ブロック205、206、207、208、250、251、252、253が初期化される。また、「借りビット」がメモリ・ブロックもしくはある範囲のメモリ・ブロックごとにイネーブルもしくはディスエーブルされる。
ハイパーバイザ即ちパーティション制御モジュール111はステップ308で、「借りビット」をセットするリクエストを受容れ、リアル・メモリ・ページ位置を、イネーブルの借りビットでもってページ・テーブル・エントリを介してマークする。パーティション制御モジュール111はまた、借りることのできるページもしくはページ範囲のアドレスでもってリストもしくはリストへのポインタのいずれかを更新する。パーティション制御モジュールは情報処理システム101で借りることができるページの総数を再計算することもできる。
ステップ310で、パーティション制御モジュール111はパーティションA 112、パーティションB 113中の各オペレーティング・システム(OS)からリクエストを受けて特定のページをリアル・メモリ中に保持させることもできる。換言すると、オペレーティング・システム120、121はメモリ・ブロックの「借りビット」をイネーブルからディスエーブルに変化させるようにリクエストする。これは、パーティションA 112およびパーティションB 113中のオペレーティング・システム120、121がそれらのアプリケーションの通常の使用を通じて稼動した後に生じ得る。
ステップ312で、パーティション制御モジュール111が、「借りビット」をセットされないようにするリクエストを受容れる。パーティション制御モジュール111はリアル・メモリ・ブロック位置をディスエーブルという「借りビット」でもってマークし、またページもしくはページ範囲のアドレスを除去するリストもしくはリストへのポインタのいずれかを更新する。これはメモリ・ブロックをもはや借りることができないことを示す。パーティション制御モジュール111は情報処理システム101中の借りることができるページの総数を再計算することもできる。
ステップ314で、パーティション制御モジュール111が1個もしくはそれ以上のパーティション113、114で回復動作を必要とするイベントが生じたか検知する。例えば、パーティション制御モジュール111はパーティションB 113のオペレーティング・システム121がクラッシュしたことを検知する。パーティション制御モジュール111はパーティションB 113のダンプ割込みハンドラ209からの回復動作リクエストを受取る。この制御は図4の入り口Aに進み、パーティション制御モジュール111がクラッシュしたOSイメージ121を凍結するかどうか、あるいは通常のダンプ手順を実行するかどうか判定することができる。
図4および図5はシステム・ダンプおよびIPL動作を並行して実行するプロセスを説明する、動作のフローチャートである。図3からの制御の流れは図4の入口Aに進む。パーティション制御モジュール111は、ステップ402で、パーティションがどのように構成されるかに基いて高速IPLが完了できるかを判定する。一実施例では、パーティション制御モジュール111が、クラッシュしたOSイメージ121のためにどれだけ多くのメモリを借りる必要があるのか判定する。
パーティション制御モジュール111が、ステップ404で、情報処理システム101がクラッシュしたOSイメージを回復させるに足るメモリを含むか判定する。もしこの判定の結果がノーであれば、パーティションB 113がステップ406で通常のダンプ手順を使用するように通知される。また、もしパーティション制御モジュールが、パーティションBは高速IPL動作のために構成されていないと判定するなら、パーティション制御モジュール111は通常のダンプ手順を実行するようにパーティションB l13に通知する。
ステップ410では、もしこの判定の結果がイエスであれば、パーティション制御モジュール111によって凍結される凍結値をパーティションB 113中のクラッシュしたOS121にパーティション制御モジュール111が戻す。パーティション制御モジュール111はまた他のパーティションからの必要な借りページと、IPLのパーティションBのOS121に新しいパーティションC 114を構築するのに足りるメモリを割当てるために未使用メモリ・スペースとをダイナミック・パーティション動作を介してリクエストすることを開始する。制御は図5の入口Bに進む。
ステップ410と並行に、パーティション制御モジュール111はステップ412で、パーティションBのメモリ・イメージを恒久的ストレージ104にコピーし始める。それがページもしくはページの範囲をコピーする際、パーティション制御モジュール111はこれらのページをパーティションBのOS121の再IPLのために利用できるようにする。各ページもしくはページの範囲がコピーされる際、パーティション制御モジュール111はこれらのページ位置をパーティションC 114のための利用可能なメモリに加える。これは全イメージがコピーされるまで続く。制御は図5の入口Bに進む。
定義され、作り出されるべき十分なメモリがパーティションCに利用できると、パーティション制御モジュール111が、ステップ502で、パーティションBのためのI/OをパーティションCに移行する。パーティションCのための全てのメモリがそのパーティションを作り出すために利用できなければならないわけではなく、必要な最少量あればよいことに留意されたい。パーティション制御モジュール111は、ステップ504で、パーティションC 114においてパーティションB 113のOS121をIPLする。パーティション制御モジュール111は、ステップ506で、恒久的なストレージにコピーされているパーティションBのメモリ・イメージについて完了コードを受取る。そこでパーティション制御モジュール111は、借りたページをそれらを所有しているパーティションに戻し始める。全てのページが戻されると、パーティション制御モジュール111は、ステップ508で、パーティションBの定義をその構成から削除し、パーティションCをパーティションBに命名し直す。制御の流れがステップ510で出る。
制限しない例
当業者には知られているが、本発明は、ハードウエアもしくはソフトウエアで、あるいはハードウエアおよびソフトウエアの組合せで実施できる。しかし、本発明は、その一実施例ではソフトウエアで実施される。このシステムもしくは方法は、好適な実施例に関連して開示される本発明の原理によれば、開示しもしくは請求項に挙げた個々の機能やステップを実行するための別個のエレメントや手段を有する単一のコンピュータで実施されても、または開示しもしくは請求項に挙げた個々の機能やステップのうちの任意のもののパフォーマンスを組み合わせる1個以上のエレメントもしくは手段を実施する単一のコンピュータで実施されてもよいし、分散コンピュータ・システムの中に配列され、当業者に知られたような任意の適切な手段によって相互接続されていてもよい。
好適な実施例と関連して説明してきた本発明の原理によれば、本発明および本発明の原理は任意の特定の種類のコンピュータ・システムには制限されないが、当業者には知られているように、説明してきた機能や方法ステップを実行するように配列された任意の汎用コンピュータでもって使用されても良い。当業者によく知られるように、そのようなコンピュータの動作は、前述の通り、コンピュータの動作もしくは制御で使用される媒体上に含まれるコンピュータ・プログラムに従っていてもよい。コンピュータ・プログラム製品を保持もしくは包含するように使用され得るコンピュータ媒体は、当業者によく知られるように、埋め込みメモリのようにコンピュータ装備品であっても、ディスクなどの移動可能な媒体であっても良い。
本発明は特定のコンピュータ・プログラム、論理、言語、もしくは命令に制限されないが、当業者にはよく知られるように、そのような任意の適切なプログラム、論理、言語、もしくは命令でもって実施されてもよい。開示した本発明の原理を制限することなく、特にそのような任意のコンピューティング・システムが少なくとも一つのコンピュータ読取り可能媒体を含み、その読取り可能媒体からコンピュータがデータ、命令、メッセージ、またはメッセージ・パケット、および他のコンピュータ読取り可能情報を読み出すことができるようにする。コンピュータ読取り可能媒体は、ROMなどの不揮発性メモリ、フラッシュ・メモリ、フレキシブル・ディスク、ディスク・ドライブ・メモリ、CD−ROM,および他の恒久的なストレージを含んでいてもよい。更に、コンピュータ読取り可能媒体は、例えばRAMなどの揮発性ストレージ、バッファ、キャッシュ・メモリおよびネットワーク回路を含んでいてもよい。
更に、コンピュータ読取り可能媒体が、ネットワーク・リンクおよび/もしくはネットワーク・インターフェースなどの一時的な状態の媒体におけるコンピュータ読取り可能情報を含んでもよい。これには、そのようなコンピュータ読出し可能な情報をコンピュータが読み出すことができる、有線もしくは無線のネットワークも含まれる。
本発明の特定の実施例を開示したが、当業者はその特定の実施例に対し本発明の要旨および範囲から逸れずに変更を加えることができることを理解されよう。従って、本発明の範囲は特定の実施例に制限されるのではなく、特許請求の範囲の各請求項が本発明の範囲内の任意かつ全ての応用例、変形例および実施例を包含することを意図している。
本発明の実施例による例示のコンピューティング環境を示すブロック図である。 本発明の実施例によるメモリ借りに使用するのに望ましいメモリの領域を示すストレージ・コントローラ・イメージおよびUNIXサーバー・イメージの両方の高レベルのメモリ割当てマップを示す図である。 本発明の実施例による回復動作で使用される1個以上のメモリ・ブロックを借りるのをイネーブル(もしくはディスエーブル)する例示のプロセスを説明する動作フローチャートである。 本発明の実施例による高速のシステム・ダンプおよび並行したIPL動作などの回復動作を実行する例示的なプロセスを示す動作フローチャートである。 本発明の実施例による高速のシステム・ダンプおよび並行したIPL動作などの回復動作を実行する例示的なプロセスを示す動作フローチャートである。
符号の説明
100 コンピューティング環境
101 情報処理システム
102 マス・ストレージ・インターフェース(FC)
103 ネットワーク・アダプタ(NIC)
104 データ・ストレージ装置(DASD)
105 ネットワーク・アダプタ
106 プロセッサ(CP)
107 リアル・メモリ
108 I/Oドロワ
110 接続ブロック(MGTポート)
111 ハイパーバイザ/パーティション制御モジュール
112、113、114 処理ノード/論理パーティション(LPAR)
115 未使用メモリ
116 ハードウエア管理コンソール(HMC)
117 I/Oハブ
120、121、122 オペレーティング・システム・イメージ(OSイメージ)
130 サービス・プロセッサ(SP)

Claims (12)

  1. 情報処理システム上で資源回復するための方法であって、
    第1パーティション内のメモリに含まれる少なくとも1個のメモリ・ブロックに、前記メモリ・ブロックを借りることができるか否かを示す少なくとも1個のビットを関連付けるステップと、
    前記資源回復のために前記ビットをセットするステップと、
    第2のパーティションについて資源回復イベントを検知するステップと、
    資源回復のためにイネーブルされている前記ビットに応答して、前記資源回復に関連する情報を、該情報が恒久的ストレージに書き込まれるまで、対応する前記メモリ・ブロック中に一時的に格納するために所与の期間、前記メモリ・ブロックを借りるステップと、
    前記第2のパーティションのメモリ・イメージを前記恒久的ストレージにコピーするステップと、
    前記コピーするステップに平行して、借りた少なくとも1個のメモリ・ブロックと、前記コピーからフリーになった追加のブロックのメモリとに基づいて、第3のパーティションを作り出すステップとを含む、方法。
  2. 前記第3のパーティションが作り出されるのを判定するステップと、
    前記第2のパーティションに関連する少なくとも1個の入出力動作を前記第3のパーティションに移行させるステップと、
    前記第3のパーティション上で前記メモリ・イメージを初期プログラム・ロードするステップと
    を更に含む、請求項1に記載の方法。
  3. 前記メモリ・イメージが前記恒久的ストレージにコピーされたと判定するステップと、 前記第2のパーティションを削除するステップと、
    前記第3のパーティションを前記第2のパーティションと命名し直すステップと、
    前記借りたメモリ・ブロックを夫々に戻すステップと
    を更に含む、請求項1に記載の方法。
  4. 前記資源回復イベントを検知するステップが、
    前記資源回復イベントのために必要なメモリの量を判定するステップと、
    利用できないとして回復のためにセットされた前記ビットにより少なくとも一部に実質 的に十分なメモリがないと識別されるのに応答して、通常のシステム・ダンプ処理を実行するように前記資源回復イベントに関連するパーティションに通知するステップと、
    利用できるとして回復のためにセットされた前記ビットにより少なくとも一部に実質的に十分なメモリがあると識別されるのに応答して、所与の期間、前記メモリ・ブロックを借りるステップと
    を含む、請求項1に記載の方法。
  5. オペレーティング・システム・リクエスト、
    アプリケーション構成、および
    システム管理者ポリシー
    のうちの少なくとも1個に基き、資源回復のための前記ビットがセットされる、請求項1に記載の方法。
  6. メモリ・ブロックを借りることのできる期間、および
    メモリ・ブロックが利用することのできる資源回復イベントの型
    のうちの少なくとも1個を前記ビットが示すことができる、請求項1に記載の方法。
  7. メモリと、
    前記メモリに通信可能に結合されたプロセッサと、
    前記メモリおよび前記プロセッサに通信可能に結合されたパーティション制御モジュールとを含み、前記パーティション制御モジュールが、
    第1パーティション内のメモリに含まれる少なくとも1個のメモリ・ブロックに、前記メモリ・ブロックを借りることができるか否かを示す少なくとも1個のビットを関連付ける手段と、
    源回復のために前記ビットをセットする手段と、
    第2のパーティションについて資源回復イベントを検知する手段と、
    資源回復のためにイネーブルされている前記ビットに応答して、前記資源回復に関連する情報を、該情報が恒久的ストレージに書き込まれるまで、対応する前記メモリ・ブロック中に一時的に格納するために所与の期間、前記メモリ・ブロックを借りる手段と、
    前記第2のパーティションのメモリ・イメージを前記恒久的ストレージにコピーする手段と、
    前記コピーするステップに平行して、借りた少なくとも1個のメモリ・ブロックと、前記コピーからフリーになった追加のブロックのメモリとに基づいて、第3のパーティションを作り出す手段とを含む、
    資源回復するための情報処理システム。
  8. 前記パーティション制御モジュールが、
    前記第3のパーティションが作り出されるのを判定する手段と、
    前記第2のパーティションに関連する少なくとも1個の入出力動作を前記第3のパーティションに移行させる手段と、
    前記第3のパーティション上で前記資源回復イベントに関連する前記メモリ・イメージを初期プログラム・ロードする手段と、
    前記メモリ・イメージが前記恒久的ストレージにコピーされたと判定する手段と、
    前記第2のパーティションを削除する手段と、
    前記第3のパーティションを前記第2のパーティションと命名し直す手段と、
    前記借りたメモリ・ブロックを夫々に戻す手段と
    を更に含む、請求項7に記載の情報処理システム。
  9. 前記資源回復イベントを検知する手段が、
    前記資源回復イベントのために必要なメモリの量を判定する手段と、
    利用できないとして回復のためにセットされた前記ビットにより少なくとも一部に実質的に十分なメモリがないと識別されるのに応答して、通常のシステム・ダンプ処理を実行するように前記資源回復イベントに関連するパーティションに通知する手段と、
    利用できるとして回復のためにセットされた前記ビットにより少なくとも一部に実質的に十分なメモリがあると識別されるのに応答して、所与の期間、前記メモリ・ブロックを借りる手段と
    を更に含む、請求項7に記載の情報処理システム。
  10. オペレーティング・システム・リクエスト、
    アプリケーション構成、および
    システム管理者ポリシー
    のうちの少なくとも1個に基き、資源回復のための前記ビットがセットされる、請求項7に記載の情報処理システム。
  11. メモリ・ブロックを借りることのできる期間、および
    メモリ・ブロックが利用することのできる資源回復イベントの型
    のうちの少なくとも1個を前記ビットが示すことができる、請求項7に記載の情報処理システム。
  12. 請求項1に記載の方法の各ステップをコンピュータに実行させるためのプログラム。
JP2007324593A 2006-12-26 2007-12-17 資源回復するための方法、情報処理システムおよびコンピュータ・プログラム Expired - Fee Related JP5254601B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/616,116 2006-12-26
US11/616,116 US8127099B2 (en) 2006-12-26 2006-12-26 Resource recovery using borrowed blocks of memory

Publications (2)

Publication Number Publication Date
JP2008165777A JP2008165777A (ja) 2008-07-17
JP5254601B2 true JP5254601B2 (ja) 2013-08-07

Family

ID=39544831

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007324593A Expired - Fee Related JP5254601B2 (ja) 2006-12-26 2007-12-17 資源回復するための方法、情報処理システムおよびコンピュータ・プログラム

Country Status (3)

Country Link
US (1) US8127099B2 (ja)
JP (1) JP5254601B2 (ja)
CN (1) CN101211289B (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7778275B2 (en) * 2006-09-29 2010-08-17 International Business Machines Corporation Method for dynamically allocating network adapters to communication channels for a multi-partition computer system
US8495627B2 (en) * 2007-06-27 2013-07-23 International Business Machines Corporation Resource allocation based on anticipated resource underutilization in a logically partitioned multi-processor environment
JP4792065B2 (ja) * 2007-07-16 2011-10-12 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. データ記憶方法
US8352940B2 (en) * 2008-06-09 2013-01-08 International Business Machines Corporation Virtual cluster proxy to virtual I/O server manager interface
US20110154133A1 (en) * 2009-12-22 2011-06-23 International Business Machines Corporation Techniques for enhancing firmware-assisted system dump in a virtualized computer system employing active memory sharing
US20110225459A1 (en) * 2010-03-09 2011-09-15 Microsoft Corporation Generating a debuggable dump file for a virtual machine
US20110225458A1 (en) * 2010-03-09 2011-09-15 Microsoft Corporation Generating a debuggable dump file for an operating system kernel and hypervisor
US9417940B2 (en) 2011-03-23 2016-08-16 Nec Corporation Operations management system, operations management method and program thereof
US8843720B2 (en) * 2011-06-28 2014-09-23 International Business Machines Corporation Dynamic VVDS expansion
US20130212583A1 (en) * 2011-07-20 2013-08-15 Bank Of America Corporation Resiliency tracking for project task management
US8677374B2 (en) * 2011-09-14 2014-03-18 International Business Machines Corporation Resource management in a virtualized environment
US9817733B2 (en) 2011-10-05 2017-11-14 International Business Machines Corporation Resource recovery for checkpoint-based high-availability in a virtualized environment
WO2013080288A1 (ja) * 2011-11-28 2013-06-06 富士通株式会社 メモリ縮退方法及び情報処理装置
KR101867960B1 (ko) * 2012-01-05 2018-06-18 삼성전자주식회사 매니 코어 시스템을 위한 운영체제 동적 재구성 장치 및 방법
CN102929761B (zh) * 2012-11-16 2015-10-28 赛尔网络有限公司 一种应对崩溃性错误的系统及方法
WO2015094260A1 (en) * 2013-12-19 2015-06-25 Intel Corporation Elastic virtual multipath resource access using sequestered partitions
CN104077375B (zh) * 2014-06-24 2017-09-12 华为技术有限公司 一种cc‑numa系统中节点的错误目录的处理方法和节点
JP2016170463A (ja) * 2015-03-11 2016-09-23 富士通株式会社 情報処理装置、カーネルダンプ方法、カーネルダンププログラム
US11151161B2 (en) * 2018-07-06 2021-10-19 Snowflake Inc. Data replication and data failover in database systems
US11201828B2 (en) 2018-10-08 2021-12-14 EMC IP Holding Company LLC Stream allocation using stream credits
US10630602B1 (en) * 2018-10-08 2020-04-21 EMC IP Holding Company LLC Resource allocation using restore credits
CN113326074B (zh) * 2021-06-30 2022-04-15 中国平安人寿保险股份有限公司 延时事件处理方法、装置、计算机设备和存储介质

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07117863B2 (ja) * 1987-06-26 1995-12-18 株式会社日立製作所 オンラインシステムの再立上げ方式
JPH07210429A (ja) * 1994-01-11 1995-08-11 Hitachi Ltd ダンプ取得方法および制御装置および情報処理システム
JPH07234808A (ja) * 1994-02-24 1995-09-05 Toshiba Corp システムダンプ採取方式
JP3481737B2 (ja) * 1995-08-07 2003-12-22 富士通株式会社 ダンプ採取装置およびダンプ採取方法
JP3022768B2 (ja) * 1996-04-24 2000-03-21 日本電気ソフトウェア株式会社 仮想計算機システム
JPH1049407A (ja) * 1996-08-01 1998-02-20 Nec Eng Ltd メモリダンプ方式
US6381682B2 (en) * 1998-06-10 2002-04-30 Compaq Information Technologies Group, L.P. Method and apparatus for dynamically sharing memory in a multiprocessor system
US6088777A (en) * 1997-11-12 2000-07-11 Ericsson Messaging Systems, Inc. Memory system and method for dynamically allocating a memory divided into plural classes with different block sizes to store variable length messages
US6442661B1 (en) * 2000-02-29 2002-08-27 Quantum Corporation Self-tuning memory management for computer systems
JP2001290677A (ja) * 2000-04-07 2001-10-19 Hitachi Ltd 高速ダンプ採取方法
JP2001331351A (ja) * 2000-05-18 2001-11-30 Hitachi Ltd 計算機システム、及びその障害回復方法並びにダンプ取得方法
JP2002041304A (ja) * 2000-07-28 2002-02-08 Hitachi Ltd 論理区画の予備リソース自動付与方法及び論理区画式計算機システム
US6687799B2 (en) * 2002-01-31 2004-02-03 Hewlett-Packard Development Company, L.P. Expedited memory dumping and reloading of computer processors
JP2004280140A (ja) * 2003-03-12 2004-10-07 Nec Soft Ltd メモリダンプ実行方式,方法,およびプログラム
US20050210318A1 (en) * 2004-03-22 2005-09-22 Dell Products L.P. System and method for drive recovery following a drive failure
US20050240806A1 (en) * 2004-03-30 2005-10-27 Hewlett-Packard Development Company, L.P. Diagnostic memory dump method in a redundant processor
US8799706B2 (en) * 2004-03-30 2014-08-05 Hewlett-Packard Development Company, L.P. Method and system of exchanging information between processors
US7308609B2 (en) * 2004-04-08 2007-12-11 International Business Machines Corporation Method, data processing system, and computer program product for collecting first failure data capture information
US7231504B2 (en) * 2004-05-13 2007-06-12 International Business Machines Corporation Dynamic memory management of unallocated memory in a logical partitioned data processing system
US7412545B2 (en) * 2004-07-22 2008-08-12 International Business Machines Corporation Apparatus and method for updating I/O capability of a logically-partitioned computer system
JP2006039763A (ja) * 2004-07-23 2006-02-09 Toshiba Corp ゲストosデバッグ支援方法及び仮想計算機マネージャ
US7509521B2 (en) * 2004-08-23 2009-03-24 Microsoft Corporation Memory dump generation with quick reboot
US7941602B2 (en) * 2005-02-10 2011-05-10 Xiotech Corporation Method, apparatus and program storage device for providing geographically isolated failover using instant RAID swapping in mirrored virtual disks

Also Published As

Publication number Publication date
US20080155553A1 (en) 2008-06-26
JP2008165777A (ja) 2008-07-17
CN101211289B (zh) 2012-03-21
CN101211289A (zh) 2008-07-02
US8127099B2 (en) 2012-02-28

Similar Documents

Publication Publication Date Title
JP5254601B2 (ja) 資源回復するための方法、情報処理システムおよびコンピュータ・プログラム
US20230185681A1 (en) High reliability fault tolerant computer architecture
JP7164770B2 (ja) フォールトトレラントサーバにおけるダーティページ追跡および完全メモリミラーリング冗長性のための方法
JP5600361B2 (ja) ハイパーバイザベースのサーバ二重化システム、その方法およびサーバ二重化コンピュータプログラムが記録された記録媒体
KR102047558B1 (ko) 가상 디스크 저장 기술
US8122212B2 (en) Method and apparatus for logical volume management for virtual machine environment
US9697130B2 (en) Systems and methods for storage service automation
US9400611B1 (en) Data migration in cluster environment using host copy and changed block tracking
JP5619173B2 (ja) 仮想マシンの対称型ライブ・マイグレーション
US8732121B1 (en) Method and system for backup to a hidden backup storage
US9354907B1 (en) Optimized restore of virtual machine and virtual disk data
EP3502877B1 (en) Data loading method and apparatus for virtual machines
US20190332415A1 (en) System and Method for Managing Size of Clusters in a Computing Environment
US10909072B2 (en) Key value store snapshot in a distributed memory object architecture
US20120215970A1 (en) Storage Management and Acceleration of Storage Media in Clusters
CN111488241A (zh) 在容器编排平台实现无代理备份与恢复操作的方法和系统
CN107656834B (zh) 用于基于事务日志恢复主机访问的系统和方法及存储介质
US20130238867A1 (en) Method and apparatus to deploy and backup volumes
JPWO2012017493A1 (ja) 計算機システム及びデータ移行方法
JP2008152663A (ja) ストレージネットワークの性能管理方法、並びに、その方法を用いた計算機システム及び管理計算機
JP2011170477A (ja) ハイパーバイザ及びサーバ装置
US8990520B1 (en) Global memory as non-volatile random access memory for guest operating systems
US11693818B2 (en) Data migration in a distributive file system
US20190377638A1 (en) Storage system spanning multiple failure domains
US20190227957A1 (en) Method for using deallocated memory for caching in an i/o filtering framework

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100819

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120717

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130225

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130418

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160426

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees