(57)【要約】  【課題】  複数のロジカル・パーティションをサポートするコンピュータにおいて故障した物理プロセッサを置換するための方法および装置を提供する。  【解決手段】  複数のロジカル・パーティションをサポートするコンピュータにおいて故障した物理プロセッサを置換する。ロジカル・パーティションは、専用パーティションおよび共有プロセッサ・パーティションを含み、専用パーティションは、物理プロセッサが割り当てられた仮想プロセッサによってサポートされ、共有プロセッサ・パーティションは、仮想プロセッサのプールによってサポートされている。仮想プロセッサのプールには物理プロセッサが割り当てられている。実施形態は、概して、専用パーティションおよび仮想プロセッサのプールに優先度を割り当て、故障した物理プロセッサのチェックストップを検出し、故障した物理プロセッサの状態を検索して取得し、ハイパーバイザによって、専用パーティションおよびプールの優先度の中で最低の優先度を有する専用プロセッサまたはプールに割り当てられた置換物理プロセッサによって故障した物理プロセッサを置換し、故障した物理プロセッサの取得した状態を置換物理プロセッサの状態として割り当てることによって動作する。【選択図】  図３
2009510573.tif 000002
【特許請求の範囲】
【請求項１】
複数のロジカル・パーティションをサポートするコンピュータにおいて故障した物理プロセッサを置換するための方法であって、前記ロジカル・パーティションは専用パーティションおよび共有プロセッサ・パーティションを含み、前記専用パーティションは物理プロセッサが割り当てられた仮想プロセッサによってサポートされ、前記共有プロセッサ・パーティションは仮想プロセッサのプールによってサポートされ、前記プールには物理プロセッサが割り当てられ、前記方法が、
前記専用パーティションおよび前記仮想プロセッサのプールに優先度を割り当てるステップと、
故障した物理プロセッサのチェックストップを検出するステップと、
前記故障した物理プロセッサの状態を検索して取得するステップと、
ハイパーバイザによって、前記専用パーティションおよびプールの前記優先度の中で最低の優先度を有する専用プロセッサまたはプールに割り当てられた置換物理プロセッサによって前記故障した物理プロセッサを置換するステップと、
前記故障した物理プロセッサの前記取得した状態を前記置換物理プロセッサの状態として割り当てるステップと、
を含む、方法。
【請求項２】
前記最低の優先度を有する前記専用パーティションまたはプールが専用パーティションまたはプールであり、
前記故障した物理プロセッサを置換するステップが前記最低の優先度を有する前記専用パーティションを終了させることを含む、請求項１に記載の方法。
【請求項３】
故障した物理プロセッサを置換するための装置であって、該装置は複数のロジカル・パーティションをサポートし、前記ロジカル・パーティションは専用パーティションおよび共有プロセッサ・パーティションを含み、前記専用パーティションは物理コンピュータ・プロセッサが割り当てられた仮想プロセッサによってサポートされ、前記共有プロセッサ・パーティションは仮想プロセッサのプールによってサポートされ、前記プールには物理コンピュータ・プロセッサが割り当てられ、前記物理コンピュータ・プロセッサにはコンピュータ・メモリが動作的に結合され、前記コンピュータ・メモリの内部にコンピュータ・プログラム命令が配されており、この命令が、
前記専用パーティションおよび前記仮想プロセッサのプールに優先度を割り当てることと、
故障した物理プロセッサのチェックストップを検出することと、
前記故障した物理プロセッサの状態を検索して取得することと、
ハイパーバイザによって、前記専用パーティションおよびプールの前記優先度の中で最低の優先度を有する専用プロセッサまたはプールに割り当てられた置換物理プロセッサによって前記故障した物理プロセッサを置換することと、
前記故障した物理プロセッサの前記取得した状態を前記置換物理プロセッサの状態として割り当てることと、
を実行可能である、装置。
【請求項４】
前記最低の優先度を有する前記専用パーティションまたはプールが専用パーティションまたはプールであり、
前記故障した物理プロセッサを置換することが、前記最低の優先度を有する前記専用パーティションを終了させることを含むか、または前記最低の優先度を有する前記専用パーティションをオーバーコミットさせることを含む、請求項３に記載の装置。
【請求項５】
複数のロジカル・パーティションをサポートするコンピュータにおいて故障した物理プロセッサを置換するコンピュータ・プログラムであって、前記ロジカル・パーティションは専用パーティションおよび共有プロセッサ・パーティションを含み、前記専用パーティションは物理プロセッサが割り当てられた仮想プロセッサによってサポートされ、前記共有プロセッサ・パーティションは仮想プロセッサのプールによってサポートされ、前記プールには物理プロセッサが割り当てられ、信号記録媒体上に配され、コンピュータ・プログラム命令を含み、この命令が、
前記専用パーティションおよび前記仮想プロセッサのプールに優先度を割り当てることと、
故障した物理プロセッサのチェックストップを検出することと、
前記故障した物理プロセッサの状態を検索して取得することと、
ハイパーバイザによって、前記専用パーティションおよびプールの前記優先度の中で最低の優先度を有する専用プロセッサまたはプールに割り当てられた置換物理プロセッサによって前記故障した物理プロセッサを置換することと、
前記故障した物理プロセッサの前記取得した状態を前記置換物理プロセッサの状態として割り当てることと、
を実行可能である、コンピュータ・プログラム。
【請求項６】
前記信号記録媒体が記録可能媒体または伝送媒体を含む、請求項５に記載のコンピュータ・プログラム。
【請求項７】
前記最低の優先度を有する前記専用パーティションまたはプールが専用パーティションまたはプールであり、
前記故障した物理プロセッサを置換することが、前記最低の優先度を有する前記専用パーティションを終了させることを含むか、または前記最低の優先度を有する前記専用パーティションをオーバーコミットさせることを含む、請求項５または６に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の分野はデータ処理であり、更に具体的には、複数のロジカル・パーティションをサポートするコンピュータにおいて、故障した物理プロセッサを置換するための方法、装置、および製品に関する。
【背景技術】
【０００２】
１９４８年のＥＤＶＡＣコンピュータ・システムの開発は、コンピュータ時代の幕開けと言われることが多い。それ以来、コンピュータ・システムは極めて複雑なデバイスへと進化している。今日のコンピュータは、ＥＤＶＡＣ等の初期のシステムに比べてはるかに洗練されている。コンピュータ・システムは通常、ハードウェアおよびソフトウェア・コンポーネント、アプリケーション・プログラム、オペレーティング・システム、プロセッサ、バス、メモリ、入出力デバイス等の組み合わせを含む。半導体処理およびコンピュータ・アーキテクチャの向上によってコンピュータの性能がいっそう高度になるにつれて、このハードウェアの高性能を利用するようなもっと洗練されたコンピュータ・ソフトウェアが現れ、結果として、今日のコンピュータ・システムはわずか数年前のものよりもずっと強力となっている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
進歩している領域としては、固有のリソースが割り当てられて別個のオペレーティング・システムを動作させている複数のパーティションにおける多数の実行スレッドの並列処理が挙げられる。コンピュータ・ハードウェアおよびソフトウェアが、高度に並列でロジカル・パーティション化したモデルへとシフトすることで、たった数年前には実質的に存在しなかった高いシステム可用性のチャンスが得られる。高い可用性を維持するためのある機構では、故障が予測されたプロセッサを未使用のプロセッサによって動的に実行時に置換することが可能となる。ただし、これは、置換プロセスが完了するまで故障した物理プロセッサが機能し続けることができる場合である。高い可用性のための別の機構は、完全なプロセッサ状態情報を維持し、破局的なプロセッサ故障の場合であっても（例えばチェックストップ（checkstop））、プロセッサによって実行中の動作を置換物理プロセッサ上で継続することができるようになっている。これらの回復機構における置換物理プロセッサの重要性は明白である。未使用のプロセッサが利用可能な場合は、こういった置換をどこで行うかは明らかである。しかしながら、未使用のプロセッサは一般的に無駄が多くて高価であり、このため、ほとんどのシステムではまれにしか存在しない。プロセッサがチェックストップし、未使用のプロセッサが使用可能でない場合、システムには２つの選択肢がある。すなわち、故障プロセッサが割り当てられているパーティションまたはプールを終了させること、または、基礎にあるハイパーバイザによって、故障プロセッサが割り当てられている仮想プロセッサのパーティションまたはプールが物理的に利用可能であるよりも多くのプロセッサを有するかのように、このパーティションまたはプールを動作させることができる。これらのケースは双方とも望ましくない。前者の場合はパーティションが死んでおり、後者の場合はパーティションが所望の性能レベルで動作していない。確かに、利用しているプロセッサがチェックストップした場合、必ずシステム上のあるパーティションは悪影響を受けるが、偶発的な故障物理プロセッサに基づいて悪影響を受けるパーティションの選択を運に任せることは、最適な手順ではない。
【課題を解決するための手段】
【０００４】
開示する方法、装置、および製品は、複数のロジカル・パーティションをサポートするコンピュータにおいて、故障した物理プロセッサを置換する。ロジカル・パーティションは、専用パーティションおよび共有プロセッサ・パーティションを含む。専用パーティションは、物理プロセッサが割り当てられた仮想プロセッサによってサポートされている。共有プロセッサ・パーティションは、仮想プロセッサのプールによってサポートされている。仮想プロセッサのプールには、物理プロセッサが割り当てられている。この方法、装置、および製品は、概して、専用パーティションおよび仮想プロセッサ・プールに優先度を割り当てること、故障した物理プロセッサのチェックストップを検出すること、故障した物理プロセッサの状態を検索して取得すること、ハイパーバイザによって、専用パーティションおよびプールの優先度の中で最低の優先度を有する専用プロセッサまたはプールに割り当てられた置換物理プロセッサによって故障した物理プロセッサを置換すること、および、故障した物理プロセッサの取得した状態を置換物理プロセッサの状態として割り当てること、を含む。
【０００５】
本発明の前述およびその他の目的、特徴、および利点は、添付図面に示された本発明の例示的な実施形態の以下の更に具体的な説明から明らかとなろう。図面において、同様の参照番号は概ね本発明の例示的な実施形態の同様の部分を表す。
【発明を実施するための最良の形態】
【０００６】
本発明の実施形態による、故障した物理プロセッサを置換するための例示的な方法、装置、および製品について、図１から始まる添付図面を参照して説明する。本発明の実施形態に従って故障物理プロセッサを置換することは、コンピュータにおいて、すなわち自動化コンピューティング機械において実施される。従って、更に詳細な説明のため、図１は、自動化コンピューティング機械のブロック図を示し、これは、本発明の実施形態に従って故障物理プロセッサを置換する際に有用な例示的なコンピュータ（１５２）を含む。図１のコンピュータ（１５２）は、複数の物理プロセッサ（１５６）およびランダム・アクセス・メモリ（１６８）（「ＲＡＭ」）を含み、このＲＡＭは、システム・バス（１６０）を介して、プロセッサ（１５６）およびコンピュータの他の構成要素に接続されている。
【０００７】
ＲＡＭ（１６８）内には、２つのアプリケーション・プログラム（１５８、２１０）、すなわちユーザ・レベルのデータ処理のためのコンピュータ・プログラム命令がストアされている。各アプリケーション・プログラムは、別個のロジカル・パーティションにおいて動作することができる。また、ＲＡＭ（１６８）には、２つのロジカル・パーティション（１０４、２０８）がストアされている。これらは各々、独自のオペレーティング・システム（１５４、２０６）を有する。ここでは、２つのパーティションの図示は任意であり、本発明の実施形態に従って故障プロセッサを置換するための典型的なシステムが２つ以上のかかるパーティションを含むことを単に説明するためのものである。ロジカル・パーティションとは、別個の「仮想」コンピュータとして構成され動作するコンピュータのリソースのサブセットである。各ロジカル・パーティションは、同一コンピュータ上の他のロジカル・パーティションとは独立して動作する。各ロジカル・パーティションは、独自のオペレーティング・システムおよび独自のアプリケーション・プログラムを動作させ、各ロジカル・パーティションには、独立したコンピュータであるかのように動作するために必要なリソースが全て割り当てられており、これには、プロセッサ容量、メモリ、および入出力リソースが含まれる。ロジカル・パーティションは、物理プロセッサが割り当てられた仮想プロセッサによってサポートされた専用パーティションとして実施することができる。また、ロジカル・パーティションは、共有プロセッサ・パーティションとして実施することも可能である。これは仮想プロセッサのプールによってサポートされ、各プールには物理プロセッサが割り当てられている。ロジカル・パーティションのことを、本明細書では、「ロジカル・パーティション」、「パーティション」、または「ＬＰＡＲ」と称する。
【０００８】
また、ＲＡＭ（１６８）には、いくつかの仮想プロセッサ（１２２、２０２、２０４）、すなわち、ロジカル・パーティションに対する物理プロセッサ・リソースの割り当てを表すデータ構造およびコンピュータ・プログラム命令がストアされている。通常、プールされていない仮想プロセッサ（１２２）は、仮想プロセッサを介して直接ロジカル・パーティションに割り当てられた物理プロセッサ有し、プールされた仮想プロセッサ（２０２、２０４）は、プール（１５３）に割り当てられた物理プロセッサの処理容量を表す。
【０００９】
ＲＡＭ（１６８）には、ハイパーバイザ（１８４）、すなわちロジカル・パーティション（「ＬＰＡＲ」）を管理するためのコンピュータ・プログラム命令がストアされている。ハイパーバイザ（１８４）は、メモリ等の物理リソースおよび処理リソースのＬＰＡＲに対する割り当てを管理し、ＬＰＡＲ内からアクセスすることができる物理メモリ位置を制御し、Ｉ／Ｏメモリ空間に対するアクセスを制御する。更に、ハイパーバイザ（１８４）は、物理プロセッサに対する仮想プロセッサをスケジューリングし、ＬＰＡＲに対する仮想プロセッサの割り当てを管理する。この例におけるハイパーバイザ（１８４）は、本発明の実施形態に従って複数のロジカル・パーティションをサポートするコンピュータにおいて故障物理プロセッサを置換するために改良されており、専用パーティションおよび仮想プロセッサ・プールに優先度を割り当て、故障物理プロセッサのチェックストップを検出し、故障物理プロセッサの状態を検索して取得し、最低の優先度を有する専用プロセッサまたはプールに割り当てられた置換物理プロセッサによって故障物理プロセッサを置換し、故障物理プロセッサの取得した状態を置換物理プロセッサの状態として割り当てる。
【００１０】
また、ＲＡＭ（１６８）には、ロジカル・プロセッサ（１０４、２０８）の内部に、オペレーティング・システム（１５４、２０６）もストアされている。本発明の実施形態に従って故障プロセッサを置換するコンピュータの物理パーティションにおいて有用なオペレーティング・システムは、ＵＮＩＸ（登録商標）TM、ＬｉｎｕｘTM、Ｍｉｃｒｏｓｏｆｔ  ＸＰTM、ＡＩＸTM、ＩＢＭのｉ５／ＯＳTM、および、当業者に想起される他のものが含まれる。図１の例において、ハイパーバイザ（１８４）、仮想プロセッサ（１２２、２０２、２０４）、オペレーティング・システム（１５４、２０６）、ＬＰＡＲ（１０４、２０８）、およびアプリケーション・プログラム（１５８、２１０）は、ＲＡＭ（１６８）の中に示すが、かかるソフトウェアの多くの構成要素は通常、不揮発性メモリ（１６６）にもストアされている。
【００１１】
図１のコンピュータ（１５２）は、システム・バス（１６０）を介して物理プロセッサ（１５６）およびコンピュータ（１５２）の他の構成要素に結合されている不揮発性コンピュータ・メモリ（１６６）を含む。不揮発性コンピュータ・メモリ（１６６）は、ハード・ディスク・ドライブ（１７０）、光ディスク・ドライブ（１７２）、電気的消去可能書き込み可能読み出し専用メモリ空間（いわゆる「ＥＥＰＲＯＭ」または「Ｆｌａｓｈ」メモリ）（１７４）、ＲＡＭドライブ（図示せず）、または、当業者に想起されるような他のいずれかの種類のコンピュータ・メモリとして実施することができる。
【００１２】
図１の例示的なコンピュータは、１つ以上の入出力インタフェース・アダプタ（１７８）を含む。コンピュータにおける入出力インタフェース・アダプタは、ユーザ指向の入出力を実施し、これは例えば、コンピュータ・ディスプレイ・スクリーン等のディスプレイ・デバイス（１８０）に対する出力ならびにキーボードおよびマウス等のユーザ入力デバイス（１８１）からのユーザ入力を制御するためのソフトウェア・ドライバおよびコンピュータ・ハードウェアを利用する。
【００１３】
図１の例示的なコンピュータ（１５２）は、他のコンピュータ（１８２）とのデータ通信（１８４）を実施するための通信アダプタ（１６７）を含む。かかるデータ通信は、ＲＳ−２３２接続、ＵＳＢ等の外部バス、ＩＰネットワーク等のデータ通信ネットワーク、および当業者に想起されるような他の方法によってシリアルに実行することができる。通信アダプタは、ハードウェア・レベルのデータ通信を実施し、これによって、あるコンピュータは直接またはネットワークを介して別のコンピュータにデータ通信を送信する。本発明の実施形態に従って宛先の可用性を判定するために有用な通信アダプタの例は、有線ダイアルアップ通信のためのモデム、有線ネットワーク通信のためのイーサネット（登録商標）（ＩＥＥＥ８０２．３）アダプタ、および無線ネットワーク通信のための８０２．１１ｂアダプタを含む。
【００１４】
図２は、本発明の実施形態に従って故障した物理プロセッサを置換するための例示的なシステムの機能ブロック図を示す。図２のシステムは、ハイパーバイザ（１８４）、すなわちＬＰＡＲを管理するシステム・ソフトウェア層を含む。この例におけるハイパーバイザ（１８４）は、本発明の実施形態に従って複数のロジカル・パーティションをサポートするコンピュータにおいて故障物理プロセッサを置換するために改良されており、専用パーティションおよび仮想プロセッサ・プールに優先度を割り当て、故障物理プロセッサのチェックストップを検出し、故障物理プロセッサの状態を検索して取得し、最低の優先度を有する専用プロセッサまたはプールに割り当てられた置換物理プロセッサによって故障物理プロセッサを置換し、故障物理プロセッサの取得した状態を置換物理プロセッサの状態として割り当てる。
【００１５】
また、図２は、ＬＰＡＲ（１０３、１０４、１０５）も含む。各ＬＰＡＲ（１０３、１０４、１０５）ではオペレーティング・システム（１５４、１５５、１５７）が動作しており、各オペレーティング・システムは異なるものである場合がある。例えば、３つのＬＰＡＲを有するシステムでは、あるＬＰＡＲにおいてＬｉｎｕｘTMが動作し、別のＬＰＡＲにおいてＩＢＭのＡＩＸTMが動作し、別のＬＰＡＲにおいてＩＢＭのｉ５／ＯＳが同時に動作しているという場合がある。
【００１６】
また、図２は、複数の物理プロセッサ（１５６、１５８、１６０、１６２、１６４、１６６、１６８）を含む。物理プロセッサ（１５６、１５８）は、仮想プロセッサ（１２１、１２３）を介して排他的にＬＰＡＲ（１０３）に割り当てられている。１つ以上の物理プロセッサがこのように排他的に専用とされたＬＰＡＲのことを、本明細書では「専用パーティション」または「専用ＬＰＡＲ」と称する。
【００１７】
この例において、物理プロセッサ（１６０、１６２、１６４、１６６、１６８）はプール（１５３）に割り当てられて、物理プロセッサ（１６０、１６２、１６４、１６６、１６８）の処理容量が、プール（１５３）の仮想プロセッサ（１２４、１２６、１２８、１３０、１３２、１３４）を介してＬＰＡＲ（１０４、１０５）によって共有されるようになっている。ＬＰＡＲ（１０４、１０５）は、プールされた仮想プロセッサを介して間接的に物理プロセッサを共有する。仮想プロセッサの各々は、ハイパーバイザ（１８４）によって各ＬＰＡＲ（１０４、１０５）に割り当てられたある１つの物理プロセッサの処理容量の全体または一部を表す。プールされた仮想プロセッサを介して間接的に物理プロセッサを共有しているこのようなＬＰＡＲのことを、本明細書では「共有プロセッサ・パーティション」または「共有プロセッサＬＰＡＲ」と称する。
【００１８】
図２の例において、物理プロセッサ、仮想プロセッサ、プール、およびＬＰＡＲ間の矢印は、ＬＰＡＲ、仮想プロセッサ、およびプールに割り当てられた処理容量を表す。物理プロセッサは、１つのプロセッサ全体としてのみ割り当てることができ、これは、物理プロセッサを仮想プロセッサ（１２１、１２３）またはプール（１５３）に結ぶ各矢印において「１．０」と示されている。専用ＬＰＡＲ（１０３）に割り当てられた仮想プロセッサ（１２１、１２３）は各々、１．０物理プロセッサの処理容量を表す。５つの物理プロセッサ（１６０、１６２、１６４、１６６、１６８）の処理容量は全て、プール（１５３）を介して共有プロセッサＬＰＡＲ（１０４、１０５）に割り当てられている。すなわち、３．７５物理プロセッサの処理容量がＬＰＡＲ（１０４）に割り当てられ、１．２５プロセッサの処理容量がＬＰＡＲ（１０５）に割り当てられている。
【００１９】
図２のシステムにおいて、物理プロセッサ、仮想プロセッサ、ＬＰＡＲ、および仮想プロセッサのプールの数、配置、および割り当ては、例示のために示すだけであって、それらは本発明の限定ではない。複数のロジカル・パーティションをサポートするコンピュータにおいて故障物理プロセッサを置換するためのシステムは、当業者に想起されるようないかなる数、配置、または割り当ての物理プロセッサ、仮想プロセッサ、ＬＰＡＲ、および仮想プロセッサのプールでも含むことができる。
【００２０】
更に詳細な説明のため、図３は、本発明の実施形態に従って故障物理プロセッサを置換するための例示的な方法を示すフロー・チャートを示す。図３の方法は、複数のロジカル・パーティション（１０３、１０４、１０５）をサポートするコンピュータにおいて実行される。ロジカル・パーティションは、専用パーティション（１０３）および共有プロセッサ・パーティション（１０４、１０５）を含む。専用パーティションは、物理プロセッサ（１５６）が割り当てられた仮想プロセッサ（１２１）によってサポートされている。共有プロセッサ・パーティションは、仮想プロセッサ（１２３、１２４）のプール（１５３）によってサポートされている。このプールには、物理プロセッサ（１６０、１６２）が割り当てられている。
【００２１】
図３の方法は、専用パーティション（１０３）（優先度＝１）およびプール（１５３）（優先度＝２）に優先度（３１０）を割り当てること（３０４）を含む。優先度の割り当ては、順序を表す整数であり、最小の整数が最高の優先度を表す。すなわち、１は２よりも優先度が高く、２は３よりも優先度が高い等とする。
【００２２】
パーティションに対する優先度の割り当ては、コンソール（図示せず）を用いることによって実行可能である。各ロジカル・パーティションにはコンソールを取り付けることができ、このため各ロジカル・パーティションは独立したコンピュータ・システムのように見え、そのように機能する。コンソールによって、ユーザまたはシステム管理者は、コマンドを入力し、ロジカル・パーティションの動作を見ることができる。「主要」パーティションのコンソールによって、ユーザおよび管理者は、全ての補助パーティションの様子を見て管理することができる。「補助」パーティションのコンソールによって、ユーザまたは管理者は、それが取り付けられたパーティションにのみアクセスすることができる。
【００２３】
かかる主要コンソールから、補助パーティションを生成し管理する。これには、プロセッサ、仮想プロセッサ、メモリ、入出力リソース等のリソースの割り当てが含まれる。補助パーティションのための管理機能には、動作の電源投入および電源切断ならびに初期プログラム・ロードが含まれる。補助パーティションの生成および管理に加えて、かかる主要パーティション・コンソールによる動作は、仮想プロセッサのプールを構築すること、専用パーティションである補助パーティションに優先度を割り当てること、および、仮想プロセッサのプールに優先度を割り当てることを含むことができる。また、パーティションに対する優先度の割り当ては、例えば、パーティションに対するデータ処理の負荷を監視し、負荷と共に優先度が上がっていくように負荷に応じて優先度を割り当てることを含むことができる。あるいは、パーティションに対する優先度の割り当ては、ユーザから優先度を取得し、パーティションに対する負荷を監視し、この負荷およびユーザからのコメントに基づいて優先度を割り当てることを含むことも可能である。
【００２４】
また、図３の方法は、故障物理プロセッサ（１５６）のチェックストップを検出すること（３１２）も含む。「チェックストップ」という言葉は、本明細書において用いる場合、単独でまたは他のエラーと共に生じる極めて重大なプロセッサの動作エラーであり、プロセッサ置換の根拠となる。物理プロセッサは通常、特定方向に向けたハードウェア割込みによってプロセッサの動作エラーを信号で知らせる。チェックストップの検出は、物理プロセッサのプロセッサ動作エラーからの割込みをハイパーバイザの割込み処理ルーチンに向けることによって実行することができる。物理プロセッサからのいかなるエラー条件も、チェックストップを構成するまたは発生させる場合があり、これは例えば、メモリ境界エラー、操作符号エラー、コプロセッサ・セグメント・エラー、メモリ・アドレス・エラー、算術または浮動小数点エラー、メモリ整合エラー、機械チェック例外等、当業者に想起されるものを含む。チェックストップの検出は、特定のエラーを、プロセッサ置換の根拠となるに充分であると個別に規定することを含む場合がある。あるいは、チェックストップの検出は、プロセッサ動作エラーの数を数え、この数が既定の閾値に達したらチェックストップが発生したと識別することを含む場合もある。
【００２５】
また、図３の方法は、故障した物理プロセッサの状態（３１６）を検索して取得すること（３１４）を含む。故障物理プロセッサの状態（３１６）を検索し取得すること（３１４）は、ハイパーバイザがプロセッサから直接プロセッサのレジスタの現在値を読み、プロセッサのレジスタの値を物理プロセッサの外部のランダム・アクセス・メモリに一時的にストアすることによって実行可能である。
【００２６】
また、図３の方法は、ハイパーバイザ（１８４）によって、専用パーティションおよびプールの優先度の中で最低の優先度を有する専用パーティションまたはプールに割り当てられた置換物理プロセッサ（１６０）によって故障物理プロセッサ（１５６）を置換すること（３１８）を含む。図３の例において、置換プロセッサ（１６０）は、優先度２のプール（１５３）に割り当てられている。専用パーティション（１０３）は優先度１を有する。従って、図３の例の専用パーティションおよびプールの優先度の中で最低の優先度を有する専用パーティションまたはプールはプール（１５３）であり、従って、プール（１５３）に割り当てられた物理プロセッサの中から置換プロセッサが選択される。プール（１５３）には２つの物理プロセッサ（１６０、１６２）が割り当てられており、それらはいずれも置換プロセッサとして利用可能である。この例では、プロセッサ（１６０）を置換プロセッサとして選択する。
【００２７】
図３の例では、プロセッサ（１５６）が、仮想プロセッサ（１２１）を介して専用ＬＰＡＲ（１０３）に割り当てられた故障物理プロセッサである。この例において、故障物理プロセッサの置換は、プール（１５３）から仮想プロセッサ（１２１）に、置換プロセッサ（１６０）を再割り当てすること（３２０）によって実行される。故障プロセッサの置換は、ハイパーバイザによって、パーティション（１０３）には完全にトランスペアレントに行われる。仮想プロセッサ（１２１）に対して実行スレッドをディスパッチ（dispatch）するパーティション（１０３）のオペレーティング・システムは、仮想プロセッサ（１２１）に対する実行スレッドをディスパッチし続け、物理プロセッサ（１５６）が故障して物理プロセッサ（１６０）によって置換されたことについては知らない。
【００２８】
また、図３の方法は、故障物理プロセッサ（１５６）の取得した状態（３１６）を置換物理プロセッサ（１６０）の状態として割り当てること（３１９）も含む。故障物理プロセッサの取得した状態は、ハイパーバイザが故障物理プロセッサのチェックストップを検出した時の故障プロセッサのレジスタの値で構成される。故障物理プロセッサ（１５６）の取得した状態（３１６）を置換物理プロセッサ（１６０）の状態として割り当てること（３１９）は、置換物理プロセッサ（１６０）のレジスタに取得した状態（３１６）をストアすることによって実行可能である。
【００２９】
更に別の説明のため、図４は、本発明の実施形態に従って故障物理プロセッサを置換するための更に別の例示的な方法を示すフロー・チャートである。図３の方法と同様に、図４の方法は、複数のロジカル・パーティション（１０３、１０４、１０５、１０６、１０７、１０８）をサポートするコンピュータにおいて実行される。ロジカル・パーティションは、専用パーティション（１０３、１０４）および共有プロセッサ・パーティション（１０５、１０６、１０７、１０８）を含む。専用パーティションは、物理プロセッサ（１５６、１５７、１５８、１５９）がそれぞれ割り当てられた仮想プロセッサ（１２１、１２３、１２５、１２７）によってサポートされている。共有プロセッサ・パーティションは、仮想プロセッサ（１２４、１２６、１２８、１３０、１３２、１３４）のプール（４０４、４０８）によってサポートされている。このプールには物理プロセッサが割り当てられている。すなわち、プール（４０４）には物理プロセッサ（１６０、１６２、１６４）が割り当てられ、プール（４０８）には物理プロセッサ（１６６）が割り当てられている。図４の方法は図３の方法と同様であり、図４の方法は、専用パーティションおよび仮想プロセッサのプールに優先度を割り当て（３０４）、パーティションの故障物理プロセッサのチェックストップを検出し（３１２）、故障物理プロセッサの状態を検索して取得し（３１４）、故障物理プロセッサの取得した状態を置換物理プロセッサの状態として割り当てる（３１９）ことを含む。これらは全て、上述した図３の方法と同様に動作する。
【００３０】
また、図４の方法は、ハイパーバイザ（１８４）によって、専用パーティションおよびプールの優先度の中で最低の優先度を有する専用パーティションまたはプールに割り当てられた置換物理プロセッサ（１５９）によって故障物理プロセッサ（１５６）を置換すること（３１８）を含む。しかしながら、図４の例においては、専用パーティション（１０３）は優先度１を有し、専用パーティション（１０４）は優先度４を有し、プール（４０４）は優先度２を有し、プール（４０８）は優先度３を有する。従って、専用パーティションおよびプールの優先度の中で最低の優先度を有する専用パーティションまたはプールは、専用パーティション（１０４）である。従って、置換プロセッサが選択されるのは、専用パーティション（１０４）の仮想プロセッサに割り当てられた物理プロセッサからであり、この例では置換プロセッサ（１５９）である。
【００３１】
図４の方法において、最低の優先度を有する専用パーティションまたはプールは専用パーティション（１０４）であり、最低の優先度を有する専用パーティションまたはプールに割り当てられた置換物理プロセッサ（１５９）によって故障物理プロセッサ（１５６）を置換すること（３１８）は、最低の優先度を有する専用パーティションを終了させること（４０２）、すなわち、専用パーティション（１０４）を終了させることを含む。専用パーティション（１０４）を終了させることは、パーティション（１０４）上で動作しているアプリケーション・プログラムを停止させ、パーティション（１０４）上で動作しているオペレーティング・システムを停止させ、ハイパーバイザ（１８４）によってパーティション（１０４）の電源を切ることによって実行可能である。
【００３２】
更に別の説明のため、図５は、本発明の実施形態に従って故障物理プロセッサを置換するための更に別の例示的な方法を示すフロー・チャートである。図３の方法と同様に、図５の方法は、複数のロジカル・パーティション（１０３、１０４、１０５、１０６、１０７、１０８）をサポートするコンピュータにおいて実行される。ロジカル・パーティションは、専用パーティション（１０３、１０４）および共有プロセッサ・パーティション（１０５、１０６、１０７、１０８）を含む。専用パーティションは、物理プロセッサ（１５６、１５７、１５８、１５９）がそれぞれ割り当てられた仮想プロセッサ（１２１、１２３、１２５、１２７）によってサポートされている。共有プロセッサ・パーティションは、仮想プロセッサ（１２４、１２６、１２８、１３０、１３２、１３４）のプール（４０４、４０８）によってサポートされている。このプールには物理プロセッサが割り当てられている。すなわち、プール（４０４）には物理プロセッサ（１６０、１６２、１６４）が割り当てられ、プール（４０８）には物理プロセッサ（１６６）が割り当てられている。図５の方法は図３の方法と同様であり、図５の方法は、専用パーティションおよび仮想プロセッサのプールに優先度を割り当て（３０４）、パーティションの故障物理プロセッサのチェックストップを検出し（３１２）、故障物理プロセッサの状態を検索して取得し（３１４）、故障物理プロセッサの取得した状態を置換物理プロセッサの状態として割り当てる（３１９）ことを含む。これらは全て、上述した図３の方法と同様に動作する。
【００３３】
また、図５の方法は、ハイパーバイザ（１８４）によって、専用パーティションおよびプールの優先度の中で最低の優先度を有する専用パーティションまたはプールに割り当てられた置換物理プロセッサ（１５９）によって故障物理プロセッサ（１６６）を置換すること（３１８）を含む。しかしながら、図５の例においては、専用パーティション（１０３）は優先度１を有し、専用パーティション（１０４）は優先度４を有し、プール（４０４）は優先度２を有し、プール（４０８）は優先度３を有する。従って、専用パーティションおよびプールの優先度の中で最低の優先度を有する専用パーティションまたはプールは、専用パーティション（１０４）である。従って、置換プロセッサが選択されるのは、専用パーティション（１０４）の仮想プロセッサに割り当てられた物理プロセッサからであり、この例では置換プロセッサ（１５９）である。
【００３４】
図５の方法において、最低の優先度を有する専用パーティションまたはプールは専用パーティション（１０４）であり、最低の優先度を有する専用パーティションまたはプールに割り当てられた置換物理プロセッサ（１５９）によって故障物理プロセッサ（１６６）を置換すること（３１８）は、最低の優先度を有する専用パーティションをオーバーコミットさせる（overcommitted）こと（５０２）、すなわち、専用パーティション（１０４）をオーバーコミットさせることを含む。専用パーティションをオーバーコミットさせるとは、このパーティションをサポートする仮想プロセッサが表す処理容量が、その容量を与えるために割り当てられた数の物理プロセッサよりも大きいことを意味する。ハイパーバイザ（１８４）は、各仮想プロセッサをディスパッチする時間量を比例的に減じることによって、専用パーティションをオーバーコミットさせる。専用パーティション（１０４）がオーバーコミットされると、２つの物理プロセッサ（１５８、１５９）上で利用可能な全プロセッサ時間に２つの仮想プロセッサ（１２５、１２７）をディスパッチする代わりに、ハイパーバイザ（１８４）は、１つのみの物理プロセッサに２つの仮想プロセッサをディスパッチすることができ、これは、各仮想プロセッサが、パーティション（１０４）のオペレーティング・システムにとって約半分の速度で動作しているように見えるということである。従って、オーバーコミットされると、専用パーティション（１０４）は、このパーティションをサポートする仮想プロセッサが公称で表す処理容量によって示される性能に達しない。つまり、専用パーティションのオペレーティング・システムおよびアプリケーション・プログラムは、動作性能が低下する。オーバーコミットされるパーティションのオペレーティング・システムおよびアプリケーション・プログラムは動作し続けるが、これは多くの環境では終了することが好適である。
【００３５】
更に別の説明のため、図６は、本発明の実施形態に従って故障物理プロセッサを置換するための更に別の例示的な方法を示すフロー・チャートである。図３の方法と同様に、図６の方法は、複数のロジカル・パーティション（１０３、１０４、１０５、１０６、１０７、１０８）をサポートするコンピュータにおいて実行される。ロジカル・パーティションは、専用パーティション（１０３、１０４）および共有プロセッサ・パーティション（１０５、１０６、１０７、１０８）を含む。専用パーティションは、物理プロセッサ（１５６、１５７、１５８、１５９）がそれぞれ割り当てられた仮想プロセッサ（１２１、１２３、１２５、１２７）によってサポートされている。共有プロセッサ・パーティションは、仮想プロセッサ（１２４、１２６、１２８、１３０、１３２、１３４）のプール（４０４、４０８）によってサポートされている。このプールには物理プロセッサが割り当てられている。すなわち、プール（４０４）には物理プロセッサ（１６０、１６２、１６４）が割り当てられ、プール（４０８）には物理プロセッサ（１６６）が割り当てられている。図６の方法は図３の方法と同様であり、図６の方法は、専用パーティションおよび仮想プロセッサのプールに優先度を割り当て（３０４）、パーティションの故障物理プロセッサのチェックストップを検出し（３１２）、故障物理プロセッサの状態を検索して取得し（３１４）、故障物理プロセッサの取得した状態を置換物理プロセッサの状態として割り当てる（３１９）ことを含む。これらは全て、上述した図３の方法と同様に動作する。
【００３６】
また、図６の方法は、ハイパーバイザ（１８４）によって、専用パーティションおよびプールの優先度の中で最低の優先度を有する専用パーティションまたはプールに割り当てられた置換物理プロセッサ（１６６）によって故障物理プロセッサ（１５６）を置換すること（３１８）を含む。しかしながら、図６の例においては、専用パーティション（１０３）は優先度１を有し、専用パーティション（１０４）は優先度２を有し、プール（４０４）は優先度３を有し、プール（４０８）は優先度４を有する。従って、専用パーティションおよびプールの優先度の中で最低の優先度を有する専用パーティションまたはプールは、プール（４０８）である。従って、置換プロセッサが選択されるのは、プール（４０８）に割り当てられた物理プロセッサからである。この例では、プール（４０８）に割り当てられた唯一のプロセッサは物理プロセッサ（１６６）であり、従って、プロセッサ（１６６）がこの例では置換プロセッサとして利用される。
【００３７】
図６の方法において、最低の優先度を有する専用パーティションまたはプールはプール４０８）であり、最低の優先度を有する専用パーティションまたはプールに割り当てられた置換物理プロセッサ（１６６）によって故障物理プロセッサ（１５６）を置換すること（３１８）は、最低の優先度を有するプールを終了させること（６０２）、すなわちプール（４０８）を終了させることを含む。プール（４０８）の終了は、プール（４０８）の仮想プロセッサがサポートする共有プロセッサ・パーティション（１０７、１０８）上で動作しているアプリケーション・プログラムを停止させ、プール（４０８）がサポートするパーティション（１０７、１０８）で動作しているオペレーティング・システムを停止させ、ハイパーバイザ（１８４）によってプール（４０８）がサポートするパーティション（１０７、１０８）の電源を切ることによって実行可能である。
【００３８】
図６の方法において、置換物理プロセッサ（１６６）によって故障物理プロセッサ（１５６）を置換すること（３１８）は、最低の優先度を有するプールを終了させること（６０２）、すなわちプール（４０８）を終了させることを含み、プール（４０８）には、１つのみの物理プロセッサすなわちプロセッサ（１６６）が割り当てられている。説明を明確にするために設定したこの特定の例では、プールに割り当てられた唯一の物理プロセッサを置換プロセッサとして用いるためには、必然的にプール（４０８）を終了させる必要がある。しかしながら、最低の優先度を有するプールに１つのみの物理プロセッサが割り当てられていることは、説明のための例示であり、本発明の限定ではない。図６の方法において、最低優先度のプールが有する物理プロセッサの１つを置換プロセッサとして利用することができ、この方法は、最低優先度のプールに割り当てられた物理プロセッサの数には無関係に、最低優先度のプールを終了させることを含む。
【００３９】
更に別の説明のため、図７は、本発明の実施形態に従って故障物理プロセッサを置換するための更に別の例示的な方法を示すフロー・チャートである。図３の方法と同様に、図７の方法は、複数のロジカル・パーティション（１０３、１０４、１０５、１０６、１０７、１０８）をサポートするコンピュータにおいて実行される。ロジカル・パーティションは、専用パーティション（１０３、１０４）および共有プロセッサ・パーティション（１０５、１０６、１０７、１０８）を含む。専用パーティションは、物理プロセッサ（１５６、１５７、１５８、１５９）がそれぞれ割り当てられた仮想プロセッサ（１２１、１２３、１２５、１２７）によってサポートされている。共有プロセッサ・パーティションは、仮想プロセッサ（１２４、１２６、１２８、１３０、１３２、１３４）のプール（４０４、４０８）によってサポートされている。このプールには物理プロセッサが割り当てられている。すなわち、プール（４０４）には物理プロセッサ（１６０、１６２、１６４）が割り当てられ、プール（４０８）には物理プロセッサ（１６６）が割り当てられている。図７の方法は図３の方法と同様であり、図７の方法は、専用パーティションおよび仮想プロセッサのプールに優先度を割り当て（３０４）、パーティションの故障物理プロセッサのチェックストップを検出し（３１２）、故障物理プロセッサの状態を検索して取得し（３１４）、故障物理プロセッサの取得した状態を置換物理プロセッサの状態として割り当てる（３１９）ことを含む。これらは全て、上述した図３の方法と同様に動作する。
【００４０】
また、図７の方法は、ハイパーバイザ（１８４）によって、専用パーティションおよびプールの優先度の中で最低の優先度を有する専用パーティションまたはプールに割り当てられた置換物理プロセッサ（１６０）によって故障物理プロセッサ（１５６）を置換すること（３１８）を含む。しかしながら、図７の例においては、専用パーティション（１０３）は優先度１を有し、専用パーティション（１０４）は優先度２を有し、プール（４０４）は優先度４を有し、プール（４０８）は優先度３を有する。従って、専用パーティションおよびプールの優先度の中で最低の優先度を有する専用パーティションまたはプールは、プール（４０４）である。従って、置換プロセッサが選択されるのは、プール（４０４）に割り当てられた物理プロセッサからであり、この例では置換プロセッサ（１６０）である。
【００４１】
図７の方法において、最低の優先度を有する専用パーティションまたはプールはプール（４０４）であり、最低の優先度を有する専用パーティションまたはプールに割り当てられた置換物理プロセッサ（１６０）によって故障物理プロセッサ（１６５）を置換すること（３１８）は、最低の優先度を有するプールをオーバーコミットトさせること（７０２）、すなわちプール（４０４）をオーバーコミットさせることを含む。
【００４２】
プールをオーバーコミットさせるとは、プールの仮想プロセッサが表す処理容量が、そのプールに割り当てられた数の物理プロセッサよりも大きいことを意味する。ハイパーバイザ（１８４）は、各仮想プロセッサをディスパッチする時間量を比例的に減じることによって、プールをオーバーコミットさせる。プール（４０４）がオーバーコミットされると、プールの仮想プロセッサ（１２４、１２６、１２８、１３０）をディスパッチして共有プロセッサ・パーティション（１０５）に１．２５プロセッサの処理容量を与えると共に共有プロセッサ・パーティション（１０６）に１．７５プロセッサの処理容量を与える代わりに、ハイパーバイザ（１８４）は、各共有プロセッサ・パーティション（１０５、１０６）に３分の１だけ少ない処理容量をディスパッチすることができ、これは、プールの各仮想プロセッサが、パーティション（１０５、１０６）のオペレーティング・システムにとって、あるべき動作速度の約３分の２の速度で動作しているように見えるということである。従って、オーバーコミットされると、プール（４０４）は、このプールの仮想プロセッサが公称で表す処理容量によって示される性能を達成しない。つまり、プールがサポートするパーティションのオペレーティング・システムおよびアプリケーション・プログラムは、動作性能が低下する。オーバーコミットされるプールがサポートするパーティションのオペレーティング・システムおよびアプリケーション・プログラムは動作し続けるが、これは多くの環境では終了することが好適である。
【００４３】
故障物理プロセッサを置換するための充分に機能するコンピュータ・システムの文脈において、本発明の例示的な実施形態について概ね説明した。しかしながら、いずれかの適切なデータ処理システムと共に用いられる信号記録媒体上に配されたコンピュータ・プログラムにおいても本発明を具現化可能であることは、当業者には認められよう。かかる信号記録媒体は、機械読み取り可能情報のための伝送媒体または記録可能媒体とすることができ、磁気媒体、光媒体、または他の適切な媒体を含む。記録可能媒体の例には、ハード・ドライブにおける磁気ディスクまたはディスケット、光ドライブのためのコンパクト・ディスク、磁気テープ、および当業者に想起されるその他のものが含まれる。伝送媒体の例には、音声通信およびデジタル・データ通信ネットワークのための電話ネットワークが含まれ、例えば、Ethernet（登録商標）TMならびにインターネット・プロトコルおよびワールド・ワイド・ウェブによって通信するネットワークが含まれる。適切なプログラミング手段を有するいずれのコンピュータ・システムでも、プログラムに具現化された本発明の方法のステップを実行可能であることは、当業者には容易に認められよう。本明細書に記載した例示的な実施形態のいくつかは、コンピュータ・ハードウェア上にインストールして実行するソフトウェア向けであるが、ファームウェアまたはハードウェアとして実施される代替的な実施形態も本発明の範囲内に該当することは、当業者には容易に認められよう。
【００４４】
本発明の真の範囲から逸脱することなく、本発明の様々な実施形態に変形および変更が可能であることは、前述の記載から理解されよう。本明細書における記載は、例示の目的のためのみであり、限定の意味に解釈されるものではない。本発明の範囲は、特許請求の範囲の文言によってのみ限定される。
【図面の簡単な説明】
【００４５】
【図１】本発明の実施形態に従って故障した物理プロセッサを置換する際に有用な例示的なコンピュータを含む自動化コンピューティング機械のブロック図を示す。
【図２】本発明の実施形態に従って故障した物理プロセッサを置換するための例示的なシステムの機能ブロック図を示す。
【図３】本発明の実施形態に従って故障物理プロセッサを置換するための例示的な方法を示すフロー・チャートを示す。
【図４】本発明の実施形態に従って故障物理プロセッサを置換するための更に別の例示的な方法を示すフロー・チャートである。
【図５】本発明の実施形態に従って故障物理プロセッサを置換するための更に別の例示的な方法を示すフロー・チャートである。
【図６】本発明の実施形態に従って故障物理プロセッサを置換するための更に別の例示的な方法を示すフロー・チャートである。
【図７】本発明の実施形態に従って故障物理プロセッサを置換するための更に別の例示的な方法を示すフロー・チャートである。
【図１】
2009510573.tif 000003
【図２】
2009510573.tif 000004
【図３】
2009510573.tif 000005
【図４】
2009510573.tif 000006
【図５】
2009510573.tif 000007
【図６】
2009510573.tif 000008
【図７】
2009510573.tif 000009
【国際調査報告】
2009510573.tif 000010
2009510573.tif 000011
2009510573.tif 000012