(57)【特許請求の範囲】
【請求項１】
複数の演算ノードをクロスバスイッチで接続した並列計算機システムにおいて、
上記クロスバスイッチが、入力用および出力用としてそれぞれ複数対の制御信号パスとデータパスを収容できるように配置された複数の入、出力ポートを備えており、
上記制御信号パスとデータパスを各演算ノードに１対ずつ割り当てたノード接続形態では、上記クロスバスイッチが、各制御信号パス上の制御情報に基づいて、該制御信号パスと対をなす各データパス上の送信データを個別にルーティングし、
複数対の制御信号パスとデータパスを１組にして、上記制御信号パスとデータパスを各演算ノードに１組ずつ割り当てたノード接続形態では、上記クロスバスイッチが、上記何れかの制御信号パス上の制御情報に基づいて、各組の複数のデータパス上の送信データを一括してルーティングするようにしたことを特徴とする並列計算機システム。
【請求項２】
各演算ノードが、前記クロスバスイッチに接続された複数のデータパスで並列的にデータを送受信する高速転送モードと、前記クロスバスイッチに接続された１つのデータパスで複数ブロックに分割されたデータを時系列的に送受信する低速転送モードと選択可能な送受信部を備えたことを特徴とする請求項１に記載の並列計算機システム。
【請求項３】
複数の演算ノードをクロスバスイッチで接続した並列計算機システムにおいて、上記クロスバスイッチが、
ｍ対の制御信号パスとデータパス（但し、ｍ＞１の整数）を１組として、入力用と出力用にそれぞれ複数組分の制御信号パスとデータパスを収容できるように配置された複数の入、出力ポートと、
入力用の各制御信号パスから受信した制御情報に応じて、該制御信号パスと対をなす１つのデータパス上の送信データを個別に転送制御する第１の転送モードと、各組を代表する入力用の１つの制御信号パスから受信した制御情報に応じて、１組複数本のデータパス上の送信データを一括して転送制御する第２の転送モードとを切替えるための手段とを有し、
上記クロスバスイッチが上記第２の転送モードで動作する時は、上記各組を代表する制御信号パスによって上記クロスバスイッチと演算ノードとが接続されることを特徴とする並列計算機システム。
【請求項４】
前記第２の転送モードで動作する時は、前記各演算ノードが、入、出力用のｍ本のデータパスで並列的にデータを送受信し、該データに付随する制御情報を前記各組を代表する制御信号パスで送受信することを特徴とする請求項３に記載の並列計算機システム。
【請求項５】
複数のノードに接続され、ノード間で制御信号とデータを転送するためのクロスバスイッチであって、
ｍ対の制御信号パスとデータパス（但し、ｍ＞１の整数）を１組として、入力用と出力用にそれぞれ複数組分の制御信号パスとデータパスを収容できるように配置された複数の入、出力ポートと、
入力用の各制御信号パスから受信した制御情報に応じて、該制御信号パスと対をなす１つのデータパス上の送信データを個別に転送制御する第１の転送モードと、各組を代表する入力用の１つの制御信号パスから受信した制御情報に応じて、１組複数本のデータパス上の送信データを一括して転送制御する第２の転送モードとを切替えるための手段とを有し、
各演算ノードの送信部と受信部に上記制御信号パスとデータパスを１対ずつ割り当てた第１のノード接続形態と、各演算ノードの送信部と受信部に上記制御信号パスとデータパスを１組ずつ割り当てた第２のノード接続形態とを可能としたことを特徴とするクロスバスイッチ。
【請求項６】
請求項５に記載のクロスバスイッチにおいて、
前記各組に対応して設けられた複数の受信制御部および送信制御部と、上記受信制御部と送信制御部との間を接続するための複数の内部パスを有し、
上記各受信制御部が、それぞれ１対の入力用の制御信号パスとデータパスから受信された制御情報とデータとを一時的に格納するｍ個の受信バッファと、それぞれ上記制御情報とデータの上記受信バッファへの書き込みと読み出しを制御するｍ個の受信バッファコントローラと、前記第１の転送モードでは、上記各受信バッファコントローラが発生する制御出力をそれに付随する受信バッファに個別に作用させ、前記第２の転送モードでは、上記受信バッファコントローラのうちの１つが発生する制御出力を上記ｍ個の受信バッファに作用させるための制御信号選択手段とを有し、
上記各内部パスが、前記受信制御部の受信バッファ毎に設けられ、
上記各送信制御部が、それぞれ上記複数の内部パスの１つを選択的に前記出力ポートの１つに接続するｍ個のセレクタと、上記各セレクタに付随して設けられたｍ個のアービタと、前記第１の転送モードでは、上記各アービタが発生する制御出力をそれに付随するセレクタに個別に作用させ、前記第２の転送モードでは、上記アービタのうちの１つが発生する制御出力を上記ｍ個のセレクタに作用させるための制御信号選択手段とを有し、
上記各アービタが、それぞれ上記複数の内部パスから抽出された制御情報に基づいて、セレクタ制御出力を発生することを特徴とする請求項５に記載のクロスバスイッチ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、並列計算機システムに関し、更に詳しくは、複数の演算ノードを接続するためのクロスバスイッチおよびこのクロスバスイッチを適用した並列計算機システムに関する。
【０００２】
【従来の技術】
膨大な計算処理を高速に実行するために、複数の計算機をネットワークで接続したクラスタ構成、あるいは、一つの計算機を複数のＣＰＵで構成したＳＭＰ(Symmetric Parallel) 構成の並列計算機システムが知られている。
例えば、特開平2-228760号公報には、複数の計算機を専用のクロスバスイッチで接続することによって高性能化したクラスタ構成の並列計算機が提案されている。ＳＭＰ構成の並列計算機システムでも、ＣＰＵの接続台数が増加すると、それぞれ複数のＣＰＵを含む複数の演算ノードをネットワークで接続したシステム構成が採用される。例えば、特開平9-293060号公報には、専用のクロスバを用いることによって３２台〜６４台以上のＣＰＵを接続したＳＭＰ構成の並列計算機システムが提案されている。
【０００３】
演算ノード間の接続に専用のクロスバスイッチを用いたシステムでは、例えば、ノード間通信が頻繁に発生したり、ノード間通信に大きなスループットを必要とするアプリケーションを実行する場合、各ノードとクロスバとの間のスループットがシステム全体の性能に大きく影響する。このため、クロスバを用いた並列計算機システムでは、対象となるアプリケーションの目標性能に応じたスループットが得られるようにクロスバＬＳＩを設計する必要がある。
【０００４】
然るに、クロスバのスループットは、ＬＳＩの動作周波数とデータ幅とを増やすことによって改善できるが、ＬＳＩ製造技術上の制約から、各ＬＳＩの動作周波数と搭載できる外部接続ピンの数には限度がある。このために、実際の応用においては、例えば、１つのクロスバを複数のＬＳＩに分割し、各演算ノードの送受信データをこれらの複数のＬＳＩに分割することによって、個々のクロスバＬＳＩの送受信データ幅が少なくて済むようにした構成が採用される。
例えば、演算ノード間で８バイト並列の高速データ転送を行う場合に、ノード間に介在するクロスバを１つのＬＳＩで構成しようとすると、各入、出力ポートに少なくとも６４ビット幅のデータピンが必要となる。この場合、クロスバを４つのＬＳＩに分割すれば、各ＬＳＩでは、１ポート当たりの送受信データ幅が２バイト（１６ビット）で済むため、既存のＬＳＩ技術でも実現可能となる。また、クロスバを多段接続すれば、各ノードとクロスバとの間の送受信データ幅を縮小することなく、接続ノード数を増加することが可能となる。
【０００５】
【発明が解決しようとする課題】
並列計算機システムのアプリケーションの中には、クロスバに大きなスループットを必要としないものや、クロスバのスループットは低くても、できるだけ多数の演算ノードを接続した方が高い性能が得られるものもある。このようにノード間の通信速度が低くてもよいアプリケーションを対象とした並列計算機システムでは、高価な高速クロスバは不要であり、スループット性能に応じた低コストのクロスバがあればよい。
【０００６】
本発明の目的は、同一構造のＬＳＩを適用して異なるデータ幅の演算ノード間通信を実現できる並列計算機システムを提供することにある。
本発明の他の目的は、多様なスループットのデータ転送に適合できるクロスバスイッチを提供することにある。
本発明の他の目的は、演算ノードが必要とするスループットに応じて接続ノード数を可変にした並列計算機システムおよびノード間接続方式を提供することにある。
【０００７】
【課題を解決するための手段】
上記目的を達成するために、本発明では、複数の演算ノードをクロスバスイッチで接続した並列計算機システムにおいて、各演算ノードとクロスバスイッチとの間の接続パス幅を演算ノードが必要とするスループットに応じて可変にしたことを特徴とする。
更に詳述すると、本発明は、複数の演算ノードをクロスバスイッチで接続した並列計算機システムにおいて、上記クロスバスイッチが、入力用および出力用としてそれぞれ複数対の制御信号パスとデータパスを収容できるように配置された複数の入、出力ポートを備えており、各演算ノードに上記制御信号パスとデータパスを１対ずつ割り当てたノード接続形態では、上記クロスバスイッチが、各制御信号パス上の制御情報に基づいて、該制御信号パスと対をなす各データパス上の送信データを個別にルーティングし、各演算ノードに上記制御信号パスとデータパスを１組ずつ割り当てたノード接続形態では、上記クロスバスイッチが、各組を代表する１つの制御信号パス上の制御情報に基づいて、各組の複数のデータパス上の送信データを一括してルーティングするようにしたことを特徴とする。
【０００８】
本発明のクロスバスイッチは、ｍ対の制御信号パスとデータパス（但し、ｍ＞１の整数）を１組として、入力用と出力用にそれぞれ複数組分の制御信号パスとデータパスを収容できるように配置された複数の入、出力ポートと、入力用の各制御信号パスから受信した制御情報応じて、該制御信号パスと対をなす１つのデータパス上の送信データを個別に転送制御する第１の転送モードと、各組を代表する１つの制御信号パスから受信した制御情報応じて、１組複数本のデータパス上の送信データを一括して転送制御する第２の転送モードとを切替えるための手段を有し、各演算ノードの送信部と受信部に上記制御信号パスとデータパスを１対ずつ割り当てたノード接続形態と、各演算ノードの送信部と受信部に上記制御信号パスとデータパスを１組ずつ割り当てたノード接続形態とを可能としたことを特徴とする。
尚、上記クロスバスイッチが第２の転送モードで動作する時は、上記各組を代表する制御信号パス以外の他の制御信号パスを省略した形で、クロスバスイッチと演算ノードとが接続される。
【０００９】
本発明の好ましい実施例では、上記クロスバスイッチに接続される各演算ノードは、例えば、上記クロスバスイッチに接続された複数のデータパスで並列的にデータを送受信する高速転送モードと、上記クロスバスイッチに接続された１つのデータパスで複数ブロックに分割されたデータを時系列的に送受信する低速転送モードとを切替え可能な送受信部を備える。
【００１０】
【発明の実施の形態】
以下、本発明の実施例を図面を参照して詳細に説明する。
図１は、２つの演算ノード（ノード１とノード２）とクロスバスイッチ（以下、単にクロスバと言う）３とからなる本発明による並列計算機システムの基本的なシステム構成を示す。ここに示したシステム構成では、ノード１、ノード２とクロスバ３が、各ノードの送受信データ幅をフルに利用できる接続関係となっている。
【００１１】
図において、ＴＸ１とＲＸ１は、ノード１の送信部と受信部を示し、 ＴＸ２とＲＸ２は、ノード２の送信部と受信部を示す。クロスバ３は、制御信号パスＣ１〜Ｃ４用の入力ポートと、データパスＤ１〜Ｄ４用の入力ポートと、制御信号パスＣ１１〜Ｃ１４用の出力ポートと、データパスＤ１１〜Ｄ１４用の出力ポートとを備えており、データパスＤ１〜Ｄ４、 Ｄ１１〜Ｄ１４は、それぞれ同一のデータ幅をもっている。
【００１２】
ノード１の送信部ＴＸ１は、制御信号パスＣ１とデータパスＤ１、Ｄ２を介してクロスバ３に接続され、Ｎバイト（またはビット）送信データの上位１／２をデータパスＤ１に、下位１／２をデータパスＤ２に並列的に送出する。ノード２の送信部ＴＸ２は、制御信号パスＣ３とデータパスＤ３、Ｄ４を介してクロスバ３に接続され、ノード１の送信部ＴＸ１と同様、送信データの上位１／２をデータパスＤ３に、下位１／２をデータパスＤ４に送出する。この場合、制御信号パスＣ２、Ｃ４は未使用となり、データパスＤ１、Ｄ２への送信データは、制御信号パスＣ１上の制御情報によってルーティングされ、データパスＤ３、Ｄ４への送信データは、制御信号パスＣ３上の制御情報によってルーティングされる。
【００１３】
ノード１の受信部ＴＲ１は、制御信号パスＣ１１とデータパスＤ１１、Ｄ１２を介してクロスバ３に接続され、他ノードからの送信データの上位１／２をデータパスＤ１１から、下位１／２をデータパスＤ１２から並列的に受信し、これらのデータと対応する制御情報を制御信号パスＣ１１から受信する。これと同様に、ノード２の受信部ＴＲ２は、制御信号パスＣ１３とデータパスＤ１３、Ｄ１４を介してクロスバ３に接続され、他ノードからの送信データの上位１／２をデータパスＤ１３、下位１／２をデータパスＤ１４から並列的に受信し、制御情報を制御信号パスＣ１３から受信する。
【００１４】
図２は、図１と同一構造のクロスバ３によって４つの演算ノード（ノード１〜ノード４）を相互接続した本発明による並列計算機システムのもう１つのシステム構成を示す。
図２に示したシステム構成では、上記各ノードの送信部ＴＸ１〜ＴＸ４が、それぞれ１対の制御信号パスとデータパス（Ｃ１とＤ１、 Ｃ２とＤ２、Ｃ３とＤ３、Ｃ４とＤ４）によってクロスバ３に接続され、上記各ノードの受信部ＲＸ１〜ＲＸ４が、それぞれ１対の制御信号パスとデータパス（Ｃ１１とＤ１１、 Ｃ１２とＤ１２、Ｃ１３とＤ１３、Ｃ１４とＤ１４）によってクロスバ３に接続されている。
【００１５】
上記システム構成において、クロスバ３は、データパスＤ１〜Ｄ４からの受信データを各データパスと対をなす制御信号パスＣ１〜Ｃ４上の制御情報に従ってルーティングする。この場合、各ノードは、クロスバ３に送信するデータ幅が、図１の各ノードがもつデータ幅の半分となっているため、ノード間のデータ転送速度は遅くなっている。従って、図２に示したシステム構成は、図１に示したように高スループットにも適合できるクロスバ３を用いて、高速データ転送を必要としない演算ノードを多数個接続するのに適した構成と言える。
【００１６】
図３と図４は、上記クロスバ３への接続に適したデータ転送速度を可変にした演算ノードの１実施例を示す。
図３は、図１におけるノード１の送信部ＴＸ１の構成を示す。
図において、１０は、ＣＰＵやメモリ、Ｉ／Ｏ装置など、演算ノードの主要部を構成するノード内部ユニットを示す。ノード内部ユニットで発生した他ノード宛の送信データ（例えば、アドレストランザクションやデータトランザクション等）は、 Ｎバイト（またはビット）単位で内部パス１０２に出力され、それに付随する制御情報が、パス１０１に出力される。
【００１７】
送信バッファコントローラ１２は、パス１０１に現れた制御情報に応じて、上記制御情報と送信データを送信バッファ１１に書き込み、これらをＦＩＦＯ形式で読み出す。送信バッファ１１から読み出された制御情報は、パス１０３に出力され、送信データは、その上位１／２がパス１０４に、下位１／２がパス１０５に分離して出力される。
パス１０３に読み出された制御情報は、出力ラッチ１４に入力され、パス１０４に読み出された上位１／２の送信データは、セレクタ１３を介して出力ラッチ１４に入力される。パス１０５に読み出された下位１／２の送信データは、セレクタ１３と出力ラッチ１４に並列的に入力される。
【００１８】
上記セレクタ１３は、送信バッファコントローラ１２によって制御され、ノード１が、図１に示したように、出力データパスＤ１とＤ２をフルに利用する高速転送（フルスループット）モードで運用された場合、セレクタ１３は、常にパス１０４を選択するように制御される。ノード１が、図２に示したように、データパスＤ１のみを利用する低速転送（低スループット）モードで運用された場合は、セレクタ１３は、送信サイクル毎に入力パスを切替え、パス１０４とパス１０５からの入力データを交互にパス１０６に出力するように制御される。
【００１９】
ノード１が高速転送モードに設定されていた場合、送信バッファコントローラ１２は、各送信サイクルで１つのトランザクションが処理されるように送信バッファ１１の読み出しポインタを更新する。従って、高速転送モードでは、送信サイクル毎に、送信バッファ１１からＮバイト幅の新たな送信データと、これに付随する新たな制御情報とが読み出され、これらが出力ラッチ１４を介して制御信号パスＣ１とデータパスＤ１、Ｄ２に出力される。
【００２０】
ノード１が低速転送モードに設定されていた場合、送信バッファコントローラ１２は、２サイクルに一回の低い送信レートで、送信バッファ１１に制御情報と送信データを書き込み、送信サイクル毎にセレクタ１３を切替えながら、２サイクル続けて同一の制御情報と送信データを読み出すように、送信バッファ１１の読み出しポインタを更新する。これによって、最初の送信サイクルでは、パス１０３に読み出された制御情報と、パス１０４に読み出された上位１／２の送信データ部分が、出力ラッチ１４を介して制御信号パスＣ１とデータパスＤ１に出力され、次の送信サイクルでは、パス１０３に読み出された同一の制御情報と、パス１０５に読み出された下位１／２の送信データ部分が、出力ラッチ１４を介して制御信号パスＣ１とデータパスＤ１に出力される。尚、ノード１が低速転送モードで運用された場合は、図３に示したデータパスＤ２は、クロスバ３には未接続となるため、パス１０５を介して出力ラッチ１４入力された下位１／２のデータは無用となる。
【００２１】
図４は、ノード１の受信部ＴＲ１の構成を示す。
ノード１の受信部ＴＲ１は、クロスバ３から出力された制御情報とデータを一時的に格納するための受信バッファ２１と、上記受信バッファ２１へのデータの書き込みと読み出しを制御する受信バッファコントローラ２２と、該受信バッファコントローラ２２によって制御されるセレクタ２３とを備える。
【００２２】
ノード１が高速転送モードに設定された場合、セレクタ２３は、常にデータパスＤ１２の入力データをパス１２０に出力するように制御される。従って、クロスバ３から制御信号パスＣ１１に出力された制御情報と、データパスＤ１１に出力されたＮバイト（ビット）送信データの上位１／２と、データパスＤ１２に出力された送信データの下位１／２とが、それぞれ並列的に受信バッファ２１に入力される。受信バッファコントローラ２２は、これらの制御情報と送信データを各送信サイクル毎に受信バッファに書き込み、ＦＩＦＯ形式で読み出して、ノード内部ユニット１０に転送する。
【００２３】
ノード１が低速転送モードで運用された場合は、データパスＤ１２は未使用となり、Ｎバイト送信データの上位１／２に相当するデータブロックと下位１／２に相当するデータブロックとがデータパスＤ１１に交互に現れる。従って、低速転送モードのノード１では、受信バッファコントローラ２２が、各送信サイクル毎にセレクタ２３の入力パスを交互に切替え、例えば、最初のサイクルでは、制御信号パスＣ１１から入力された制御情報と、データパスＤ１１から入力された送信データの上位１／２を受信バッファ２１の１つのエントリ領域に書き込み、次のサイクルでは、上記エントリ領域にパス１２０から入力された送信データの下位１／２を追加し、２サイクルに一回の割合で、１エントリ分の制御情報と送信データを読み出すように、読み出しアドレスポインタとバッファ入力を制御する。
以上、ノード１の送信部ＴＸ１と受信部ＲＸ１について説明したが、他のノードも同様の構成とすることができる。
【００２４】
図５は、クロスバ３の詳細構成の１例を示す。
本発明のクロスバ３は、高速転送（フルスループット）モードで収容可能なノード数に相当した複数個のクロスバ受信制御部３０Ｒと、複数個のクロスバ送信制御部４０Ｔと、これらを接続する内部パス３０１〜３０４とからなる。ここでは、図１に合わせて、２つのクロスバ受信制御部３０Ｒ１、２０Ｒ２と、２つのクロスバ送信制御部４０Ｔ１、４０Ｔ２を備えたクロスバ３について説明する。
【００２５】
クロスバ受信制御部３０Ｒ１は、制御信号パスＣ１とデータパスＤ１とを収容するための入力ポートＰｃ１、Ｐｄ１に接続された第１の受信バッファ３１と、該受信バッファ３１へのデータの書き込みと読み出しを制御する第１の受信バッファコントローラ３２と、制御信号パスＣ２とデータパスＤ２とを収容するための入力ポートＰｃ２、Ｐｄ２に接続された第２の受信バッファ３３と、該受信バッファ３３へのデータの書き込みと読み出しを制御する第２の受信バッファコントローラ３２と、上記第２の受信バッファ３３に対して、上記第１、第２の受信バッファコントローラを選択的に作用させるためのセレクタ３５とを含む。
【００２６】
第１の受信バッファコントローラ３２は、制御信号パスＣ１から入力された制御情報に応答して、上記制御信号パスＣ１からの入力制御情報とデータパスＤ１から入力された送信データとを受信バッファ３１に書き込むための制御信号Ｓ３２を発生する。これと同様に、第２の受信バッファコントローラ３４も、制御信号パスＣ２から入力された制御情報に応答して、上記制御信号パスＣ２からの入力制御情報とデータパスＤ２から入力された送信データとを受信バッファ３３に書き込むための制御信号Ｓ３４を発生する。
【００２７】
クロスバ３に接続された各ノードが高速転送モードで運用されている場合は、図１に示したように、制御信号パスＣ２は使用されず、制御信号パスＣ１がデータパスＤ１とＤ２に共用される。この場合、制御信号パスＣ２に接続された第２の受信バッファコントローラ３４から出力される制御信号Ｓ３４は無効となり、セレクタ３５は、第１の受信バッファコントローラ３２から出力された制御信号Ｓ３２を第２の受信バッファ３３に与えるように設定される。すなわち、高速転送モードのノードを収容したクロスバでは、第１の受信バッファコントローラ３２で、第１、第２の受信バッファ３１、３２への書き込みと読み出しを同時に制御する。
【００２８】
クロスバ３に接続された各ノードが低速転送モードで運用された場合は、図２に示したように、制御信号パスＣ２にデータパスＤ２の送信データに付随した制御情報が出力されている。この場合は、セレクタ３５が、第２の受信バッファコントローラ３４から出力された制御信号Ｓ３４を第２の受信バッファ３３に与えるように設定される。すなわち、低速転送モードのノードを収容したクロスバでは、第１、第２の受信バッファコントローラを互いに独立して機能させることによって、第１、第２の受信バッファ３１、３２へのデータの書き込みと読み出しが別々に制御される。
上記第１の受信バッファ３１に格納された制御情報とデータは、第１内部パス３０１に読み出され、第２の受信バッファ３３に格納された制御情報とデータは、第２内部パス３０２に読み出される。
【００２９】
クロスバ受信制御部３０Ｒ２も、上記クロスバ受信制御部３０Ｒ１と同様、制御信号パスＣ３とデータパスＤ３を収容するための入力ポートＰｃ３、Ｐｄ３に接続された第１の受信バッファと、制御信号パスＣ４とデータパスＤ４を収容するための入力ポートＰｃ４、Ｐｄ４に接続された第２の受信バッファとを有し、上記第１の受信バッファに格納された制御情報とデータは、第３内部パス３０３に読み出され、第２の受信バッファに格納された制御情報とデータは、第４内部パス３０４に読み出される。
【００３０】
クロスバ送信制御部４０Ｔ１は、上記第１〜第４内部パス３０１〜３０４に接続された第１、第２のセレクタ４１、４３と、上記第１セレクタ４１を制御するための第１のアービタ４２と、上記第２セレクタ４３を制御するための第２のアービタ４４と、上記第２セレクタ４３に上記第１、第２のアービタを選択的に作用させるためのセレクタ４５とを含む。上記第１のセレクタ４１の出力は、制御信号パスＣ１１とデータパスＤ１１を収容するための出力ポートＰｃ１１、Ｐｄ１１に接続され、上記第２のセレクタ４３の出力は、制御信号パスＣ１２とデータパスＤ１２を収容するための出力ポートＰｃ１２、Ｐｄ１２に接続されている。
【００３１】
クロスバ３に接続された各ノードが高速転送モードで運用されている場合は、第２アービタ４４からの制御信号Ｓ４４は無効になる。この場合、セレクタ４５が、第１アービタ４２から出力された制御信号Ｓ４２を第２セレクタ４３に与えるように設定され、データパスＤ１１、Ｄ１２へのデータ転送が第１アービタ４２で同時に制御される。
クロスバ３に接続された各ノードが低速転送モードで運用されている場合は、セレクタ４５は、第２アービタ４４から出力された制御信号Ｓ４４を第２セレクタ４３に与えるように設定され、データパスＤ１１、Ｄ１２へのデータ転送が第１、第２アービタで別々に制御される。
【００３２】
上記各アービタには、第１〜第４内部パス３０１〜３０４から分岐された各制御情報が入力されている。第１アービタ４２は、これらの制御情報に基づいて、第１セレクタ４１が、第１〜第４内部パス３０１〜３０４の中からデータパスＤ１１に転送すべきデータをもつ内部パス３０ｊを選択するように、セレクタ制御信号Ｓ４２を発生する。各ノードが高速転送モードで運用されている時は、上記制御信号Ｓ４２によって、第２セレクタ４３が、上記内部パス３０ｊと対をなす内部パス３０ｊ＋１を選択する。各ノードが低速転送モードで運用されている時、第２アービタ４４も上記第１アービタ４２と同様に動作し、第２セレクタ４３が、第１〜第４内部パス３０１〜３０４の中からデータパスＤ１２に転送すべきデータをもつパスを選択するように、セレクタ制御信号Ｓ４４を発生する。
【００３３】
第１アービタ４２は、上記セレクタ制御信号Ｓ４２の発生に伴って、選択された内部パス３０ｊへのデータの送信元となる受信バッファコントローラに対して、次のデータ送信を許可する制御信号ＡＢ１を発生する。第２アービタ４４も同様に、内部パスの選択の都度、送信元に制御信号ＡＢ２を発生する。
クロスバ送信制御部４０Ｔ２も、上記クロスバ送信制御部４０Ｔ１と同様、第１、第２のアービタを有し、それぞれデータパスＤ１３、Ｄ１４へのデータ転送を制御すると共に、送信元への制御信号ＡＢ３、ＡＢ４を発生する。クロスバ受信制御部３０Ｒ１、３０Ｒ２の各受信バッファコントローラは、制御信号ＡＢ１〜ＡＢ４で許可されるのを待って、受信バッファから次のデータを内部パスに読み出す。
【００３４】
上記実施例では、説明を簡単にするために、高速転送モードで２つのノードを収容可能な小規模なクロスバスイッチについて説明したが、クロスバスイッチを構成する受信制御部３０Ｒと送信制御部３０Ｔの個数を増加することによって、収容ノード数の大きい並列計算機システムを構築できる。
また、上記実施例では、高速転送モードにおいて、各ノードからの送信データを２つのデータパスで並列的に受信し、低速転送モードにおいて、各データパスを個別に利用することによって、収容ノード数を高速転送モード時の２倍にできるクロスバスイッチを示したが、高速転送モードで並列的に使用するデータパスの本数を増加すれば、同一構造のクロスバスイッチを適用した更に多様の並列計算機システムの構築が可能となる。
【００３５】
例えば、図５に示した各クロスバ受信制御部３０Ｒに、受信バッファと受信バッファコントローラを４組用意し、高速転送モードでは、第１のコントローラ３２で同時の４つの受信バッファを制御し、低速転送モードでは、４つの受信バッファを個別に制御し、中間速度の転送モードでは、第１のコントローラで第１、第２の受信バッファを制御し、第２のコントローラで第３、第４の受信バッファを制御するようにすれば、同一のクロスバスイッチを適用して、３段階のデータ転送速度と３段階のシステム規模を選択可能な、より柔軟性のある並列計算機システムの構築が可能となる。
尚、図３、図４では、ノード内部で所定のデータ幅を有し、高速、低速の２つのデータ転送モードに選択的に適用できる演算ノードの構成を例示したが、例えば、低速転送モードを必要とせず、図１に示した高速転送モードのみで固定的に運用されるノードの送受信部は、セレクタ１３、２３を持たない構成としてもよい。
【００３６】
【発明の効果】
以上の説明から明らかなように、本発明によれば、同一構造のクロスバをノード間データ転送速度の異なる多様の並列計算機システムに適用できるため、量産効果によってクロスバＬＳＩのコストが下がり、システム価格を低減することが可能となる。
また、クロスバに接続される各ノードの送受信部を予め複数種類の送受信データ幅に選択的に適合できる構成にしておけば、並列計算機システムの適用対象となるアプリケーションに応じて、クロスバとの間の転送データ幅を変更し、クロスバの収容ノード数をデータ転送速度に応じて容易に増減することが可能となる。
【図面の簡単な説明】
【図１】本発明による並列計算機システムの基本的な構成を示す図。
【図２】本発明による並列計算機システムの他の構成例を示す図。
【図３】本発明の並列計算機システムにおける演算ノード送信部の１実施例を示す図。
【図４】本発明の並列計算機システムにおける演算ノード受信部の１実施例を示す図。
【図５】本発明の並列計算機システムにおけるクロスバの１実施例を示す図。
【符号の説明】
ＴＸ１〜ＴＸ４：ノード送信部、ＲＸ１〜ＲＸ４：ノード受信部、
３：クロスバ、１０：ノード内部ユニット、１１：送信バッファ、
１２：送信バッファコントローラ、１３：セレクタ、１４：出力ラッチ、
２１：受信バッファ、２２：受信バッファコントローラ、２３：セレクタ、
３０Ｒ：クロスバ受信制御部、４０Ｔ：クロスバ送信制御部、
３１、３３：受信バッファ、３２、３４：受信バッファコントローラ、
４１、４３：セレクタ、４２、４４：アービタ、
Ｐｃ１〜Ｐｃ１４：制御パス接続ポート、
Ｐｄ１〜Ｐｄ１４：データパス接続ノード。
【図１】
0003661932.tif 000002
【図２】
0003661932.tif 000003
【図３】
0003661932.tif 000004
【図４】
0003661932.tif 000005
【図５】
0003661932.tif 000006