(57)【要約】【課題】複数のプロセッサを含む複数のリソース、前記複数のプロセッサを相互接続する分散化されたポイント・ツー・ポイント伝送インフラストラクチャ、および前記複数のリソースを少なくとも１つのパーティションにコンフィギャする少なくとも１つのパーティショニングプロセッサを有するコンピュータシステムを提供する。【解決手段】それぞれのパーティションは、前記複数のリソースのサブセットを備える。前記少なくとも１つのパーティショニングプロセッサは、以前に特定されたパーティショニングスキーマにしたがって前記複数のプロセッサのうちの少なくとも１つと前記複数のプロセッサのうちの少なくとも１つの他のものとの間の少なくとも１つのリンクをイネーブルすることによって前記リソースをコンフィギャするよう動作可能である。そのようにイネーブルされたリンク（群）は、前記ポイント・ツー・ポイント伝送インフラストラクチャの部分に対応する。【特許請求の範囲】
【請求項１】
複数のプロセッサを含む複数のリソース、
前記複数のプロセッサを相互接続する分散化されたポイント・ツー・ポイント伝送インフラストラクチャ、および
前記複数のリソースを少なくとも１つのパーティションにコンフィギャする少なくとも１つのパーティショニングプロセッサであって、それぞれのパーティションは、前記複数のリソースのサブセットを備え、前記少なくとも１つのパーティショニングプロセッサは、以前に特定されたパーティショニングスキーマにしたがって前記プロセッサに関連付けられた複数のルーティングテーブルのうちの少なくとも１つに書き込むことによって前記リソースをコンフィギャするよう動作可能であり、それぞれのルーティングテーブルは関連付けられたプロセッサおよび前記複数のプロセッサのうちの他のプロセッサの間のリンクを表し、前記リンクは前記ポイント・ツー・ポイント伝送インフラストラクチャの部分に対応する、少なくとも１つのパーティショニングプロセッサ
を備えるコンピュータシステム。
【請求項２】
請求項１に記載のコンピュータシステムであって、前記複数のリソースは、メモリデバイス、メモリ範囲、Ｉ／Ｏバス、Ｉ／Ｏバスに接続されたＩ／Ｏデバイス、およびルーティング割り込みのための割り込みメカニズムのうちの少なくとも１つを含むコンピュータシステム。
【請求項３】
請求項１に記載のコンピュータシステムであって、前記複数のリソースは、Ｉ／Ｏスイッチを含み、関連付けられた前記ルーティングテーブルのうちの１つを持つ前記Ｉ／Ｏスイッチは、前記Ｉ／Ｏスイッチ、前記プロセッサのうちの少なくとも１つ、および少なくとも１つのＩ／Ｏリソースの間のリンクを表すコンピュータシステム。
【請求項４】
請求項３に記載のコンピュータシステムであって、前記少なくとも１つのＩ／Ｏリソースは少なくとも１つのイーサネットデバイスおよびＳＣＳＩデバイスを備えるコンピュータシステム。
【請求項５】
請求項１に記載のコンピュータシステムであって、それぞれのルーティングテーブルはエントリ群のテーブルを備え、前記エントリ群の選択されたもののうちのそれぞれは、前記リソースのうちの１つのアドレスを、前記プロセッサのうちの１つおよび前記プロセッサのうちの前記１つと接続するリンクに関連付けるコンピュータシステム。
【請求項６】
請求項１に記載のコンピュータシステムであって、前記分散化されたポイント・ツー・ポイント伝送インフラストラクチャはコヒーレントハイパートランスポート（ｃＨＴ）インフラストラクチャを備えるコンピュータシステム。
【請求項７】
請求項１に記載のコンピュータシステムであって、前記分散化されたポイント・ツー・ポイント伝送インフラストラクチャは、前記プロセッサをリングトポロジを用いて相互接続するコンピュータシステム。
【請求項８】
請求項１に記載のコンピュータシステムであって、前記分散化されたポイント・ツー・ポイント伝送インフラストラクチャは、前記プロセッサをメッシュトポロジを用いて相互接続するコンピュータシステム。
【請求項９】
請求項１に記載のコンピュータシステムであって、前記分散化されたポイント・ツー・ポイント伝送インフラストラクチャは、前記プロセッサのそれぞれを前記プロセッサの他のそれぞれに直接に接続するコンピュータシステム。
【請求項１０】
請求項１に記載のコンピュータシステムであって、前記少なくとも１つのパーティショニングプロセッサは、前記分散化ポイント・ツー・ポイント伝送インフラストラクチャによって相互接続された前記複数のプロセッサのうちの少なくとも１つを備えるコンピュータシステム。
【請求項１１】
請求項１に記載のコンピュータシステムであって、前記少なくとも１つのパーティショニングプロセッサは、前記分散化されたポイント・ツー・ポイント伝送インフラストラクチャによって相互接続された前記複数のプロセッサから分離されているコンピュータシステム。
【請求項１２】
請求項１１に記載のコンピュータシステムであって、前記コンピュータシステムの初期化を促進するブートメモリをさらに備え、前記ブートメモリは、前記複数のプロセッサのうちの少なくとも１つの、前記少なくとも１つのパーティショニングプロセッサとしての動作を促進する、その中に記憶されたコンピュータプログラムインストラクションを有するコンピュータシステム。
【請求項１３】
請求項１に記載のコンピュータシステムであって、前記以前に特定されたパーティショニングスキーマは、前記コンピュータシステムの動作中に起こるイベントに応答して生成されるコンピュータシステム。
【請求項１４】
請求項１３に記載のコンピュータシステムであって、前記イベントは、前記コンピュータシステムの初期化、前記リソースのうちの少なくとも１つの故障、前記リソースのうちの少なくとも１つと関連付けられた動作負荷の変化、時間の経過、特定のソフトウェアの使用、および利用可能な電源リソースの変化のうちの１つを含むコンピュータシステム。
【請求項１５】
請求項１に記載のコンピュータシステムであって、前記少なくとも１つのパーティショニングプロセッサをユーザインタフェースに接続する少なくとも１つのパーティショニングプロセッサリンクをさらに備え、前記以前に特定されたパーティショニングスキーマは、前記コンピュータシステムのユーザによって前記ユーザインタフェースおよび前記少なくとも１つのパーティショニングプロセッサリンクを介して特定されるコンピュータシステム。
【請求項１６】
請求項１に記載のコンピュータシステムであって、前記少なくとも１つのパーティショニングプロセッサは、前記コンピュータシステムの初期化のときに前記ルーティングテーブルを生成するよう動作可能であるコンピュータシステム。
【請求項１７】
請求項１に記載のコンピュータシステムであって、前記少なくとも１つのパーティショニングプロセッサは、前記コンピュータシステムの動作中に前記ルーティングテーブル群のうちの前記少なくとも１つのルーティングテーブルを改変するよう動作可能であるコンピュータシステム。
【請求項１８】
請求項１に記載のコンピュータシステムであって、前記少なくとも１つのパーティションは、複数のパーティション群を備えるコンピュータシステム。
【請求項１９】
請求項１８に記載のコンピュータシステムであって、前記複数のパーティションのうちの少なくとも１つは、前記複数のリソースの機能的サブセットを備えるコンピュータシステム。
【請求項２０】
請求項１に記載のコンピュータシステムであって、前記少なくとも１つのパーティションは、前記複数のリソースのうちの全ての動作中のものを含む単一のパーティションを備えるコンピュータシステム。
【請求項２１】
請求項１に記載のコンピュータシステムであって、前記少なくとも１つのパーティショニングプロセッサは、１つのパーティショニングプロセッサを備えるコンピュータシステム。
【請求項２２】
請求項１に記載のコンピュータシステムであって、前記少なくとも１つのパーティショニングプロセッサは、１つより多いパーティショニングプロセッサを備えるコンピュータシステム。
【請求項２３】
複数のプロセッサおよび前記複数のプロセッサを相互接続する分散化されたポイント・ツー・ポイント伝送インフラストラクチャを含む複数のリソースを有するコンピュータシステムにおいて用いられるコンピュータによって実現される方法であって、前記方法は、
前記複数のリソースを少なくとも１つのパーティションにコンフィギャすることを含みえ、それぞれのパーティションは、前記複数のリソースのサブセットを備え、前記リソースの前記コンフィギャすることは、以前に特定されたパーティショニングスキーマにしたがって前記プロセッサに関連付けられた複数のルーティングテーブルのうちの少なくとも１つに書き込むことによって実現され、それぞれのルーティングテーブルは関連付けられたプロセッサおよび前記複数のプロセッサのうちの他のプロセッサの間のリンクを表し、前記リンクは前記ポイント・ツー・ポイント伝送インフラストラクチャの部分に対応する方法。
【請求項２４】
請求項２３に記載の方法であって、前記複数のリソースは、Ｉ／Ｏスイッチを含み、関連付けられた前記ルーティングテーブルのうちの１つを持つ前記Ｉ／Ｏスイッチは、前記Ｉ／Ｏスイッチ、前記プロセッサのうちの少なくとも１つ、および少なくとも１つのＩ／Ｏリソースの間のリンクを表す方法。
【請求項２５】
請求項２４に記載の方法であって、前記分散化されたポイント・ツー・ポイント伝送インフラストラクチャは非コヒーレントハイパートランスポート（ｎｃＨＴ）インフラストラクチャを備える方法。
【請求項２６】
請求項２３に記載の方法であって、前記複数のリソースをコンフィギャすることは、前記分散化ポイント・ツー・ポイント伝送インフラストラクチャによって相互接続された前記複数のプロセッサのうちの少なくとも１つを備える少なくとも１つのパーティショニングプロセッサを用いて達成される方法。
【請求項２７】
請求項２３に記載の方法であって、前記複数のリソースをコンフィギャすることは、前記分散化されたポイント・ツー・ポイント伝送インフラストラクチャによって相互接続された前記複数のプロセッサから分離されている少なくとも１つのパーティショニングプロセッサを用いて達成される方法。
【請求項２８】
請求項２３に記載の方法であって、前記コンピュータシステムの動作中に起こるイベントに応答して前記以前に特定されたパーティショニングスキーマを生成することをさらに含む方法。
【請求項２９】
請求項２８に記載の方法であって、前記イベントは、前記コンピュータシステムの初期化、前記リソースのうちの少なくとも１つの故障、前記リソースのうちの少なくとも１つと関連付けられた動作負荷の変化、時間の経過、特定のソフトウェアの使用、および利用可能な電源リソースの変化のうちの１つを含む方法。
【請求項３０】
請求項２３に記載の方法であって、前記コンピュータシステムのユーザによって特定された前記以前に特定されたパーティショニングスキーマを受け取ることをさらに含む方法。
【請求項３１】
請求項２３に記載の方法であって、前記複数のルーティングテーブルのうちの前記少なくとも１つに書き込むことは、前記コンピュータシステムの初期化のときに前記複数のルーティングテーブルを生成することを含む方法。
【請求項３２】
請求項２３に記載の方法であって、前記複数のルーティングテーブルのうちの前記少なくとも１つに書き込むことは、前記コンピュータシステムの動作中に前記ルーティングテーブル群のうちの前記少なくとも１つのルーティングテーブルを改変することを含む方法。
【請求項３３】
請求項１に記載の方法であって、前記少なくとも１つのパーティションは、複数のパーティション群を備える方法。
【請求項３４】
請求項３３に記載の方法であって、前記複数のパーティションのうちの少なくとも１つは、前記複数のリソースの機能的サブセットを備える方法。
【請求項３５】
請求項２３に記載の方法であって、前記少なくとも１つのパーティションは、前記複数のリソースのうちの全ての動作中のものを含む単一のパーティションを備える方法。
【請求項３６】
複数のプロセッサを含む複数のリソース、
前記複数のプロセッサを相互接続する分散化されたポイント・ツー・ポイント伝送インフラストラクチャ、および
前記複数のリソースを少なくとも１つのパーティションにコンフィギャする少なくとも１つのパーティショニングプロセッサであって、それぞれのパーティションは、前記複数のリソースのサブセットを備え、前記少なくとも１つのパーティショニングプロセッサは、以前に特定されたパーティショニングスキーマにしたがって前記複数のプロセッサのうちの少なくとも１つと前記複数のプロセッサのうちの少なくとも１つの他のものとの間の少なくとも１つのリンクをイネーブルすることによって前記リソースをコンフィギャするよう動作可能であり、前記少なくとも１つのリンクは前記ポイント・ツー・ポイント伝送インフラストラクチャの部分に対応する、少なくとも１つのパーティショニングプロセッサ
を備えるコンピュータシステム。
【請求項３７】
請求項３６に記載のコンピュータシステムであって、前記少なくとも１つのリンクをイネーブルすることは、前記以前に特定されたパーティショニングスキーマにしたがって前記プロセッサに関連付けられた複数のルーティングテーブルのうちの少なくとも１つに書き込むことを含むコンピュータシステム。
【請求項３８】
請求項３６に記載のコンピュータシステムであって、前記少なくとも１つのリンクをイネーブルすることは、前記以前に特定されたパーティショニングスキーマにしたがって前記少なくとも１つのリンクに関連付けられた少なくとも１つのスイッチを閉じることを含むコンピュータシステム。
【請求項３９】
複数のプロセッサおよび前記複数のプロセッサを相互接続する分散化されたポイント・ツー・ポイント伝送インフラストラクチャを含む複数のリソースを有するコンピュータシステムにおいて用いられるコンピュータによって実現される方法であって、前記方法は、
前記複数のリソースを少なくとも１つのパーティションにコンフィギャすることを含みえ、それぞれのパーティションは、前記複数のリソースのサブセットを備え、前記リソースの前記コンフィギャすることは、以前に特定されたパーティショニングスキーマにしたがって前記複数のプロセッサのうちの少なくとも１つと前記複数のプロセッサのうちの少なくとも１つの他のものとの間の少なくとも１つのリンクをイネーブルすることによって実現され、それぞれのルーティングテーブルは関連付けられたプロセッサおよび前記複数のプロセッサのうちの他のプロセッサの間のリンクを表し、前記リンクは前記ポイント・ツー・ポイント伝送インフラストラクチャの部分に対応する方法。
【請求項４０】
請求項３９に記載の方法であって、前記少なくとも１つのリンクをイネーブルすることは、前記以前に特定されたパーティショニングスキーマにしたがって前記プロセッサに関連付けられた複数のルーティングテーブルのうちの少なくとも１つに書き込むことを含む方法。
【請求項４１】
請求項３９に記載の方法であって、前記少なくとも１つのリンクをイネーブルすることは、前記以前に特定されたパーティショニングスキーマにしたがって前記少なくとも１つのリンクに関連付けられた少なくとも１つのスイッチを閉じることを含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大きくはコンピュータシステムにおけるリソースのパーティショニングに関する。より具体的には本発明は、そのようなリソースを従来に可能であったよりもより正確にパーティショニングする技術を提供する。
【背景技術】
【０００２】
リソースを分散化コンピューティングシステムにおいて、または単一のコンピュータシステムの中央電子装置群（ＣＥＣ）内においてパーティショニングする基本的なアイディアは、新しいものではない。しかし従来のパーティショニング技術にはシステムリソースを比較的粗いレベルで、例えば物理的に別個のマシン、プロセッサのグループなどにアロケートすることだけが可能なものもあったが、他のものは、例えばシステムの初期化においてだけマルチプロセッサグループ中のプロセッサ群のサブセットを永久にあるパーティションに割り当てるなど、柔軟性のない状態で動作する。
【０００３】
従来のパーティショニング技術のいくつかの欠点は図１を参照して理解されるだろう。図１は、ハブ１０６および１０８を介して相互接続された２つの４プロセッサグループ（すなわちクワッド）１０２および１０４を持つ従来の８プロセッサシステム１００を示す。従来のクワッド中のプロセッサ１１０のそれぞれは、ブロードキャストバス１１２に接続され、このバスはプロセッサのいずれをも他のプロセッサからアイソレートしない、つまり任意のプロセッサによる特定のリソース（例えばＩ／Ｏ１１４またはメモリ１１６）へのアクセス要求はいずれも他のプロセッサの全てによって受け取られる。よってこのようなシステムおいて起こる唯一のポイント・ツー・ポイント通信は、２つのクワッド間を接続するハブ間に行われるので、このようなシステムのパーティショニングはハブ間でだけしか行われない、つまり１つのパーティションに１クワッド、他のもう１つのパーティションにもう１つのクワッドという形になる。
【０００４】
マルチプロセッサシステムの設計の比較的新しいアプローチは、プロセッサ間のブロードキャスト通信をポイント・ツー・ポイントデータ転送メカニズムに置き換える。このポイント・ツー・ポイントデータ転送おいては、プロセッサはネットワークノードと同様に分散化コンピューティングシステム内、例えばワイドエリアネットワーク内で通信を行う。すなわちプロセッサは複数の通信リンクを介して相互接続され、リクエストは、それぞれのプロセッサに関連付けられたルーティングテーブルにしたがってリンクにわたってプロセッサ間を転送される。この意図するところは、単位時間当たりにマルチプロセッサプラットフォーム内を伝送される情報量を増やすことにある。このアプローチの例は、カリフォルニア州サニーベールのアドバンスト・マイクロ・デバイス社（ＡＭＤ）によって最近アナウンスされたハイパートランスポート（ＨＴ）アーキテクチャであり、例えば、カリフォルニア州、アナハイムにおける２００１年３月２６〜２８日のWinHEC 2001において発表されたHyperTransportTM Technology: A High-Bandwidth, Low-Complexity Bus Architectureと題された論文に記載され、その全体が全ての目的のためにここで参照によって援用される。ＡＭＤアーキテクチャの動作は図２の簡略化されたブロック図を参照して簡単に説明される。
【０００５】
システム２００がブートアップするたびに、プロセッサ２０２ａ〜２０２ｄのそれぞれに関連付けられたルーティングテーブルは初期化されなければならない。残りのプロセッサ群がまだ動作しておらず、ＨＴインフラストラクチャを用いてそれぞれのプロセッサ内のルーティングテーブルを構築する「ディスカバリ」アルゴリズムを実行するあいだに、プライマリプロセッサ２０２ａ、すなわちＢＩＯＳ２０４と通信するプロセッサはスタートアップする。このアルゴリズムは「貪欲な」アルゴリズムであり、利用可能、つまり「到達可能な」システムリソースの全てをキャプチャし、単一の分割されないシステムをキャプチャされたリソースから構築しようと試みる。プライマリプロセッサ２０２ａは、それに応答する全てのシステムリソース、すなわち全ての隣接装置を識別することによってこのプロセスを開始する。それからそれぞれのこのようなリソース（例えばメモリバンク２０６ａおよびプロセッサ２０２ｂおよび２０２ｃ）について、プライマリプロセッサ２０２ａは、そのリソース（例えばメモリバンク２０６ｂおよび２０６ｃ）に応答する（すなわち「所有されている」）全てのリソースを要求する。この情報を用いて、プライマリプロセッサはルーティングテーブルを構築する。残念ながらこのようなシステムによって生成されたルーティングテーブルは、リソース故障、負荷の不均衡、またはシステムリソースの再アロケーションが望ましい任意の状況変化にかかわらず、システム動作中は変化しない。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記を鑑みて、コンピュータシステムリソースがより柔軟に正確にパーティショニングされる技術を提供することが望ましい。
【課題を解決するための手段】
【０００７】
本発明によれば、単一プラットフォーム、マルチプロセッサシステムにおけるプロセッサ間の分散化されたポイント・ツー・ポイント通信によって代表される革新が利用されることによって、コンピュータシステムリソースのパーティショニングにおいて従来可能であったよりもより高いレベルの柔軟性および正確さを提供する。すなわち分散化されたポイント・ツー・ポイント通信インフラストラクチャが採用されることで、以前に特定されたスキーマにしたがってルーティングテーブルを生成することを通してシステムリソースを正確にアロケートすることが可能となる。本発明のさまざまな実施形態によれば、このようなパーティショニングは、システムリソースの任意の所望のアロケーションを達成するために、静的に、例えばシステムのスタートアップ時に、あるいは動的に、例えばある種のイベントに応答してなされえる。
【０００８】
すなわち本発明は、複数のプロセッサを含む複数のリソース、前記複数のプロセッサを相互接続する分散化されたポイント・ツー・ポイント伝送インフラストラクチャ、および前記複数のリソースを少なくとも１つのパーティションにコンフィギャする少なくとも１つのパーティショニングプロセッサを有するコンピュータシステムを提供する。それぞれのパーティションは、前記複数のリソースのサブセットを備える。前記少なくとも１つのパーティショニングプロセッサは、以前に特定されたパーティショニングスキーマにしたがって前記複数のプロセッサのうちの少なくとも１つと前記複数のプロセッサのうちの少なくとも１つの他のものとの間の少なくとも１つのリンクをイネーブルすることによって前記リソースをコンフィギャするよう動作可能である。そのようにイネーブルされたリンク（群）は、前記ポイント・ツー・ポイント伝送インフラストラクチャの部分に対応する。本発明の具体的な実施形態によれば、前記リンクを前記イネーブルすることは、前記以前に特定されたパーティショニングスキーマにしたがって前記プロセッサに関連付けられた複数のルーティングテーブルのうちの少なくとも１つに書き込むことによって実現される。
【０００９】
このようなコンピュータシステムをパーティショニングする方法も記載される。具体的な実施形態によれば、前記複数のリソースは、少なくとも１つのパーティションにコンフィギャされる。それぞれのパーティションは、前記複数のリソースのサブセットを備える。前記リソースの前記コンフィギャすることは、以前に特定されたパーティショニングスキーマにしたがって前記複数のプロセッサのうちの少なくとも１つと前記複数のプロセッサのうちの少なくとも１つの他のものとの間の少なくとも１つのリンクをイネーブルすることによって実現される。このようにイネーブルされた少なくとも１つのリンクは、前記ポイント・ツー・ポイント伝送インフラストラクチャの部分に対応する。本発明の具体的な実施形態によれば、前記少なくとも１つのリンクを前記イネーブルすることは、前記以前に特定されたパーティショニングスキーマにしたがって前記プロセッサに関連付けられた複数のルーティングテーブルのうちの少なくとも１つに書き込むことによって実現される。
本発明の性質および優位性のさらなる理解は、明細書および図面の残りの部分を参照して達成されよう。
【発明を実施するための最良の形態】
【００１０】
本発明の具体的な実施形態が、例えばＡＭＤのハイパートランスポートマルチプロセッサアーキテクチャのような特定のポイント・ツー・ポイント通信インフラストラクチャを参照してこれから説明される。しかし本発明の範囲は、説明された特定の実施形態やＡＭＤアーキテクチャに限定されないことが理解されよう。すなわち、そのプロセッサおよび／またはさまざまな他のシステムリソース内でポイント・ツー・ポイント通信を行う任意のマルチプロセッサアーキテクチャが本発明の具体的な実施形態を実現するのに適する。
【００１１】
図３は、本発明の具体的な実施形態に基づいて設計されたサーバ３００の簡略化されたブロック図を示す。サーバ３００は、実質的に同一のプロセッサ３０２ａ〜３０２ｄ、基本Ｉ／Ｏシステム（ＢＩＯＳ）３０４、メモリバンク３０６ａ〜３０６ｄを備えるメモリサブシステム、プロセッサ３０２ａ〜３０２ｄおよびＩ／Ｏスイッチ３１０を相互接続するためのポイント・ツー・ポイント通信リンク３０８ａ〜３０８ｅ、およびリンク３１４ａ〜３１４ｅによって図３で示されるＪＴＡＧインタフェースを介してプロセッサ３０２ａ〜３０２ｄおよびＩ／Ｏスイッチ３１０と通信するサービスプロセッサ３１２を含む。Ｉ／Ｏスイッチ３１０はシステムの残りをＩ／Ｏアダプタ３１６および３２０に接続する。
【００１２】
具体的な実施形態によれば、本発明のサービスプロセッサは、上述の「貪欲な」アルゴリズムの使用と対照的に、以前に特定されたパーティショニングスキーマによってシステムリソースをパーティショニングするインテリジェンスを有する。これは、システムプロセッサに関連付けられたルーティングテーブルをサービスプロセッサによって直接に操作することを通して達成され、これはポイント・ツー・ポイント通信インフラストラクチャによって可能になる。ルーティングテーブルは、システムリソースを制御および分離するのに用いられ、システムリソース間の接続関係がこの中で定義される。
【００１３】
具体的な実施形態によれば、サービスプロセッサは、それ自身のオペレーティングシステムアプリケーションのセット（システムの残りと関連付けられたオペレーティングシステム（群）とは別個である）およびそれ自身のＩ／Ｏを持つ自律プロセッサである。このプロセッサは、残りのプロセッサ、メモリ、およびＩ／Ｏが機能していないときでも動作する。このプロセッサは、全てのシステムリソースが所望のように動作していることを確実にする外部管理インテリジェンスとして動作する。
【００１４】
しかし以前に特定されたパーティショニングスキーマは、分離されたサービスプロセッサによってインプリメントされなければならないわけではないことに注意されたい。すなわち例えば、システムプロセッサのうちの１つがこの目的のために用いられてもよい。このような実施形態によれば、例えばシステムＢＩＯＳがシステムのプライマリプロセッサを用いてスキーマを有効にするよう変更されえる。
【００１５】
さらに本発明のさまざまな実施形態によれば、パーティションは、さまざまなシステムリソースの組み合わせを表しえる。すなわち例えば、「キャパシティオンデマンド」のシナリオにおいては、パーティションは単一のプロセッサによって表されえ、この場合そのパーティションからプロセッサを取り除くことによって残りの要素はＯＳを走らせることができなくなる（よってユーザはこのパーティションについてはチャージされない）。パーティションはまたプロセッサおよびいくつかの関連するメモリまたはＩ／Ｏによって表される。大きくは、コンピュータシステム中で利用可能なリソースの任意の機能サブセットがパーティションとして考えられえる。
【００１６】
より大きくは、図３に示される特定のアーキテクチャは単に例示的であり、本発明の実施形態は、異なる構成およびリソースの相互接続、および示されたシステムリソースのそれぞれについてのさまざまな代替物を有すると意図されることが理解されよう。しかし図示の目的のため、サーバ３００の具体的な詳細が想定される。例えば図３に示されるリソースのほとんどは単一の電子的アセンブリ上に常駐すると想定される。さらにメモリバンク３０６ａ〜３０６ｄは、デュアルインラインメモリモジュール（ＤＩＭＭ）として物理的には提供されるダブルデータレート（ＤＤＲ）メモリを備えてもよい。Ｉ／Ｏアダプタ３１６は例えば、永久記憶装置へのアクセスを提供するウルトラダイレクトメモリアクセス（ＵＤＭＡ）コントローラまたはスモールコンピュータシステムインタフェース（ＳＣＳＩ）コントローラでありえる。Ｉ／Ｏアダプタ３２０は、例えばローカルエリアネットワーク（ＬＡＮ）またはインターネットのようなネットワークとの通信を提供するよう構成されるイーサネットカードでありえる。
【００１７】
具体的な実施形態によれば図３に示されるように、Ｉ／Ｏアダプタ３１６および３２０の両方は対称的なＩ／Ｏアクセスを提供する。すなわちそれぞれがＩ／Ｏの対等なセットへのアクセスを提供する。理解されるようにこのような構成は、複数のパーティションが同じタイプのＩ／Ｏにアクセスするパーティショニングスキームを促進する。しかし実施形態によってはＩ／Ｏなしのパーティションが作られることも想定される。例えば、１つ以上のプロセッサおよび関連付けられたメモリリソース、すなわちメモリ複合体（memory complex）を含むパーティションは、そのメモリ複合体をテストする目的で作られえる。
【００１８】
ある実施形態によれば、サービスプロセッサ３１２は集積されたチップセット機能を持つＰＰＣコントローラであるモトローラMPC855Tである。
【００１９】
サービスプロセッサ３１２は、サーバ３００のリソースをパーティショニングすることに主に責任を負う。図３に示される実施形態によれば、サービスプロセッサ３１２は、プロセッサ３０２ａ〜３０２ｄおよびＩ／Ｏスイッチ３１０の利用をアロケートするが、例えばメモリバンクまたはさまざまなＩ／Ｏデバイスのような他のリソースを直接管理するようプログラムされてもよい。サービスプロセッサ３１２の構成は、通信リンク３２２を介してサーバプロセッサ３１２が接続される管理／サーバコンソール（不図示）を介して有効にされえる。
【００２０】
図４は、ある実現例によるサービスプロセッサ３１２のための相互接続の高レベルブロック図である。本発明のパーティショニングエンジンは、図３〜５に示されるようなサービスプロセッサ３１２とは非常に異なって見えうることに注意することが重要である。すなわちポイント・ツー・ポイント通信インフラストラクチャを用いてルーティングテーブルをインテリジェントに再構成できる任意のメカニズムは本発明の範囲内である。例えば他のありえるメカニズムとしては、パーティショニングを行うために１つ以上のプロセッサ３０２を用いることも含まれる。
【００２１】
しかしこの実施形態においては、サービスプロセッサ３１２は、ＤＲＡＭ記憶ブロック４０２およびフラッシュメモリ４０４に直接接続される。ＤＲＡＭ４０２は、フラッシュ４０４内に記憶されたプログラムのサービスプロセッサによる実行を促進する。サービスプロセッサ３１２はまたＰＣＩバス４０６を介してセンサインタフェース４０８、イーサネットカード４１０、およびＪＴＡＧインタフェース４１２に接続される。センサインタフェース４０８は例えば、温度、電源電圧、またはセキュリティロックの表示を行うモニタリング回路（不図示）からの入力を含みえる。センサインタフェース４０８はまた、例えばシステムのファンを起動する制御信号のようなさまざまな出力を含みえる。イーサネットカード４１０は、サービスプロセッサ３１２と、例えばネットワークアドミニストレータがサーバをモニタおよびコンフィギャするサービスコンソールとの間のインタフェースを提供する。
【００２２】
具体的な実施形態によれば、インタフェース４１２は、テストアクセスポートおよびバウンダリスキャンアーキテクチャの要件を記載するジョイントテストアクショングループ（ＪＴＡＧ）標準として知られるＩＥＥＥ標準１１４９．１を完全にサポートする。テストアクセスポート（ＴＡＰ）は、テストデータイン（ＴＤＩ）ピン、テストデータアウト（ＴＤＯ）ピン、テストクロック（ＴＣＫ）ピン、テストモードセレクト（ＴＭＳ）ピン、およびオプションとしてＴＡＰコントローラをテストロジックリセットの状態に設定するテストリセット（ＴＲＳＴ）ピンを含むいくつかのピンを備える。ＴＡＰコントローラは、集積回路上のバウンダリスキャンを制御する１６ステートの有限ステートマシンである。詳細が後述されるように、ＪＴＡＧインタフェース４１２は、サービスプロセッサ３１２およびプロセッサ３０２ａ〜３０２ｄの間の通信を促進し、それによりコンピュータシステムのリソースの静的および動的パーティショニングの両方を可能にする。具体的な実施形態によれば、この通信は簡単なアウトバウンドマルチプレクサを用いて促進される。
【００２３】
再び図３を参照し本発明の具体的な実施形態によれば、プロセッサ３０２ａ〜３０２ｄはＨＴインフラストラクチャとして知られここでもそのように呼ぶポイント・ツー・ポイントデータ転送メカニズムを採用するＡＭＤ  Ｋ８プロセッサを備えてもよい。すなわちプロセッサは複数のポイント・ツー・ポイント通信リンク（すなわち３０８ａ〜３０８ｅ）を介して相互接続され、リクエストはそれぞれのプロセッサに関連付けられたルーティングテーブルにしたがってプロセッサ間でリンクを通して転送される。ＨＴインフラストラクチャは、例えば、コンピュータシステム中の周辺機器相互接続（ＰＣＩ）デバイス、アクセラレーテッドグラフィックポート（ＡＧＰ）デバイス、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）デバイス、および他の専用高バンド幅バスのようなさまざまなコンピュータリソースの相互接続を可能にする。
【００２４】
ＨＴには２つの形態がある。ノンコヒーレントな１つの形態、つまりｎｃＨＴは、Ｉ／Ｏリンクのために開発され、図３に示される（３０８ｃおよび３０８ｄ）。ここで説明されるコヒーレントＨＴ、つまりｃＨＴメカニズムは、遠くのメモリ、すなわちリモートクラスタにおけるプロセッサに接続されたメモリ同様、ローカルなメモリ、すなわちそのクラスタ内のプロセッサに接続されたメモリにプロセッサアレイがアクセスできる非均一なメモリアクセスマトリクスのためにＡＭＤによって開発されてきた。
【００２５】
本発明のさまざまな実施形態によれば、プロセッサ３０２ａ〜３０２ｄは実質的に同一である。図５は、そのようなプロセッサ３０２の簡略化されたブロック図であり、プロセッサ３０２は、複数のＨＴポート５０４ａ〜５０４ｃを持つＨＴインタフェース５０２およびそれらに関連付けられたルーティングテーブル５０６ａ〜５０６ｃを含む。それぞれのＨＴポートは、コンピュータシステムにおいて１６ビットのＨＴリンク、例えば図３のリンク３０８ａ〜３０８ｅを介して、他のリソース、例えばプロセッサまたはＩ／Ｏデバイスとの通信を可能にする。
【００２６】
図５に示されるｃＨＴインフラストラクチャは、ポイント・ツー・ポイントの分散化されたルーティングメカニズムとして一般化されえ、このメカニズムは、任意のさまざまなトポロジ、例えばリング、メッシュなどによってシステムプロセッサを相互接続する複数のセグメント（例えばゴーズ・イン・ゴーズ・アウト（ＧＩＧＯ）バス）を備える。これらセグメントのそれぞれのエンドポイントのそれぞれは、ユニークなノードＩＤを持つ接続されたプロセッサ、およびそれが「所有する」複数の関連付けられたリソースに関連付けられ、例えばそれに接続されるメモリがどれだけであるか、それに接続されるＩ／Ｏは何であるかなどが関連付けられる。
【００２７】
分散化されたルーティングメカニズム中のノードのそれぞれに関連付けられたルーティングテーブル群は、コンピュータシステムリソース間の相互接続の現在の状態を全体として表す。ある与えられたノード（例えばプロセッサ）によって所有されたリソースのそれぞれ（例えば特定のメモリ範囲またはＩ／Ｏデバイス）は、そのノードに関連付けられたルーティングテーブル（群）においてアドレスとして表現される。リクエストがノードに到達するとき、リクエストされたアドレスは、適切なノードおよびリンクを特定するノードのルーティングテーブル中の２レベルエントリと比較され、このルーティングテーブルは例えば、もしこのアドレスが要るならノードｘに行け、もしノードｘに行きたいならリンクｙを用いろ、などが特定される。
【００２８】
ルーティングテーブルに関連付けられたものとしては、これらテーブルが初期化または変更されるときに用いられるコントロールがある。これらコントロールは、システムが正しく動作することを続けながらもルーティングテーブル中の値を、原子性を保証しながら（atomically）変更する手段を提供する。
【００２９】
図５に示されるように、プロセッサ３０２は、関連するルーティングテーブル中の情報にしたがってポイント・ツー・ポイント通信を３つの他のプロセッサと行うことができる。具体的な実施形態によれば、ルーティングテーブル５０６ａ〜５０６ｃは、２レベルのテーブルを備え、第１レベルはシステムリソース（例えばメモリバンク）のユニークなアドレスを対応するＨＴノード（例えばプロセッサのうちの１つ）に関連付け、第２レベルはそれぞれのＨＴノードを、現在のノードから当該ノードに到達するために利用されるべきリンク（例えば３０８ａ〜３０８ｅ）に関連付ける。
【００３０】
プロセッサ３０２はまた、ＪＴＡＧハンドシェークレジスタ群５０８のセットを持ち、これらはとりわけサービスプロセッサおよびプロセッサ３０２の間の通信を促進する。すなわちサービスプロセッサは、ルーティングテーブル５０６ａ〜５０６ｃに結果として格納されるように、ルーティングテーブルエントリをハンドシェークレジスタ５０８に書き込む。図５に示されるプロセッサアーキテクチャは本発明の具体的な実施形態を説明する目的の例示的なものに過ぎないことを理解されたい。本発明の他の実施形態を実現するためには、例えばより少ないまたはより多い数のポートおよび／またはルーティングテーブルが用いられてもよい。
【００３１】
具体的な実施形態によれば図３のサーバ３００は、ここで説明される技術を用いて単一の４プロセッサシステムとして、または２つ以上の機能的に別個のパーティション群として動作するようコンフィギャされえる。結果としてできあがるシステムコンフィギュレーションのアプリオリの知識なしで動作するＨＴインフラストラクチャのデザイナによって想定される「貪欲な（greedy）」アルゴリズムとは対照的に、サービスプロセッサ３１２は、先に具体的に述べられたパターニングスキーマによって全てのまたはいくつかのプロセッサ３０２ａ〜３０２ｄ（およびＩ／Ｏスイッチ３１０）に関連付けられたルーティングテーブルを生成および／またはダイナミックに変更することによってサーバ３００のコンフィギュレーションを促進する。これは、ルーティングテーブルエントリを適切なプロセッサのＪＴＡＧハンドシェークレジスタ５０８（およびＩ／Ｏスイッチ３１０に関連付けられた同様のテーブル）に書き込むサービスプロセッサ３１２によって達成される。後で説明されるように、このシステムコンフィギュレーション／パーティショニングは、静的に、例えばサーバブートアップ時に、または動的に、例えばサーバ３００の動作中に行われえる。
【００３２】
本発明は、本発明にしたがって設計されたコンピュータシステム、例えばサーバが動的に再コンフィギャされる（例えば再パーティショニングされる）実施形態をも包含する。すなわち再コンフィギュレーションは、システムをリブートすることなく、またはサービスプロセッサの再イニシャライズ動作を行うことなく達成され、例えばシステムリソースの故障のようなあるランタイムイベントに応答して起こる。
【００３３】
大きくは、本発明によるシステムリソースの動的パーティショニングは、さまざまな種類のランタイムイベントに応答して起こりえることを理解されたい。動的パーティショニングを起動しえるイベントまたはトリガの具体的な例には、現在存在するパーティションに関連付けられたリソース（例えばプロセッサ）の故障、所定期間（例えば特定のシステムリソースのメンテナンス期間）の満了、負荷分布を変える特定のアプリケーションまたはアプリケーション群の組み合わせを走らせること、およびパーティションを再コンフィギャする旨のユーザの命令が含まれる。
【００３４】
このようなユーザの命令は、例えば、さまざまな条件についての負荷評価に関する実験、特定のアプリケーションのサポートのためのリソースの再アロケーション、一日の期間にわたっての既知の負荷変動を扱うためのリソースの再アロケーション、またはユーザまたはユーザのグループとの合意に基づくシステムリソースの再アロケーションでありえる。後者のシナリオにおいてシステムユーザたちは、彼等の使用のために彼等にアロケートされたリソースにしたがって、すなわちキャパシティオンデマンドで、しかし従来可能であったよりも粒状性のより細かいリソースレベルでチャージされえる。これは、複数のプロセッサを相互接続する分散化されたポイント・ツー・ポイント伝送インフラストラクチャ、例えばＨＴインフラストラクチャを採用することは、例えば単一のプロセッサ、メモリバンク、またはＩ／Ｏバスのアロケーションを可能にするからである。
【００３５】
本発明の技術による静的および動的の両方のシステムコンフィギュレーション／パーティショニングが達成される特定の実施形態がこれから説明される。ここで用いられるように、静的なパーティショニングという語は、そのコンピュータシステムに関連付けられた１つ以上のオペレーティングシステムをシャットダウンして、パーティショニングを行い、１つ以上のオペレーティングシステムを再起動することを指す。対照的に、動的パーティショニングは、パーティショニングを行うために１つ以上の現在走っているオペレーティングシステムについて処理をすることを指す。
【００３６】
例えば本発明のさまざまな実施形態によれば、サービスプロセッサは現在存在するパーティションからリソースを除去するためのリクエストを出すことができ、このリクエストに応答して、影響を受けるオペレーティングシステム（群）はシャットダウンすることなくリソース除去を扱えるかどうかを決定する。もし可能であれば、サービスプロセッサはここに記載されたように適切なルーティングテーブルを再コンフィギャすることが許される。もしそうでなければ、いかなるパーティショニングも静的になされなければならない。
【００３７】
もし一方で、利用可能なリソースを現在存在するパーティションに追加するリクエストであれば、サービスプロセッサは、影響を受けるオペレーティングシステム（群）に対してリソースを追加する要求を出す。影響されるオペレーティングシステム（群）は、それから動作を止めることなくリソースを追加することが可能でありえる。
【００３８】
今度は図６を参照する。電源がシステム（６０２）に与えられると、サービスプロセッサは、以前に特定されたコンフィギュレーションにしたがって、システムプロセッサに関連付けられたルーティングテーブルを生成する（６０４）ことによって、システムプロセッサのそれぞれを初期化する。すなわち静的パーティショニングが実行される。初期のシステムコンフィギュレーションは、例えばサービスプロセッサが接続されるフラッシュメモリに記憶されるか、またはシステムをオンラインにするシステムアドミニストレータによって特定されえる。システムコンフィギュレーションは、幅広いオペレーション上の目的を達成するために１つ以上の機能的に別個のパーティションに対応しえる。いったんルーティングテーブルが生成されると、システムオペレーションが開始し、ここでシステムリソースは１つ以上の機能的に別個のパーティションにアロケートされる（６０６）。
【００３９】
サービスプロセッサはそれから、システムの再パーティショニングを必要とするランタイムイベントの発生がないかをチェックするため進行中のサーバアクティビティを監視し続ける（６０８）。上述のように本発明は、このような幅広いランタイムイベントが動的パーティショニングをトリガするのに適すると想定する。しかし説明の目的のために、システムリソースの故障がこの例示的な実施形態においては用いられる。よって６０８においてサービスプロセッサは、このような故障に関するシステムエラーメッセージを探す。もしこのようなエラーメッセージが検出されると（６１０）、メッセージはエラーの重大性を決定するために分析される（６１２）。もしエラーが破局的であるなら（６１４）、すなわちシステムが信頼性をもって動作しえないなら、リモートファシリティに知らせが行き（６１６）、システムはシャットダウンされる（６１８）。
【００４０】
もし一方で、エラーが破局的でないなら（６１４）、故障した要素は分離され（６２０）、故障した要素（群）が結果として生じる機能パーティション群のいずれからも除去される新しいシステムコンフィギュレーションが導かれる（６２２）。実施形態によっては、この新しいシステムコンフィギュレーションの導出は、現在のシステムコンフィギュレーション、例えばサービスプロセッサに関連付けられたフラッシュメモリに記憶されたコンフィギュレーション、および故障情報を参照して行われる。サービスプロセッサはそれから、適切なシステムリソースを静止状態にし（６２４）、システムノード、例えばプロセッサに関連付けられたルーティングテーブルおよびコントロールに適切な変更を施す（６２６）ことによって新しいパーティショニングスキームを有効にする。
【００４１】
本発明の具体的な実施形態によれば、サービスプロセッサは、任意の故障したプロセッサを自動的に静止状態にさせ、それによってそれを利用可能なプロセッサプールから除去するようコンフィギャされる。対応するコマンドはサービスプロセッサからオペレーティングシステムへとアドバンストコンフィギュレーション・パワーインタフェース（ＡＣＰＩ）２．０プロトコルを用いて送られえる。故障したプロセッサにアサインされたスレッドはすでに完了しており（もし可能であれば）、いったんオペレーティングシステムが静止状態になると、アクノリッジがサービスプロセッサに送られ、サービスプロセッサはこんどは故障したプロセッサをそのパーティションから取り除く。サービスプロセッサは、プロセッサ群のうちの他の１つを故障したプロセッサパーティションにアサインしてもよく、縮小された状態にパーティションを維持してもよく、あるいはパーティションごとなくしてもよい。
【００４２】
故障した要素（群）が分離され、再パーティショニングが定義された後、新しく形成されたパーティションを適切に初期化するためにシステムをリスタートすることが必要かどうかについて判断がなされる（６２８）。もし必要であれば、システムリスタートが開始される（６３０）。もし必要でなければ、システム全体のリブートを必要とすることなく、ある特定のシステム要素が初期化を必要とするかどうかについて判断がなされる（６３２）。もし必要であれば、電源オンリセット信号が特定された要素（群）に送られる（６３４）。そうでなければサーバは、それから通常動作を続けることが許される。あるいはシステムリソースの故障によってしばしばシステムのリスタートが必要となると仮定するなら、そのような故障に応答してシステムが再パーティショニングされた後にはシステムリスタートが自動的に起こるような実施形態も想定される。
【００４３】
前述のことを参照し本発明の技術は、サービスプロセッサではなくシステムプロセッサ群のうちの１つによってシステム初期化が導かれるようなシステムにおいて、中央処理装置（ＣＰＵ）の電源オン時の故障を扱うためにも採用されえることが理解されよう。具体的な実施形態によれば本発明のサービスプロセッサは、そのルーティングテーブルをコンフィギャするために「アウトオブバンド」でシステムプロセッサと通信を行うので、コンピュータシステムは、プライマリシステムプロセッサが調子が悪くなり、セカンダリシステムプロセッサ（群）との初期化チェーン、すなわち「インバンド」通信を完了できないパーティションの故障に対してよりロバストに作られえる。このような場合、故障したプロセッサを除外し、新しいプライマリシステムプロセッサを指定し、中断した初期化を完了させるために、サービスプロセッサはプライマリプロセッサが故障したことを検出し、それからセカンダリシステムプロセッサ（群）のルーティングテーブルおよびコントロールがサービスプロセッサによって直接に変更されえる。
【００４４】
前述のように本発明は、コンピュータシステムのリソースの動的な再パーティショニングが起動されえるさまざまなメカニズムを想定する。あるそのようなメカニズムである、システムアドミニストレータによって入力されたランタイムパーティショニングリクエストが図７のフローチャートを参照してここで説明される。図示される実施形態は、例えばシステム管理コンソールからのパーティショニングリクエストを探して、進行中のサーバアクティビティを監視することから始まる（７０２）。もしそのようなリクエストが受け取られると（７０４）、サービスプロセッサは、リクエストが有効かどうかを判断する（７０６）。本発明のさまざまな実施形態によれば、パーティショニングリクエストの有効性は、任意の判断基準にしたがって決定されえる。例えばリクエストによって示されるパーティションは、有効なパーティションのための最低リソースリストを照らしてチェックされえる。もしリクエストが有効でないと判断されると（７０６）、リクエストは無効であり拒絶されることを示すレスポンスがコンソールに送られる（７０８）。さまざまな実施形態によれば、レスポンスは、リクエストがなぜ無効かを示す、例えばリクエストがブートイメージを含まないパーティションを作ろうとしたことを示す付加的な情報を示してもよい。
【００４５】
もし一方で、パーティショニングリクエストが有効であると判断されるなら（７０６）、サービスプロセッサは、新しいパーティションを有効にするために、適切なシステムリソース（例えばプロセッサ、メモリ、Ｉ／Ｏ）を静止状態にし（７１０）、静止状態にされたシステムリソースに関連付けられたルーティングテーブルに適切な変更を行う（７１２）ことによって要求されたパーティショニングスキームを実現する。
【００４６】
システムパーティショニングが再定義された後で、新しく形成されたパーティションの適切な初期化のためにシステム全体をリスタートすることが必要かどうかについての判断がなされる（７１４）。もしそうならシステムがリスタートされる（７１６）。もし必要でないなら、特定のシステム要素（群）が初期化を必要とするかどうかについてのさらなる判断がなされる（７１８）。もし必要なら、それから電源オンリセット信号がそのような要素（群）に送られる（７２０）。再パーティショニングが完了した後で、進行中のサーバアクティビティのモニタリングが再開される（７０２）。よって本発明は、ランタイム中にサーバ（または任意のコンピュータシステム）を再パーティショニングすることを可能にする。
【００４７】
より一般には上述のように、このような再パーティショニングは、幅広い種類のランタイムイベントによって、幅広い目的のために起こりえる。例えばシステムアドミニストレータからのリクエストに応答する代わりに、システムリソースの再パーティショニングは、走らされている特定の組み合わせのアプリケーション群に応答して起こりえる。すなわちシステムは、あるレベルのリソースをそれぞれ必要とするアプリケーション群の第１の組み合わせを走らせるように最初はパーティショニングされえる。システムリソースの異なるアロケーションを要求する第２の組み合わせのアプリケーション群が走らされるとき、リソース群の新しいアロケーションを有効にするためのシステムの自動再パーティショニングが起こりえる。
【００４８】
本発明は特に具体的な実施形態について示され説明されてきたが、当業者には開示された実施形態の形態および詳細への変更が本発明の範囲から逸脱することなくなされえることが理解されよう。例えば本発明は、説明された実施形態から任意の数のプロセッサを持つ実現例へと一般化されえる。
【００４９】
さらに本発明の技術は、ここに説明された静的および動的パーティショニングを実行するためには必ずしも別個のサービスプロセッサを必要としない。すなわちシステムプロセッサのうちの１つが、これらの機能をシステムスタートアップ時において、またはランタイムイベントに応答して実行するように構成されえる。マルチプロセッサが協働してパーティショニングを実行するように構成される実施形態も想定される。これらの種類の動作を命令するプログラムは例えばシステムＢＩＯＳメモリに記憶されえる。
【００５０】
さらにシステム初期化において、およびシステム動作中においての両方で本発明の技術が採用される特定の実施形態がここでは説明されるが、本発明は、本発明によって可能になる技術がこれらのうちの一方か他方かにおいてだけ採用される実施形態も包含することが理解されよう。すなわち本発明がシステムを初期化するのにだけ用いられる実施形態も想定される。逆に、動的パーティショニングだけが実行される実施形態も想定される。
【００５１】
ここで使用される「リソース」という語は、単一のプロセッサの物理的な実現例よりももっと多くを包含するよう想定される。すなわち本発明のさまざまな実施形態によれば、リソースは、コンピューティングシステムの主要な要素群のうちの任意のものとして考えられえる。そのような要素群にはいくつかを挙げれば、１つ以上のプロセッサ、メモリのバンク（典型的には物理的なメモリ、例えばＤＩＭＭのバンク）、Ｉ／Ｏバス（例えばＰＣＩまたはＩＳＡバス）、およびバス上の要素（例えばＳＣＳＩカード、通信カード、ファイバーチャネルカード）のような物理的要素群が含まれる。しかしシステムリソースは、プロセッサに関連付けられた論理部品のような論理要素（例えばＤＭＡエンジンまたはルーティング割り込みのための割り込みメカニズム）でありえることに注意されたい。
【００５２】
また本発明は、パーティショニングスキームを実現するためにルーティングテーブルが操作される実施形態に限定されるべきではないことに注意されたい。すなわち本発明は、システムプロセッサ間のリンク群をイネーブルしたり、ディセーブルしたりすることによってパーティショニングが実現されるコンピュータシステムおよびパーティショニング方法を包含すると考えられえ、分散化されたポイント・ツー・ポイント伝送インフラストラクチャの部分を表すこれらリンク群は相互接続される。例えば、これらリンク群をイネーブルしたりディセーブルしたりする代替の方法は、スイッチを開いたり、閉じたりすることでありえる。
【００５３】
最後に、本発明のさまざまな効果、局面、および目的がここにさまざまな実施形態を参照して説明されてきたが、本発明の範囲はこのような効果、局面、および目的を参照して限定されるべきではないことが理解されよう。むしろ本発明の範囲は添付の特許請求の範囲を参照して決定されるべきである。
【図面の簡単な説明】
【００５４】
【図１】従来のマルチプロセッサシステムのブロック図である。
【図２】ポイント・ツー・ポイントデータ転送インフラストラクチャを持つマルチプロセッサシステムのブロック図である。
【図３】本発明の具体的な実施形態によって設計され動作するマルチプロセッサシステムの一部のブロック図である。
【図４】図３のマルチプロセッサシステムのパーティショニングを制御する例示的なメカニズムのブロック図である。
【図５】本発明とともに用いるプロセッサのブロック図である。
【図６】本発明の具体的な実施形態を示すフローチャートである。
【図７】本発明の他の具体的な実施形態を示すフローチャートである。
【図１】
2005500622.tif 000002
【図２】
2005500622.tif 000003
【図３】
2005500622.tif 000004
【図４】
2005500622.tif 000005
【図５】
2005500622.tif 000006
【図６】
2005500622.tif 000007
【図７】
2005500622.tif 000008
【国際公開パンフレット】
2005500622.tif 000009
2005500622.tif 000010
2005500622.tif 000011
2005500622.tif 000012
2005500622.tif 000013
2005500622.tif 000014
2005500622.tif 000015
2005500622.tif 000016
2005500622.tif 000017
2005500622.tif 000018
2005500622.tif 000019
2005500622.tif 000020
2005500622.tif 000021
2005500622.tif 000022
2005500622.tif 000023
2005500622.tif 000024
2005500622.tif 000025
2005500622.tif 000026
2005500622.tif 000027
2005500622.tif 000028
2005500622.tif 000029
2005500622.tif 000030
2005500622.tif 000031
2005500622.tif 000032
2005500622.tif 000033
2005500622.tif 000034
2005500622.tif 000035
2005500622.tif 000036
2005500622.tif 000037
2005500622.tif 000038
2005500622.tif 000039
2005500622.tif 000040
2005500622.tif 000041
2005500622.tif 000042
2005500622.tif 000043
2005500622.tif 000044
2005500622.tif 000045
【国際調査報告】
2005500622.tif 000046