(57)【要約】【課題】情報処理システムにおいて、２つの物理パーティションをマージさせる。【解決手段】情報処理システムが、各々の物理パーティションに情報処理ノードを含む。通信バスが、２つの情報処理ノードを連結させる。各ノードは、ＣＰＵ、メモリ、およびＩ／Ｏアダプタなどのハードウェア・リソースを含む。物理パーティションをマージするコマンドを受ける前は２つの情報処理ノードが実質的に接続を断たれるように、通信バスは、無効の状態を示す。物理パーティションをマージするコマンドを受けた後、システムは、通信バスを有効にし、実質的に２つのノードをホット・プラグする。１つのノードの修正マスタ・ハイパーバイザが、２つのノードのハードウェア・リソースについて詳述するデータ構造を保存する。修正マスタ・ハイパーバイザは、一方のノードから他方のノードの論理パーティションへ、リソースを割り当てることができる。【選択図】図１
2010009567.tif 000002
【特許請求の範囲】
【請求項１】
互いに物理的に分割されている第１ノードおよび第２ノードを準備するステップであって、前記第１ノードおよび第２ノードはマージ前の状態にある、ステップと、
前記第１ノードが前記マージ前の状態を示す間は、第１所定アドレス・レンジにおいて動作するように前記第１ノードを構成するステップと、
前記第２ノードが前記マージ前の状態を示す間は、前記第１所定アドレス・レンジに対して重複しない第２所定アドレス・レンジにおいて動作するように前記第２ノードを構成するステップと、
前記第１ノードおよび前記第２ノードをマージしてマージ後の状態においてマージ済み物理パーティションを形成するように、マージ・コマンドに応えて、前記第１ノードおよび前記第２ノードの間の通信バスを稼動させるステップであって、前記第１ノードが、前記通信バスによって、前記第２ノードの前記第２所定アドレス・レンジを介して前記第２ノードと通信することができ、さらに前記第２ノードが、前記通信バスによって、前記第１ノードの前記第１所定アドレス・レンジを介して前記第１ノードと通信することができる、ステップと、
を含む、方法。
【請求項２】
前記第１ノードが第１ハードウェア・リソースおよび第１論理パーティションを含み、
前記第２ノードが第２ハードウェア・リソースおよび第２論理パーティションを含み、
前記第１ハードウェア・リソースおよび前記第２ハードウェア・リソースが前記マージ済み物理パーティションの中にあり、
前記マージ後の状態において、前記第１論理パーティションによって、前記マージ済みパーティション内にある前記第２ハードウェア・リソースへアクセスするステップをさらに含む、
請求項１に記載の方法。
【請求項３】
前記マージ後の状態において、前記第２論理パーティションによって、前記マージ済みパーティションにある前記第１ハードウェア・リソースへアクセスするステップをさらに含む、請求項２に記載の方法。
【請求項４】
前記第１ノードが第１ハードウェア・リソースと第１論理パーティションとを含み、
前記第２ノードが第２ハードウェア・リソースと第２論理パーティションとを含み、
前記第１ハードウェア・リソースおよび前記第２ハードウェア・リソースは前記マージ済み物理パーティションの中にあり、
前記第１ハードウェア・リソースが第１メモリを含み、
前記第１所定アドレス・レンジにおいて動作するように前記第１メモリを構成するステップをさらに含む、
請求項１に記載の方法。
【請求項５】
前記第２ハードウェア・リソースが第２メモリを含み、
前記第１所定アドレス・レンジに対して重複しない前記第２所定アドレス・レンジにおいて動作するように前記第２メモリを構成するステップをさらに含む、
請求項４に記載の方法。
【請求項６】
前記マージ前の状態時に、前記第１ノード上にマスタ・ハイパーバイザを構成し、前記第２ノード上にスレーブ・ハイパーバイザを構成するステップをさらに含む、請求項５に記載の方法。
【請求項７】
前記第１ノードの第１ハードウェア・リソース・データ構造を前記マスタ・ハイパーバイザに保存し、前記第２ノードの第２ハードウェア・リソース・データ構造を前記スレーブ・ハイパーバイザに保存するステップをさらに含む、請求項６に記載の方法。
【請求項８】
前記第２ノードによって、前記第２ハードウェア・リソース・データ構造を前記第１ノードへ伝送するステップをさらに含む、請求項７に記載の方法。
【請求項９】
前記第１ハードウェア・リソース・データ構造と前記第２ハードウェア・リソース・データ構造とを含む修正マスタ・ハイパーバイザを構成するステップをさらに含む、請求項８に記載の方法。
【請求項１０】
前記マージ後の状態において、前記スレーブ・ハイパーバイザを無効にするステップをさらに含む、請求項９に記載の方法。
【請求項１１】
前記第１ハードウェア・リソースが、複数のＣＰＵ、複数のメモリ、および複数のＩ／Ｏアダプタを含み、
前記第２ハードウェア・リソースが、複数のＣＰＵ、複数のメモリ、および複数のＩ／Ｏアダプタを含み、
前記マージ後の状態時に、前記第１ハードウェア・リソースの前記複数のＣＰＵのうちの１つによって、前記第２ハードウェア・リソースのうちの１つへアクセスするステップをさらに含む、
請求項９に記載の方法。
【請求項１２】
互いに物理的に分割されている第１ノードおよび第２ノードであって、前記第１ノードおよび前記第２ノードはマージ前の状態にあり、前記第１ノードは第１所定アドレス・レンジにおいて動作し、前記第２ノードは前記第１所定アドレス・レンジに対して重複しない第２所定アドレス・レンジにおいて動作する、第１ノードおよび第２ノードと、
前記第１ノードおよび前記第２ノードの間に位置する通信バスであって、前記通信バスは前記マージ前の状態時には論理的に無効にされており、前記通信バスは、前記第１ノードおよび前記第２ノードをマージしてマージ後の状態においてマージ済み物理パーティションを形成するマージ・コマンドに対応し、前記第１ノードは、前記通信バスによって、前記第２ノードの前記第２所定アドレス・レンジを介して前記第２ノードと通信することができ、さらに前記第２ノードは、前記通信バスによって、前記第１ノードの前記第１所定アドレス・レンジを介して前記第１ノードと通信することができる、通信バスと、
を含む、情報処理システム。
【請求項１３】
前記第１ノードが第１ハードウェア・リソースと第１論理パーティションとを含み、
前記第２ノードが第２ハードウェア・リソースと第２論理パーティションとを含み、
前記第１ハードウェア・リソースおよび前記第２ハードウェア・リソースが前記マージ済み物理パーティションの中にあり、
それにより前記マージ後の状態において、前記第１論理パーティションが、前記マージ済みパーティションにある前記第２ハードウェア・リソースにアクセスすることができる、
請求項１２に記載の情報処理システム。
【請求項１４】
前記第１ノードが、第１ハードウェア・リソースと第１論理パーティションとを含み、
前記第２ノードが第２ハードウェア・リソースと第２論理パーティションとを含み、
前記第１ハードウェア・リソースおよび前記第２ハードウェア・リソースが前記マージ済み物理パーティションの中にあり、
それにより前記マージ後の状態において、前記第２論理パーティションが、前記マージ済みパーティションにある前記第１ハードウェア・リソースにアクセスすることができる、
請求項１２に記載の情報処理システム。
【請求項１５】
前記第１ハードウェア・リソースが、前記第１所定アドレス・レンジにおいて動作するように構成されている第１メモリを含む、請求項１３に記載の情報処理システム。
【請求項１６】
前記第２ハードウェア・リソースが、前記第１所定アドレス・レンジに対して重複しない前記第２所定アドレス・レンジにおいて動作するように構成されている第２メモリを含む、請求項１５に記載の情報処理システム。
【請求項１７】
前記第１ノードが、前記マージ前の状態時に、マスタ・ハイパーバイザを含み、
前記第２ノードが、前記マージ前の状態時に、スレーブ・ハイパーバイザを含む、
請求項１６に記載の情報処理システム。
【請求項１８】
前記マスタ・ハイパーバイザが、前記第１ノードの第１ハードウェア・リソース・データ構造を含み、
前記スレーブ・ハイパーバイザが、前記第２ノードの第２ハードウェア・リソース・データ構造を含む、
請求項１７に記載の情報処理システム。
【請求項１９】
前記第２ノードが、前記第２ハードウェア・リソース・データ構造を前記第１ノードへ伝送するように構成されている、請求項１８に記載の情報処理システム。
【請求項２０】
前記第１ハードウェア・リソース・データ構造と前記第２ハードウェア・リソース・データ構造とを含む修正マスタ・ハイパーバイザをさらに含む、請求項１９に記載の情報処理システム。
【請求項２１】
前記マージ後の状態において、前記修正マスタ・ハイパーバイザが、前記スレーブ・ハイパーバイザを無効にするように構成されている、請求項２０に記載の情報処理システム。
【請求項２２】
前記第１ハードウェア・リソースが、複数のＣＰＵ、複数のメモリ、および複数のＩ／Ｏアダプタを含み、
前記第２ハードウェア・リソースが、複数のＣＰＵ、複数のメモリ、および複数のＩ／Ｏアダプタを含み、
前記マージ後の状態時に、前記第１ハードウェア・リソースの前記複数のＣＰＵのうちの１つが、前記第２ハードウェア・リソースのうちの１つへアクセスすることができる、
請求項２０に記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書における開示は、一般に、情報処理システムに関し、特に、多重プロセッサを用いた情報処理システムに関する。
【背景技術】
【０００２】
最近の情報処理システム（以後、「ＩＨＳ：ｉｎｆｏｒｍａｔｉｏｎ  ｈａｎｄｌｉｎｇ  ｓｙｓｔｅｍ」とも称する。）では、現在の複雑かつ機能豊富なアプリケーション・ソフトウェアの重いワークロードを処理するのに、頻繁に多重プロセッサを用いる。現代のＩＨＳは、実際いくつかのアプリケーションを同時に処理することができる。
【０００３】
ＩＨＳは、多重プロセッサすなわち中央処理装置（ＣＰＵ：ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、多重メモリ、および多重Ｉ／Ｏアダプタなどのハードウェア・リソースを含むと考えられる。ＩＨＳは、ハイパーバイザを用いて、これらのＣＰＵ、メモリ、およびＩ／Ｏのハードウェア・リソース群を、多数の異なる論理パーティション（ＬＰＡＲ：ｌｏｇｉｃａｌ  ｐａｒｔｉｔｉｏｎ）へ割り当てるとよい。ハイパーバイザは、ハードウェア・リソースと論理パーティションとの間のソフトウェア抽象化層である。各論理パーティションは、ハイパーバイザがその特定の論理パーティション用に規定するリソースのみにアクセス可能な固有のオペレーティング・システムを実行または動作させる。各オペレーティング・システムは、多重ソフトウェア・アプリケーションを実行すればよい。このようにして、最近のＩＨＳは、いくつかの異なるソフトウェア・アプリケーションの重いワークロードを同時に処理することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
情報処理システム、およびこれを動作させる方法を提供する。
【課題を解決するための手段】
【０００５】
従って、一実施形態では、情報処理システム（ＩＨＳ）を動作させる方法が開示される。本方法は、互いに物理的に分割されている第１および第２ノードを準備するステップを含み、第１および第２ノードはマージ前の状態である。本方法は、さらに、第１ノードがマージ前の状態を示す間は、第１所定アドレス・レンジで動作するように第１ノードを構成するステップを含む。本方法は、さらに、第２ノードがマージ前の状態を示す間は、第１所定アドレス・レンジに対して重複しない第２所定アドレス・レンジで動作するように第２ノードを構成するステップを含む。本方法は、さらに、第１および第２ノードをマージして、マージ後の状態においてマージ済み物理パーティションを形成するように、マージ・コマンドに応えて、第１および第２ノードの間の通信バスを始動させるステップを含む。第１ノードは、通信バスによって、第２ノードの第２所定アドレス・レンジを介して第２ノードと通信することができる。第２ノードは、通信バスによって、第１ノードの第１所定アドレス・レンジを介して第１ノードと通信することができる。
【０００６】
別の実施形態では、情報処理システム（ＩＨＳ）が開示される。ＩＨＳは、互いに物理的に分割されている第１および第２ノードを含み、第１および第２ノードはマージ前の状態であり、第１ノードは第１所定アドレス・レンジで動作し、第２ノードは第１所定アドレスに対して重複しない第２所定アドレス・レンジで動作する。ＩＨＳは、さらに、第１および第２ノードの間に位置する通信バスを含み、通信バスは、マージ前の状態では論理的に無効にされており、通信バスは、マージ・コマンドに応えて第１および第２ノードをマージして、マージ後の状態においてマージ済み物理パーティションを形成し、第１ノードは、通信バスによって、第２ノードの第２所定アドレス・レンジを介して第２ノードと通信することができ、さらに第２ノードは、通信バスによって、第１ノードの第１所定アドレス・レンジを介して第１ノードと通信することができる。
【０００７】
添付の図面は、本発明の代表的な実施形態を図示するものにすぎず、発明概念は他の同様に効果的な実施形態にも適するため、本発明の範囲を限定するものではない。
【発明を実施するための最良の形態】
【０００８】
図１は、情報処理ノード１０および２０を含む情報処理システム（ＩＨＳ）１００を示す。ノード１０および２０は、物理的に分離しており、すなわち互いに物理的に分割されている。図１では、物理パーティション１の中にノード１０を示し、さらに物理パーティション２の中にノード２０を示す。以下にさらに詳しく説明するように、ノード１０および２０は、多重プロセッサすなわちＣＰＵ、多重メモリ、および多重Ｉ／Ｏアダプタなどのハードウェア・リソースを含む。以下にさらに詳しく説明するように、ユーザまたは他のエンティティの決める或る時点で、物理パーティション１のノード１０と物理パーティション２のノード２０とがマージして、マージ済みパーティションになるとよい。図１の実施形態では、物理パーティション１および２が、マージして、マージ済みパーティションを形成するとよい。パーティションには、多重ノードが含まれるとよい。
【０００９】
物理パーティション１のノード１０は、プロセッサすなわちＣＰＵ２１Ａ、２２Ａ、２３Ａおよび２４Ａを備えたプロセッサ・グループ２０を含む。内部のコヒーレンシ・バスＣＢ１、ＣＢ２、ＣＢ３、ＣＢ４、ＣＢ５およびＣＢ６が、ＣＰＵ２１Ａ、２２Ａ、２３Ａおよび２４Ａをプロセッサ・グループ２０の中で連結させて、これらのＣＰＵすなわちプロセッサが互いに通信できるようにしている。ＣＰＵ２１Ａ、２２Ａ、２３Ａおよび２４Ａは、それぞれメモリ２１Ｂ、２２Ｂ、２３Ｂおよび２４Ｂと連結している。さらにＣＰＵ２１Ａ、２２Ａ、２３Ａおよび２４Ａは、それぞれＩ／Ｏアダプタ２１Ｃ、２２Ｃ、２３Ｃおよび２４Ｃとも連結している。Ｉ／Ｏアダプタ２２Ｃなど、Ｉ／Ｏアダプタのうちの１つ以上が、不揮発性記憶装置２５およびネットワーク・アダプタ３０と連結している。ネットワーク・アダプタ３０は、ノード１０が、有線または無線でネットワークおよび他の情報処理システムと接続できるようにする。一実施形態では、設計者が、プロセッサ２１Ａ乃至２４Ａを対称型マルチプロセッサ（ＳＭＰ：ｓｙｍｍｅｔｒｉｃ  ｍｕｌｔｉｐｒｏｃｅｓｓｏｒ）の配列で構成し、それにより各プロセッサすなわちＣＰＵが、メモリ２１Ｂ乃至２４Ｂのいずれか、およびＩ／Ｏアダプタ２１Ｃ乃至２４Ｃのいずれかにアクセスできるようにしてもよい。
【００１０】
不揮発性記憶装置２５は、マスタ・ハイパーバイザ３５、オペレーティング・システム４０、およびソフトウェア・アプリケーション群（ＡＰＰＳ：ａｐｐｌｉｃａｔｉｏｎｓ）４５などのソフトウェア用の記憶装置を提供する。マスタ・ハイパーバイザ３５は、物理パーティション１のノード１０の中に、１つ以上の論理パーティション（図示せず）と、ＣＰＵ２１Ａ乃至２４Ａ、メモリ２１Ｂ乃至２４Ｂ、およびＩ／Ｏアダプタ２１Ｃ乃至２４Ｃなどのハードウェア・リソースとの間に、ハードウェア抽象化層を提供する。同一のまたは様々なオペレーティング・システム４０が、各論理パーティション上で動作するとよい。１つ以上のソフトウェア・アプリケーション群（ＡＰＰＳ）４５は、各オペレーティング・システム４０上で実行されて、ノード１０に、処理するワークロードを与える。
【００１１】
パーティション２のノード２０は、プロセッサすなわちＣＰＵ５１Ａ、５２Ａ、５３Ａおよび５４Ａを備えたプロセッサ・グループ２０を含む。内部のコヒーレンシ・バスＣＢ１’、ＣＢ２’、ＣＢ３’、ＣＢ４’、ＣＢ５’およびＣＢ６’が、ＣＰＵ５１Ａ、５２Ａ、５３Ａおよび５４Ａをプロセッサ・グループ５０の中で連結させて、これらのＣＰＵすなわちプロセッサが互いに通信できるようにしている。ＣＰＵ５１Ａ、５２Ａ、５３Ａおよび５４Ａは、それぞれメモリ５１Ｂ、５２Ｂ、５３Ｂおよび５４Ｂと連結している。さらにＣＰＵ５１Ａ、５２Ａ、５３Ａおよび５４Ａは、それぞれＩ／Ｏアダプタ５１Ｃ、５２Ｃ、５３Ｃおよび５４Ｃとも連結している。Ｉ／Ｏアダプタ５２Ｃなど、Ｉ／Ｏアダプタのうちの１つ以上が、不揮発性記憶装置５５およびネットワーク・アダプタ６０と連結している。ネットワーク・アダプタ６０は、ノード２０が、有線または無線でネットワークおよび他の情報処理システムと接続できるようにする。一実施形態では、設計者が、プロセッサ５１Ａ乃至５４Ａを対称型マルチプロセッサ（ＳＭＰ）の配列で構成し、それにより各プロセッサがメモリ５１Ｂ乃至５４Ｂのいずれか、およびＩ／Ｏアダプタ５１Ｃ乃至５４Ｃのいずれかにアクセスできるようにしてもよい。
【００１２】
ノード１０に関して上述した不揮発性記憶装置２５と同様のやり方で、物理パーティション２の不揮発性記憶装置５５が、スレーブ・ハイパーバイザ６５、オペレーティング・システム７０、およびソフトウェア・アプリケーション群（ＡＰＰＳ）７５などのソフトウェア用の記憶装置を提供するとよい。スレーブ・ハイパーバイザ６５は、物理パーティション２のノード２０の中に、１つ以上の論理パーティション（図示せず）と、ＣＰＵ５１Ａ乃至５４Ａ、メモリ５１Ｂ乃至５４Ｂ、およびＩ／Ｏアダプタ５１Ｃ乃至５４Ｃなどのハードウェア・リソースとの間に、ハードウェア抽象化層を提供する。同一のまたは様々なオペレーティング・システム７０が、各論理パーティション上で動作するとよい。１つ以上のソフトウェア・アプリケーション群（ＡＰＰＳ）７５は、各オペレーティング・システム７０上で実行されて、ノード２０に、処理するワークロードを与える。
【００１３】
ＩＨＳ１００は、さらに、ノード間コヒーレンシ・バス８０、すなわちパーティション１のノード１０とパーティション２のノード２０との間を連結する通信バスを含む。物理パーティション１および２のマージより前には、システム１００がコヒーレンシ・バス８０を無効の状態に保ち、それによりパーティション１およびパーティション２が、実質的に物理的に分離したパーティションとなる。一方、以下でさらに詳細に説明するように、ＩＨＳ１００が、物理パーティション１のノード１０と物理パーティション２のノード２０とをマージするように命令またはコマンドを受けると、コヒーレンシ・バス８０が有効の状態に変わり、２つの物理パーティションがマージされる。
【００１４】
ＩＨＳ１００は、さらに、ユーザが物理的マージ・オペレーションを起動するのに動作させることのできる、ハードウェア・マネージメント・コンソール（ＨＭＣ：ｈａｒｄｗａｒｅ  ｍａｎａｇｅｍｅｎｔ  ｃｏｎｓｏｌｅ）８５を含む。ＨＭＣ８５は、フレキシブル・サービス・プロセッサ（ＦＳＰ：ｆｌｅｘｉｂｌｅ  ｓｅｒｖｉｃｅ  ｐｒｏｃｅｓｓｏｒ）９０および９５をそれぞれ介してノード１０およびノード２０に連結する。一実施形態では、ユーザまたは他のエンティティが、ＨＭＣ８５を用いて、最初にノード１０および２０の電源を落とすことなくノード１０およびノード２０の物理的マージ・オペレーションを開始することができる。言い換えれば、ＩＨＳは、ノード１０および２０の中で実行されるアプリケーションおよびオペレーティング・システムを著しく妨害することなく、動的にこのマージ・オペレーションを実行する。
【００１５】
図２は、物理パーティション１および物理パーティション２のマージより前の、ＩＨＳ１００の物理パーティション１および物理パーティション２のハードウェア・リソースおよびソフトウェア層を図示するものである。ノード１０および２０は、多重ＣＰＵ、多重メモリ（ＭＥＭ：ｍｅｍｏｒｉｅｓ）および多重Ｉ／Ｏアダプタ（Ｉ／Ｏ）などのハードウェア・リソースを、図１に類似したやり方で含む。しかし、空間的制限のため、図２ではこれらのハードウェア・リソースにコンポーネント番号を振っていない。ＩＨＳ１００は、ノード１０のハードウェア・リソースと論理パーティション（ＬＰＡＲ）２０１および２０２との間に、マスタ・ハイパーバイザ３５ソフトウェア層を含む。マスタ・ハイパーバイザ３５は、ハードウェア・リソース・データ構造３７を含み、これは、物理パーティション１の論理パーティション２０１および２０２の各々に対してＩＨＳ１００によって配分される、ノード１０の特定のハードウェア・リソース（ＣＰＵ、メモリおよびＩ／Ｏ）を示す情報を保存する。オペレーティング・システム４０−１は論理パーティション２０１と通信し、オペレーティング・システム４０−２は論理パーティション２０２と通信する。論理パーティション２０１および２０２上のオペレーティング・システムは、異なるオペレーティング・システムであってもよいし、または同一のオペレーティング・システムのコピーであってもよい。多重アプリケーション群（ＡＰＰＳ）４５−１はオペレーティング・システム４０−１上で実行されるとよく、それに対して多重アプリケーション群（ＡＰＰＳ）４５−２は、オペレーティング・システム４０−２上で実行される。
【００１６】
ＩＨＳ１００はさらに、ノード２０のハードウェア・リソースと論理パーティション（ＬＰＡＲ）２１１および２１２との間に、スレーブ・ハイパーバイザ６５ソフトウェア層を含む。スレーブ・ハイパーバイザ６５は、ハードウェア・リソース・データ構造６７を含み、これは、物理パーティション２の論理パーティション２１１および２１２の各々に対してＩＨＳ１００によって配分される、ノード２０の特定のハードウェア・リソース（ＣＰＵ、メモリおよびＩ／Ｏ）を示す情報を保存する。オペレーティング・システム７０−１は論理パーティション２１１と通信し、オペレーティング・システム７０−２は論理パーティション２１２と通信する。論理パーティション２１１および２１２上のオペレーティング・システムは、異なるオペレーティング・システムであってもよいし、または同一のオペレーティング・システムのコピーであってもよい。多重アプリケーション群（ＡＰＰＳ）７５−１はオペレーティング・システム７０−１上で実行されるとよく、それに対して多重アプリケーション群（ＡＰＰＳ）７５−２はオペレーティング・システム７０−２上で実行される。
【００１７】
マージ前の状態とは、物理パーティション１のノード１０と物理パーティション２のノード２０とのマージより前のＩＨＳ１００を指す。マージ後の状態とは、物理パーティション１のノード１０と物理パーティション２のノード２０とのマージより後のＩＨＳ１００を指す。マージ前の状態時には、ＩＨＳ１００は、コヒーレンシ・バス８０を無効モードに保ち、それによりパーティション１のノード１０とパーティション２のノード２０とが物理的に分離するようにする。言い換えれば、ノード１０とノード２０とは、コヒーレンシ・バス８０を含んでよいとはいえ、スタンドアローン・システムとして動作する実質的に別々のコンピュータ・システムである。
【００１８】
図３は、アドレス・メモリ・マップを示し、マージ前の状態時に、ＩＨＳ１００が、ノード１０のメモリおよびノード２０のメモリに対して重複しないアドレス・レンジを割り当てることが明らかにされている。言い換えれば、ノード１０とノード２０とのマージより前は、ノード１０および２０のメモリは、重複しない、すなわち非同一のアドレス・レンジを示す。より具体的には、ノード１０のメモリ２１Ｂ、２２Ｂ、２３Ｂおよび２４Ｂは、それぞれアドレス・レンジ０−１ＧＢ、１−２ＧＢ、２−３ＧＢおよび３−４ＧＢを示す。ノード２０のメモリ５１Ｂ、５２Ｂ、５３Ｂおよび５４Ｂは、それぞれアドレス・レンジ４−５ＧＢ、５−６ＧＢ、６−７ＧＢおよび７−８ＧＢを示す。言い方を変えれば、パーティション１のノード１０とパーティション２のノード２０との物理的マージより前は、システム全体の各メモリが、専用のアドレス・レンジを示す。メモリ衝突を避けるために、ＩＨＳ１００は、ノード１０とノード２０とのマージ後、ＩＨＳ１００がノード１０と２０とのマージより前に用いていたものと同じ専用メモリ・レンジを、それぞれのメモリ用に用いる。物理パーティションのマージ後も、各メモリ２１Ｂ、２２Ｂ、２３Ｂ、２４Ｂ、５１Ｂ、５２Ｂ、５３Ｂおよび５４Ｂは、マージ前と同様に、引き続き各自の固有のアドレス空間を示す。ＦＳＰ９０は、物理パーティション１のＣＰＵを、メモリ２１Ｂ、２２Ｂ、２３Ｂおよび２４Ｂから起動するようにセットアップする。ＦＳＰ９５は、物理パーティション２のＣＰＵを、メモリ５１Ｂ、５２Ｂ、５３Ｂおよび５４Ｂから起動するようにセットアップする。
【００１９】
図４は、ＩＨＳ１００’、すなわち物理パーティション１のノード１０と物理パーティション２のノード２０とのマージ後のＩＨＳ１００を、図示している。図４では、全てのノード・ハードウェア・リソースと、多重論理パーティション２０１、２０２、２１１および２１２との間に、修正マスタ・ハイパーバイザ３５’が図示されている。修正マスタ・ハイパーバイザ３５’には、マスタ・ハイパーバイザ３５のハードウェア・リソース・データ構造３７のみではなくスレーブ・ハイパーバイザ６５のハードウェア・リソース・データ構造６７をも含む、組み合わせハードウェア・リソース・データ構造３７’が含まれる。修正マスタ・ハイパーバイザ３５’は、物理的マージより前に存在していたＣＰＵ、メモリ、Ｉ／Ｏの配分を維持する。言い換えれば、修正マスタ・ハイパーバイザ３５’は、以下でさらに詳しく説明するように、各論理パーティションに、物理的マージより前にその論理パーティションが用いていたのと同じハードウェア・リソースを、配分または割り当てする。オペレーティング・システム４０−１、４０−２、７０−１および７０−２は、ノード１０および２０の物理的マージに気付かない。同様に、アプリケーション群（ＡＰＰＳ）４５−１、４５−２、７５−１および７５−２も、ノード１０および２０の物理的マージに気付かない。
【００２０】
物理パーティション１と物理パーティション２とをマージする過程で、ＩＨＳ１００は、実質的に、２つのハイパーバイザを、マージ済み物理パーティションのハードウェア・リソースを制御する１つの修正マスタ・ハイパーバイザ３５’へとマージする。より具体的には、ＩＨＳ１００は、マスタ・ハイパーバイザ３５とスレーブ・ハイパーバイザ６５とを、強化または修正されたマスタ・ハイパーバイザ３５’へとマージし、この強化または修正されたマスタ・ハイパーバイザが、得られたＩＨＳ１００’のマージ済みパーティション４００におけるハードウェア・リソースの割り当てを制御する。言い換えれば、修正マスタ・ハイパーバイザ３５’は、今や、以前から存在していたノード１０および２０双方のハードウェア・リソースの、双方のノードに由来する論理パーティションすなわち論理パーティション２０１、２０２、２１１および２１２に対する割り当てを、制御する。
【００２１】
図５は、パーティション１のノード１０とパーティション２のノード２０とのマージより前のＩＨＳ１００を、簡略化して図示するものである。このマージ前の状態において、ノード１０および２０は、本質的にスタンドアローン・マシンとして動作する。コヒーレンシ・バス８０は、物理的マージより前は、無効の状態を示す。言い換えれば、コヒーレンシ・バス８０が無効であるので、ノード１０および２０は互いに分離しており、別個のマシンとして動作する。ノード１０および２０の物理的マージより前は、マスタ・ハイパーバイザ３５には、ＩＨＳ１００によって物理パーティション１の論理パーティション２０１および２０２の各々へ割り当てまたは配分される特定のハードウェア・リソース（ＣＰＵ，メモリおよびＩ／Ｏ）を示す情報を含んだハードウェア・リソース・データ構造３７が含まれる。一方、マスタ・ハイパーバイザ３５は、ノード２０およびスレーブ・ハイパーバイザ６５には気付いていない。ハードウェア・リソース・データ構造３７は、各論理パーティションに関して、論理パーティション、１つ以上のＣＰＵ、メモリ、およびＩ／Ｏアダプタを指定する参照表（下記、表１）の形を取るとよい。
【００２２】
【表１】
2010009567.tif 000003
【００２３】
図５は、ノード１０のハードウェア・リソースを、一括してハードウェア・リソース群５０５として示す。ノード１０および２０のマージより前は、スレーブ・ハイパーバイザ６５には、ＩＨＳ１００によって物理パーティション２の論理パーティション２１１および２１２の各々へ割り当てまたは配分される特定のハードウェア・リソース（ＣＰＵ，メモリおよびＩ／Ｏ）を示す情報を含んだハードウェア・リソース・データ構造６７が含まれる。スレーブ・ハイパーバイザ６５は、ノード１０およびマスタ・ハイパーバイザ３５には気付いていない。ハードウェア・リソース・データ構造６７は、各論理パーティションに関して、物理パーティション２にある１つ以上のＣＰＵ、メモリ、およびＩ／Ｏアダプタを指定する参照表（下記、表２）の形を取るとよい。
【００２４】
【表２】
2010009567.tif 000004
【００２５】
図６は、パーティション１のノード１０とパーティション２のノード２０とのマージより前のＩＨＳ１００を、簡略化して図示するものである。このマージ前の状態において、ノード１０および２０は、本質的にスタンドアローン・マシンとして動作する。ＨＭＣ８５は、フレキシブル・サービス・プロセッサ（ＦＳＰ）９０を介して、ノード１０のハードウェア・リソースに連結する。ＨＭＣ８５は、さらに、フレキシブル・サービス・プロセッサ（ＦＳＰ）９５を介して、ノード２０のハードウェア・リソースに連結する。イーサネット（登録商標）ネットワーク６０５が、ＨＭＣ８５と、ＦＳＰ９０および９５とを連結するとよい。一実施形態では、ＦＳＰ９０が、ジョイント・テスト・アクション・グループ（ＪＴＡＧ：Ｊｏｉｎｔ  Ｔｅｓｔ  Ａｃｔｉｏｎ  Ｇｒｏｕｐ）インターフェース６１０を介して、ノード１０のＣＰＵに連結する。ＦＳＰ９５は、ＪＴＡＧインターフェース６１５を介して、ノード２０のＣＰＵに連結する。フレキシブル・サービス・プロセッサ（ＦＳＰ）９０および９５は、それぞれの動作を制御するのに、ファームウェア層６２０および６２５を用いている。
【００２６】
ＦＳＰ９０は、ＨＭＣ８５からコマンドを受け次第、起動シーケンスを実行するようノード１０へ指示する。起動シーケンスには、クロックの開始、モードの初期化、ハードウェアの構成、ハイパーバイザのロード、オペレーティング・システムのロード、および命令実行の開始が含まれる。ＦＳＰ９５も同様に、起動シーケンスを実行するようノード２０へ指示する。一実施形態では、起動シーケンスには、ノードの各々のメモリ（ＭＥＭ）にそれぞれ関連するメモリ・コントローラ（ＭＣ：ｍｅｍｏｒｙ  ｃｏｎｔｒｏｌｌｅｒ）のアドレス・レンジの設定が含まれる。図６では、メモリ・コントローラ（ＭＣ）をそれぞれのメモリ（ＭＥＭ）と併せてＭＥＭ／ＭＣとして示す。図１のノードに関して、特に図示してはいないが、ＩＨＳ１００が、各ＣＰＵと、そのＣＰＵのメモリとの間に、メモリ・コントローラを有するとよい。例えばＩＨＳ１００が、ＣＰＵ２１Ａとメモリ２１Ｂとの間のメモリ・コントローラ、ＣＰＵ２２Ａとメモリ２２Ｂとの間のメモリ・コントローラ、ＣＰＵ２３Ａとメモリ２３Ｂとの間のメモリ・コントローラのほか、ＩＨＳ１００の残りのＣＰＵおよびメモリに関しても同様に、メモリ・コントローラを含むとよい。
【００２７】
図１および図６の双方に関連して、ＦＳＰ９０は、図３のアドレス・マップでノード１０のＣＰＵ用に示されているアドレス・レンジ内のリクエストに対応するよう、ノード１０のメモリ・コントローラを構成するかまたはこれに指示する。例えば、メモリ２１Ｂに関連するＣＰＵ用のメモリ・コントローラは、アドレス・レンジ０−１ＧＢに対応する。メモリ２２Ｂに関連するＣＰＵ用のメモリ・コントローラは、アドレス・レンジ１−２ＧＢに対応する。メモリ２３Ｂに関連するＣＰＵ用のメモリ・コントローラは、アドレス・レンジ２−３ＧＢに対応する。メモリ２４Ｂに関連するＣＰＵ用のメモリ・コントローラは、アドレス・レンジ３−４ＧＢに対応する。
【００２８】
ＦＳＰ９５は、図３のアドレス・マップでノード２０のＣＰＵ用に示されているアドレス・レンジ内のリクエストに対応するよう、ノード２０のメモリ・コントローラを構成するかまたはこれに指示する。ＦＳＰ９５は、ノード２０のメモリ／メモリ・コントローラのアドレス・レンジが、ノード１０のメモリ／メモリ・コントローラのアドレス・レンジと重複しないように、ノード２０のメモリ・コントローラを構成する。例えば、メモリ５１Ｂに関連するＣＰＵ用のメモリ・コントローラは、アドレス・レンジ４−５ＧＢに対応する。メモリ５２Ｂに関連するＣＰＵ用のメモリ・コントローラは、アドレス・レンジ５−６ＧＢに対応する。メモリ５３Ｂに関連するＣＰＵ用のメモリ・コントローラは、アドレス・レンジ６−７ＧＢに対応する。メモリ５４Ｂに関連するＣＰＵ用のメモリ・コントローラは、アドレス・レンジ７−８ＧＢに対応する。
【００２９】
図７は、ＩＨＳ１００が、１つの物理パーティションのノードと別の物理パーティションのノードとをマージするのに用いる方法の一実施形態を説明するフローチャートである。ブロック７００により、ユーザが、ＨＭＣ８５にて起動初期化コマンドを入力することによって、ＩＨＳ１００の、マルチノード対称型マルチプロセッサ（ＳＭＰ）システムとしての初期化プロセスを開始するとよい。ブロック７０５により、ＨＭＣ８５が、各ノードへプライマリ・フレキシブル・サービス・プロセッサ（ＦＳＰ）を割り当てる。各物理パーティションはそれぞれのＦＳＰを用いる。本例では、ＨＭＣ８５は、ノード１０へＦＳＰ９０を割り当て、ノード２０へＦＳＰ９５を割り当てる。
【００３０】
ブロック７１０により、ＦＳＰ９０がノード１０を起動してノード１０のＣＰＵを初期化し、図２に示される構成を示す物理パーティション（ＰＰＡＲ）１を形成する。マスタ・ハイパーバイザ３５が、論理パーティション２０１および論理パーティション２０２などの多重論理パーティション（ＬＰＡＲ）をロードしセット・アップする。マスタ・ハイパーバイザ３５は、ＨＭＣ８５からのコマンドに応えて、論理パーティション２０１および２０２へハードウェア・リソース（ＣＰＵ、ＭＥＭおよびＩ／Ｏ）を割り当てる。オペレーティング・システムは、論理パーティション２０１および論理パーティション２０２上にロードされる。マスタ・ハイパーバイザ３５の中のハードウェア・リソース・データ構造３７は、論理パーティション２０１および２０２の各々へ割り当てられる、ノード１０の特定のハードウェア・リソースを指定する。マスタ・ハイパーバイザ３５は、図２の例に示すよりも多くの論理パーティションを作成してもよい。このようにして、ＩＨＳ１００は、物理パーティション１を形成する。同様のやり方で、スレーブ・ハイパーバイザ６５が、ＨＭＣ８５からのコマンドに応えて、論理パーティション２１１および２１２へハードウェア・リソース（ＣＰＵ、ＭＥＭおよびＩ／Ｏ）を割り当てる。オペレーティング・システムは、論理パーティション２１１および論理パーティション２１２上にロードされる。スレーブ・ハイパーバイザ６５の中のハードウェア・リソース・データ構造６７は、論理パーティション２１１および２１２の各々へ割り当てられる、ノード２０の特定のハードウェア・リソースを指定する。スレーブ・ハイパーバイザ６５は、図２の例に示すよりも多くの論理パーティションを作成してもよい。このようにして、ＩＨＳ１００は物理パーティション２を形成する。物理パーティション１および物理パーティション２の形成するそれぞれのマシンは、パーティション・マージより前は、別個の、スタンドアローン・マシンとして動作する。パーティション・マージ前には、物理パーティション１および物理パーティション２が実質的に物理的に分離して接続を断つように、コヒーレンシ・バス８０が無効の状態にとどまる。ブロック７１５により、物理パーティション１および物理パーティション２が、それぞれのワークロードを別々に実行する。言い換えれば、パーティション・マージより前は、物理パーティション（ＰＰＡＲ）１が１つのアプリケーション・ソフトウェア・ワークロードを実行し、物理パーティション（ＰＰＡＲ）２が別のアプリケーション・ソフトウェア・ワークロードを実行しており、いずれのパーティションも他方のハードウェア・リソースを使用することはない。
【００３１】
決定ブロック７２０で、ハードウェア・マネージメント・コンソール（ＨＭＣ）は、物理パーティション１のノード１０と物理パーティション２のノード２０とをマージさせるリクエストまたはコマンドについてモニタする。ＨＭＣ８５のユーザが２つのノードのマージをリクエストする可能性を生じる動機の１つは、一方のノードから他方のノードの論理パーティションへ、ハードウェア・リソースを追加することである。これにより、論理パーティションが、より大規模なワークロードを処理できるようになると考えられる。ＨＭＣ８５が、物理パーティション１および２をマージさせるリクエストを受けない場合は、物理パーティション１および２は、ブロック７１５により、別個のワークロードを実行し続ける。一方、ＨＭＣ８５が、物理パーティション１および２をマージさせるリクエストを受けた場合には、ブロック７２５により、マスタ・ハイパーバイザ３５が、コヒーレンシ・バス８０を介して、物理パーティション１のノード１０と物理パーティション２のノード２０とを、動的にホット・プラグすなわちホット接続する。マージさせるリクエストに応えて、ＩＨＳ１００は、従前無効であったコヒーレンシ・バス８０を有効にする。これにより、以前は分離されていたノード１０と２０との間にコヒーレントなバス接続をもたらす。コヒーレントなバスは、その中で全てのバス・マスタが他の全てのバス・マスタのリクエストをスヌープし、それによりＳＭＰコンピュータのメモリの多重キャッシュ間でデータをコヒーレントなやり方で修正するようにする。上述のように、ハイパーバイザ３５はマスタ・ハイパーバイザであり、ハイパーバイザ６５はスレーブ・ハイパーバイザである。上記の措置によって、ノード１０および２０の間のコヒーレンシ・バス８０が実質的に接続される。今やノード１０および２０の双方が、コヒーレンシ・バス８０上のトランザクションを観察することができる。一方、マスタ・ハイパーバイザ３５およびスレーブ・ハイパーバイザ６５の双方が、依然としてアクティブである。以下に述べる図８のフローチャートでは、コヒーレンシ・バス８０を介してノード２０をノード１０へホット・プラグする１つの方法に関してさらなる詳細を提示する。ノード１０は、今はもう有効になっているコヒーレンシ・バス８０を介して、ノード２０のメモリ・トランザクションを観察するとよい。同様に、ノード２０は、コヒーレンシ・バス８０を介してノード１０のメモリ・トランザクションを観察するとよい。図３に示すように、ノード１０およびノード２０の各々は、それぞれ重複しないメモリ領域を用いているので、一方のノードが他方のノードのメモリ・トランザクションを観察する場合に衝突が起こることはない。
【００３２】
ブロック７３０により、ノード１０のマスタ・ハイパーバイザ３５およびノード２０のスレーブ・ハイパーバイザ６５が、各自の重複しないアドレス空間でそれぞれ実行されるかまたは動作している。図３のマージ前のアドレス・マップに示すように、マスタ・ハイパーバイザ３５は、例えば一実施形態においてはメモリ２１Ｂの最初の２５６ＫＢなど、ノード１０のアドレス空間で実行される。ブロック７３５により、マスタ・ハイパーバイザ３５が、メモリ２１Ｂなどノード１０のメモリのうちの１つの所定の絶対アドレス位置にある通信領域３１０を介して、スレーブ・ハイパーバイザ６５と通信を始める。例えば、通信領域３１０は、メモリ２１Ｂの２番目の２５６ＫＢを占めるとよい。この時点で、ＨＭＣ８５は依然として、マスタ・ハイパーバイザ３５およびスレーブ・ハイパーバイザ６５の双方と通信することができる。ＨＭＣ８５が、通信領域３１０用のアドレス・レンジを定めるべくマスタ・ハイパーバイザ３５へ問い合わせを行い、次いでそのアドレス・レンジをスレーブ・ハイパーバイザ６５へ通信するとよい。このようにして、ノード１０のマスタ・ハイパーバイザ３５およびノード２０のスレーブ・ハイパーバイザ６５の双方が、通信領域３１０の位置を知る。
【００３３】
ブロック７４０により、マスタ・ハイパーバイザ３５が、ノード２０のハードウェア・リソース配分データ構造６７のシャドウ・コピーにアクセスしこれを取得するべく、通信領域３１０を介してスレーブ・ハイパーバイザ６５に問い合わせを行う。スレーブ・ハイパーバイザ６５は、ハードウェア・リソース・データ構造６７のシャドウ・コピーを、コヒーレンシ・バス８０を介してマスタ・ハイパーバイザ３５へ送信する。ハードウェア・リソース・データ構造６７のシャドウ・コピーを受領した後、マスタ・ハイパーバイザ３５は、ブロック７４５により、自身のハードウェア・リソース・データ構造３７を再構築して、既存の、ノード１０のハードウェア・リソース・データ構造３７のハードウェア・リソース配分だけではなく、ノード２０に由来するハードウェア・リソース・データ構造６７をも含める。その結果得られる修正マスタ・ハイパーバイザ３５’は、ノード１０のハードウェア・リソース・データ構造、およびノード２０のハードウェア・リソース・データ構造を含む。
【００３４】
ブロック７５０により、スレーブ・ハイパーバイザ６５が、自身のフレキシブル・サービス・プロセッサ（ＦＳＰ）と通信して、ＨＭＣ８５との通信を終了させる。修正マスタ・ハイパーバイザ３５’は、通信領域３１０を使用してスレーブ・ハイパーバイザ６５と通信し、マージを完了させる。マージを完了させることの一部として、ブロック７５５により、スレーブ・ハイパーバイザ６５が、自身に関連するＣＰＵ群、すなわちＣＰＵ５１Ａ、５２Ａ、５３Ａおよび５４Ａを瞬間的に静止させる。さらにブロック７５５により、スレーブ・ハイパーバイザ６５が、以前はパーティション２のノード２０に関連していたハードウェア・リソースの所有権を、パーティション１のノード１０のマスタ・ハイパーバイザ３５へ受け渡す。マージが完了すると、ブロック７６０により、修正マスタ・ハイパーバイザ３５’が、ＨＭＣ８５へ、物理パーティション１のノード１０と物理パーティション２のノード２０とのマージが完了したことを通信する。最終ブロック７６５により、パーティション・マージが終わる。ノード１０に関連するアプリケーション、および以前にノード２０に関連していたアプリケーションは、パーティション・マージの後も、それぞれのオペレーティング・システム上で実行され続ける。マージされたメモリ空間は、スレーブ・ハイパーバイザ６５が実質的にもはや存在せずマスタ・ハイパーバイザ３５が修正マスタ・ハイパーバイザ３５’になっている以外は、引き続き図３のメモリ・マップの様相を呈する。
【００３５】
この特定の例では、図２に示すように、マージより前は、物理パーティション１は、ノード１０に４つのＣＰＵ、４つのメモリ（ＭＥＭ）、および４つのＩ／Ｏアダプタを含んでいた。マスタ・ハイパーバイザ３５が、これらのＣＰＵ、メモリ、Ｉ／Ｏのハードウェア・リソース群を制御していた。図２に示すように、マージより前は、物理パーティション２は、ノード２０に４つのＣＰＵ、４つのメモリ（ＭＥＭ）、および４つのＩ／Ｏアダプタを含んでいた。スレーブ・ハイパーバイザ６５が、これらのＣＰＵ、メモリ、Ｉ／Ｏのハードウェア・リソース群を制御していた。一方、図４に示すように、物理パーティション・マージの後は、ＩＨＳ１００’によってマージ済み物理パーティション４００が形成され、そこでは修正マスタ・ハイパーバイザ３５’が、８つのＣＰＵ、８つのメモリ、および８つのＩ／Ｏのハードウェア・リソース全ての配分を制御する。修正マスタ・ハイパーバイザ３５’は、もともとはノード１０およびノード２０に由来するこれらのハードウェア・リソース群のうちのいずれかを、例えば論理パーティション２０１、２０２、２１１および２１２のほかその他の論理パーティションも加えた論理パーティション群のうちのいずれかに、割り当てればよい。
【００３６】
図８は、ホット・プラグまたはホット・アド・オペレーションのステップ群を示すハイレベル・フローチャートであり、ここでは、ＩＨＳ１００が、ＨＭＣ８５の指示の下、コヒーレンシ・バス８０を介してノード２０をノード１０へホット・プラグまたはホット・アドする。ホット・プラグ・オペレーションは、ブロック８００にて開始される。ブロック８０５により、ハードウェア・マネージメント・コンソール（ＨＭＣ）８５にてユーザが、例えばＦＳＰ９０などのフレキシブル・サービス・プロセッサ（ＦＳＰ）を介して、始動コヒーレンシ・バス・コマンドを、コヒーレンシ・バス８０へ送信する。ブロック８１０により、ＦＳＰ９０が、コヒーレンシ・バス８０の導通試験を実行する。コヒーレンシ・バス８０が導通試験に不合格であった場合、ホット・プラグ・オペレーションは終了する。コヒーレンシ・バス８０が導通試験に合格した場合には、ホット・プラグ・オペレーションが継続する。導通試験の合格に応えて、ブロック８１５により、ＦＳＰ９０が、コヒーレンシ・バス８０を静止させる。次いでブロック８２０で、ＦＳＰ９０は、ノード１０およびノード２０の保留中のオペレーションが完了するのを待機して可能にする。保留中のオペレーションが完了したら、ブロック８２５により、ＦＳＰ９０がコヒーレンシ・バス８０の静止を解除する。最終ブロック８３０により、ホット・プラグ・オペレーションが終わる。
【００３７】
図７のフローチャートで分かるように、ＩＨＳ１００は、マージ前またはマージ後のいずれの状態で動作してもよい。マージ前の状態では、物理パーティション１のノード１０および物理パーティション２のノード２０は、物理的に分離しており、各ノードが異なるアプリケーション・ソフトウェア・ワークロードを実行している。物理パーティション１のノード１０および物理パーティション２のノード２０が分離しておりすなわちマージされていなくても、各ノードが、他方のノードのアドレス・レンジと重複しないメモリ・アドレス・レンジをそれぞれ用いるとよい。このようにして、たとえユーザが決定ブロック７２０にてマージ・オペレーションをリクエストしない場合であっても、ノード１０および２０は、マージ・オペレーションに対する準備を整えている。一方、ＨＭＣ８５にてユーザがノード１０および２０のマージをリクエストした場合には、ＩＨＳ１００は、コヒーレンシ・バス８０を有効にしてノード１０および２０を接続する。各ノードは、他方のアドレス・レンジとは重複しない、それぞれの所定のアドレス・レンジを引き続き使用する。ＩＨＳ１００’は、故に、マージ後の状態におけるアドレス衝突を回避することができる。一実施形態では、ユーザがマージ・オペレーションを実施するのに、双方のパーティションの電源を落とす必要がなく、故に第１および第２パーティションのマージは動的である。代わりにユーザはＨＭＣ８５を使用して、コヒーレンシ・バス８０を論理的に有効にする有効化コマンドを送信し、パーティション１のノード１０とパーティション２のノード２０とをホット・プラグまたはホット接続してマージ済み物理パーティションを形成すればよい。マージ済みパーティション４００の修正マスタ・ハイパーバイザ３５’によって、論理パーティションが、マージ済みパーティションにある、ノード１０およびノード１０のいずれに由来するハードウェア・リソースにも、それらのハードウェア・リソースが利用可能である限り、アクセスできるようになる。
【００３８】
図１ではＩＨＳ１００の１つの形態を示すが、ＩＨＳ１００は、デスクトップ、サーバ、携帯用、ラップトップ、ノートブック、または他のフォーム・ファクタのコンピュータあるいはデータ処理システムなど、多様な形を取ることができる。ＩＨＳ１００は、さらにゲーム・デバイス、パーソナル・デジタル・アシスタント（ＰＤＡ：ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）、携帯用電話デバイス、通信デバイス、またはプロセッサおよびメモリを含むその他のデバイスなど、他のフォーム・ファクタを取り入れてもよい。
【００３９】
本明細書に使用される用語は特定の実施形態を説明することのみを目的としており、本発明を制限しようとするものではない。本明細書においては、「１つの」「この」などの単数形は、そうでないことが文脈で明確に示されていない限りは複数形をも同様に含むことを意味する。さらに当然のことながら、「含む」または「含んだ」あるいはその両方の語は、本明細書における使用に当たり、記載された特徴、整数値、ステップ、オペレーション、要素、またはコンポーネントあるいはその両方の存在を明示するものであるが、１つ以上の他の特徴、整数値、ステップ、オペレーション、要素、コンポーネント、またはこれらのグループあるいはその両方の存在または追加を排除するものではない。
【００４０】
添付の請求項における全てのミーンズまたはステップ・プラス・ファンクション要素の対応する構造、材料、行為、および均等物は、明確に請求されている通り、他の請求要素と組み合わせてファンクションを実行する、あらゆる構造、材料または行為を含むことを意図している。本発明の説明は、例示および説明のために提示してきたものであり、網羅的であることまたは本発明を開示された形に限定することを意図するものではない。本発明の範囲および精神を逸脱することなく、多様な変更ならびに変形のあることが、当業者には明らかである。実施形態は、本発明の原理および実際的な応用例を最もよく説明するために、さらに他の当業者が、検討している特定の用途に適するように多様な変更を伴った多様な実施形態に合わせて本発明を理解できるように、選ばれて記載されたものである。
【図面の簡単な説明】
【００４１】
【図１】開示されたマルチノード対称型マルチプロセッサ（ＳＭＰ）情報処理システム（ＩＨＳ）の、マージ前の状態におけるブロック図である。
【図２】図１のＩＨＳのマージ前の状態におけるソフトウェア層を示す図である。
【図３】開示されたＩＨＳのマージ前の状態およびマージ後の状態の双方におけるメモリ・マップを示す図である。
【図４】図１のＩＨＳのマージ後の状態におけるソフトウェア層を示す図である。
【図５】データ処理ノードが別々のパーティションにてそれぞれのハイパーバイザによってスタンドアローン・マシンとして動作する、マージ前の状態におけるＩＨＳを簡略化して示す図である。
【図６】開示されたＩＨＳを、フレキシブル・サービス・プロセッサおよびハードウェア・マネージメント・コンソールと共に示す図である。
【図７】開示されたＩＨＳが物理パーティションを動的にマージするべく用いる方法の一実施形態を示すフローチャートである。
【図８】図７のフローチャートのホット・アドまたはホット・プラグ部分のフローチャートである。
【符号の説明】
【００４２】
２０、５０  プロセッサ・グループ
２１Ａ、２２Ａ、２３Ａ、２４Ａ、５１Ａ、５２Ａ、５３Ａ、５４Ａ  ＣＰＵ
２１Ｂ、２２Ｂ、２３Ｂ、２４Ｂ、５１Ｂ、５２Ｂ、５３Ｂ、５４Ｂ  メモリ
２１Ｃ、２２Ｃ、２３Ｃ、２４Ｃ、５１Ｃ、５２Ｃ、５３Ｃ、５４Ｃ  Ｉ／Ｏ
２５、５５  不揮発性記憶装置
３０、６０  ネットワーク・アダプタ
３５  マスタ・ハイパーバイザ
４０、７０  オペレーティング・システム（単数または複数）
４５、７５  ＡＰＰＳ
６５  スレーブ・ハイパーバイザ
８０  ノード間コヒーレンシ・バス
８５  ハードウェア・マネージメント・コンソール（ＨＭＣ）
９０、９５  フレキシブル・サービス・プロセッサ（ＦＳＰ）
【図１】
2010009567.tif 000005
【図２】
2010009567.tif 000006
【図３】
2010009567.tif 000007
【図４】
2010009567.tif 000008
【図５】
2010009567.tif 000009
【図６】
2010009567.tif 000010
【図７】
2010009567.tif 000011
【図８】
2010009567.tif 000012