(57)【要約】【課題】スイッチ装置を接続してなるスイッチネットワークを転送するデータのルーティング情報が長大化することを防ぎ、かつスイッチネットワーク内を迷走する現象を検出してエラー処理することにある。【解決手段】スイッチネットワーク３０上のデータに付されるルーティング情報２０が、転送先アドレス部２１と、転送元アドレス部２２と、カウンタ部２３と、を有し、転送先アドレス部２１は、スイッチ装置５の出力する出力ポート番号を転送先アドレスとし、転送元アドレス部２２は、スイッチ装置の入力うる入力ポート番号を転送元アドレスとし、カウンタ部２３は、最初のスイッチ装置から最終のスイッチ装置に至るまでに通過するスイッチ装置５の予定数を示し、転送先アドレス部２１のＳＷアクセスビット２１１１で、記憶部１１のルーティングデータを参照する。【選択図】      図１
2005045681.tif 000002
【特許請求の範囲】
【請求項１】
入力ポートと出力ポートとをＸ及びＹの４方向に有するスイッチ装置を単位として、前記スイッチ装置を複数個接続してなるスイッチネットワークの前記入力ポート及び出力ポートにプロセッサや他の装置をノードとして接続し、ノード間通信のデータを前記スイッチネットワーク上をルーティングして送受するスイッチネットワーク装置において、
前記ノードは、
他のノードに対して、ルーティング情報を付したデータを前記スイッチネットワークに送出する送信手段と、
他のノードからルーティング情報が付されたデータを前記スイッチネットワークから受け取る受信手段と、を備え、
前記スイッチ装置は、
Ｘ及びＹの４方向から入力されるデータをそれぞれ受ける４つの入力ポートと、
前記入力ポートからのデータを一時記憶する入力バッファと、
前記入力バッファのデータからルーティング情報を抽出するルーティング情報抽出回路と、
ルーティング情報に基づいて、データの転送先をデータスイッチ回路に指示するルーティング回路と、
前記指示に基づいて、前記データを転送先の出力ポートに転送するデータスイッチ回路と、
前記データスイッチ回路に接続され、ルーティング情報の指定よって参照されるルーティングデータを記憶する記憶部と、
ルーティングされたデータを一時記憶するＸ及びＹの４方向の出力バッファと、
前記出力バッファのデータをそれぞれ出力する４つの出力ポートと、
を備え、
前記スイッチネットワークは、
前記スイッチ装置を、Ｘ及びＹの方向とに、複数個を入力ポート及び出力ポートを互いに接続して、所定のスイッチネットワークを形成することを特徴とするスイッチネットワーク装置。
【請求項２】
前記スイッチ装置は、
Ｘの左方向の入力ポート及び出力ポートを「０」、
Ｙの上方向の入力ポート及び出力ポートを「１」、
Ｘの右方向の入力ポート及び出力ポートを「２」、
Ｙの下方向の入力ポート及び出力ポートを「３」、
の番号を付して識別することを特徴とする請求項１記載のスイッチネットワーク装置。
【請求項３】
前記ルーティング情報は、
転送先アドレス部と、転送元アドレス部と、カウンタ部と、を有し、
前記転送先アドレス部は、
前記スイッチネットワークにおける前記スイッチ装置の出力ポート番号を転送先アドレスとして配列し、
前記転送元アドレス部は、
前記スイッチネットワークにおける前記スイッチ装置の入力ポート番号を転送元アドレスとして配列し、
前記カウンタ部は、
スイッチネットワーク上で通過するスイッチ装置の予定数を示すことを特徴とする請求項１記載のスイッチネットワーク装置。
【請求項４】
前記転送先アドレスは、
４ビットのデータ長を有し、
左から１番目の１ビットが前記記憶回路にアクセスを指定するＳＷアクセスビットと、
左から２番目の１ビットが前記スイッチ装置の入力ポート番号以外のポート番号の全てにデータ出力を指定するマルチアクセスビットと、
左から３番目及び４番目の２ビットが転送先である出力ポート番号をバイナリで示す、ことを特徴とする請求項３記載のスイッチネットワーク装置。
【請求項５】
前記予定数は、
スイッチネットワーク上で通過するスイッチ装置の数からスイッチ装置を通過する毎に、１を減じた数であることを特徴とする請求項３記載のスイッチネットワーク装置。
【請求項６】
入力ポートと出力ポートとをＸ及びＹの４方向に有するスイッチ装置を単位として、前記スイッチ装置を複数個接続してなるスイッチネットワークの前記入力ポート及び出力ポートにプロセッサや他の装置をノードとして接続し、ノード間通信のデータを前記スイッチネットワーク上をルーティングして転送するスイッチネットワーク装置の転送制御方法において、
ノードから前記スイッチ装置から出力する出力ポート番号を転送先アドレスとして順に配列する転送先アドレスと、前記スイッチ装置の入力ポート番号を転送元アドレスとして順に配列する転送元アドレスと、スイッチネットワーク上を通過するスイッチ装置の予定数を示すカウンタ値と、を含むルーティング情報を付し、前記スイッチネットワークにデータを送出する段階と、
前記データのルーティング情報をスイッチ装置に取り込んで解析し、前記カウンタ値を判定し、ゼロであるとき、障害としてエラー通知して終了する段階と、
前記カウンタ値がゼロでないとき、前記値をカウントダウンする段階と、
前記転送先アドレスの左側４ビットを抽出する段階と、
前記ルーティング情報の転送先アドレスと転送元アドレスとを左に４ビットシフトする段階と、
前記ルーティング情報の右端２ビットに、前記転送データが入力したポート番号を設定する段階と、
前記４ビットの内のＳＷアクセスビットを判定し、ＳＷビットが１であるとき、ＳＷアクセス信号をセットする段階と、
ＳＷビットが１でなく、マルチアクセスビットが１であるとき、マルチアクセス信号をセットする段階と、
ＳＷアクセスビット及びマルチアクセスビットが１でなく、転送先ポート番号がゼロであるとき、転送先ポート信号にゼロをセットする段階と、
転送先ポート番号が１であるとき、転送先ポート信号に１をセットする段階と、
転送先ポート番号が２であるとき、転送先ポート信号に２をセットする段階と、
転送先ポート番号が３であるとき、転送先ポート信号に３をセットする段階と、
を実行することを特徴とするスイッチネットワーク装置の転送制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、スイッチ装置を所定の形態に接続したスイッチネットワーク上のノード間通信に関し、特に通信データに付されるルーティング情報及びスイッチ装置に設ける記憶部によって、ルーティング情報の長大化と、ルーティングするデータの迷走と、を防止するスイッチネットワーク装置及びその転送制御方法に関する。
【背景技術】
【０００２】
スーパーコンピュータ１筐体（以下１ノードと呼ぶ）は、１ノードで６４ＧＦｌｏｐｓの演算能力を有する。このスーパーコンピュータを有機的に結合し、最大１６ノード結合することにより１テラの演算能力を実現する。この複数ノードで構成されたシステムが、まるで１個のスーパーコンピュータであるかの様に動作する為には、各ノード間を緊密かつ高速に接続するネットワークが必要不可欠である。スーパーコンピュータは、複数ノードをスイッチ装置で接続してシステム構成し、緊密にかつ高速に接続されたコンピュータネットワークを実現するものである。
【０００３】
従来技術のスイッチ装置を示す図７を参照すると、各ノード６，７，８，９間の通信データを転送するスイッチ装置１０と、スイッチ装置１０に内蔵され、各ノード６，７，８，９からの入力データを蓄えておく為の入力バッファ１１１，１１２，１１３，１１４と、同じくスイッチ装置１０に内蔵されデータスイッチ回路１００から各ノード６，７，８，９への出力データを蓄えておく為の出力バッファ１１５，１１６，１１７，１１８と、ノードもしくは他のスイッチ装置を接続し、入出力の１組で同じポート番号を持つ入力ポート１０１，１０２，１０３，１０４並びに出力ポート１０５，１０６，１０７，１０８と、入力データからルーティング情報を抽出し、ルーティング情報を処理するルーティング情報抽出回路１２１，１２２，１２３，１２４と、ルーティング情報抽出回路１２１，１２２，１２３，１２４からのルーティング情報を受け取り転送先を選択しその転送先に送るルーティング回路１３１，１３２，１３３，１３４と、ルーティング回路１３１，１３２，１３３，１３４からの指示を基に出力バッファ１１５，１１６，１１７，１１８にデータを送るデータスイッチ回路１００と、で構成される。
【０００４】
このスイッチ装置１０の動作はノード６からのデータが入力ポート１０１を通じて入力バッファ１１１に格納されると、そのデータはルーティング情報抽出回路１２１に送られる。該データを受け取ったルーティング情報抽出回路１２１は該データからルーティング情報を取り出し、ルーティング回路１３１へ送る。また、該データをデータスイッチ回路１００に送る。データスイッチ回路１００は、ルーティング回路１３１からの指示に従い、該データを出力ポート番号に対応した出力バッファ１１５または１１６、１１７、１１８の何れかに出力する。
【０００５】
ルーティング情報を受け取ったルーティング回路１３１は、以下の処理を行う。
【０００６】
ルーティング情報は、転送先アドレスと転送元アドレスとからなる。ルーティング回路１３１は、転送先アドレスの左端２ビットを取り出し、その値を出力ポート番号として、データスイッチ回路１００に通知する。ルーティング情報を左２ビットシフトし、その結果、空になった右端２ビットに、入力されて来たポート番号を格納する。
【０００７】
上記の従来例では、ルーティング経路を全て指定するため、ネットワークが大きくなりルーティング経路が長くなると、ルーティング情報のデータ長が大きくなる。そこで、ルーティングテーブルを別に設けて、該テーブルに転送経路を指定させる。該テーブルは、メッセージパケットのヘッダによって指定させることによって、データ長が大きくなることを抑制する（例えば特許文献１）。
【０００８】
【特許文献１】特開平１−１２６７６０号公報（請求項１及び図５）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
従来のルーティング方式では、ルーティングを転送先のポート番号のみで行っている為に、複数のスイッチ装置が多数接続されている場合、特定のスイッチ装置を指定することが出来ない。もし、特定のスイッチ装置の指定が可能であれば、そのスイッチ装置に記憶回路を持たせて、ルーティング情報を格納し、複数のノードによるルーティング情報の共有化を図ることがきでる。また、複数の経路を持つネットワーク上で転送データが迷走した場合、それを判断出来ない。加えて、転送先ポート番号のみでルーティングを行っている為、一度に複数の転送先に対してデータを送ることができない。
【００１０】
上記の課題を解決するため、転送先ポート番号のみによるルーティングでなく、スイッチ装置を通過する回数を示すルーティングカウンタと、複数のノードあるいはスイッチ装置に転送することを示すマルチアクセスビットと、スイッチ装置自体が有する記憶装置に対するアクセスであることを示すビットと、を持つことにより、課題の解決を図る。
【００１１】
スイッチ装置に４つの入力ポート及び出力ポートがある場合、ルーティング情報に各段の転送先アドレス毎に従来の転送先ポート番号の２ビットに、更に、マルチアクセスの１ビットと、ＳＷアクセスの１ビットと、の２ビットを加える。また、転送先アドレスと転送元アドレス以外に、転送経路上で通過するスイッチ装置の数をカウントするルーティングカウンタを付加する。
【００１２】
この発明の目的は、プロセス間通信するデータのルーティング情報が長大化することを防ぐため、スイッチ装置のデータスイッチ回路に記憶装置を持たせて、ルーティングデータを記憶させて、該データを参照する指定をルーティング情報に設けて、複数の経路指定を可能にして、ルーティング情報自体の長大化を防止する。
【００１３】
他の目的は、転送データが、複数のスイッチ装置でなるスイッチネットワーク内を迷走する現象を検出するカウンタを設けて、指定数以上のスイッチ装置を通過したことを、エラーとして検出する。
【課題を解決するための手段】
【００１４】
そのため、この発明の、入力ポートと出力ポートとをＸ及びＹの４方向に有するスイッチ装置を単位として、前記スイッチ装置を複数個接続してなるスイッチネットワークの前記入力ポート及び出力ポートにプロセッサや他の装置をノードとして接続し、ノード間通信のデータを前記スイッチネットワーク上をルーティングして送受するスイッチネットワーク装置において、前記ノードは、他のノードに対して、ルーティング情報を付したデータを前記スイッチネットワークに送出する送信手段と、他のノードからルーティング情報が付されたデータを前記スイッチネットワークから受け取る受信手段と、を備え、前記スイッチ装置は、Ｘ及びＹの４方向から入力されるデータをそれぞれ受ける４つの入力ポートと、前記入力ポートからのデータを一時記憶する入力バッファと、前記入力バッファのデータからルーティング情報を抽出するルーティング情報抽出回路と、ルーティング情報に基づいて、データの転送先をデータスイッチ回路に指示するルーティング回路と、前記指示に基づいて、前記データを転送先の出力ポートに転送するデータスイッチ回路と、前記データスイッチ回路に接続され、ルーティング情報の指定よって参照されるルーティングデータを記憶する記憶部と、ルーティングされたデータを一時記憶するＸ及びＹの４方向の出力バッファと、前記出力バッファのデータをそれぞれ出力する４つの出力ポートと、を備え、前記スイッチネットワークは、前記スイッチ装置を、Ｘ及びＹの方向とに、複数個を入力ポート及び出力ポートを互いに接続して、所定のスイッチネットワークを形成することを特徴とする。
【００１５】
更に、前記スイッチ装置は、Ｘの左方向の入力ポート及び出力ポートを「０」、
Ｙの上方向の入力ポート及び出力ポートを「１」、Ｘの右方向の入力ポート及び出力ポートを「２」、Ｙの下方向の入力ポート及び出力ポートを「３」、の番号を付して識別することを特徴とする。
【００１６】
更に、前記ルーティング情報は、転送先アドレス部と、転送元アドレス部と、カウンタ部と、を有し、前記転送先アドレス部は、前記スイッチネットワークにおける前記スイッチ装置の出力ポート番号を転送先アドレスとして配列し、前記転送元アドレス部は、前記スイッチネットワークにおける前記スイッチ装置の入力ポート番号を転送元アドレスとして配列し、前記カウンタ部は、スイッチネットワーク上で通過するスイッチ装置の予定数を示すことを特徴とする。
【００１７】
更に、前記転送先アドレスは、４ビットのデータ長を有し、左から１番目の１ビットが前記記憶回路にアクセスを指定するＳＷアクセスビットと、左から２番目の１ビットが前記スイッチ装置の入力ポート番号以外のポート番号の全てにデータ出力を指定するマルチアクセスビットと、左から３番目及び４番目の２ビットが転送先である出力ポート番号をバイナリで示す、ことを特徴とする。
【００１８】
更に、前記予定数は、スイッチネットワーク上で通過するスイッチ装置の数からスイッチ装置を通過する毎に、１を減じた数であることを特徴とする。
【発明の効果】
【００１９】
この発明の効果は、ノード間通信するデータのルーティング情報を長大化させないで、複数経路を指定できることである。その理由は、スイッチ装置のデータスイッチ回路に記憶装置を持たせてルーティングデータを記憶させ、該データを参照する指定をルーティング情報に設けて、複数の経路指定を可能にするからである。
【００２０】
更に、他の効果は、転送データが、複数のスイッチ装置でなるスイッチネットワーク上を迷走する現象を検出してエラー処理できることである。その理由は、ルーティング情報にカウンタ部を設けて、通過予定のスイッチ装置数を設定し、スイッチ装置を通過毎にカウントダウンして、ゼロ値を検知することことによって、指定数以上のスイッチ装置を通過したことを、エラーとして検出できるからである。
【発明を実施するための最良の形態】
【００２１】
この形態の構成を示す図１を参照すると、単位のスイッチ装置５には、４つの入力ポート６１，６２，６３，６４及び出力ポート６５，６６，６７，６８を備えて、ノードあるいは他のスイッチ装置に接続し、図３に示すようなネットワークを形成する。スイッチ装置５には、入力ポート６１，６２，６３，６４から入力するデータを一時記憶する為の入力バッファ７１，７２，７３，７４と同じくスイッチ装置５に内蔵されデータスイッチ回路１０から出力データを一時記憶する為の出力バッファ７５，７６，７７，７８と、データからルーティング情報を抽出するルーティング情報抽出回路８１，８２，８３，８４と、ルーティング情報抽出回路からのルーティング情報を受け取りルーティング処理するルーティング回路９１，９２，９３，９４と、入力バッファ６１，６２，６３，６４からの入力データをルーティング回路９１，９２，９３，９４からの指示を基に出力バッファ７５，７６，７７，７８にデータを送るデータスイッチ回路１０と、を有する。
【００２２】
データスイッチ回路１１は、ルーティングデータを保持して、ルーティング情報の指定によって参照される記憶回路１１を含む。
【００２３】
ルーティング情報の構成を示す図２を参照すると、ルーティング情報２０は、スイッチ装置５に入力するデータがデータスイッチ回路１０を通じてルーティングされて出力する出力ポートの番号を転送先ポート番号として、通過するスイッチ装置の順に転送先ポート番号２１１乃至転送先ポート番号２１４と列記する。また、スイッチ装置の出力ポートから出力して、次段のスイッチ装置に入力するとき、スイッチ装置の入力ポートを転送元ポートとして、通過するスイッチ装置の順に転送元ポート番号２１１乃至転送元ポート番号２２４と列記する。
【００２４】
カウンタ部は、通過予定のスイッチ装置の数をカウンタ値として設定し、スイッチ装置を通過する毎に１ずつ減算する。カウンタ値がゼロで、かつスイッチ装置に入力するとき、エラーとして検出される。
【００２５】
転送先ポート番号の項目は、４ビット長のデータである。４ビット長の左１番目はＳＷアクセスビットで、該ビットが１であるとき、データスイッチ回路の記憶部１１に対するアクセスビットで、該記憶部１１のデータを参照する。４ビット長の左から２番目は、マルチアクセスビットで該ビットが１であるとき、スイッチ装置５の出力側の出力ポート全てにデータを出力する。４ビット長の左から３番目と４番目とは、バイナリーで示す転送先ポート番号である。
【００２６】
次にこの形態の動作を具体的に説明する。先ず、スイッチネットワーク３０として、図３に示す接続構成を基に、転送データのルーティングを各部と対応付けて説明する。
【００２７】
図３を参照すると、ノード１はスイッチ装置３１のポート０に、ノード２はスイッチ装置３３のポート２に、ノード３はスイッチ装置３４のポート２に、ノード４はスイッチ装置３４のポート３に、ノード５はスイッチ装置３４のポート０に、それぞれ接続している。スイッチ装置３１のポート２はスイッチ装置３２のポート０に、スイッチ装置３２のポート２はスイッチ装置３３のポート０に、スイッチ装置３３のポート３はスイッチ装置のポート１に、それぞれ接続して、スイッチネットワーク３０を形成している。ネットワーク３０をノード１からノード３に転送するとき、ルーティング情報の更新状況を図４に示す。
【００２８】
図４においては、ＳＷアクセスビット及びマルチアクセスビットはゼロとして、スイッチ装置３１，３２，３３，３４を通過する毎に、ルーティング情報が更新される様子を例示している。
【００２９】
次に、図１，図３，図４を援用して、図５，図６を説明する。ノード１からスイッチ装置３１、３２，３３，３４を介してノード３への転送処理を例に説明する。スイッチ装置３１はノード１と、スイッチ装置３２と、に接続されている。スイッチ装置３１のポート０はノード１に、ポート２はスイッチ装置３２のポート０とに接続する。スイッチ装置３１の入力ポート０は、スイッチネットワーク３０上からのデータを入力バッファへ送り（図５のステップ５１）。入力バッファは、スイッチ装置５への入力データを保持し（図５のステップ５２）、ルーティング情報抽出回路８１はデータをスイッチ回路に転送し、デ
ータからルーティング情報を抽出し、そのルーティング情報をルーティング回路９１へ転送する（図５のステップ５３）。ルーティング回路９１は、ルーティング情報抽出回路８１から送られて来たルーティング情報を基にルーティング処理を行う（図５のステップ５４）。
【００３０】
また、図６を参照すると、ルーティング処理は、ルーティング情報を受け取ったルーティング回路が、ルーティングカウンタ部を参照し、“０”であれば（図６のステップ６０１のＹ）、エラーとして報告する（図６のステップ６０２）。“０”以外であれば（ステップ６０１のＮ）、ルーティングカウンタを−１し、その値をルーティング情報２０に格納する（ステップ６０３）。次に、ルーティング情報２０の転送先アドレス２１１と転送元アドレス２２１を左に４ビットシフトして設定し（ステップ６０４，６０５）、転送元アドレス２２２の右端４ビットに、処理中のデータを受け取った入力ポート番号を格納する（ステップ６０６）。その後、ＳＷアクセスビット２１１１を参照し、“１”であれば（ステップ６０７のＹ）、データスイッチ回路１０にＳＷアクセス信号を発信し処理を終了する（ステップ６０８）。ＳＷアクセスビット２１１１が“１”でなければ（ステップ６０７のＮ）、マルチアクセスビット２１１２を参照し、“１”であれば（ステップ６０９のＹ）、マルチアクセス信号をデータスイッチ回路１０に発信する（ステップ６１０）。また、いずれのビットも“１”でなければ転送先ポート番号２１１３を確認し、その転送先ポート番号２１１３をデータスイッチ回路１０に発信する（ステップ６１１乃至ステップ６１８）。
【００３１】
データスイッチ回路１０は、ルーティング情報抽出回路８１からデータを受け取り、ルーティング回路から、ＳＷアクセス信号・マルチアクセス信号・転送先ポート番号２１１３を受け取る。ＳＷアクセスビット２１１１が“１”のときは、記憶部１１にアクセスを行い、マルチアクセスビット２１１２が“１”であった場合は、処理中の転送データを受け取った転送元ポート番号と同じ番号を持つ出力ポート以外の全ての出力ポートに対して、処理中のデータを送出する。また、ＳＷアクセスビット２１１１・マルチアクセスビット２１１２が共に“１”でない場合は、転送先ポート番号が示す出力ポートに対して処理中のデータを送出する。出力バッファは、データスイッチ回路１０からノードもしくは他のスイッチ装置に転送される転送データを保持する。
【産業上の利用可能性】
【００３２】
この発明は、マルチプロセッサーシステムやクラスタシステムにおけるプロセッサ間や装置間の通信を高速に行う通信路を形成するネットワークに用いるクロスバースイッチや多段のスイッチ回路に適用する。
【図面の簡単な説明】
【００３３】
【図１】この発明の実施例の構成を示す図である。
【図２】ルーティング情報の項目構成を例示する図である。
【図３】ネットワーク構成を例示する図である。
【図４】ネットワークを転送中のルーティング情報の更新状況の例示である。
【図５】スイッチ装置内のルーティング情報のフローである。
【図６】ルーティング情報によるルーティング制御方法を例示する図である。
【図７】従来のスイッチ装置を例示する。
【符号の説明】
【００３４】
１乃至４    ノード
５    スイッチ装置
１０    データスイッチ回路
１１    記憶回路
２０    ルーティング情報
３０    ネットワーク
６１乃至６４    入力ポート
６５乃至６８    出力ポート
７１乃至７４    入力バッファ
７５乃至７８    出力バッファ
８１乃至８４    ルーティング情報抽出回路
９１乃至９４    ルーティング回路
【図１】
2005045681.tif 000003
【図２】
2005045681.tif 000004
【図３】
2005045681.tif 000005
【図４】
2005045681.tif 000006
【図５】
2005045681.tif 000007
【図６】
2005045681.tif 000008
【図７】
2005045681.tif 000009