(57)【要約】【課題】マルチプロセッサシステムを構成するノード数が最大数のノード数に合わせて設計したノードを、最大数に満たない数のノード備えて構成されたマルチプロセッサシステムに使用した場合にも、より高性能なノード間の相互接続を行うことを可能とする。【解決手段】マルチプロセッサを構成するノードのそれぞれは、他のノードと相互接続するための複数のポート301〜303と、コンフィグレーションユニット500と、トランザクション送信ユニット504と、トランザクション受信ユニット505とを備えて構成される。CU500は、複数のトランザクション種を定義し、トランザクション種によって前記ポートにおいて使用するビットを分別すると共にポートの宛先を変更し、トランザクション種毎に使用するビット幅を変更するように、TXU504、RXU505に指示を行う。【選択図】図３
2008176394.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードを相互に接続して構成されるマルチプロセッサシステムにおいて、
前記複数のノードのそれぞれは、他のノードと相互接続するための複数のポートと、コンフィグレーションユニットと、トランザクション送信ユニットと、トランザクション受信ユニットとを備えて構成され、
前記コンフィグレーションユニットは、複数のトランザクション種を定義し、トランザクション種によって前記ポートにおいて使用するビットを分別すると共にポートの宛先を変更するように、トランザクション送信ユニットと、トランザクション受信ユニットとに指示を行い、また、ポート内のビット割り付けを変更して、トランザクション種毎に使用するビット幅を変更するように、トランザクション送信ユニットと、トランザクション受信ユニットとに指示を行うことを特徴とするマルチプロセッサシステム。
【請求項２】
前記ポートの宛先の変更及びビット幅の変更の指示は、マルチプロセッサシステムが、最大数のノード数に合わせて設計したノードを使用してノード相互間を完全メッシュに相互接続して構成されているか、同一構成のノードを最大数に満たない数備えて構成されているかを示すモードの情報に従って行われることを特徴とする請求項１記載のマルチプロセッサシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチプロセッサシステムに係り、特に、複数のノードを相互接続して構成されるマルチプロセッサシステムに関する。
【背景技術】
【０００２】
複数のポートを持つノードの複数を相互に接続して構成されるマルチプロセッサシステム（以下、ＳＭＰシステムという）は、ノード間の相互接続の性能がシステムの性能に極めて大きな影響を与えている。ある程度小規模で、レイテンシ及びバンド幅の要求が厳しいＳＭＰシステムは、ノード相互間を完全メッシュに相互接続して構成される場合が多い。しかし、完全メッシュのトポロジを採用する場合、ノード間の相互接続に用意される各ノードのポート数は、ＳＭＰシステムを構成する最大のノード数に合わせて設計されるため、ある数のノード数に合わせて設計したノードを、その最大数に満たないノード数のＳＭＰシステムに採用してＳＭＰシステムを構成すると、モードが持つポートが余ってしまうことになる。
【０００３】
このような問題を回避する方法に関する従来技術として、例えば、非特許文献１等に記載された技術が知られている。この従来技術は、完全メッシュで接続するＳＭＰシステムのノード数に応じてハイパートランスポートのリンク幅を変化させるというものである。
【非特許文献１】2006 Technology Analyst Day  http://www.amd.com/us-en/assets/content_type/DownloadableAssets/PhilHesterAMDAnalystDayV2.pdf
【発明の開示】
【発明が解決しようとする課題】
【０００４】
一般に、ＳＭＰシステム内を流れるトランザクションは、その性質からブロードキャスト、マルチキャスト、ユニキャスト等に分類することができる。複数のノードを備えて構成されるＳＭＰシステムは、コヒーレンシ制御の簡易さ等の理由から、ノード間の相互接続を、前述のトランザクションの分類毎にパスを分けて設計する手法が採用されることがある。一方で、ノード数毎に各トランザクション種に必要なバンド幅の比率は変化する。
【０００５】
このため、最大ノード数でのパスのバンド幅の比率では、最大未満のノード数で構成されたＳＭＰシステムは、最適なバンド幅の比率とならない場合があるという問題点を生じさせる。
【０００６】
本発明の目的は、前述したような点に鑑み、ＳＭＰシステムを構成するノード数に応じて、ノード相互間接続におけるトランザクション種へのビット割り当てを変更可能とすることにより、ＳＭＰシステムを構成する最大数のノード数に合わせて設計したノードを、その最大数に満たない数備えてＳＭＰシステムを構成した場合にも、より高性能なノード間の相互接続を行うことができるマルチプロセッサシステムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明によれば前記目的は、複数のノードを相互に接続して構成されるマルチプロセッサシステムにおいて、前記複数のノードのそれぞれは、他のノードと相互接続するための複数のポートと、コンフィグレーションユニットと、トランザクション送信ユニットと、トランザクション受信ユニットとを備えて構成され、前記コンフィグレーションユニットは、複数のトランザクション種を定義し、トランザクション種によって前記ポートにおいて使用するビットを分別すると共にポートの宛先を変更するように、トランザクション送信ユニットと、トランザクション受信ユニットとに指示を行い、また、ポート内のビット割り付けを変更して、トランザクション種毎に使用するビット幅を変更するように、トランザクション送信ユニットと、トランザクション受信ユニットとに指示を行うことにより達成される。
【発明の効果】
【０００８】
本発明によれば、マルチプロセッサシステムを構成する最大数のノード数に合わせて設計したノードを、その最大数に満たない数備えてマルチプロセッサシステムを構成した場合にも、より高性能なノード間の相互接続を行うことができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明によるマルチプロセッサシステム（以下、ＳＭＰシステムという）の実施形態を図面により詳細に説明する。
【００１０】
図１は本発明の第１の実施形態によるＳＭＰシステムの構成を示すブロック図である。このＳＭＰシステム１００は、４つのノードが完全メッシュに相互接続されて構成されている例である。
【００１１】
すなわち、図１に示すＳＭＰシステム１００は、それぞれがＬＳＩにより構成される計算機装置としての第１のノード２０１と、第２のノード２０２と、第３のノード２０３と、第４のノード２０４との合計４個のノードを有して構成されている。ノード２０１〜２０４のそれぞれは、ノードコントローラ３００、少なくとも１個のプロセッサ３１０、典型的にはメモリサブシステム３２０、Ｉ／Ｏサブシステム３３０を備えて構成される。各ノードのノードコントローラ３００は、ワイヤのみから構成されるパッシブバックプレーン４００によって相互接続ネットワーク４１０を形成して相互に接続されている。相互接続ネットワーク４１０のトポロジは、完全メッシュ型である。
【００１２】
そして、各ノードのノードコントローラ３００は、ポートＡ３０１、ポートＢ３０２、ポートＣ３０３の合計３ポートを備えている。ノード２０１のポートＡ３０１とノード２０２のポートＡ３０１とは、パッシブバックプレーン４００の中のワイヤ４０１により接続され、同様に、他のポート相互間もワイヤ４０２〜４０６により図１に示す形態で接続されてネットワーク４１０を形成している。
【００１３】
図２は本発明の第２の実施形態によるＳＭＰシステムの構成を示すブロック図である。このＳＭＰシステム１０１は、１個のメインボード上に、図１に示したと同一の構成を持つノードを２つ設けて構成されている例である。
【００１４】
すなわち、図２に示すＳＭＰシステム１０１は、２個のノードコントローラ３００ａ、３００ｂを含んで構成され、ノードコントローラ３００ａ、３００ｂは、図１に示したノードコントローラ３００と同じＬＳＩであり、それぞれに、プロセッサ３１０ａ、３１０ｂ、メモリサブシステム３２０ａ、３２０ｂ、Ｉ／Ｏサブシステム３３０ａ、３３０ｂが接続されている。
【００１５】
そして、このＳＭＰシステム１０１は、ノードコントローラ３００ａのポートＡ３０１ａ〜Ｃ３０３ａと、ノードコントローラ３００ｂのポートＡ３０１ｂ〜Ｃ３０３ｂとをメインボード上のワイヤ４２１〜４２３により相互に接続して構成される。
【００１６】
本発明は、同一構成のノードを使用して図１に示すＳＭＰシステムを構成した場合にも、また、図２に示すＳＭＰシステムを構成した場合にも、より高性能なノード間の相互接続を行うことができるマルチプロセッサシステムを提供するものであり、次に、そのためのノードの構成について説明する。
【００１７】
図３はノードが備えるノードコントローラ３００（３００ａ、３００ｂも同様）の構成を示すブロック図である。ノードコントローラは、プロセッサインターフェースユニット（以下、ＰＩＵという）５０１、メモリインターフェースユニット（以下、ＭＩＵという）５０２、Ｉ／Ｏインターフェースユニット（以下、ＩＩＵという）５０３、トランザクション送信ユニット（以下、ＴＸＵという）５０４、トランザクション受信ユニット（以下、ＲＸＵという）５０５、コンフィグレーションユニット（以下、ＣＵという）５００の６個のユニットから構成される。
【００１８】
図１、図２に示したＳＭＰシステム１００、１０１において、ノードコントローラ内及びノードコントローラ間のトランザクションは、自己を含めブロードキャストを必要とするトランザクション（以下、ＢＣトランザクションという）と、１つの要求元と１つ宛先との間で転送を行うトランザクション（以下、１ｔｏ１トランザクションという）と、ＢＣに対するコヒーレンシ応答トランザクション（以下、ＧＣｏＨトランザクションという）に大別される。これに伴いノードコントローラ内部のユニット間パス５１１〜５１３、５２１〜５２３、５３１〜５３３、５４１〜５４３を含めたノード間相互接続、ＴＸＵ５０４とＲＸＵ５０５との間のループバックパス５３４は、それぞれ、ＢＣトランザクション、１ｔｏ１トランザクション、ＧＣｏＨトランザクション用に独立したパスが設けられている。但し、以下に説明する本発明の実施形態ではＧＣｏＨトランザクションのパスについては記述を省略している。
【００１９】
図４はＴＸＵ５０４の構成を示すブロック図である。図４に示すＴＸＵ５０４において、図３に示したＰＩＵ５０１からＴＸＵ５０４へのパス５１１は、１２８ｂｉｔ幅の１ｔｏ１アドレスパス５１１ａ、２５６ｂｉｔ幅の１ｔｏ１データパス５１１ｂ、１２８ｂｉｔ幅のＢＣパス５１１ｃにさらに分かれる。ＭＩＵ５０２及びＩＩＵ５０３からのパスについても同様である。ここで、１ｔｏ１アドレスパス５１１ａ〜５１３ａ及びＢＣパス５１１ｃ〜５１３ｃに転送されてくる情報は、データ以外の情報をも含み、コマンド、ランザクション情報、メモリアドレスが含まれる。各ユニットからの１ｔｏ１トランザクションは、そのアドレスが１ｔｏ１送信調停器６１０に入力されると共に、対応するデータがデータキュー６２１〜６２３に格納される。１ｔｏ１送信調停器６１０は、入力される各ユニットからのトランザクションの調停を行い、勝った１ｔｏ１トランザクションをＣＵ５００により設定されたルーティング情報パス５５４ａのルーティング情報と、Ｎ２モードパス５５４ｂのモード情報（ＳＭＰシステムが４ノードで構成されているか、２ノードで構成されているかを示す信号）とに従って宛先ノードから宛先ポートを解決しコマンドを含むアドレスの送信を開始すると共に、セレクタ６３１〜６３５、６４２〜６４４、６５２、６５３をセレクトして、データキュー６２１〜６２３内のデータの送信を開始する。各ユニットからのＢＣトランザクションは、ＢＣ送信調停器６００に入力され、調停されたトランザクションは、すべての有効なポートにブロードキャストされる。１ｔｏ１トランザクション、ＢＣトランザクションは、それぞれ、ＴＸＵ５０４からの出力時にポート単位に纏められるが、互いに独立したタイミングで転送される。
【００２０】
図５はＲＸＵ５０５の構成を示すブロック図である。図５に示すＲＸＵ５０５において、図３に示すノードコントローラのポートＡ３０１〜Ｃ３０３から受信したトランザクションは、内部パス５４１〜５４３を通りＲＸＵ５０５に入力される。ＴＸＵ５０４からループバック用として出力されたトランザクションはポートＤを経て、ＬＳＩ内のループバックパス５３４を通してＲＸＵ５０５に入力される。１ｔｏ１トランザクションは、アドレス、データ共に受信ポートＡ５４１〜Ｃ５４３、Ｄ５３４に対応した受信バッファ７４１〜７４４に格納される。受信バッファの先頭のエントリから１ｔｏ１アドレスの情報が１ｔｏ１受信調停器７１０に入力されると、それらのエントリが調停に参加する。１ｔｏ１受信調停器７１０は、あるエントリが調停に勝つと、１ｔｏ１アドレスパス５２１ａ〜５２３ａの中から宛先に対応したパスにトランザクションを出力する。さらに、当該エントリがデータ付きのトランザクションの場合、セレクタ７２１〜７２３を制御し、受信バッファ７４１〜７４４内のデータを、同時に１ｔｏ１データパス５２１ｂ〜５２３ｂの内の対応するパスへアドレス内にあるトランザクション情報のデータ長に応じた長さのデータとして出力を開始する。１ｔｏ１受信調停器７１０は、アドレス及びデータの出力が完了すると、受信バッファのリードポインタを次のエントリに進める。一方、ＲＸＵ５０５に入力されたＢＣトランザクションは、ＢＣ受信調停器７００に入力され、ルーティング情報パス５５５ｂのルーティング情報とＮ２モードパス５５５ａのＮ２モードの情報に従って有効なポートからのＢＣトランザクションを調停し、内部ユニットＰＩＵ５０１、ＭＩＵ５０２、ＩＩＵ５０３にブロードキャストする。
【００２１】
次に、前述のように構成されるノードを４個使用して図１に示して説明したＳＭＰシステム１００を構成した場合のトランザクションの処理の流れについて説明する。
【００２２】
図６はＳＭＰシステム１００のそれぞれのノード２０１〜２０４において、ＣＵ５００からＴＸＵ５０４及びＲＸＵ５０５に渡されるルーティング情報及びＮ２モードの設定情報を説明する図である。
【００２３】
ノード２０１〜２０４によりＳＭＰシステム１００が構成されている場合、ノード２０１には、図６（ａ）に示すようにように、ルーティング情報として自ノード番号“０”、ポートＡ３０１〜ポートＣ３０３の各ポートの宛先ノード番号としてそれぞれに１、２、３が設定され、各ポートの有効を示す“１”が設定される。また、Ｎ２モードには、無効を示す“０”が設定される。同様に、ノード２０２には、図６（ｂ）に示すように、ルーティング情報として自ノード番号“１”、ポートＡ３０１〜ポートＣ３０３の各ポートの宛先ノード番号としてそれぞれに０、３、２が設定され、各ポートの有効を示す“１”が設定される。また、Ｎ２モードには、無効を示す“０”が設定される。同様に、ノード２０３には、図６（ｃ）に示すように、ルーティング情報として自ノード番号“２”、ポートＡ３０１〜ポートＣ３０３の各ポートの宛先ノード番号としてそれぞれに３、０、１が設定され、各ポートの有効を示す“１”が設定される。また、Ｎ２モードには、無効を示す“０”が設定される。同様に、ノード２０４には、図６（ｄ）に示すように、ルーティング情報として自ノード番号“３”、ポートＡ３０１〜ポートＣ３０３の各ポートの宛先ノード番号としてそれぞれに２、１、０が設定され、各ポートの有効を示す“１”が設定される。また、Ｎ２モードには、無効を示す“０”が設定される。
【００２４】
次に、前述のような設定がされたＳＭＰシステム１００でのトランザクション処理の流れをＴＸＵ、ＲＸＵでの動作を中心に説明する。
【００２５】
まず、１ｔｏ１トランザクション処理の例として、ノード２０１のプロセッサ３１０にからノード２０２のメモリサブシステム３２０へ１２８Ｂｙｔｅのライト要求が発行されたものとして、この場合の処理について説明する。
【００２６】
ノード２０１のＰＩＵ５０１は、プロセッサ３１０からのライト要求を内部トランザクションとして１２８Ｂｙｔｅのデータ付１ｔｏ１トランザクションに変換し、アドレスをパス５１１ａに発行し、データをパス５１１ｂに発行する。このトランザクションは、アドレスとして１６Ｂｙｔｅを持ち、データとして１２８Ｂｙｔｅを持つ。ノード２０１のＴＸＵ５０４は、パス５１１ａからアドレスを受信すると、これを１ｔｏ１送信調停器６１０に入力して調停に参加させる。このトランザクションが１ｔｏ１送信調停器６１０により発行可となると、宛先ノードが“１”である、ポートＡ３０１の送信パス５３１に対してアドレス及びデータをルーティングする。具体的には、１ｔｏ１送信調停器６１０は、まず、セレクタ６４１をアドレス側に選択し、ポートＡ３０１の送信パス５３１にアドレス１６Ｂｙｔｅを２サイクルで送信する。次に、セレクタ６４１をデータ側に選択し、１２８Ｂｙｔｅのデータを１６サイクルで送信する。
【００２７】
図８はＳＭＰシステム１００で１ｔｏ１トランザクション処理を行う場合のノード２０１の送信パス５３１及びノード２０２のポートＡ受信パス５４１の様子を示す図である。送信パス５３１及び受信パス５４１は、９６ビット幅を持つが、図８に示すように、１ｔｏ１トランザクション処理で使用されるのは、その内の６４ビット幅であり、パスの６４ビット幅分を用いて、前述したように、アドレス１６Ｂｙｔｅ及びデータ１２８Ｂｙｔｅを１８サイクルで送信している。なお、後述するが、残りの３２ビットは、ＢＣトランザクションのために使用される。このように、１ｔｏ１トランザクションと、ＢＣトランザクションとが、パス上のビット幅を分割して割り付けられて利用しているので、１ｔｏ１トランザクションと、ＢＣトランザクションとは、同時に処理することができる。
【００２８】
ノード２０２のＲＸＵ５０５は、ポートＡ３０１の受信パス５４１からのトランザクションを受信して、逐次、受信バッファ７４１に格納する。そして、１ｔｏ１アドレスが１ｔｏ１受信調停器７１０に読み出され、１ｔｏ１受信調停器７１０により、このトランザクションが調停されると、アドレスに含まれる宛先がＭＩＵ５０２となっているため、このトランザクションをＭＩＵ５０２に対してルーティングする。具体的には、１ｔｏ１アドレスをＭＩＵ５０２宛１ｔｏ１アドレスパス５２２ａに１サイクルで送信し、１ｔｏ１データをＭＩＵ５０２宛１ｔｏ１データパス５２２ｂに３２Ｂｙｔｅずつ４サイクルで送信する。ノード２０２のＭＩＵ５０２は、このトランザクションを受け取ると、アドレスに含まれるメモリアドレスに対し１ｔｏ１データとして送られてきた１２８Ｂｙｔｅのデータをメモリサブシステム３２０に書き込み、このトランザクションの処理を完了する。
【００２９】
次に、ＢＣトランザクション処理の例として、ノード２０１のプロセッサ３１０からあるキャッシュラインのフラッシュ要求が発行されたものとして、この場合の処理について説明する。
【００３０】
ノード２０１のＰＩＵ５０１は、プロセッサ３１０からのキャッシュラインのフラッシュ要求を内部トランザクションとしてＢＣトランザクションに変換し、このＢＣトランザクションをＢＣパス５１１ｃに送信する。このＢＣトランザクションは、１６Ｂｙｔｅのアドレスを持つ。ＴＸＵ５０４は、ＢＣパス５１１ｃからこのＢＣトランザクションを受信すると、ＢＣ送信調停器６００に入力して調停に参加させる。ＴＸＵ５０４は、ＢＣ送信調停器６００により、このＢＣトランザクションが発行可能となると、このＢＣトランザクションをポートＡ５３１〜Ｄ５３４の送信パスの全てに４サイクルで同時に送信する。ＳＭＰシステム１００の場合、図６により説明したように、Ｎ２モードは無効に設定されているため、セレクタ６５２、６５３は、パス５５４ｂ上のＮ２モードの信号により常にＢＣトランザクションを選択する。
【００３１】
図９はＳＭＰシステム１００で、ＢＣトランザクションを各ノード２０２〜２０４に転送する場合のポートＡ〜Ｃの様子を示す図である。各ポートを接続するパスは、図８でも説明したように、９６ビット幅を持つが、図９に示すように、ＢＣトランザクションの転送には、その内の３２ビットだけが使用されて、前述したように、１６Ｂｙｔｅのアドレスが４サイクルで送信される。
【００３２】
送信されたＢＣトランザクションは、ノード２０１自身のＲＸＵ５０５へはポートＤのループバックパス５３４により転送される。ノード２０１〜２０４のＲＸＵ５０５は、このＢＣトランザクションを受信すると、このＢＣトランザクションをＢＣ受信調停器７００に入力して調停に参加させる。ＢＣ受信調停器７００により、このＢＣトランザクションが発行可能になると、５２１ｃ〜５２３ｃの全てのパスに対してこのＢＣトランザクションの送信を行う。ノード２０１〜２０４のＰＩＵ５０１、ＩＩＵ５０３は、このトランザクションの処理結果をＧＣｏＨトランザクションのパスを用いて要求元に返送する。ノード２０１のＰＩＵ５０１は、全てのユニットからのＧＣｏＨトランザクションを受け取ると、このトランザクションの終了処理を行う。
【００３３】
次に、ＳＭＰシステム１００の場合と同様に構成されたノードを２個使用して図２に示して説明したＳＭＰシステム１０１を構成した場合のトランザクションの処理の流れについて説明する。
【００３４】
図７はＳＭＰシステム１０１のそれぞれのノードコントローラ３００ａ、３００ｂに設定されるルーティング情報及びＮ２モード設定を説明する図である。
【００３５】
ノードコントローラ３００ａ、３００ｂを含むノードによりＳＭＰシステム１０１が構成されている場合、ノードコントローラ３００ａには、図７（ａ）に示すように、仮想的にノード番号“０”が設定される。また、ポートＡ３０１ａ〜Ｃ３０３ｃの各ポートの宛先ノード番号として全てに“１”が設定され、ポートの有効を示す“１”が設定される。Ｎ２モードには、有効を示す“１”が設定される。同様に、ノードコントローラ３００ｂには、図７（ｂ）に示すように、仮想的にノード番号“１”が設定される。また、ポートＡ３０１ａ〜Ｃ３０３ｃの各ポートの宛先ノード番号として全てに“０”が設定され、ポートの有効を示す“１”が設定される。Ｎ２モードには、有効を示す“１”が設定される。
【００３６】
次に、前述のような設定がされたＳＭＰシステム１０１でのトランザクション処理の流れをＴＸＵ、ＲＸＵでの動作を中心に説明する。
【００３７】
まず、１ｔｏ１トランザクション処理の例として、ＳＭＰシステム１００の場合と同様に、ノードコントローラ３００ａのプロセッサ３１０によりノードコントローラ３００ｂのメモリサブシステム３２０へ１２８Ｂｙｔｅのライト要求が発行されたものとして、この場合の処理について説明する。
【００３８】
ノードコントローラ３００ａのＰＩＵ５０１は、プロセッサ３１０からのライト要求を内部トランザクションとして１２８Ｂｙｔｅデータ付１ｔｏ１トランザクションに変換し、アドレスをパス５１１ａに発行し、データをパス５１１ｂに発行する。ノードコントローラ３００ａのＴＸＵ５０４は、パス５１１ａからアドレスを受信すると、このアドレスを１ｔｏ１送信調停器６１０に入力して調停に参加させる。１ｔｏ１送信調停器６１０により、このトランザクションが発行可となると、宛先ノードが“１”となっているトランザクションに対して、ポートＡ〜Ｃの宛先は、図７により説明したように、全てノード“１”宛に設定されているので、ポートＡ５３１〜Ｃ５３３の送信パスに対してアドレス及びデータをルーティングする。
【００３９】
すなわち、１ｔｏ１送信調停器６１０は、まず、セレクタ６４１、６４２をアドレス側に選択し、ポートＡ５３１、Ｂ５３２の送信パスにアドレス１６Ｂｙｔｅを１サイクルで送信する。次に、１ｔｏ１送信調停器６１０は、セレクタ６４１〜６４３をデータ側に選択し、さらに、パス５５４ｂ上のＮ２モードが有効となっているため、ＳＭＰシステム１００の場合にＢＣ送信ポートＢ、Ｃとして使用されていたパスを１本の１ｔｏ１データ送信ポートＸとして使用する。この結果、１ｔｏ１データ送信ポートは、合計で３２Ｂｙｔｅ幅となるので、１２８Ｂｙｔｅのデータを４ｃｙｃｌｅで送信することができる。
【００４０】
図１０はＳＭＰシステム１０１で１ｔｏ１トランザクション処理を行う場合のポートＡ〜Ｃの様子を示す図である。図１０から判るように、ＳＭＰシステム１０１では、１２８Ｂｙｔｅデータ付の１ｔｏ１トランザクションは、５サイクルで転送することが可能となる。そして、この場合、ポートＡの３２ビット分がＢＣトランザクションに割り振られている。
【００４１】
ノードコントローラ３００ｂのＲＸＵは、ポートＡ受信パス５４１〜ポートＣ受信パス５４３からトランザクションを受信し、このトランザクションを逐次受信バッファ７４１〜７４３に格納する。さらに、Ｎ２モードが有効に設定されているため、ポートＸに相当するデータを受信バッファ７４５に格納する。１ｔｏ１受信調停器７１０は、Ｎ２モードが有効に設定されていると、１ｔｏ１アドレスが受信バッファ７４１、７４２からの読み出しを結合し、ノード“０”からの１ｔｏ１アドレスとして調停を行う。このアドレスに含まれる宛先がＭＩＵ５０２となっているため、このトランザクションは、調停後ＭＩＵ５０２に対してルーティングされる。
【００４２】
前述で説明した本発明の第１、第２の実施形態において、１つのノードコントローラが、各サブシステムから受け取るノード間１ｔｏ１トランザクションの数をｘ、ＢＣトランザクションの数をｙとすると、ｎ個のノード間で発生するトランザクション数は、１ｔｏ１ではｎｘ、ＢＣではｎｙ（ｎ−１）となる。従って、前述で説明した第１の実施形態によるＳＭＰシステム１００と第２の実施形態による１０１ＳＭＰシステムとでｘ、ｙが変化しないとすれば、ＳＭＰシステム１０１におけるノード間トランザクション数は、ＳＭＰシステム１００におけるノード間のトランザクション数と比較して、１ｔｏ１では１／２、ＢＣでは１／６となる。
【００４３】
これに対して、本発明の第２の実施形態によるＳＭＰシステム１０１の持つ帯域は、３本のポートをＳＭＰシステム１００の場合と同じ割当てで使用した場合、１ｔｏ１、ＢＣ共に１／２となるので、ＳＭＰシステム１００のノード間トランザクション数当たりの帯域と比較すると１ｔｏ１では等倍、ＢＣでは３倍となり、ＢＣが相対的に余裕がある状態となる。
【００４４】
一方、Ｎ２モードを有効とした場合、帯域は、１ｔｏ１では４／３、ＢＣでは１／６となり、ＳＭＰシステム１００のノード間のトランザクション数当たりの帯域との比較では、ＳＭＰシステム１０１は、１ｔｏ１では８／３倍、ＢＣでは等倍となり、システム１００と比較して、１ｔｏ１の帯域に余裕ができる状態となる。１ｔｏ１トランザクションでは、付属するデータ長が大きくなるほど１トランザクションでより多くの帯域を消費するため、本発明の第２の実施形態によるＳＭＰシステム１０１は、１ｔｏ１の帯域に余裕を持たせたＮ２モードの方がトータルのノード間のスループットをより向上させることができる。
【図面の簡単な説明】
【００４５】
【図１】本発明の第１の実施形態によるＳＭＰシステムの構成を示すブロック図である。
【図２】本発明の第２の実施形態によるＳＭＰシステムの構成を示すブロック図である。
【図３】ノードが備えるノードコントローラの構成を示すブロック図である。
【図４】ＴＸＵの構成を示すブロック図である。
【図５】ＲＸＵの構成を示すブロック図である。
【図６】第１の実施形態によるＳＭＰシステムの各ノードにおいて、ＣＵからＴＸＵ及びＲＸＵに渡されるルーティング情報及びＮ２モードの設定情報を説明する図である。
【図７】第２の実施形態によるＳＭＰシステムのそれぞれのノードコントローラに設定されるルーティング情報及びＮ２モードの設定情報を説明する図である。
【図８】第１の実施形態によるＳＭＰシステムで１ｔｏ１トランザクション処理を行う場合の送信元ノードの送信パス及び送信先ノードの受信パスの様子を示す図である。
【図９】第１の実施形態によるＳＭＰシステムで、ＢＣトランザクションを各ノードに転送する場合のポートＡ〜Ｃの様子を示す図である。
【図１０】第２の実施形態によるＳＭＰシステムで１ｔｏ１トランザクション処理を行う場合のポートＡ〜Ｃの様子を示す図である。
【符号の説明】
【００４６】
１００、１０１  ＳＭＰシステム
２０１〜２０４  ノード
３００、３００ａ、３００ｂ  ノードコントローラ
３０１〜３０３、３０１ａ〜３０３ａ、３０１ｂ〜３０３ｂ  ポートＡ〜Ｃ
３１０、３１０ａ、３１０ｂ  プロセッサ
３２０、３２０ａ、３２０ｂ  メモリサブシステム
３３０、３３０ａ、３３０ｂ  Ｉ／Ｏサブシステム
４００  パッシブバックプレーン
５００  コンフィグレーションユニット
５０１  プロセッサインタフェースユニット（ＰＩＵ）
５０２  メモリインタフェースユニット（ＭＩＵ）
５０３  Ｉ／Ｏインタフェースユニット（ＩＩＵ）
５０４  トランザクション送信ユニット（ＴＸＵ）
５０５  トランザクション受信ユニット（ＲＸＵ）
【図１】
2008176394.tif 000003
【図２】
2008176394.tif 000004
【図３】
2008176394.tif 000005
【図４】
2008176394.tif 000006
【図５】
2008176394.tif 000007
【図６】
2008176394.tif 000008
【図７】
2008176394.tif 000009
【図８】
2008176394.tif 000010
【図９】
2008176394.tif 000011
【図１０】
2008176394.tif 000012