(57)【要約】【課題】非均一クロスバースイッチプレーントポロジを利用するシステム及び方法を提供する。【解決手段】本発明にかかるシステムは、対称型マルチプロセシング（ＳＭＰ）システムであって、複数のプロセッサグループと、複数の経路を備える非均一クロスバースイッチプレーンシステムと、を備え、Ｎをプロセッサグループの個数に等しいとすると、前記プロセッサグループのそれぞれは、多くとも（Ｎ−１）個に等しい複数の経路によって他のプロセッサグループに通信接続されるようになる、ＳＭＰシステムである。【選択図】図２
2006323818.tif 000002
【特許請求の範囲】
【請求項１】
対称型マルチプロセシング（ＳＭＰ）システムであって、
複数のプロセッサグループ（３０４）と、
複数の経路を備える非均一クロスバースイッチプレーンシステム（２０６）と、
を備え、
Ｎをプロセッサグループ（３０４）の個数に等しいとすると、前記プロセッサグループ（３０４）のそれぞれは、多くとも（Ｎ−１）個に等しい複数の経路によって他のプロセッサグループ（３０４）に通信接続されるようになる、
ＳＭＰシステム。
【請求項２】
各プロセッサグループ（３０４）に存在する複数のプロセッサと、
複数の通信リンク（２０２）と
をさらに備え、
１つのリンク（２０２）は、１つのプロセッサを、複数のクロスバー（３０６）の１つと一意に通信接続し、１つのプロセッサグループ（３０４）の前記プロセッサに関連したそれらのリンク（２０２）及び前記関連したクロスバー（３０６）は、リンクパスを形成し、１対のプロセッサグループ（３０４）間の経路は、前記対にされたプロセッサグループ（３０４）に関連したリンクパス及び前記リンクパスが接続されたクロスバー（３０６）から成る、
請求項１に記載の、ＳＭＰシステム。
【請求項３】
前記プロセッサグループ（３０４）のそれぞれは、中間ディレクトリを介してそれらの各経路に接続される、請求項１に記載の、ＳＭＰシステム。
【請求項４】
複数のクロスバー（３０６）と、
複数のプロセッサグループ（３０４）と、
複数のリンクパスであって、１つのリンクパスは、前記プロセッサグループ（３０４）の１つを前記クロスバー（３０６）の１つと一意に通信接続する、複数のリンクパスと、
複数の経路であって、各経路は、前記クロスバー（３０６）の１つ及びそのクロスバー（３０６）に接続された前記リンクパスの２つから成り、前記２つのリンクパスに関連した前記プロセッサグループ（３０４）が互いに通信接続されるようになる、複数の経路と、
を備え、
前記プロセッサグループ（３０４）のそれぞれは、多くとも（Ｎ−１）個に等しい複数の経路によって他のプロセッサグループ（３０４）に通信接続され、ここで、Ｎはプロセッサグループ（３０４）の個数に等しい、
非均一クロスバースイッチプレーンシステム。
【請求項５】
複数の通信リンク（２０２）であって、各リンク（２０２）は、前記リンクパスの１つの一意のメンバである、複数の通信リンク（２０２）と、
前記プロセッサグループ（３０４）のそれぞれに存在する複数のプロセッサであって、各プロセッサが、そのプロセッサグループ（３０４）が接続されるクロスバー（３０６）に通信接続されるように、各プロセッサは、少なくとも、（Ｎ−１）個に等しい複数の前記通信リンク（２０２）を有する、複数のプロセッサと、
をさらに備える、請求項４に記載の、非均一クロスバースイッチプレーンシステム。
【請求項６】
前記通信リンク（２０２）のそれぞれは、高帯域幅のポイントツーポイントリンクである、請求項５に記載の、非均一クロスバースイッチプレーンシステム。
【請求項７】
前記プロセッサグループ（３０４）の少なくとも１つに関連した複数のディレクトリをさらに備え、前記ディレクトリは、前記リンクパスと前記プロセッサグループ（３０４）との間に通信接続され、Ｎをプロセッサグループ（３０４）の個数に等しいとすると、前記ディレクトリ及び他のプロセッサグループ（３０４）が、多くとも（Ｎ−１）個に等しい複数の経路によって通信接続されるように、そのプロセッサグループ（３０４）は、前記リンクパスに接続されない、請求項４に記載の、非均一クロスバースイッチプレーンシステム。
【請求項８】
複数のプロセッサグループ（３０４）を有する対称型マルチプロセシング（ＳＭＰ）システムにおけるプロセッサ対プロセッサ通信のための方法であって、
第１のプロセッサグループ（３０４）の第１のプロセッサと第２のプロセッサグループ（３０４）の第２のプロセッサとの間を第１の経路上で通信することであって、前記第１の経路は、第１のクロスバー（３０６）と、少なくとも、前記第１のプロセッサ及び前記第２のプロセッサに接続された通信リンク（２０２）とから成り、前記通信は、前記第１の経路が利用可能である場合に行われる、第１のプロセッサグループ（３０４）の第１のプロセッサと第２のプロセッサグループ（３０４）の第２のプロセッサとの間を第１の経路上で通信すること、及び、
前記第１のプロセッサと前記第２のプロセッサとの間を第２の経路上で通信することであって、前記第２の経路は、第２のクロスバー（３０６）と、少なくとも、前記第１のプロセッサ及び前記第２のプロセッサに接続された他の通信リンク（２０２）とから成り、前記通信は、前記第１の経路が利用可能でない場合に行われる、前記第１のプロセッサと前記第２のプロセッサとの間を第２の経路上で通信すること、
を含み、
Ｎをプロセッサグループ（３０４）の個数に等しいとすると、前記プロセッサグループのそれぞれは、多くとも（Ｎ−１）個に等しい複数の経路によって、他のプロセッサグループ（３０４）に接続される、
プロセッサ対プロセッサ通信のための方法。
【請求項９】
前記第１の経路は、前記第１の経路における故障のために利用可能でない、請求項８に記載の、プロセッサ対プロセッサ通信のための方法。
【請求項１０】
前記第１の経路は、前記第１の経路におけるトラフィック輻輳のために利用可能でない、請求項８に記載の、プロセッサ対プロセッサ通信のための方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、非均一クロスバースイッチプレーントポロジを利用するシステム及び方法に関する。
【背景技術】
【０００２】
対称型マルチプロセシング（ＳＭＰ:symmetric multiprocessing）システムは、並列動作する多くの中央演算処理装置（ＣＰＵ）を使用する。これらのＣＰＵは、単一のオペレーティングシステムの指揮下でタスクを独立に実行する。ＳＭＰシステムの１つのタイプは、高帯域幅のポイントツーポイントリンク（従来の共有バスアーキテクチャではない）を使用して、ＣＰＵと、ルータデバイス、入出力（Ｉ／Ｏ）デバイス、メモリユニット、及び／又は他のＣＰＵとの間の直接接続を提供する複数のＣＰＵに基づいている。
【０００３】
製造中、ＣＰＵ等のプロセッサのクラスタは、利便性及び効率性のため単一のユニット又はダイ上に製造することができる。クラスタは、クロスバー等のルータデバイスを介して互いに通信接続され、ＣＰＵ及び入出力（Ｉ／Ｏ）デバイス等の他のコンポーネントの間の通信を円滑にする。複数のクラスタ、クロスバー、及び／又は他のデバイスは、モジュラーボード又はシャーシ上に組み立てられて、多くのＣＰＵを有する大規模なＳＭＰシステムを作り上げることができる。
【０００４】
従来のＳＭＰシステムのサイズが増加するにつれて、ポート数、したがってクロスバーのサイズも増加する。クロスバーが大きくなるほど、製造に必要なシリコンの関連した面積が大きくなるために、且つ／又は、各ポートに関連した高速信号ピンの個数が多くなるために、製造が困難になるおそれがある。
【０００５】
実例として、或るタイプの高帯域幅のポイントツーポイントリンクは、１リンクあたり１０レーンを使用する。レーンは、時に、シリアライザ／デシリアライザ（ＳＥＲＤＥＳ；serializer/deserializer）リンクと呼ばれる。各ＳＥＲＤＥＳリンクは、４つの高速ピンを使用して、双方向通信をサポートする。したがって、１０ポートのクロスバーは、４００本の高速信号ピン（１０ポート×１０レーン／ポート×４ピン／レーン＝４００ピン）を有することになる。このアーキテクチャが１ポートあたり２０レーンを使用したとすると、高速信号ピンの本数は８００本に増加する。
【０００６】
１ポートあたり１０レーンを有する１２ポートクロスバーアーキテクチャは、４８０本の高速信号ピンを使用する。このアーキテクチャが１ポートあたり２０レーンを使用すると、高速信号ピンの本数は９６０本に増加する。
【０００７】
上述した１０ポートクロスバー及び１２ポートクロスバーの製造は、今日の技術によれば技術的に実現可能である。しかしながら、結局、或る時点で、単一のクロスバーに製造可能なポート数は実行不可能となってくる。たとえば、１ポートあたり１０レーンを有する２０ポートクロスバーは、８００本の高速信号ピンを必要とする。このアーキテクチャが１ポートあたり２０レーンを使用すると、高速信号ピンの本数は、１６００本に増加する。２０ポートクロスバー又はそれよりも大きなクロスバーを製造し、次いで、それらクロスバーを他のデバイスに接続することの難しさは、或る時点で不可能になる。製造アセンブリ及び接続アセンブリを改良したとしても、クロスバーに対する実際のポートサイズの限界は常に存在する。
【０００８】
さらに、より大きなクロスバーは、製造に必要なシリコンの関連した面積が大きいため、且つ、単一のダイ上の大きな集積回路に関連した本来的な欠陥率のため、製造するのに小さなクロスバーよりも相対的により多くの費用を要する。小さなチップ面積は、大きなチップ面積と比較して、１ユニットあたりの欠陥率のパーセンテージが小さい。クロスバーのダイの面積は、今日の製造技術によれば、ポート数のほぼ２乗ずつ増加する。たとえば、１０ポートクロスバーは、２０ポートクロスバーのダイサイズの２５％である。１２ポートクロスバーは、２０ポートクロスバーのダイサイズの３６％である。
【０００９】
（ポート数によって測定された）クロスバーの実際のサイズを結局は制限する上述した実際の限界のため、所望の個数のクロスバーポートが、所望の個数のＳＭＰプロセッサ（及び／又は他のデバイス）を接続するのに利用可能でない場合に、設計限界に遭遇する場合がある。したがって、ＳＭＰシステムのサイズが増加するにつれて、或る時点で、複数のクロスバーが必要となる。
【００１０】
いくつかのＳＭＰトポロジは、単一のクロスバーを介したＳＭＰのＣＰＵ対ＣＰＵの接続を制限する設計基準に基づいている。この基準を本明細書では単一ホップ基準と呼ぶ。すなわち、ＣＰＵ対ＣＰＵ通信は、１つだけの中間（intermediate）クロスバー上で行われる。単一ホップ通信は、複数のクロスバー上での複数のホップ通信と比較して、相対的に小さな待ち時間（時間遅延）を有する。
【００１１】
ＳＭＰに使用されるＣＰＵ数が、クロスバーで利用可能なポート数を超えると、複数のクロスバーを使用して、ＣＰＵ間の所望の接続を提供しなければならない。したがって、単一ホップ基準は、ＣＰＵのすべてに満たされることができず、複数のクロスバー上での複数ホップが、ＳＭＰのＣＰＵの少なくともいくつかには必要とされる。
【００１２】
図１Ａは、２０ポートクロスバー１０２を使用して１６個のＣＰＵ間の接続を可能にする例示のクロスバートポロジを示している。これら利用可能な２０ポートのうちの１６個は、ＣＰＵ対ＣＰＵ接続（リンク１０４）を提供する。残りのポートの４つは、入出力（Ｉ／Ｏ）デバイスへの接続（リンク１０６）を提供する。
【００１３】
しかしながら、２０ポートクロスバーが利用可能でない場合、又は、使用するのに経済的でない場合、２つの１６ポイントクロスバー１０８を１６個のＣＰＵを通信接続するように構成することができる。図１Ｂは、２つの１６ポートクロスバー１０８を使用して１６個のＣＰＵ間の接続を可能にする例示のクロスバートポロジを示している。これら利用可能な１６個のポートのうちの８つは、それぞれ１６個のポートにおけるＣＰＵ対ＣＰＵ接続（リンク１０４）を提供する。残りのポートの２つは、Ｉ／Ｏデバイスへの接続を提供し、したがって、４つのＩ／Ｏデバイスへの接続を可能にする（リンク１０６、上述した２０ポートクロスバーの例と同様）。各クロスバーの６つのポートは、クロスバー対クロスバーの接続（リンク１１０）に使用される。
【００１４】
図１Ａの２０ポートクロスバーの例と比較すると、図１Ｂの２つの１６ポートクロスバートポロジは、複数のクロスバートポロジの２つの態様を示している。第１に、ＣＰＵの半分が、２つの１６ポートクロスバー１０８によって互いに分離される。したがって、ＣＰＵ対ＣＰＵ通信の約半分は、２ホップを使用している場合がある。複数ホップに関連した待ち時間又は時間遅延のため、その結果、ＣＰＵ対ＣＰＵ通信の時間遅延が生じる。
【００１５】
第２に、６つのクロスバー対クロスバー接続（リンク１１０）しかないので、１６ポートクロスバー１０８の一方に接続された７つ以上のＣＰＵが他方のクロスバーに接続されたＣＰＵと通信しようとすると、トラフィック輻輳に遭遇する場合がある。したがって、６つのすべてのパス（リンク１１０）が現在使用中である場合、他のＣＰＵは、クロスバー対クロスバーパスが利用可能になる（クロスバー対クロスバーパスを使用しているＣＰＵが自身の通信を完了する時等）まで待たなければならない。その結果、ＣＰＵ対ＣＰＵ通信の時間遅延が生じる。
【００１６】
１７個以上のＣＰＵがＳＭＰによって使用される場合及び／又は１６ポートクロスバーが使用されない場合等の他の状況では、３つ以上のクロスバーを使用することができる。図１Ｃは、３つの１２ポートクロスバー１１２を使用して１８個のＣＰＵ間の接続を可能にする例示の１２ポートクロスバートポロジを示している。利用可能なポートのうちの６つは、この例示のトポロジでは、各１２ポートクロスバーのＣＰＵ対ＣＰＵ接続（リンク１０４）を提供する。残りのポートの２つは、Ｉ／Ｏデバイスへの接続を提供し、したがって、６つのＩ／Ｏデバイスへの接続（リンク１０６）を可能にする。各１２ポートクロスバー１１２の２つのポートは、クロスバー対クロスバーの接続（リンク１１０、各クロスバー間の２つのポート）に使用される。
【００１７】
図１Ｃの３つの１２ポートクロスバートポロジは、さらに、複数のクロスバートポロジの上述した態様も示している。第１に、ＣＰＵの３分の２は、１２ポートクロスバー１１２の２つによって互いに分離される。したがって、ＣＰＵ対ＣＰＵ通信の約３分の２は、２ホップを使用している場合がある。さらに、ＣＰＵの１つが、クロスバーの３つを介して別のＣＰＵと通信している場合に発生し得る（したがって、３ホップの通信待ち時間を受けることになる）。したがって、（図１Ｂの２つのクロスバートポロジと比較して）ＣＰＵ対ＣＰＵ通信の全体の時間遅延がさらに大きくなる。
【００１８】
第２に、１２ポートクロスバー１１２間には、２つのクロスバー対クロスバー接続（リンク１１０）しかないので、１２ポートクロスバー１１２の一方に接続された５つ以上のＣＰＵが他方のクロスバーに接続されたＣＰＵと通信しようとすると、さらに大きなトラフィック輻輳に遭遇する場合がある。したがって、４つのすべてのパス（リンク１１０）が現在使用中である場合、他のＣＰＵは、クロスバー対クロスバーパスが利用可能になる（クロスバー対クロスバーパスを使用しているＣＰＵが自身の通信を完了した時等）まで待たなければならない。したがって、（図１Ｂの２つのクロスバートポロジと比較して）さらに大きなＣＰＵ対ＣＰＵ通信の全体の時間遅延が生じる。
【００１９】
ＳＭＰシステムが、より小さなクロスバー（よりポートが少ない）を有するクロスバーを使用する場合、及び／又は、より多数のＣＰＵを使用する場合、さらに多くのクロスバーが使用されることになる。したがって、それらクロスバーにわたる複数ホップによって引き起こされる待ち時間及び／又はトラフィック輻輳の増加のため、ＣＰＵ対ＣＰＵ通信の全体の時間遅延がより大きくなる。
【発明の開示】
【発明が解決しようとする課題】
【００２０】
従来のマルチクロスバートポロジの上述した例では、トラフィック輻輳の場合、及び／又は、通信が複数のクロスバー上で行われる場合（複数ホップのため追加待ち時間に遭遇する）の期間中、ＣＰＵは複数のクロスバーを通る経路が利用可能になるのを待つので、システム処理速度は低速になるおそれがある。したがって、複数のクロスバーが使用される場合に、ＳＭＰシステムのＣＰＵ間の単一ホップ接続を提供することが望ましい。
【課題を解決するための手段】
【００２１】
非均一クロスバースイッチプレーンマルチプロセシング（ＳＭＰ）システムの一実施の形態は、複数のプロセッサグループと、複数の経路を備える非均一クロスバースイッチプレーンシステムと、を備え、Ｎをプロセッサグループの個数に等しいとすると、プロセッサグループのそれぞれは、多くとも（Ｎ−１）個に等しい複数の経路によって他のプロセッサグループに通信接続されるようにされる。
【００２２】
別の実施の形態は、複数のプロセッサグループを有する対称型マルチプロセシング（ＳＭＰ）システムにおけるプロセッサ対プロセッサ通信のための方法であって、第１のプロセッサグループの第１のプロセッサと第２のプロセッサグループの第２のプロセッサとの間を第１の経路上で通信することであって、第１の経路は、第１のクロスバーと、少なくとも、第１のプロセッサ及び第２のプロセッサに接続された通信リンクとから成り、通信することは、第１の経路が利用可能である場合に行われる、第１のプロセッサグループの第１のプロセッサと第２のプロセッサグループの第２のプロセッサとの間を第１の経路上で通信すること、及び、第１のプロセッサと第２のプロセッサとの間を第２の経路上で通信することであって、第２の経路は、第２のクロスバーと、少なくとも、第１のプロセッサ及び第２のプロセッサに接続された他の通信リンクとから成り、通信することは、第１の経路が利用可能でない場合に行われる、第１のプロセッサと第２のプロセッサとの間を第２の経路上で通信すること、を含み、Ｎをプロセッサグループの個数に等しいとすると、プロセッサグループのそれぞれは、多くとも（Ｎ−１）個に等しい複数の経路によって、他のプロセッサグループに接続される、方法である。
【００２３】
別の実施の形態は、非均一クロスバースイッチプレーンシステムであって、複数のクロスバーと、複数のプロセッサグループと、複数のリンクパスであって、１つのリンクパスは、プロセッサグループの１つをクロスバーの１つと一意に通信接続する、複数のリンクパスと、複数の経路であって、各経路は、クロスバーの１つ及びそのクロスバーに接続されたリンクパスの２つから成り、２つのリンクパスに関連したプロセッサグループが互いに通信接続されるようにされる、複数の経路と、を備え、プロセッサグループのそれぞれは、多くとも（Ｎ−１）個に等しい複数の経路によって他のプロセッサグループに通信接続され、ここで、Ｎはプロセッサグループの個数に等しい、システムである。
【００２４】
図面の構成要素は、必ずしも互いに一律の縮尺であるとは限らない。いくつかの図を通じて、同じ参照符号は対応する部分を指定する。
【発明を実施するための最良の形態】
【００２５】
図２は、非均一クロスバースイッチプレーン対称型マルチプロセシング（ＳＭＰ）システム２００の一実施の形態を示すブロック図である。この非均一クロスバースイッチプレーンＳＭＰシステム２００は、並列動作する多くの処理ユニットを使用することができる。これらの処理ユニットは、単一のオペレーティングシステムの指揮下でタスクを独立に実行する。ＳＭＰシステム２００の一実施の形態は、高帯域幅のポイントツーポイントリンク２０２（従来の共有バスアーキテクチャではない）を使用して、処理ユニットと、入出力（Ｉ／Ｏ）デバイス、メモリユニット、及び／又は他のプロセッサとの間の直接接続を提供する複数の処理ユニットに基づいている。
【００２６】
ＳＭＰシステム２００は、処理システム２０４、クロスバーネットワーク２０６、オプションの複数の入出力デバイス２０８、及びオプションの複数の補助デバイス２１０を使用する。処理システム２０４は、以下でより詳細に説明する複数のプロセッサクラスタ２１２を備える。Ｉ／Ｏデバイス２０８は、情報の入力、又は、別のデバイス若しくはユーザへの情報の出力を行うためのデバイスとすることもできるし、このようなデバイスに対する適切なインターフェースとすることもできる。補助デバイス２１０は、リンク２０２を介してクロスバーネットワーク２０６に接続することもできる、ＳＭＰシステム２００で使用される他のタイプのデバイスである。補助デバイス２１０の例には、メモリデバイス、コントローラ、又はマルチコンポーネントシステムが含まれ得るが、これらに限定されるものではない。クロスバーネットワーク２０６は、以下でより詳細に説明する複数のクロスバーを備える。これら複数のクロスバーは、単一ホップ設計基準に基づいて、上述したコンポーネントをリンク２０２を介して通信接続する。
【００２７】
図３は、クロスバーネットワーク２０６を介したプロセッサクラスタ３０４間のリンクパス３０２を示すＳＭＰシステム２００の例示の実施の形態のブロック図である。リンクパス３０２は、一般に、プロセッサクラスタ３０４のプロセッサをクロスバーネットワーク２０６の１２ポートクロスバー３０６（Ｘバー）の１つに接続する複数の高帯域幅のポイントツーポイントリンクを意味する（以下でさらに説明し、図４に示す。以下では、通信リンク又はリンクと呼ぶことがある）。ＳＭＰシステム２００のこの図示した実施の形態では、４つのプロセッサクラスタ３０４（１〜４）が示されている。プロセッサクラスタ３０４のプロセッサのそれぞれは、リンクパス３０２を介してプロセッサクラスタ３０４の別のものに接続される。
【００２８】
この図示した実施の形態では、１２個のリンクパス３０２が、単一ホップ基準に基づいて、プロセッサクラスタ３０４のプロセッサのそれぞれを、それらプロセッサ又は他のクラスタとリンクする。すなわち、プロセッサ対プロセッサ通信は、クロスバー３０６を通る単一の経路を介して行われる。たとえば、プロセッサクラスタ１は、リンクパス３０８を介してクロスバー１に接続される。同様に、プロセッサクラスタ１は、リンクパス３１０を介してクロスバー２に接続され、リンクパス３１２を介してクロスバー３に接続される。クラスタ１のプロセッサがクラスタ２のプロセッサと通信する必要がある場合、クロスバー１又は２を使用して、それらプロセッサを通信接続することができる。たとえば、クラスタ１のプロセッサは、リンク３０８、クロスバー１、及びリンク３１４に対応する経路を介してクラスタ２のプロセッサと通信することができる。或いは、これらのプロセッサは、リンク３１０、クロスバー２、及びリンク３１６に対応する経路を介して通信することもできる。
【００２９】
プロセッサクラスタ間に２つ（又は３つ以上）の経路を設ける実施の形態は、２つの重要な特徴を提供する。第１に、トラフィック輻輳の起こり得る期間中、少なくとも１つの代替的な経路を、プロセッサ対プロセッサ通信に利用可能にすることができる。ＳＭＰの処理速度は、トラフィック輻輳のいくつかの場合を回避することによって維持することができる。第２に、経路に関連したリンク又はコンポーネントが故障した場合であっても、別のクロスバーを通る少なくとも１つの代替的な経路が利用可能であるので、ＳＭＰシステム２００は、依然として単一ホップ基準に基づいて動作することができる。
【００３０】
以下でより詳細に説明するように、リンクパス３０２の個々のリンクの個数は、プロセッサクラスタ３０４のプロセッサの個数に依存する。たとえば、プロセッサクラスタ３０４が４つのプロセッサ（図示せず）を含む場合、プロセッサのそれぞれを３つのクロスバー３０６に接続するのに、１２個のリンク（４つのプロセッサ×３つのリンクパス）が必要とされる。上述したように、リンクは、それ自体、複数のレーンを備えることができる。これら複数のレーンは、それ自体、複数の個々の接続を備えることができる。したがって、１０レーンのＳＭＰアーキテクチャ（１レーンあたり４つの接続があると仮定する）は、４８０個の接続を使用してクロスバー３０６の１つに接続することになる。
【００３１】
上述したアーキテクチャに基づく１２ポートクロスバー３０６を使用する例示の実施の形態は、３つのプロセッサクラスタ３０４からの接続を収容するのに４８０本の高速信号ピンしか必要としない。この例示の実施の形態では、１２ポートクロスバー３０６の１２個のすべてのポートは、プロセッサを互いに接続するのに使用される。１リンクあたり１２レーンのアーキテクチャが使用される場合、１２ポートクロスバー３０６は、３つのプロセッサクラスタ３０４からの接続を収容するのに９６０本の高速信号ピンしか必要としないことになる。
【００３２】
以下でより詳細に説明するように、任意の個数のプロセッサをクラスタにグループ化することができる。クラスタは、本明細書においてプロセッサグループとも呼ばれる。任意の個数のプロセッサクラスタは、単一ホップ設計基準に基づき、複数のクロスバーを使用してＳＭＰシステムの実施の形態に設計することができる。たとえば、クラスタ１のプロセッサは、リンクパス３０８、クロスバー１、及びリンクパス３１８に対応する経路を介して、又は、リンクパス３１２、クロスバー３、及びリンクパス３２０に対応する経路を介して、クラスタ３のプロセッサとの直接的なプロセッサ対プロセッサ通信を確立することができる。さらに、ＳＭＰシステムの実施の形態は、異なるサイズのクロスバーで設計することもできる（クロスバーのポート数を参照）。選択されたクロスバーのサイズは、１ポートあたりのレーン数、ＣＰＵ対ＣＰＵ接続用に選択されたポート数、及び／又は高速信号ピンの本数に基づくことができる。すなわち、ＳＭＰの実施の形態のトポロジは、単一ホップ設計基準が維持されるような任意の選択されたＮポートクロスバーに基づくことができる。さらに、以下でより詳細に説明するように、許容できるｉ番目のプロセッサの二分帯域幅（ＢＷ；bisection bandwidth）は、ＣＰＵ対ＣＰＵ通信のトラフィック輻輳が回避されるように維持することができる。
【００３３】
図４は、例示の均一スイッチプレーンＳＭＰシステム４０２のブロック図である。ＳＭＰシステム２００のさまざまな実施の形態（図２、図３、図４、及び図６）によって使用される非均一スイッチプレーンを示すために、４つのスイッチプレーン４０４、４０６、４０８、及び４１０を有する１６プロセッサＳＭＰシステム４０２が図４に示されている。これら４つのプロセッサクラスタ４１２のそれぞれは、４つのプロセッサ（図示せず）をそれぞれ有する。便宜上、（個々のリンクではなく）リンクパス４１４が示されている。リンクパスは、１６ポートクロスバー４１６を介してクラスタ４１２のプロセッサを接続する。
【００３４】
プロセッサ間のすべての可能なリンクがＳＭＰシステム４０２に設けられるので、このシステムは、完全接続された均一スイッチプレーンシステムトポロジである。この例示のトポロジは、４つの１６ポートクロスバー４１２を使用する。この例示の均一スイッチプレーントポロジは、本譲受人の他の知的財産権の対象であり、他の新規なトポロジによって非均一スイッチプレーンＳＭＰシステム２００のさまざまな態様を実証するために本明細書で提示される。したがって、ＳＭＰシステム４０２は、出願人による従来技術の自認を構成するものではない。
【００３５】
【表１】
2006323818.tif 000003
【００３６】
表１は、ＳＭＰシステム４０２の各プロセッサが、スイッチプレーン４０４、４０６、４０８、及び４１０のそれぞれを通じて他のプロセッサに接続されることを示している。図４に示す均一スイッチプレーントポロジは、対象となるいくつかの態様を示している。第１に、各プロセッサは、４つの経路を介して別のプロセッサに接続される。信頼性設計基準がシングル・コンティンジェンシー・リライアビリティ（single contingency reliability；１つの経路が喪失すると、少なくとも１つの他の経路が存続するように、少なくとも２つの経路が必要とされる）を指定する場合、どの１対のプロセッサ間にも２つのリンクしか必要とされない。第３の経路及び第４の経路は、シングル・コンティンジェンシー・リライアビリティ基準の下では必要とされず、追加費用を構成する（第３の経路及び第４の経路は必要とされないので）。以下に示すように、非均一ＳＭＰシステム２００は、１プロセッサあたり少なくとも２つのリンクを使用し、それによって、シングル・コンティンジェンシー・リライアビリティ基準を満たすと同時に、より小さなＮポートクロスバー（１２ポートクロスバーや１０ポートクロスバー等であるが、これらに限定されるものではない）を使用する。より小さなクロスバーは、より低いシステムコストに対応する。
【００３７】
【表２】
2006323818.tif 000004
【００３８】
表２は、図４の例示の均一スイッチプレーンＳＭＰシステム４０２の別の態様を示している。プロセッサ間の強い二分帯域幅（ＢＷ）が提供される。４つの経路の２セル二分ＢＷが提供される。すなわち、どの２つの対のプロセッサ間の経路の個数も４つである。さらに、８つの経路の４セル二分ＢＷが提供され、１６個の経路の８セル二分ＢＷが提供され、３２個の経路の１６セル二分ＢＷが提供される。このような二分ＢＷは、そのトラフィック輻輳及び待ち時間が少ないという点で非常に望ましいものではあるが、このような性能はかなり高価になる。すなわち、相対的に大きな（したがって、高価な）クロスバーが必要とされる。非均一クロスバースイッチプレーンＳＭＰシステム２００のトポロジのさまざまな実施の形態と対比してみると、小さなクロスバーは、ＳＭＰシステム２００のさまざまな実施の形態が使用して、デバイスコストを節減すると同時に、（あらゆる１対のプロセッサ間の少なくとも２つのパスによって提供される単一ホップ待ち時間及び削減されたトラフィック輻輳という利点に関する）全体の処理通信速度及び十分なコンティンジェンシー・リライアビリティによって測定されるような、許容できるシステム性能を維持することができる。
【００３９】
図３に示すＳＭＰシステム２００の実施の形態に戻って、個々のリンク及びプロセッサクラスタ１のプロセッサを説明し、上述した均一スイッチプレーンＳＭＰシステム４０２（図４）と対比する。図５は、１６個のプロセッサ及び４つの１２ポートクロスバー３０６を有する非均一スイッチプレーンＳＭＰシステム２００の例示の実施の形態のより詳細なものを示すブロック図である。プロセッサクラスタ１の４つのプロセッサ（便宜上、プロセッサ１〜４のラベルが付されている）は、リンクパス３０８（図３も参照）を介して１２ポートクロスバー１（Ｘバー１）に接続される。上述したように、リンクパス３０８は、高帯域幅のポイントツーポイントリンク５０２、５０４、５０６、及び５０８のグループである。すなわち、１つのプロセッサグループのプロセッサに関連し、且つ、共通のクロスバーに関連したそれらのリンクは、リンクパスを形成する。
【００４０】
この例示の実施の形態では、プロセッサ１〜４からの個々のリンクは、１２ポートクロスバー３０６に直接接続される。代替的な実施の形態は、中間コンポーネント及び／又は他のトポロジを使用することもできる（たとえば、図７及び以下の関連した説明を参照）。
【００４１】
リンク５０２は、プロセッサ１を１２ポートクロスバー１のポート１に接続する。上述したように、リンクは複数のレーンを備え、各レーンは複数の高速接続を備える。したがって、ポートは対応する複数の高速ピンである。同様に、リンク５０４は、プロセッサ２を１２ポートクロスバー１のポート２に接続し、リンク５０６はプロセッサ３を１２ポートクロスバー１のポート３に接続し、リンク５０８はプロセッサ４を１２ポートクロスバー１のポート４に接続する。（便宜上、特定のクロスバーポートへの接続が示され、そのポート接続は任意の適切な方法で行えることが理解されよう。）
【００４２】
図５に示すＳＭＰ２００の例示の実施の形態では、非均一スイッチプレーンは、単一の１２ポートクロスバー３０６を介して、３つの選択されたプロセッサクラスタのプロセッサを接続する。たとえば、プロセッサクラスタ１からのリンクパス３０８、プロセッサクラスタ２からのリンクパス３１４（図３も参照）、及びプロセッサクラスタ３からのリンクパス３１８は、非均一スイッチプレーン５１０を形成する。
【００４３】
同様に、スイッチプレーン５１２は、プロセッサクラスタ１、プロセッサクラスタ２、及びプロセッサクラスタ４のプロセッサを接続する。スイッチプレーン５１４は、プロセッサクラスタ１、プロセッサクラスタ３、及びプロセッサクラスタ４のプロセッサを接続する。スイッチプレーン５１６は、プロセッサクラスタ２、プロセッサクラスタ３、及びプロセッサクラスタ４のプロセッサを接続する。これらの非均一スイッチプレーン５１０、５１２、５１４、及び５１６は、限られた個数のプロセッサクラスタ３０４のプロセッサを選択的に接続するので、スイッチプレーン５１０、５１２、５１４、及び５１６は、非均一スイッチプレーンと呼ばれる。（対比のため、図４に示す均一スイッチプレーンを参照されたい。図４では、各スイッチプレーンが、すべてのプロセッサクラスタのプロセッサを互いに接続する。）
【００４４】
表３は、図５の４つの非均一スイッチプレーン５１０、５１２、５１４、及び５１６を通る、ＳＭＰシステム２００のプロセッサの接続を示している。「接続なし」のラベルが付けられた表３の部分が、そのプロセッサクラスタから対応するクロスバーへのリンクパスがないことを示す点で、表３は接続経路の非均一性を示している。たとえば、プロセッサクラスタ１に関連した列では、４つのプロセッサ（１〜４のラベルが付けられている）は、スイッチプレーン５１０、５１２、及び５１４に関連した３つのリンク（「ｘ」によって示される）を有し、スイッチプレーン５１６に関連したリンクを有しない。したがって、プロセッサクラスタ１のこれら４つのプロセッサは、クロスバー１、２、及び３に接続され、クロスバー４に接続されない。
【００４５】
【表３】
2006323818.tif 000005
【００４６】
表４は、図５の例示の非均一スイッチプレーンＳＭＰシステム２００の別の態様を示している。プロセッサ間の強い二分ＢＷが提供される。３つの経路の２セル二分ＢＷが提供される。すなわち、あらゆる２対のプロセッサ間の経路の個数が３つである。（図４の均一スイッチプレーンの例の４つの経路の２セル二分ＢＷと比較されたい。）
【００４７】
さらに、図５に示すＳＭＰシステム２００のトポロジに基づいて、６つの経路の４セル二分ＢＷが提供され、８つの経路の８セル二分ＢＷが提供され、１２個の経路の１６セル二分ＢＷが提供される。図４の均一スイッチプレーンシステムの二分ＢＷと比較すると、図５に示すＳＭＰシステム２００の例示の非均一スイッチプレーンの二分ＢＷは、トラフィック輻輳及び待ち時間がかなり小さい点で比較的望ましい性能を提供する。したがって、相対的により小さな（したがって、より安価な）クロスバーを使用することができる。すなわち、より小さなクロスバーを使用してデバイスコストを節減できると同時に、（あらゆる１対のプロセッサ間の少なくとも２つの経路によって提供される単一ホップ待ち時間及び削減されたトラフィック輻輳の利点に関する）全体の処理通信速度によって測定されるような、許容できるシステム性能を維持することができ、且つ、十分なコンティンジェンシー・リライアビリティを維持することができる。
【００４８】
【表４】
2006323818.tif 000006
【００４９】
図６は、非均一スイッチプレーンＳＭＰシステム２００の例示の実施の形態のより詳細を示すブロック図である。ここでは、プロセッサクラスタ２に存在するプロセッサ５からのリンクが示されている。
【００５０】
プロセッサ１は、上述したように、リンク５０２を介して１２ポートクロスバー１のポート１に接続される。リンク５０２はリンクパス３０８のメンバである。同様に、プロセッサ１は、リンク６０２を介して１２ポートクロスバー２のポート１に接続され、リンク６０４を介して１２ポートクロスバー３のポート１に接続される。リンク６０２はリンクパス３１０のメンバであり、リンク６０４はリンクパス３１２のメンバである（図３及び図５）。リンク５０２、６０２、及び６０４は、便宜上、ポート１に接続されたものとして示されている。１２ポートクロスバー３０６の利用可能なポートのいずれも、代替的な実施の形態で使用することができる。
【００５１】
プロセッサ５は、上述したように、リンク６０６を介して１２ポートクロスバー１のポート５に接続される。同様に、プロセッサ５は、リンク６０８を介して１２ポートクロスバー２のポート５に接続され、リンク６１０を介して１２ポートクロスバー４のポート５に接続される。リンク６０６、６０８、及び６１０は、便宜上、ポート５に接続されたものとして示されている。１２ポートクロスバー３０６の利用可能なポートのいずれも、代替的な実施の形態で使用することができる。
【００５２】
プロセッサ１は、したがって、２つの経路を介してプロセッサ５と通信接続される。第１の経路は、リンク５０２を介して１２ポートクロスバー１を通り、次いで、リンク６０６を介するものである。第２の経路は、リンク６０２を介して１２ポートクロスバー２を通り、次いで、リンク６０８を介するものである。したがって、上述したリンク及び／又はクロスバーのいずれか１つが故障した場合であっても、依然として、プロセッサ１とプロセッサ５との間には通信用の経路が存続するという点で、シングル・コンティンジェンシー・リライアビリティ基準が満たされる。また、トラフィック輻輳の期間中、２つの経路の一方が利用可能でない時は、他方の経路を、プロセッサ１とプロセッサ５との間のプロセッサ対プロセッサ通信に利用可能にすることもできる。
【００５３】
図７は、非均一スイッチプレーンＳＭＰシステム７００の代替的な実施の形態の選択された詳細を示すブロック図である。この例示の代替的な実施の形態は、中間コンポーネント及び／又は他のトポロジを使用する。
【００５４】
この例示の実施の形態では、ＳＭＰシステム７００は、入出力（Ｉ／Ｏ）デバイスに接続された複数のプロセッサ（便宜上、図７のＣＰＵとして識別される）を使用する。製造中、プロセッサのクラスタは、利便性及び効率性のために単一のダイ上に製造することができる。例示のプロセッサクラスタＡ及びＢは、それぞれ、例示として４つのプロセッサを有する。この実施の形態では、プロセッサクラスタＡ及びプロセッサクラスタＢは、中間コンポーネント（以下でより詳細に説明するディレクトリ）を介して非均一クロスバースイッチプレーンシステム２０６に接続される。
【００５５】
図３、図５、及び図６で上述した例示の実施の形態と同様に、プロセッサクラスタＡは、４つのプロセッサ（Ａ−１〜Ａ−４）を有する。同様に、プロセッサクラスタＢは、４つのプロセッサ（Ｂ−１〜Ｂ−４）を有する。各プロセッサはそれ自身のキャッシュを有する。プロセッサ（Ａ−１〜Ａ−４及びＢ−１〜Ｂ−４）は、高帯域幅のポイントツーポイントリンク７０２を使用して、クラスタの他のプロセッサ、ディレクトリ（ＤＩＲ）、メモリユニット（デュアルインラインメモリモジュールＤＩＭＭとして示される）、及び／又はＩ／Ｏデバイス（図示せず）に接続する。この非均一クロスバースイッチプレーンシステム２０６に接続された他のプロセッサクラスタは図示されていない。
【００５６】
プロセッサクラスタの製造プロセス中、プロセッサ、ＤＩＭＭ、及び／又はディレクトリは、共通のボードに実装することができる。複数のこのようなモジュラーボードは、シャーシに実装することができ、クロスバーシステム２０６に接続して、さまざまなコンポーネント間の通信を容易にすることができる。個々のプロセッサは、情報の新たな値を決定するオペレーションを実行すると、その決定した新たな情報について作業中の版を自身のキャッシュに記憶する。プロセッサは、そのオペレーション中の或る時点で、プロセッサによって実行されているオペレーションの状況に応じて、決定した新たな情報を自身の各ＤＩＭＭに記憶することもできるし、別のＤＩＭＭに記憶することもできる。したがって、プロセッサＡ−１は、情報を自身のキャッシュに直接記憶することもできるし、ＤＩＭＭ  Ａ１−１〜Ａ１−ｉに記憶することもできる。同様に図示した他のプロセッサも、それ自身のキャッシュを有し、また、それ自身のＤＩＭＭに接続される。たとえば、プロセッサＢ−３は、情報を自身のキャッシュ及び／又はＤＩＭＭ  Ｂ３−１〜Ｂ３−ｉに記憶することができる。
【００５７】
上述したプロセッサは、高帯域幅のポイントツーポイントリンク７０２を介して外部ディレクトリ（ＤＩＲ）に接続される。これらのディレクトリは、他のプロセッサクラスタのプロセッサによってキャッシュされた情報を追跡する役割を有するメモリベースのデバイスである。たとえば、ＤＩＲ  Ａ−３は、プロセッサクラスタＡのプロセッサに関連したＤＩＭＭの情報を追跡する。ディレクトリは、情報の記憶場所の決定を調整する。
【００５８】
この例示の実施の形態では、ディレクトリは、接続７０４を介しクロスバーシステム２０６を通じて互いに接続される。上述したように、クロスバーシステム２０６は、任意の適切な非均一スイッチプレーントポロジにおいて互いに接続された複数の個々のクロスバー（図示せず）である。上述したＳＭＰシステム７００のトポロジは非常に単純化しすぎていることが理解されよう。さらに、プロセッサクラスタのコンポーネントを接続するための多くの異なるトポロジも使用することができる。たとえば、可能なプロセッサクラスタのトポロジの多様性を示すために、プロセッサクラスタＡのトポロジは、プロセッサクラスタＢのトポロジと異なって示されている。また、Ｉ／Ｏデバイスを含めることができ、且つ／又は、クラスタトポロジのいずれかのプロセッサに取って代わることができる。ＳＭＰシステム７００は、多くのプロセッサクラスタを使用することができる。このようなプロセッサクラスタは、プロセッサクラスタＡ及びＢに示す４つのプロセッサよりも多くのプロセッサを有することもできるし、少ないプロセッサを有することもできる。ディレクトリ（ＤＩＲ）のその各プロセッサへの接続及びクロスバーシステム２０６への接続も変えることができる。したがって、図７の単純化された例示のＳＭＰシステム７００は、可能なＳＭＰの実施の形態のトポロジを代表した説明的で一般的なＳＭＰシステムの実施の形態である。
【００５９】
図８は、Ｎポートクロスバー８０２を示すＳＭＰシステム８００の代替的な実施の形態の一部のブロック図である。このＮポートクロスバー８０２は、入出力（Ｉ／Ｏ）デバイス及び／又は他のクロスバーに通信接続するための追加リンクを提供する。ここで、図８の例示の実施の形態は、一般に、図３、図５及び図６に示す上述した実施の形態に対応する。したがって、リンクパス３０８、３１４、及び３１８のリンクに接続する１２個のポート１〜１２があり、それによって、プロセッサクラスタ１のプロセッサＰ１〜Ｐ４、プロセッサクラスタ２のプロセッサＰ５〜Ｐ８、及びプロセッサクラスタ３のプロセッサＰ９〜Ｐ１２との接続が提供される。リンク８０４に接続されたポートａ〜ｎは、Ｉ／Ｏデバイス及び／又はメモリデバイス等の他のデバイスへの接続を提供する。図８には、ＳＭＰシステム８００の一部しか示されていないので、ＳＭＰシステム８００のトポロジが図３、図５及び図６に示す上述した非均一クロスバースイッチプレーントポロジに一般に対応するようには示されていない他の３つのＮポートクロスバー及びプロセッサクラスタ４が存在することが理解されよう。
【００６０】
図３及び図５〜図８は、非均一クロスバースイッチプレーンＳＭＰシステムの実施の形態の例示のトポロジを示している。非均一クロスバースイッチプレーンＳＭＰシステムの実施の形態のトポロジの変形はほとんど無限であること、及び、上述した実施の形態は一般にＳＭＰシステムの実施の形態における非均一クロスバースイッチプレーンの原理を示して教示するものであることが理解されよう。可能な代替的な実施の形態をさらに説明するために、選択された個数の代替的な実施の形態を以下で説明する。
【００６１】
表５ａ及び表５ｂは、５つのプロセッサクラスタを有する例示のＳＭＰシステムの実施の形態のプロセッサの接続を示している。各プロセッサクラスタは３つのプロセッサを有する。ここでは、１５個のプロセッサが、非均一クロスバースイッチプレーントポロジにおいて互いに接続される。５つの１２ポートクロスバーが、この例示の実施の形態によって使用される。「接続なし」のラベルが付された表５ａの部分は、そのプロセッサクラスタから対応するクロスバーへのリンクパスがないことを示している点で、表５ａは接続経路の非均一性を示している。
【００６２】
【表５ａ】
2006323818.tif 000007
【００６３】
表５ｂは、この例示の非均一スイッチプレーンＳＭＰシステムの実施の形態の態様を示している。プロセッサ間の強い二分ＢＷが提供される。４つの経路の２セル二分ＢＷが提供される。すなわち、どの２対のプロセッサ間の経路の個数も４つである。（図４の均一スイッチプレーンの例の４つの経路の２セル二分ＢＷと比較されたい。）さらに、表５ａ及び表５ｂの例示のトポロジに基づいて、６つの経路の３セル二分ＢＷが提供され、９つの経路の６セル二分ＢＷが提供され、１８個の経路の１２セル二分ＢＷが提供され、３０個の経路の１５セル二分ＢＷが提供される。
【００６４】
【表５ｂ】
2006323818.tif 000008
【００６５】
表６ａ及び表６ｂは、３つのプロセッサクラスタを有する例示のＳＭＰシステムの実施の形態のプロセッサの接続を示している。各プロセッサクラスタは５つのプロセッサを有する。ここでは、１５個のプロセッサが、非均一クロスバースイッチプレーントポロジにおいて互いに接続される。６つの１０ポートクロスバーが、この例示の実施の形態によって使用される。「接続なし」のラベルが付された表６ａの部分は、そのプロセッサクラスタから対応するクロスバーへのリンクパスがないことを示している点で、表６ａは接続経路の非均一性を示している。
【００６６】
【表６ａ】
2006323818.tif 000009
【００６７】
表６ｂは、この例示の非均一スイッチプレーンＳＭＰシステムの実施の形態の態様を示している。プロセッサ間の強い二分ＢＷが提供される。４つの経路の２セル二分ＢＷが提供される。すなわち、どの２つの対のプロセッサ間の経路の個数も４つである。さらに、表６ａ及び表６ｂの例示のトポロジに基づいて、１０個の経路の５セル二分ＢＷが提供され、１０個の経路の１０セル二分ＢＷが提供され、３０個の経路の１５セル二分ＢＷが提供される。
【００６８】
【表６ｂ】
2006323818.tif 000010
【００６９】
表７ａ及び表７ｂは、６つのプロセッサクラスタを有する例示のＳＭＰシステムの実施の形態のプロセッサの接続を示している。各プロセッサクラスタは３つのプロセッサを有する。ここでは、１８個のプロセッサが、非均一クロスバースイッチプレーントポロジにおいて互いに接続される。６つの１２ポートクロスバーが、この例示の実施の形態によって使用される。「接続なし」のラベルが付された表７ａの部分は、そのプロセッサクラスタから対応するクロスバーへのリンクパスがないことを示している点で、表７ａは接続経路の非均一性を示している。
【００７０】
【表７ａ】
2006323818.tif 000011
【００７１】
表７ｂは、この例示の非均一スイッチプレーンＳＭＰシステムの実施の形態の態様を示している。プロセッサ間の強い二分ＢＷが提供される。４つの経路の２セル二分ＢＷが提供される。すなわち、どの２対のプロセッサ間のリンクの個数も４つである。さらに、表７ａ及び表７ｂの例示のトポロジに基づいて、６つの経路の３セル二分ＢＷが提供され、６つの経路の６セル二分ＢＷが提供され、９つの経路の９セル二分ＢＷが提供され、３０個の経路の１８セル二分ＢＷが提供される。
【００７２】
【表７ｂ】
2006323818.tif 000012
【００７３】
表８ａ及び表８ｂは、８つのプロセッサクラスタを有する例示のＳＭＰシステムの実施の形態のプロセッサの接続を示している。各プロセッサクラスタは２つのプロセッサを有する。ここでは、１６個のプロセッサが、非均一クロスバースイッチプレーントポロジにおいて互いに接続される。８つの１０ポートクロスバーが、この例示の実施の形態によって使用される。「接続なし」のラベルが付された表８ａの部分は、そのプロセッサクラスタから対応するクロスバーへのリンクパスがないことを示している点で、表８ａは接続経路の非均一性を示している。この例では、クロスバー０〜３は、「偶数」のプロセッサクラスタＡ〜Ｄの間では強い二分帯域幅を提供するが、「偶数」クラスタと「奇数」クラスタとの間では弱い二分帯域幅を提供する一方、クロスバー４〜７は、「奇数」のプロセッサクラスタＥ〜Ｈの間では強い二分帯域幅を提供するが、「偶数」クラスタと「奇数」クラスタとの間では弱い二分帯域幅を提供する。この例は、非均一クロスバーシステムの実施の形態が、要望通りに、プロセッサグループ間の非対称二分帯域幅を提供するように設計できることを示している。したがって、通常はプロセッサクラスタのグループに（ハードウェア方法及び／又はソフトウェア方法を介して）「区画化される」ＳＭＰシステムは、さまざまな非均一クロスバーシステムの実施の形態を使用して全体の性能を最適化することができる。
【００７４】
【表８ａ】
2006323818.tif 000013
【００７５】
表８ｂは、この例示の非均一スイッチプレーンＳＭＰシステムの実施の形態の態様を示している。偶数クラスタ内及び奇数クラスタ内のプロセッサ間では強い二分ＢＷが提供され、偶数クラスタと奇数クラスタとの間の二分ＢＷはより小さい（ただし、依然として、１ホップの要件及び少なくとも２つの経路の要件は満たされている）。偶数クラスタ内及び奇数クラスタ内では、５つのリンクの２セル二分ＢＷが提供され、偶数クラスタと奇数クラスタとの間では、２つのリンクの二分ＢＷが提供される。すなわち、どの２対のプロセッサ間のリンクの個数も５つ又は２つである。さらに、表８ａ及び表８ｂの例示のトポロジに基づいて、偶数クラスタ及び奇数クラスタ内では、８つの経路の４セル二分ＢＷが提供され、偶数クラスタと奇数クラスタとの間では、４つのリンクの二分ＢＷが提供され、偶数クラスタ及び奇数クラスタ内では、１６個の経路の８セル二分ＢＷが提供され、偶数クラスタと奇数クラスタとの間では、８つのリンクの二分ＢＷが提供され、１６個の経路の１６セル二分ＢＷが提供される。
【００７６】
【表８ｂ】
2006323818.tif 000014
【００７７】
表５ａ及び表５ｂ、表６ａ及び表６ｂ、表７ａ及び表７ｂ、並びに表８ａ及び表８ｂの例示の実施の形態は、大きな柔軟性によって、ＳＭＰシステムの実施の形態の特定のニーズを満たすために、特定の非均一クロスバースイッチプレーントポロジが選択されていることを示している。たとえば、１０ポートクロスバー及び１２ポートクロスバーの使用を示した。任意の適切なＮポートクロスバーをＳＭＰの実施の形態で使用できることが理解されよう。さらに、上述した表によって示すように、プロセッサセルのプロセッサの個数を変えることができる。プロセッサクラスタの任意の適切な個数のプロセッサはＳＭＰの実施の形態において変えることが可能であることが理解されよう。
【００７８】
図３及び図５〜図８に示す上述した実施の形態は、どの２つのプロセッサ間にも２つの経路を提供して、単一偶発設計基準を満たしていた。このように、プロセッサ間に４つの経路を提供した、図４に示す均一クロスバースイッチプレーントポロジと比較して、上述した実施の形態を実施するのに必要とされるクロスバーの個数及びリンクの個数は削減されたことが理解されよう。しかしながら、他の設計基準に基づくと、非均一クロスバースイッチプレーンＳＭＰシステムの実施の形態を使用して、プロセッサ間に３つ又は４つ以上の経路を提供することが望ましい場合がある。たとえば、表５ａ及び表５ｂによって示されたトポロジは３つの経路を提供した。３つの経路は、２倍のコンティンジェンシー・リライアビリティ基準を提供する。すなわち、２つの経路が（故障又はトラフィック輻輳のために）利用不能となる可能性があり、第３の代わりの経路が存続する。
【００７９】
その最も高いレベルでは、非均一クロスバースイッチプレーンＳＭＰシステムの実施の形態の一実施の形態は、複数のクロスバー及び複数のリンクパスを介して複数のプロセッサグループを通信接続する。この場合、１つのリンクパスは、プロセッサグループの１つをクロスバーの１つと一意に接続する。このように、複数の経路が定義され、各経路は、クロスバーの１つ及びリンクパスの２つから成る。したがって、２つのプロセッサグループは、１つの経路（それらの関連したリンクパス及び介在するクロスバー）を介して互いに通信接続される。非均一性は、経路の個数がＮ−１に等しい場合に実現される。ここで、Ｎはプロセッサグループの個数に等しい。したがって、４つのプロセッサグループを有するＳＭＰシステムでは、一実施の形態は、３つの経路を介して４つのプロセッサグループを互いに通信接続する。別の実施の形態は、２つの経路を介して４つのプロセッサグループを互いに通信接続する。
【００８０】
限定しない別の例として、１０個のプロセッサグループを有するＳＭＰシステムでは、一実施の形態は、９つの経路を介して１０個のプロセッサグループを通信接続する。他の実施の形態は、８つの経路、７つの経路、６つの経路、５つの経路、４つの経路、３つの経路、又は２つの経路を介して１０個のプロセッサグループを互いに通信接続する。
【００８１】
図９は、複数のプロセッサグループを有する対称型マルチプロセシング（ＳＭＰ）システムにおけるプロセッサ対プロセッサ通信のプロセスの一実施の形態を示すフローチャート９００である。代替的な実施の形態は、状態マシンとして構成されたハードウェアでフローチャート９００のプロセスを実施する。このようなすべての変更及び変形は、本明細書では、この開示の範囲内に含まれることが意図されている。
【００８２】
フローチャート９００のプロセスはブロック９０２で開始する。ブロック９０４において、第１のプロセッサグループの第１のプロセッサ及び第２のプロセッサグループの第２のプロセッサが第１の経路上で通信する。この第１の経路は、第１のクロスバーと、少なくとも、第１のプロセッサ及び第２のプロセッサに接続された通信リンクとから成り、この通信は、第１の経路が利用可能である場合に行われる。ブロック９０６において、第１のプロセッサ及び第２のプロセッサが第２の経路上で通信する。この第２の経路は、第２のクロスバーと、少なくとも、第１のプロセッサ及び第２のプロセッサに接続された他の通信リンクとから成り、この通信は、第１の経路が利用可能でない場合に行われる。本明細書で上述したように、プロセッサグループのそれぞれは、多くとも（Ｎ−１）個に等しい複数の経路によって他のプロセッサグループに接続される。ここで、Ｎは、プロセッサグループの個数に等しい。このプロセスはブロック９０８で終了する。
【００８３】
上述した実施の形態は、開示したシステム及び方法の単なる例にすぎないことが強調されるべきである。上述した実施の形態に対してさまざまな変形及び変更を行うことができる。このようなすべての変更及び変形は、本明細書では、この開示の範囲内に含まれることが意図されている。
【図面の簡単な説明】
【００８４】
【図１Ａ】従来の対称型マルチプロセシング（ＳＭＰ）システムのクロスバートポロジを示すブロック図である。
【図１Ｂ】従来の対称型マルチプロセシング（ＳＭＰ）システムのクロスバートポロジを示すブロック図である。
【図１Ｃ】従来の対称型マルチプロセシング（ＳＭＰ）システムのクロスバートポロジを示すブロック図である。
【図２】非均一クロスバースイッチプレーン対称型マルチプロセシング（ＳＭＰ）システムの一実施の形態を示すブロック図である。
【図３】クロスバーネットワークを介したプロセッサクラスタ間のリンクパスを示す図２のＳＭＰシステムの例示の実施の形態のブロック図である。
【図４】例示の均一スイッチプレーンＳＭＰシステムのブロック図である。
【図５】１６個のプロセッサ及び４つの１２ポートクロスバーを有する図３の非均一スイッチプレーンＳＭＰシステムの例示の実施の形態のより詳細なものを示すブロック図である。
【図６】図３及び図５の非均一スイッチプレーンＳＭＰシステムの例示の実施の形態のより詳細を示すブロック図である。
【図７】非均一スイッチプレーンＳＭＰシステムの代替的な実施の形態の選択された詳細を示すブロック図である。
【図８】入出力（Ｉ／Ｏ）デバイス及び／又は他のクロスバーに通信接続するための追加リンクを提供するＮポートクロスバーを示す、ＳＭＰシステムの代替的な実施の形態の一部のブロック図である。
【図９】複数のプロセッサグループを有する対称型マルチプロセシング（ＳＭＰ）システムにおけるプロセッサ対プロセッサ通信のプロセスの一実施の形態を示すフローチャートである。
【符号の説明】
【００８５】
１０２・・・２０ポートクロスバー
１０４，１０６・・・リンク
１０８・・・１６ポートクロスバー
１１０・・・リンク
１１２・・・１２ポートクロスバー
２００・・・ＳＭＰシステム
２０２・・・リンク
２０４・・・処理システム
２０６・・・クロスバーネットワーク
２０８・・・Ｉ／Ｏデバイス
２１０・・・補助デバイス
２１２・・・プロセッサクラスタ
３０２・・・リンクパス
３０４・・・プロセッサクラスタ
３０６・・・１２ポートクロスバー
３０８〜３２０・・・リンク
４０２・・・ＳＭＰシステム
４０４〜４１０・・・スイッチプレーン
４１２・・・プロセッサクラスタ
４１４・・・リンクパス
４１６・・・１６ポートクロスバー
５０２〜５０８・・・リンク
５１０〜５１６・・・スイッチプレーン
６０６〜６１０・・・リンク
７００・・・ＳＭＰシステム
７０２・・・ポイントツーポイントリンク
７０４・・・接続
８００・・・ＳＭＰシステム
８０２・・・Ｎポートクロスバー
８０４・・・リンク
【図１Ａ】
2006323818.tif 000015
【図１Ｂ】
2006323818.tif 000016
【図１Ｃ】
2006323818.tif 000017
【図２】
2006323818.tif 000018
【図３】
2006323818.tif 000019
【図４】
2006323818.tif 000020
【図５】
2006323818.tif 000021
【図６】
2006323818.tif 000022
【図７】
2006323818.tif 000023
【図８】
2006323818.tif 000024
【図９】
2006323818.tif 000025