(57)【要約】【課題】  コンピュータシステムコンプレックス内のシステム管理信号の分配を改善する方法および装置を提供する。【解決手段】  ボックス内およびコンピュータシステムボックス群間の両方での伝送のためのメカニズムが提供される。ローカルルーティングテーブルおよび汎用ルーティングテーブルは、特定のパーティションに関連付けられたリソースに正確にシステム管理信号を分配することを可能にする。信号は、１つ以上のボックスに関連付けられたリソースを適切な状態にするよう順序付けられる。コンピュータシステムコンプレックス内のボックス間の信号の分配は、専用のワイヤを使用することなく達成されえる。
2006506736.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステムであって、
複数のローカルプロセッサを含む複数のローカルリソース、
前記複数のローカルリソースに結合されたローカルサービスプロセッサであって、前記ローカルサービスプロセッサはリセット情報を受け取るよう構成される、ローカルサービスプロセッサ、および
前記リセット情報は、前記複数のローカルプロセッサのサブセットを含む複数のローカルリソースのサブセットへ送られ、前記複数のローカルリソースの前記サブセットは、ローカルルーティングテーブルを用いることによって決定される
コンピュータシステム。
【請求項２】
請求項１に記載のコンピュータシステムであって、コンフィギュレーションシステムモジュールをさらに備え、前記コンフィギュレーションシステムモジュールは複数のローカルリソースおよびローカルサービスプロセッサに結合されるコンピュータシステム。
【請求項３】
請求項２に記載のコンピュータシステムであって、リセット情報は、前記コンフィギュレーションシステムモジュールを通して前記複数のローカルリソースのサブセットに送られ、前記複数のローカルリソースの前記サブセットを特定するために前記コンフィギュレーションシステムモジュールは前記ローカルルーティングテーブルにアクセスするコンピュータシステム。
【請求項４】
請求項２に記載のコンピュータシステムであって、前記ローカルサービスプロセッサは、複数のリモートリソースに関連付けられた複数のリモートサービスプロセッサに結合されるコンピュータシステム。
【請求項５】
請求項２〜４のいずれかに記載のコンピュータシステムであって、前記ローカルルーティングテーブルは、パーティションを特定する情報を含むコンピュータシステム。
【請求項６】
請求項５に記載のコンピュータシステムであって、パーティションを特定する前記情報は、スロットナンバを備えるコンピュータシステム。
【請求項７】
請求項２に記載のコンピュータシステムであって、前記ローカルルーティングテーブルはリセット信号のタイプを特定する情報を含むコンピュータシステム。
【請求項８】
請求項２に記載のコンピュータシステムであって、前記ローカルサービスプロセッサはプライマリサービスプロセッサであるコンピュータシステム。
【請求項９】
請求項８に記載のコンピュータシステムであって、前記プライマリサービスプロセッサは、複数の非ローカルサービスプロセッサにリセット情報を分配するようさらに構成されるコンピュータシステム。
【請求項１０】
請求項９に記載のコンピュータシステムであって、前記複数の非ローカルサービスプロセッサは、汎用ルーティングテーブルにアクセスすることによって決定されるコンピュータシステム。
【請求項１１】
請求項２に記載のコンピュータシステムであって、前記ローカルサービスプロセッサは、セカンダリサービスプロセッサであるコンピュータシステム。
【請求項１２】
請求項１１に記載のコンピュータシステムであって、前記ローカルサービスプロセッサは、Ｉ／Ｏハブからリセット情報を受け取るコンピュータシステム。
【請求項１３】
請求項１１〜１２のいずれかに記載のコンピュータシステムであって、前記ローカルサービスプロセッサはプライマリサービスプロセッサからリセット情報を受け取るコンピュータシステム。
【請求項１４】
請求項１１に記載のコンピュータシステムであって、前記ローカルサービスプロセッサはＩ２Ｃインタフェース上でリセット情報を受け取るコンピュータシステム。
【請求項１５】
請求項１に記載のコンピュータシステムであって、前記複数のローカルリソースはメモリおよび相互接続コントローラをさらに含むコンピュータシステム。
【請求項１６】
請求項１５に記載のコンピュータシステムであって、前記複数のローカルプロセッサおよび前記相互接続コントローラは、ポイントツーポイントアーキテクチャで相互接続されるコンピュータシステム。
【請求項１７】
請求項１に記載のコンピュータシステムであって、前記リセット情報は、コールドリセットを表すコンピュータシステム。
【請求項１８】
請求項１に記載のコンピュータシステムであって、前記リセット情報は、ウォームリセットを表すコンピュータシステム。
【請求項１９】
リセット情報を分配する方法であって、
複数のローカルプロセッサを含む複数のローカルリソースを特定すること、
前記複数のローカルリソースに結合されたローカルサービスプロセッサを特定することであって、前記ローカルサービスプロセッサはリセット情報を受け取るよう構成される、ローカルサービスプロセッサを特定すること、および
前記複数のローカルプロセッサのサブセットを含む複数のローカルリソースのサブセットへ前記リセット情報を送ることであって、前記複数のローカルリソースの前記サブセットは、ローカルルーティングテーブルを用いることによって決定される、前記リセット情報を送ること
を含む方法。
【請求項２０】
請求項１９に記載の方法であって、コンフィギュレーションシステムモジュールは前記複数のローカルリソースおよび前記ローカルサービスプロセッサに結合される方法。
【請求項２１】
請求項２０に記載の方法であって、リセット情報は、前記コンフィギュレーションシステムモジュールを通して前記複数のローカルリソースのサブセットに送られ、前記複数のローカルリソースの前記サブセットを特定するために前記コンフィギュレーションシステムモジュールは前記ローカルルーティングテーブルにアクセスする方法。
【請求項２２】
コンピュータシステムであって、
プロセッサのローカルクラスタを含む複数のローカル要素であって、前記プロセッサのローカルクラスタはポイントツーポイントアーキテクチャで相互接続され、複数のプロセッサのリモートクラスタに結合される、複数のローカル要素、および
パーティションに関連付けられたオペレーティングシステムからパワー管理リクエストを受け取り、前記パワー管理リクエストをコヒーレントインタフェースを通して複数のリモートボックスに転送するよう構成されたローカルＩ／Ｏハブ
を備えるコンピュータシステム。
【請求項２３】
請求項２２に記載のコンピュータシステムであって、前記パワー管理リクエストは、プロセッサ電圧および周波数を変化させるリクエストであるコンピュータシステム。
【請求項２４】
請求項２２〜２３のいずれかに記載のコンピュータシステムであって、前記パワー管理リクエストは、リンク幅および周波数を変化させるリクエストであるコンピュータシステム。
【請求項２５】
請求項２２〜２４のいずれかに記載のコンピュータシステムであって、前記コヒーレントインタフェースは、ホストブリッジであるコンピュータシステム。
【請求項２６】
請求項２２〜２５のいずれかに記載のコンピュータシステムであって、前記Ｉ／Ｏハブは非コヒーレントデバイスであるコンピュータシステム。
【請求項２７】
請求項２２〜２６のいずれかに記載のコンピュータシステムであって、前記ローカルＩ／Ｏハブは、前記パワー管理リクエストをローカルコンフィギュレーションシステムモジュールに送るようさらに構成されるコンピュータシステム。
【請求項２８】
請求項２７に記載のコンピュータシステムであって、ローカルルーティングテーブルは、前記パワー管理リクエストを受け取るべき前記複数のローカル要素のサブセットを決定するためにアクセスされるコンピュータシステム。
【請求項２９】
請求項２８に記載のコンピュータシステムであって、ローカルルーティングテーブルは、前記パワー管理リクエストを受け取るべき前記複数のローカル要素のサブセットを決定するためにアクセスされるコンピュータシステム。
【請求項３０】
請求項２８に記載のコンピュータシステムであって、前記パワー管理リクエストはＬＤＴＳＴＯＰと関連付けられるコンピュータシステム。
【請求項３１】
請求項３０に記載のコンピュータシステムであって、前記複数のローカルリソースはメモリおよび相互接続コントローラをさらに含むコンピュータシステム。
【請求項３２】
パワー管理情報を分配する方法であって、
ローカルプロセッサのローカルクラスタを含む複数のローカル要素を特定することであって、前記プロセッサのローカルクラスタは、ポイントツーポイントアーキテクチャで相互接続され、プロセッサの複数のリモートクラスタに結合される、複数のローカル要素を特定すること、
パーティションと関連付けられたオペレーティングシステムからのパワー管理リクエストをローカルＩ／Ｏハブにおいて受け取ること、および
前記パワー管理リクエストを複数のリモートボックスにコヒーレントインタフェースを通して転送すること
を含む方法。
【請求項３３】
請求項３２に記載の方法であって、前記パワー管理リクエストは、プロセッサ電圧および周波数を変化させるリクエストである方法。
【請求項３４】
請求項３２に記載の方法であって、前記パワー管理リクエストは、リンク幅および周波数を変化させるリクエストである方法。
【請求項３５】
請求項３２に記載の方法であって、前記パワー管理リクエストは特定のスリープ状態に入るリクエストである方法。
【請求項３６】
コンピュータシステムであって、
ローカルプロセッサのローカルクラスタを含む複数のローカル要素を特定する手段であって、前記プロセッサのローカルクラスタは、ポイントツーポイントアーキテクチャで相互接続され、プロセッサの複数のリモートクラスタに結合される、複数のローカル要素を特定する手段、
パーティションと関連付けられたオペレーティングシステムからのパワー管理リクエストをローカルＩ／Ｏハブにおいて受け取る手段、および
前記パワー管理リクエストを複数のリモートボックスにコヒーレントインタフェースを通して転送する手段
を含むコンピュータシステム。
【請求項３７】
請求項３６に記載のコンピュータシステムであって、前記パワー管理リクエストは、プロセッサ電圧および周波数を変化させるリクエストであるコンピュータシステム。
【請求項３８】
請求項３６に記載のコンピュータシステムであって、前記パワー管理リクエストは、リンク幅および周波数を変化させるリクエストであるコンピュータシステム。
【請求項３９】
請求項３６に記載のコンピュータシステムであって、前記パワー管理リクエストは特定のスリープ状態に入るリクエストであるコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全てDavid B. Glasco、Carl Zeitler、Rajesh Kota、Guru Prasadh、およびRichard R. Oehlerによる「Transaction Management In Systems Having Multiple Multi-Processor Clusters」（弁護士整理番号ＮＷＩＳＰ０１２）、「Routing Mechanisms In Systems Having Multiple Multi-Processor Clusters」（弁護士整理番号ＮＷＩＳＰ０１３）、および「Address Space Management In Systems Having Multiple Multi-Processor Clusters」（弁護士整理番号ＮＷＩＳＰ０１４）とそれぞれ題された米国特許出願第１０／１５７，３８４号、第１０／１５６，８９３号、および第１０／１５７，４０９号に関連し、これらの全体が全ての目的のために参照によって援用される。
【０００２】
本発明は、一般にコンピュータシステムにおいてシステム管理信号を分配することに関する。より具体的には、本発明は、パーティション中のリソースのような指定されたリソースに正確にシステム管理信号を分配する技術を提供する。
【背景技術】
【０００３】
マルチプロセッサシステムの設計に対する比較的新しいアプローチは、プロセッサ間のブロードキャスト通信をポイントツーポイントデータ転送メカニズムで置き換え、このメカニズムにおいてプロセッサは、密に結合されたコンピューティングシステムにおけるネットワークノードに対しても同様に通信する。典型的な実現例において、リソースまたはコンピュータシステムボックスのグループは、クラスタまたはコンピュータシステムコンプレックスを形成するよう相互接続されえる。マルチパーティションがそれからコンピュータシステムコンプレックスの上において走りえる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、システム管理信号を分配するメカニズムは限られている。その結果、複数の相互接続されたプロセッサの複数のクラスタを有するシステムにおけるシステム管理信号の分配を改善する技術を提供することが望ましい。
【課題を解決するための手段】
【０００５】
コンピュータシステムコンプレックス内のシステム管理信号の分配を改善する方法および装置が提供される。ボックス内およびコンピュータシステムボックス群間の両方での伝送のためのメカニズムが提供される。ローカルルーティングテーブルおよび汎用ルーティングテーブルは、特定のパーティションに関連付けられたリソースに正確にシステム管理信号を分配することを可能にする。信号は、１つ以上のボックスに関連付けられたリソースを適切な状態にするよう順序付けられる。コンピュータシステムコンプレックス内のボックス間の信号の分配は、専用のワイヤを使用することなく達成されえる。
【０００６】
ある実施形態においてはコンピュータシステムが提供される。このコンピュータシステムは、複数のローカルプロセッサを含む複数のローカルリソース、および前記複数のローカルリソースに結合されたローカルサービスプロセッサを含む。前記ローカルサービスプロセッサはリセット情報を受け取るよう構成される。前記リセット情報は、前記複数のローカルプロセッサのサブセットを含む複数のローカルリソースのサブセットへ送られる。前記複数のローカルリソースの前記サブセットは、ローカルルーティングテーブルを用いることによって決定される。
【０００７】
他の実施形態において、リセット情報を分配する方法が提供される。複数のローカルプロセッサを含む複数のローカルリソースが特定される。前記複数のローカルリソースに結合されたローカルサービスプロセッサが特定される。前記ローカルサービスプロセッサはリセット情報を受け取るよう構成される。前記複数のローカルプロセッサのサブセットを含む複数のローカルリソースのサブセットへ前記リセット情報が送られる。前記複数のローカルリソースの前記サブセットは、ローカルルーティングテーブルを用いることによって決定される。
【０００８】
他の実施形態においてはコンピュータシステムが提供される。このコンピュータシステムは、プロセッサのローカルクラスタを含む複数のローカル要素を含む。前記プロセッサのローカルクラスタはポイントツーポイントアーキテクチャで相互接続され、複数のプロセッサのリモートクラスタに結合される。このコンピュータシステムは、パーティションに関連付けられたオペレーティングシステムからパワー管理リクエストを受け取り、前記パワー管理リクエストをコヒーレントインタフェースを通して複数のリモートボックスに転送するよう構成されたローカルＩ／Ｏハブも含む。
【０００９】
さらに他の実施形態によれば、パワー管理情報を分配する方法が提供される。ローカルプロセッサのローカルクラスタを含む複数のローカル要素が特定される。前記プロセッサのローカルクラスタは、ポイントツーポイントアーキテクチャで相互接続され、プロセッサの複数のリモートクラスタに結合される。パーティションと関連付けられたオペレーティングシステムからのパワー管理リクエストがローカルＩ／Ｏハブにおいて受け取られる。前記パワー管理リクエストは、複数のリモートボックスにコヒーレントインタフェースを通して転送される。
【００１０】
本発明の性質および優位性は、明細書および図面の残りの部分を参照することによって明らかになろう。
【発明を実施するための最良の形態】
【００１１】
本発明は、以下の説明を添付の図面と併せて参照することによって最もよく理解されえ、図面は本発明の具体的な実施形態を図示するものである。
【００１２】
本発明を実施するための発明者によって考えられたベストモードを含む本発明のいくつかの具体的な実施形態が詳細にここで参照される。これら具体的な実施形態の例は、添付の図面に示される。本発明は、これら具体的な実施形態について説明されるが、本発明を記載された実施形態に限定するよう意図されてはいないことが理解されよう。むしろ、代替物、改変、および等価物を、添付の特許請求の範囲によって規定される本発明の精神および範囲内に含まれるとしてカバーするよう意図される。そのプロセッサ間でポイントツーポイント通信を有するマルチプロセッサアーキテクチャは、本発明の具体的な実施形態を実現するのに適する。
【００１３】
以下の記載において、本発明の完全な理解を促すために多くの具体的な詳細が述べられている。本発明は、これら具体的な詳細の一部または全てなしでも実施されえる。本発明の趣旨を不必要にぼかさないために、よく知られたプロセス操作は詳細には記載されていない。さらに本発明が単一のエンティティを参照する場合、本発明の方法および装置は、文脈上明らかにそうでないと表されない限り、１より多いエンティティを用いて実現可能である。
【００１４】
図１Ａは、本発明の技術を採用しえるマルチクラスタ、マルチプロセッサシステムの一例の概略図である。それぞれの処理クラスタ１０１、１０３、１０５、および１０７は、複数のプロセッサを含む。処理クラスタ１０１、１０３、１０５、および１０７は、互いにポイントツーポイントリンク１１１ａ〜ｆを通して接続される。図１Ａに示されるマルチクラスタアーキテクチャ中のマルチプロセッサは、グローバルメモリスペースを共有する。この例では、ポイントツーポイントリンク１１１ａ〜ｆは、マルチクラスタ１０１、１０３、１０５、および１０７内のマルチプロセッサを接続するために従来のフロントサイドバスに代わって用いられる内部システム接続である。このポイントツーポイントリンクは、任意のポイントツーポイントのコヒーレンスプロトコルをサポートしえる。
【００１５】
図１Ｂは、本発明の技術を採用しえるマルチクラスタ、マルチプロセッサシステムの他の例の概略図である。それぞれの処理クラスタ１２１、１２３、１２５、および１２７は、ポイントツーポイントリンク１４１ａ〜ｄを通してスイッチ１３１に結合される。スイッチおよびポイントツーポイントリンクを用いることは、システム内でマルチクラスタを接続するとき、より少ないポイントツーポイントリンクで実現することを可能にする。スイッチ１３１は、コヒーレンスプロトコルインタフェースを持つプロセッサを含みえる。さまざまな実現例によれば、図１Ａに示されるマルチクラスタシステムは、図１Ｂに示されるスイッチ１３１を用いて拡張されえる。
【００１６】
図２は、例えば図１Ａに示されるクラスタ１０１のようなマルチプロセッサクラスタの概略図である。クラスタ２００は、プロセッサ２０２ａ〜２０２ｄ、１つ以上の基本Ｉ／Ｏシステム（ＢＩＯＳ）２０４、メモリバンク２０６ａ〜２０６ｄを備えるメモリサブシステム、ポイントツーポイント通信リンク２０８ａ〜２０８ｅ、およびサービスプロセッサ２１２を含む。ポイントツーポイント通信リンクは、プロセッサ２０２ａ〜２０２ｄ、Ｉ／Ｏスイッチ２１０、および相互接続コントローラ２３０の間で相互接続を可能にするよう構成される。サービスプロセッサ２１２は、リンク２１４ａ〜２１４ｆによって図２に表されるＪＴＡＧインタフェースを介してプロセッサ２０２ａ〜２０２ｄ、Ｉ／Ｏスイッチ２１０、および相互接続コントローラ２３０と通信を可能にするよう構成される。サービスプロセッサ２１２は、また、他のボックスに関連付けられた他のサービスプロセッサに接続されえる。他のインタフェースがサポートされることに注意されたい。Ｉ／Ｏスイッチ２１０は、システムの残りをＩ／Ｏアダプタ２１６および２２０に接続する。
【００１７】
具体的な実施形態によれば、本発明のサービスプロセッサは、システムリソースを以前に特定されたパーティションスキーマに従って分割する（partition）ためのインテリジェンスを有する。パーティショニングは、ボックス内のリソースに関連付けられたルーティングテーブルをサービスプロセッサによって直接に操作することによって達成されえ、これはポイントツーポイント通信インフラストラクチャによって可能になる。このルーティングテーブルは、さまざまなシステムリソースを制御および分離するのに用いられ、これらシステムリソース間での接続がその中で定義される。さまざまな実施形態によれば、それぞれのサービスプロセッサは、ルーティングテーブルに直接にアクセスするためにコンフィギュレーションシステムモジュールにも関連付けられえる。ある実施形態において、コンフィギュレーションシステムモジュールは、システム管理信号（system management signals）を分配（distribute）するよう構成される（configured）。コンピュータシステムコンプレックス内でリソースを管理するのに用いられる任意の信号は、ここではシステム管理信号と呼ばれる。システム管理信号の一部の例には、さまざまなノードに送られるリセットおよびパワー管理信号が含まれる。ある例では、コンフィギュレーションシステムモジュールは、サービスプロセッサ内のロジックとして、または完全に別個の要素として実現される。
【００１８】
典型的な実現例において、いくつかのプロセッサを含むボックスは、ボックス内の全ての要素に対し無差別に動作するシステム管理機能を含む。例えば、システム上で走るオペレーティングシステムによって分配されるリセット信号機能は、ボックス内の全ての要素をリセットさせるだろう。同様に、プロセッサが特定のスリープ状態のようなパワー節約モードで動作するためのパワー管理操作命令は、ボックス内の全てのプロセッサがスリープ状態に入る結果を生じるだろう。相互接続されたローカルバスまたはポイントツーポイントアーキテクチャを有し、データ転送のためにリードおよびライト操作を用いるプロセッサおよび他のリソースは、ここではボックス内に常駐する（reside）と呼ばれる。ボックス群は、データ転送のためにコントローラによって一緒に接続される。インタフェースに関連付けられたメッセージングタイプは、ボックス群の間のバンド外の通信のために用いられる。
【００１９】
さまざまな実施形態によれば、本発明の技術は、選択されたノードまたはリソースだけがシステム管理機能のターゲットであるようなシステム管理機能の制御を可能にする。また本発明の技術は、システム管理信号を既存のリンクを通して他のボックスに分配するメカニズムを提供する。プロセッサおよびＩ／Ｏ要素のようなリソースに管理信号を分配する論理またはメカニズムは、ここではコンフィギュレーションシステムモジュールと呼ばれる。リセットおよびパワー管理操作のようなシステム管理機能は、プロセッサ２０２ａ〜ｄ、コントローラ２３０、およびＩ／Ｏスイッチ２１０のような選択されたリソースに分配されえる。それぞれのプロセッサ２０２ａ〜ｄは、複数のサブユニットを含むプロセッサノードでありえることが理解されよう。ある例では、それぞれのノードは、ＣＰＵ、メモリコントローラ、およびＩ／Ｏブリッジのようなリソースを含みえる。
【００２０】
プロセッサ２０２ａ〜ｄは、相互結合コントローラ２３０にポイントツーポイントリンク２３２ａ〜ｄを通して結合される。さまざまな実施形態によれば、相互結合コントローラ２３０は、複数のプロセッサクラスタのそれぞれに関連付けられたノードＩＤ空間の管理、割り込みおよび関連する送信の通信、およびキャッシュコヒーレンシーの維持のようなさまざまな機能を実行する。相互結合コントローラ２３０は、他のマルチプロセッサクラスタ群に関連付けられた同様のコントローラ群に結合されえる。１つのクラスタにこのような相互結合コントローラが１つより多く存在しえることに注意されたい。相互結合コントローラ２３０は、プロセッサ２０２ａ〜ｄと共にリモートクラスタともポイントツーポイントプロトコルを用いて通信する。
【００２１】
より一般には、図２に示される具体的なアーキテクチャは、単に例示的であって、本発明の実施形態は、異なる構成およびリソース相互結合、および示されたシステムリソースのそれぞれについてさまざまな代替物を有すると想定されることが理解されよう。しかし例示する目的のためにクラスタ２００の特定の詳細が想定される。例えば、図２に示されるリソースのほとんどは、単一の電子アセンブリ上に常駐すると想定される。加えて、メモリバンク２０６ａ〜２０６ｄは、デュアルインラインメモリモジュール（ＤＩＭＭ）として物理的に提供されるダブルデータレート（ＤＤＲ）メモリを備えうる。Ｉ／Ｏアダプタ２１６は、例えば、永久記憶デバイスにアクセスを提供するウルトラダイレクトメモリアクセス（ＵＤＭＡ）コントローラ、またはスモールコンピュータシステムインタフェース（ＳＣＳＩ）コントローラでありえる。Ｉ／Ｏアダプタ２２０は、例えばローカルエリアネットワーク（ＬＡＮ）またはインターネットのようなネットワークと通信を提供するよう構成されたイーサネット（登録商標）カードでありえる。
【００２２】
ある実施形態によれば、サービスプロセッサ２１２は、集積化されたチップセット機能を含むモトローラＭＰＣ８５５Ｔマイクロプロセッサであり、相互結合コントローラ２３０は、ローカルポイントツーポイントコヒーレンスプロトコルをサポートする特定用途向け集積回路（ＡＳＩＣ）である。相互接続コントローラ２３０は、Ｉ／Ｏデバイスとの通信を可能にするために非コヒーレントプロトコルを扱うようにも構成されえる。ある実施形態において、相互接続コントローラ２３０は、プログラマブルロジックデバイスまたはフィールドプログラマブルゲートアレイのような特別に構成されたプログラマブルチップである。他の実施形態において、相互接続コントローラ２３０は、ポイントツーポイントリンク２３２ａ〜ｄへのインタフェースを持つ汎用プロセッサである。
【００２３】
さまざまな実施形態によれば、Ｉ／Ｏスイッチ２１０は、１つ以上のＩ／Ｏハブ要素２１１ａおよび２１１ｂ、対応するＩ／Ｏブリッジ、Ｉ／Ｏプロセッサ、Ｉ／Ｏアダプタ、およびＩ／Ｏデバイスまたはネットワーク接続を含む。Ｉ／Ｏハブは、高速で非常に短距離のシステムプロセッサリンクからＩ／Ｏバスへの遷移を管理する。Ｉ／Ｏハブは、さまざまな形態をとりえる。Ｉ／Ｏバスによっては、ポイントツーポイントトポロジをサポートし、１マイル以上の距離へ広がりえる。ＰＣＩバスのような他のバスは、通常、１フィート未満の短い距離にわたるパラレルデータ、マルチドロップＩ／Ｏアダプタ環境をサポートする。さまざまなシステムリソースへの、およびそれからのデータのフローを管理し、データプロトコル翻訳を実行する論理またはメカニズムは、Ｉ／Ｏハブと呼ばれる。
【００２４】
図３は、相互接続コントローラ２３０の一例の概略図である。さまざまな実施形態によれば、相互接続コントローラは、マルチプロセッサシステムのさまざまなクラスタ中のプロセッサ群から受け取られたプローブおよびリクエストのようなパケットを扱うよう構成されたプロトコルエンジン３０５を含む。プロトコルエンジン３０５の機能は、パフォーマンスを改善するためにいくつかのエンジンにわたって分割されえる。
【００２５】
プロトコルエンジン３０５は、最近のリクエストおよびプローブのようなトランザクションを相互接続コントローラが追跡し、これらトランザクションを特定のプロセッサ群と関連付けることを可能にするペンディングバッファ３０９へのアクセスを有する。ペンディングバッファ３０９で維持されるトランザクション情報は、トランザクション宛先ノード、後で起こるコリジョン検出およびプロトコル最適化のためのリクエストのアドレス、レスポンス情報、タグ、および状態情報を含みえる。
【００２６】
相互接続コントローラは、外部プロセッサクラスタと共に、クラスタ中の他のプロセッサと相互接続コントローラが通信することを可能にするコヒーレントプロトコルインタフェース３０７を有する。また相互接続コントローラは、Ｉ／Ｏデバイスと通信する非コヒーレントプロトコルインタフェース３１１のような他のインタフェースを含みえる。さまざまな実施形態によれば、それぞれのインタフェース３０７および３１１は、フルクロスバーとして、またはマルチプレクサおよびバッファのような要素を用いる別個の受信および送信ユニットとして実現される。相互接続コントローラ２３０は、コヒーレントおよび非コヒーレントプロトコルインタフェースの両方を提供する必要は必ずしもないことに注意されたい。またあるクラスタ内の相互接続コントローラ２３０は、他のクラスタ内の相互接続コントローラ２３０と通信しえることにも注意されたい。
【００２７】
図４は、サービスプロセッサおよびコンフィギュレーションシステムモジュール使用の一例を示す簡略化されたブロック図である。本発明のシステム管理信号分配メカニズムは、上に示すサービスプロセッサ２１２とは大きく異なって見えるかもしれないことを注記するのは重要なことである。すなわち、ルーティングテーブルおよびポイントツーポイント通信インフラストラクチャを用いてインテリジェントにシステム管理リクエストを分配できる任意のメカニズムは、本発明の範囲内である。例えば、他の可能なメカニズムは、１つ以上のプログラム可能なインタフェースコントローラおよびその分配を実現する組み合わせ論理を用いることを含む。
【００２８】
しかしさまざまな実施形態によれば、サービスプロセッサ２１２は、コンフィギュレーションシステムモジュール４０５へのダイレクト接続を有する。サービスプロセッサは、イーサネット接続４０３のような接続を用いて、コンプレックス内の他のサービスプロセッサと通信する。ある例では、Ｉ２Ｃバス４０１がコンフィギュレーションシステムモジュールを、コンプレックス内の他のボックスに関連付けられたコンフィギュレーションシステムモジュールと接続する。このＩ２Ｃバスは、サービスプロセッサまたはその関連付けられたイーサネット接続の故障の場合には代替パスとして働く。
【００２９】
オペレーティングシステムは、Ｉ／Ｏハブ４０４ａおよび４０４ｂ内で提供され、さらにコンフィギュレーションシステムモジュールへルーティングされる、システム管理機能をアクティベートするためのさまざまな命令を用いる。加えて、ローカルリセットルーティングマトリックス４０７は、システム管理アクションのターゲット要素を選択するための、コンフィギュレーションシステムモジュール内の論理への入力として働く。
【００３０】
コンフィギュレーションシステムモジュールは、ローカルルーティングマトリクス４０７内の設定の機能としてシステム管理インタフェース４０６をドライブする。システム管理インタフェースは、パワーをオフするためのパワーシーケンサのような要素と共に、ウォームリセット、コールドリセットのような信号をドライブする。さまざまな実施形態によれば、コンフィギュレーションシステムモジュールは、コンフィギュレーションデータをＩ２Ｃバス４０１またはサービスプロセッサ４０２からローカルリセットルーティングマトリクス４０７へライトするダクトとして働く。またそれは、Ｉ／Ｏハブ４０４ａおよび４０４ｂからサービスプロセッサ４０２へのシステム管理信号、またはコンプレックス内の他のボックスへの通信のためのＩ２Ｃバス４０１の主導で、メッセージを生成する。このメッセージ生成は、またローカルリセットルーティングマトリクス４０７中の設定の制御の下に行われる。
【００３１】
図５は、複数のボックスおよび複数のパーティションを含むコンピュータシステムコンプレックスを示す概略図である。複数のボックスを含む任意のシステムは、ここではコンピュータシステムコンプレックスと呼ばれる。ボックス５９１は、プロセッサ５０１および５０３、相互接続コントローラ５０５、およびＩ／Ｏリソース５０７および５０９を含む。ボックス５９５は、プロセッサ５１１および５１３、相互接続コントローラ５１５、およびプロセッサ群およびプロセッサおよびＩ／Ｏリソース５１７および５１９を含む。ボックス５９３は、プロセッサ５２１および５２３、相互接続コントローラ５２５、およびプロセッサ群およびプロセッサおよびＩ／Ｏリソース５２７および５２９を含む。ボックス５９７は、プロセッサ５３１および５３３、相互接続コントローラ５３５、およびプロセッサ群およびプロセッサおよびＩ／Ｏリソース５３７および５３９を含む。コンピュータシステムコンプレックス内のプロセッサ群は、それぞれのボックス内に常駐する相互接続コントローラを通してポイントツーポイントリンクを用いて相互接続される。
【００３２】
ボックス５９１、５９３、５９５、および５９７はまた、サービスプロセッサおよびＩ／Ｏハブのような他のリソースを含むことに注意されたい。それぞれのボックスに関連付けられたサービスプロセッサは、典型的には内部イーサネット接続を用いて、他のボックス内のサービスプロセッサと通信する。さまざまな実施形態によれば、サービスプロセッサのうちの１つは、プライマリサービスプロセッサ（ＰＳＰ）として指定され、他の全てのサービスプロセッサはセカンダリサービスプロセッサ（ＳＳＰ）と指定される。ある実現例では、セカンダリサービスプロセッサは、プライマリサービスプロセッサとだけ通信する。プライマリサービスプロセッサは、セカンダリサービスプロセッサとだけではなく、管理コンソールおよび他の外部メカニズムとも通信する。さまざまな実施形態によれば、ボックス５９１、５９３、５９５、および５９７は、それぞれサービスプロセッサを含む。
【００３３】
さまざまな実施形態によれば、さまざまなボックスを接続するために他のラインも用いられる。ある実施形態においては、さまざまなボックス中のリソースを接続して、パワー管理信号の送信を可能にするために専用のラインが提供される。ある実施形態においては、サービスプロセッサは、特定のユーザのニーズに基づいてそれぞれのボックス内のリソースを分割するよう構成される。ある例では、ボックス５９１は、パーティション５４３、パーティション５４５、およびパーティション５４１のためのリソースを含む。しかしボックス５９５は、単一のパーティション５４５内にアロケートされたリソースだけを含む。
【００３４】
多くの典型的な実現例においては、ある個数のプロセッサおよび他のリソースを含むボックスは、ボックス内の全てのリソースに適用するシステム管理信号を有する。本発明の技術は、ボックス内のリソースを複数の個別のパーティション群に分割することを可能にし、パーティション群のそれぞれがそれ自身のオペレーティングシステムを走らせることができる。例えば、ボックス５９３は、パーティション５４７および５４９の両方についてのリソースを含む。ある例では、もしパーティション５４９内で走るオペレーティングシステムがボックス５９３内のリソースのリセットのために信号を発するなら、典型的な実現例は、別個のオペレーティングシステムに関連付けられたパーティション５４７のためのリソースを含むボックス５９３内の全てのリソースをリセットするだろう。リセットは、パーティション５４７上で走るオペレーティングシステムがリソースのリセットをリクエストしなかったとしても起こる。本発明の技術は、同じボックス内に他のパーティションのリソースが常駐していても、さまざまなパーティションの全てが、リセットまたはパワー管理機能のようなシステム管理操作をパーティションの一部であるリソースに適用することを可能にする。
【００３５】
他の例では、パーティション５４５に関連付けられた他のリソースがローカルボックスの外に常駐するので、同じシステム管理操作を実現するためにパーティション５４５内のリソースは、他のボックス内のリソースに信号を発することが必要となるかもしれない。本発明の技術は、適切なリソースだけが影響を受けるようなシステム管理機能の制御を可能にする。システム管理機能の制御は、特定のボックスおよびパーティション内のリソースの追加および削除を受け入れるために動的に変化されえる。ルーティングテーブルを設定することに関するさらなる情報は、David B. Glasco, Carl Zeitler, Rajesh Kota, Guru Prasadh,およびRichard R. Oehlerによる「Transaction Management In Systems Having Multiple Multi-Processor Clusters」と題された２００２年５月２８日に出願された米国特許出願第１０／１５７，３８４号（弁護士整理番号ＮＷＩＳＰ０１２）、David B. Glasco, Carl Zeitler, Rajesh Kota, Guru Prasadh,およびRichard R. Oehlerによる「Routing Mechanisms In Systems Having Multiple Multi-Processor Clusters」と題された２００２年５月２８日に出願された米国特許出願第１０／１５６，８９３号（弁護士整理番号ＮＷＩＳＰ０１３）、およびにDavid B. Glasco, Carl Zeitler, Rajesh Kota, Guru PrasadhおよびRichard R. Oehlerよる「Address Space Management In Systems Having Multiple Multi-Processor Clusters」と題された２００２年５月２８日に出願された米国特許出願第１０／１５７，４０９号（弁護士整理番号ＮＷＩＳＰ０１４）に記載されている。
【００３６】
図６は、システム管理信号を分配するのに用いられえる汎用ルーティングテーブルの概略図である。コンピュータシステムコンプレックス内の他のボックスにシステム管理信号を分配する任意の論理またはメカニズムは、ここでは汎用ルーティングテーブルと呼ばれる。ボックス内の特定のリソースにシステム管理信号を分配する任意の論理またはメカニズムは、ここではローカルルーティングテーブルと呼ばれる。
【００３７】
汎用ルーティングテーブル６００は、ボックス内のサービスプロセッサまたは他の要素と関連付けられることによって、そのボックスがシステム管理信号をコンプレックス内の適切なボックスにルーティングできるようにする。さまざまな実施形態によれば、パーティションナンバは、汎用ルーティングテーブル６００内のエントリを特定するのに用いられる。他の実施形態において、それぞれ４つのプロセッサを持つ４つのボックスを含むコンピュータシステムコンプレックスは、最大で１６のパーティションを有する。図５に示される実施形態において、５つのパーティションが提供される。５つのパーティションは、エントリ６０１〜６０９によって特定される。カラム６１３内に示されるスロットナンバは、ボックスからボックスへ送られるビット数を低減するのに用いられえる。ある例では、システム管理信号を第２ボックスに送る第１ボックスは、パーティションナンバを特定することによって、第２ボックスがシステム管理信号をそのパーティション内のリソースだけに適用できるようにする。
【００３８】
パーティション３のリソースがリセットされるべきであることをもし第１ボックスが示すなら、第２ボックスはパーティション３のリソースにリセットを適用する。しかし、多くのパーティションを用いるコンプレックスにおいて、それぞれのボックスがずっと小さい最大パーティション数しか持ちえないとき、可能なパーティションのそれぞれを表す大きなビットシーケンスを送るのは非効率になる。ある例では、４つのプロセッサを持つボックスは、４つの可能なパーティションしか持ちえない。さまざまな実施形態によれば、本発明の技術は、システム管理信号が適用されるべき実際のパーティションを特定するためのスロットナンバを提供する。個別のボックスは、スロットナンバを実際のパーティションナンバにマッピングして、実際のパーティションを決定できる。あるいは、ボックスは、パーティションナンバすら知らなくてもよく、単にシステム管理信号を特定のスロットナンバに関連付けられたリソースに適用しえる。
【００３９】
ある例では、ボックス０は、パーティション５４１、５４３、および５４５のためのリソースを含む。システム管理信号が受け取られるとき、システム管理信号に関連付けられたパーティションナンバが特定され、汎用ルーティングテーブルは、このパーティションナンバを用いてアクセスされる。もし図５に示されるボックス０が、パーティションナンバ２に関連付けられたシステム管理信号を受け取るなら、システム管理信号がボックス０スロットナンバ２に適用されるべきか決定するためにエントリ６０５がアクセスされる。換言すれば、システム管理信号は、スロットナンバ２に関連付けられたボックス０内のリソースに適用される。しかし他のボックスは、パーティションナンバ２に関連付けられたリソースも含む。システム管理信号は、エントリ６０５において提供されるアドレスへ送られる。ある例では、パーティションナンバ２のリソースは、ボックス２および３においても含まれる。汎用ルーティングテーブル６００は、ボックス２および３のイーサネットおよび／またはインターインテグレーテッドサーキット（Ｉ２Ｃ）アドレスを提供する。コンプレックス内のボックス群を相互接続するためにイーサネットおよびＩ２Ｃのようなさまざまなメカニズムが用いられえる。
【００４０】
他の例では、ボックス０は、パーティションナンバ４に関連付けられたシステム管理信号を受け取る。エントリ６０９を用いて、ボックス０は、システム管理信号がボックス１スロット１にルーティングされるべきであると認識する。さまざまな実施形態によれば、ボックス０は、エントリ６０９内で特定されるイーサネットアドレスまたはＩ２Ｃアドレスを用い、システム管理機能が適用されるべきスロットナンバと共に、適用されるべきシステム管理機能を示す情報を持つメッセージを送る。
【００４１】
さまざまな実施形態によれば、汎用ルーティングテーブルは、システム管理信号をさまざまなボックスに分配するためにプライマリサービスプロセッサによって用いられる。ある実現例では、全てのシステム管理信号は、プライマリサービスプロセッサにまずルーティングされる。このプライマリサービスプロセッサはそれから、汎用ルーティングテーブルに基づいてこのシステム管理機能をセカンダリサービスプロセッサに分配する。サービスプロセッサはここで、さまざまな信号を分配するのに用いられるが、Ｉ２Ｃインタフェースのような他のメカニズムもシステム管理信号を分配するのに用いられえることが理解されよう。プライマリおよびセカンダリサービスプロセッサが用いられる例においては、システム管理信号は、選択されたセカンダリサービスプロセッサに分配される。セカンダリサービスプロセッサに関連付けられたボックスがシステム管理信号を受け取るとき、ローカルルーティングテーブルは、それぞれのボックス内のさまざまなリソースへシステム管理信号を分配するのに用いられる。
【００４２】
図７Ａおよび７Ｂは、ボックス内の隣接するにシステム管理信号を分配するのに用いられえるローカルルーティングテーブルを示す概略図である。図７Ａは、ボックス０についてのローカルルーティングテーブルを示す。さまざまな実施形態によれば、サービスプロセッサに関連付けられたコンフィギュレーションシステムモジュールは、システム管理信号を受け取る。ある例では、システム管理信号は、そのパーティションに関連付けられたリソースをリセットするためのリクエストである。ローカルルーティングテーブルを用いて、コンフィギュレーションシステムモジュールは、そのシステム管理信号に関連付けられたパーティションナンバ情報またはスロットナンバ情報を決定する。ある例では、パーティションナンバまたはスロットナンバは１である。エントリ７０５がそれからアクセスされてリセットすべきリソースを決定する。
【００４３】
さまざまな実施形態によれば、システム管理信号は、いくつかのＩ／Ｏハブ群のうちの１つから、サービスプロセッサから、またはＩ２Ｃインタフェースから発生しえる。ルーティングテーブル７０１は、スロットナンバ１に関連付けられたシステム管理信号がＩ／Ｏハブ１から、サービスプロセッサから、またはＩ２Ｃインタフェースから発生しえることを示す。エントリ７０５は、プロセッサおよびＩ／Ｏリソース０、およびプロセッサ１に関連付けられたライン上でリセット信号がアサートされなければならないことを示す。ボックス内のシステム管理信号は典型的にはさまざまなライン上でアサートされることに注意されたい。プロセッサのようなリソースは典型的には、リセットピンおよび他のシステム管理ピンを有する。一方、システム管理信号は、典型的には第１ボックスから第２ボックスへのメッセージとして送られる。メッセージは典型的にはアクションタイプ、スロットナンバ情報、およびアサート／ディアサートビットを含む。さまざまな実施形態によれば、スロットナンバは、パーティションナンバからコンフィギュレーションタイムにマッピングされる。ある例において、アサート／ディアサートビットは、リセットアクションの長さを制御するのに用いられる。アサートビットは、リセットアクションを始めるためのメッセージ中でオンにされ、アサートビットがオフにされる（ディアサートされる）とき、後続のメッセージ内でアクションは終了される。
【００４４】
ルーティングテーブル７１１は、ボックス１に関連付けられる。図５に示されるように、ボックス１は、パーティション３およびパーティション４についてのリソースを含む。パーティション３およびパーティション４は、スロットナンバ０および１にマッピングされえる。システム管理信号がボックス１において受け取られるとき、パーティションナンバまたはスロットナンバは、ローカルルーティングテーブル７１１内のエントリにアクセスするために特定される。もしスロットナンバが１であるなら、システム管理信号は、Ｉ／Ｏハブ３、サービスプロセッサ、またはＩ２Ｃインタフェースによって生成された。ルーティングテーブルエントリ７１５に基づいて、システム管理信号は、プロセッサおよびＩ／Ｏリソース３に関連付けられたライン上でアサートされる。ルーティングテーブル７２１および７３１は、それぞれボックス２および３のために用いられる。図５に示されるように、ボックス２および３は、パーティション２のリソースだけを含む。その結果、ボックス２および３によって受け取られたシステム管理信号は、それぞれのボックス内の全てのリソースに適用され、ここでそのボックス内の全てのリソースはパーティション２の一部である。エントリ７２３および７３３は、システム管理信号が受け取られるとき、システム管理信号がプロセッサおよびＩ／Ｏリソース０および３、プロセッサ１および２、および相互接続コントローラに関連付けられたライン上でアサートされる。
【００４５】
さまざまな実施形態によれば、ボックスにわたってのリセットは、ブートストラッププロセッサ上のリセットアクションが、他のボックス内のパーティションの全ての他のリソースのリセットアクションを包む（envelop）よう順序付けられる。ある実施形態において、ブートストラッププロセッサは、リセットアクションをディアサートする最後のものである。典型的なアサーションタイムは、１ｍｓより大きい。
【００４６】
リセット信号のようなシステム管理信号は、いくつかの異なるソースから起こりえる。ある例では、システムリセット信号は、Ｉ／Ｏハブから生じる。この場合、Ｉ／Ｏハブと同じボックス内のパーティションに属するリソースは、そのＩ／Ｏハブによってアサートされたリセット信号を見る。これら信号は、リクエストメッセージをプライマリサービスプロセッサに送ることによって、適切なリセットを全体のパーティションについて開始するために、ブートストラッププロセッサセカンダリサービスプロセッサに率先する（initiative）。プライマリサービスプロセッサはそれから、そのパーティションに関連付けられたリソースを含む全てのボックスにリセットメッセージを生成することへと進み、ブートストラッププロセッサボックスから開始する。Ｉ／Ｏハブからのハードウェアリセット信号は、プライマリサービスプロセッサによってリセットメッセージがブートストラッププロセッサセカンダリサービスプロセッサに到着するまで、ブートストラッププロセッサリソース中へハードウェアによって拡張される（extended）。典型的にはステートマシンによって順序付けられるリセット信号は、プライマリサービスプロセッサからの先導（initiative）によってディアサートされるまで、アサートされたままを維持する。
【００４７】
他の場合において、リセットの開始（initiative）は管理コンソールから起こる。この場合、プライマリサービスプロセッサは、リセットを開始するためにリセットメッセージをブートストラッププロセッササービスプロセッサへ送る。それからリセットメッセージがそのパーティションに参加している他のボックスに送られる。さまざまな実施形態によれば、ディアサーションメッセージは、ブートストラッププロセッサへのメッセージが続く限り、任意のシーケンスにおいて届きえる。
【００４８】
図８は、ローカルボックスにおけるリセット分配の一例を示すフロー図である。８０１において、サービスプロセッサはリセット信号を受け取る。８０３において、サービスプロセッサは、コンフィギュレーションシステムモジュールに信号を送る。８０５においてコンフィギュレーションシステムモジュールは、ローカルルーティングテーブルにアクセスし、リセットすべきリソースを決定する。８０７において、コンフィギュレーションシステムモジュールは、ローカルルーティングテーブルに基づいて出力ライン上のリセット信号をアサートする。８０９において、出力ラインに関連付けられたプロセッサ、Ｉ／Ｏデバイス、および相互接続コントローラのようなリソースがリセットされる。さまざまな実施形態によれば、それぞれのボックスは、典型的にはプライマリサービスプロセッサによって分配されるリセットメッセージをリセットアクションに変換する論理を含む。リセットメッセージは、イーサネットまたはＩ２Ｃネットワークから到来しえる。さらにそれぞれのボックスは、正しく時間を計りリセット信号をオンオフするためのステートマシン論理も含みえる。
【００４９】
図９は、リセット分配の一例を示すフロープロセス図である。９０１において、サービスプロセッサは、リセット信号のようなシステム管理信号を受け取る。さまざまな実施形態によれば、リセット信号を受け取っているサービスプロセッサがプライマリサービスプロセッサであるかが９０３において決定される。もしサービスプロセッサがプライマリサービスプロセッサであるなら、そのリセット信号に関連付けられたパーティションが決定され、リセット信号を送るべきリモートボックスを決定するために汎用ルーティングテーブルがアクセスされる。上述のように、ボックス群間の通信は、典型的にはアサート／ディアサート情報、スロット／パーティション情報、および信号タイプを含むリセットメッセージの形態である。９１９において、リセットメッセージはリモートボックスに送られる。もしプライマリサービスプロセッサがパーティションの一部であるなら、それは信号をそれ自身のコンフィギュレーションシステムモジュールに送る。９２３において、それぞれのサービスプロセッサは、リセットシーケンスをコンフィギュレーションシステムモジュールに送り、１ミリ秒より典型的には大きい短い期間、待機し、メッセージをアクノリッジする。遅延は、リセットが完了するのを可能にする。プライマリサービスプロセッサは、他の適切なセカンダリサービスプロセッサからのアクノリッジを待つ。
【００５０】
もし９０３においてサービスプロセッサがプライマリサービスプロセッサではないと決定されるなら、リセットメッセージがプライマリサービスプロセッサに送られる。９０７において、ローカルコンフィギュレーションシステムモジュールは、リセット信号をローカルサービスプロセッサから受け取り、場合によってはＩ／Ｏハブから受け取る。９０９において、コンフィギュレーションシステムモジュールは、パーティション／スロットを決定し、リセットするべきリソースのサブセットを決定するためにローカルルーティングテーブルにアクセスする。ある場合にはボックス内の全てのリソースがリセットされ、他の場合にはリソースの一部がリセットされる。９１３において、コンフィギュレーションシステムモジュールは、ローカルルーティングテーブルに基づいて出力ライン上のリセット信号をアサートする。９１５において、出力ラインに関連付けられたプロセッサ群、プロセッサおよびＩ／Ｏリソース、および相互接続コントローラのようなリソースがリセットされる。９２５において、リセットを完了するためにディアサートリセットメッセージがパーティション内のボックスに送られる。９３１において、セカンダリサービスプロセッサは、リセットディアサーションメッセージを待ち、コンフィギュレーションシステムモジュールへのリセット信号をディアサートし、メッセージをアクノリッジする。典型的にはブートストラッププロセッサへのリセットディアサート信号は、最後に送られる。９２７においてリソースのリセットが完了する。
【００５１】
本発明の技術は、サービスプロセッサを用いてリセット信号の分配を可能にするが、さまざまな他の信号およびメカニズムが用いられえることに注意されたい。例えばコンピュータシステムコンプレックス内で消費されるパワーの量を管理するために、パワー管理信号のような他のシステム管理信号がさまざまなリソースに送られえる。パワー管理信号のいくつかのタイプが利用可能である。一例として信号は、プロセッサパフォーマンス状態を管理するためにオペレーティングシステムによってプロセッサに送られえる。パーティションが低パワーモードで走るべきであるとＯＳが決定するとき、特定のパーティションに関連付けられたプロセッサは、より低い周波数（クロックスピード）および電圧で走りえる。他の例では、信号は、さまざまなリソースをスリープ状態にするため送られえる。幅広いスリープ状態が利用可能である。パワー管理の方法および装置は、Richard R. Oehler, Carl Zeitler,およびRichard O. Simpsonによる「Methods And Apparatus For Power Management」と題された２００２年７月１日に出願された米国特許出願第１０／１８８，２７１号（弁護士整理番号ＮＷＩＳＰ００５）に記載される。
【００５２】
あるスリープ状態において、完全なシステムコンテキストおよびマシン状態は保存されるが、パワー消費を低減するために、電圧は低減されクロックは停止される。リセットは伴わない。スリープ状態に入ることは、そのパーティションに関連付けられたＩ／Ｏハブによって実行されえる。ウェイクアップは、プライマリサービスプロセッサによって制御される。第２スリープ状態において、パワーはプロセッサおよび全てのＩ／Ｏデバイスから取り除かれる。メモリ内容は、メモリをセルフリフレッシュモードにすることによって維持される。第２スリープ状態は、第１スリープ状態よりも大きなパワー節約を可能にするが、終了またはウェイクアップする時間はより長くなる。第３スリープ状態において、全ての必要な状態情報はディスクに保存され、リブートの際に後で復元される。さらに他の状態においては、状態が保存されない。たいていの場合、より大きなパワー節約を可能にするスリープ状態から動作状態にシステムを復元するにはより多くの時間が必要とされる。さまざまなスリープ状態が本発明の技術と共に用いられえることに注意されたい。
【００５３】
さまざまな実施形態によれば、パワー管理信号のような信号は、Ｉ／Ｏハブおよびサービスプロセッサのような要素を用いてローカルに扱われえる。ある例では、ローカルリソースに信号を送ることは、ローカルルーティングテーブルによって支配される。他のボックスに送られたパワー管理メッセージは、グローバルルーティングテーブルを用いることなく他のボックスに単にブロードキャストされる。パワー管理信号がローカル要素に送られるべきかを決定するために、それからローカルボックスにおける要素は、ローカルリセットルーティングマトリクスによって制御される。
【００５４】
図１０は、パワー管理の一例を示すフロープロセス図である。１００１において、オペレーティングシステムは、特定のスリープ状態を記述するパワー管理アクションコードを含むシステム管理メッセージパケットをＩ／Ｏハブに生成するよう命じる命令を発行する。１００５において、Ｉ／Ｏハブは、メッセージパケットをホストブリッジに送る。ホストブリッジは、非コヒーレントドメイン内のＩ／Ｏハブから受け取られたメッセージパケットフォーマットをコヒーレントドメインに翻訳する。
【００５５】
１００３において、オペレーティングシステムは、パワーの変化を記述するパワー管理アクションコードを含むシステム管理メッセージをプロセッサに生成するよう命じる命令を発行する。１００７において、プロセッサは、メッセージをホストブリッジに送る。サービスプロセッサまたは管理コンソールもオペレーティングシステムに管理アクションを開始するよう指示できることに注意されたい。１００９において、ホストブリッジは、パーティション内のボックス中の全てのボックスおよび全てのノードにメッセージをブロードキャストする。１０１１において、それぞれのボックス内のローカルコントローラは、システム管理メッセージをデコードし、パワー管理アクション部分をコンフィギュレーションシステムモジュールに渡す。１０１３において、コンフィギュレーションシステムモジュールは、パワー管理アクションをデコードし、パワー管理アクションを実行するために適切なパワー管理信号を発生する。
【００５６】
１０１５において、パワー管理信号は、ローカルリセットルーティングマトリクス内に示されたノードにルーティングされる。１０１７において、パワー管理動作が完了する。パワー管理通知を送るための既存のコヒーレントインタフェースを用いて、追加の通信メカニズムをインストールする必要がなくなり、信頼性が向上し、ケーブル管理が簡略化される。
【００５７】
さまざまな実施形態によれば、ウェイクアップイベントは、ローカルＩ／Ｏハブに、またコンフィギュレーションシステムモジュールに関連付けられたローカルサービスプロセッサにもルーティングされる。もし他のボックスがそのパーティションに属するなら、プライマリサービスプロセッサが適切なウェイクアップイベントのシーケンスを実行できるように、ローカルＩ／Ｏハブへのウェイクアップイベントはブロックされる。さまざまな実施形態によれば、スリープおよびウェイクアップイベントは、イーサネットまたはＩ２Ｃのようなメカニズムを用いたサービスプロセッサメッセージングを用いてボックス群間で伝送される。
【００５８】
本発明は、その具体的な実施形態を参照して示され記述されてきたが、記載された実施形態の形態および詳細の変更が本発明の精神または範囲から逸脱することなくなされえることが当業者には理解されよう。例えば本発明の実施形態は、ポイントツーポイント、スイッチ、またはバスアーキテクチャを通して接続されたマルチプロセッサクラスタと共に採用されえる。他の例では、プロセッサのマルチクラスタは、複数のサービスプロセッサを持ちえる。従って本発明の範囲は添付の特許請求の範囲を参照して決定されるべきである。
【図面の簡単な説明】
【００５９】
【図１Ａ】複数のクラスタを有するシステムを示す概略図である。
【図１Ｂ】複数のクラスタを有するシステムを示す概略図である。
【図２】複数のプロセッサを有するクラスタの概略図である。
【図３】相互接続コントローラの概略図である。
【図４】サービスプロセッサの概略図である。
【図５】複数のクラスタにわたって分配される複数のパーティションの概略図である。
【図６】汎用ルーティングテーブルを示す概略図である。
【図７Ａ】ローカルルーティングテーブルを示す概略図である。
【図７Ｂ】ローカルルーティングテーブルを示す概略図である。
【図８】ローカルクラスタにおけるリセットを示すフロープロセス図である。
【図９】複数のクラスタに伝送されるリセットを示すフロープロセス図である。
【図１０】コヒーレントインタフェース上でパワー管理情報を分配する技術を示すフロープロセス図である。
【図１Ａ】
2006506736.tif 000003
【図１Ｂ】
2006506736.tif 000004
【図２】
2006506736.tif 000005
【図３】
2006506736.tif 000006
【図４】
2006506736.tif 000007
【図５】
2006506736.tif 000008
【図６】
2006506736.tif 000009
【図７Ａ】
2006506736.tif 000010
【図７Ｂ】
2006506736.tif 000011
【図８】
2006506736.tif 000012
【図９】
2006506736.tif 000013
【図１０】
2006506736.tif 000014
【国際調査報告】
2006506736.tif 000015
2006506736.tif 000016
2006506736.tif 000017
2006506736.tif 000018
2006506736.tif 000019