(57)【要約】  複数のプロセッサからなる並列コンピュータシステムにおいて、所定の数のプロセッサからなる複数のグループにプロセッサ群を分け、グループ内は完全結合によってプロセッサ間を接続するようにする。また、グループ間は、各プロセッサを直列接続するように接続する。
2009139024.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードが相互に接続されたコンピュータシステムのノードを相互接続するネットワークにおいて、
各ノードは、
該コンピュータシステムに含まれるノードを所定数の群にグループ化したグループの、同じグループに属するノード間を完全結合によって接続する回線用の第１のポートと、
異なるグループに属するノードと直列接続する回線用の第２のポートと、
を備えることを特徴とするネットワーク。
【請求項２】
前記直列接続は、回線の両端を接続して、トーラスを構成することを特徴とする請求項１に記載のネットワーク。
【請求項３】
前記トーラスは、１次元トーラスであることを特徴とする請求項２に記載のネットワーク。
【請求項４】
前記トーラスは、２次元トーラスであることを特徴とする請求項２に記載のネットワーク。
【請求項５】
前記完全結合は、前記グループに属するプロセッサを１次元接続で接続することを特徴とする請求項１に記載のネットワーク。
【請求項６】
前記完全結合は、前記グループに属するプロセッサを２次元接続で接続することを特徴とする請求項１に記載のネットワーク。
【請求項７】
前記グループは、１つの基板上に搭載されたプロセッサ群から構成されることを特徴とする請求項１に記載のネットワーク。
【請求項８】
前記直列接続は、基板間を接続する回線であることを特徴とする請求項７に記載のネットワーク。
【請求項９】
前記直列接続は、仮想チャネルを２個持っていることを特徴とする請求項１に記載のネットワーク。
【請求項１０】
請求項１のネットワークは、ルータ間の通信をパケット通信で行うことを特徴とする。
【請求項１１】
複数のノードを接続したコンピュータシステムであって、
前記コンピュータシステムを構成するノードのうち、Ｎ（１以上の整数）個のノードを完全結合した、Ｍ（１以上の整数）個のノードグループを備えるとともに、
前記Ｍ個のノードグループを構成するＮ個のノードのいずれか同士を直列接続したことを特徴とするコンピュータシステム。
【請求項１２】
前記ノードは、プロセッサと、プロセッサが接続されるルータとを備える、請求項１１記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステム及び、コンピュータを相互接続するネットワークに関する。
【背景技術】
【０００２】
並列コンピュータは部品点数が多く故障の発生頻度が高い。このため、故障したノードを交換しないまま運用することで、故障ノード交換にかかる保守時間を短縮する要求がある。この要求を多次元トーラス接続網において満たすには、故障ノードを回避した経路で通信を行う必要がある。しかし、故障発生時に迂回路を使って通信を行えるようにするという通信経路の不規則な使用は、デッドロック回避に追加の仮想チャネルを設けることが必要であり、またパケット到着順序が入れ替わるため受信処理の負荷が高くなる。すなわち、適応的に迂回路を形成し、パケットを送信する場合、１つ前のパケットとその後のパケットの通る経路が異なる場合があり、異なる経路においては、トラフィックが異なるため、一方のパケットの転送が遅れるようなことが発生する。これにより、受信側ではパケットの順番が入れ替わった状態で受信することが発生し、パケットの順番を受信後に正しく並べなおす等の処理を行う必要が生じるので、受信処理の負荷が高くなる。【０００３】
ここで、特許文献１は、多数の仮想チャネルを使用し、迂回経路を含めた各仮想チャネルの通信経路を静的に定めることで、デッドロックフリーを満足しつつ高速に故障を回避する。【０００４】
並列コンピュータのノードを直列ではなく環状構造、すなわちトーラスに接続することにより、並列計算のための通信を高速化できることが知られている。特に遠隔通信アルゴリズムでは、トーラスの性能は同サイズのメッシュの２倍になる。すなわち、メッシュの場合、ネットワークの端から端への通信が最も長い時間かかる通信経路であるが、トーラスの場合には、端と端が接続されるため、最も長い時間がかかる通信経路は、一周する経路のうちの、あるノードから一周の半分の距離のノードまでの通信となり、通信距離が１／２になる。このため、並列コンピュータを区画化して、言い換えればプロセッサはグループに分けてグループ間を別に接続して使用する場合、プロセッサのグループ間がトーラスに接続されていることが要求される。【０００５】
特許文献２は、６ポートのスイッチを使用して、区画化されたメッシュ、つまり内部のプロセッサ間がメッシュ上に接続されたグループをトーラスに接続する。２つのポートは区画化されたメッシュの両端に接続し、４つのポートはスイッチ間を拡張トーラスで接続する。【０００６】
基板間の配線は基板上の配線に比べて実装コストが高く、マザーボード間の接続次元には実装面での限界がある。そこで、１つの基板を１つのグループとし、基板内でのみ次元を増やすことで高次元データの並列計算を高速に処理することができる。このような仕組の並列コンピュータとして、独立行政法人理化学研究所、米国・コロンビア大学、米国・ブルックヘブン国立研究所が共同開発したQCDOCがある。QCDOCは６４個のプロセッサを６次元超立方体で接続するマザーボードを単位とし、マザーボード間は６次元超立方体の６次元の内の３次元で接続する。QCDOCにおけるプロセッサ間接続の６次元空間は、マザーボード間を跨ぐ３次元の距離は長く、マザーボード内に閉じる残り３次元の距離は２である。【０００７】
故障回避経路を適応的に決定すると、パケット到着順序が入れ替わるため受信処理の遅延が増え、負荷も高くなる。その代わり帯域の使用効率は上がり、追加の仮想チャネル数も最小限で良い。一方、故障回避経路を静的に決定すると、受信処理の遅延が減り、負荷も低いが、より多くの追加仮想チャネルが必要となる。【０００８】
従来方式の故障回避通信はいずれも、故障回避経路として別の通常通信経路を使用する。この通常通信経路と故障回避経路の帯域の共有により、性能が低下する。
従来方式のトーラス区画化は、リングを分割して直線になった接続を再びリングとして閉じるためにスイッチを使用する。この場合、ルータには切り替えのためのポートが必要となる。しかし、切り替え対象ポートのうち一度に使用されるのは1ポートのみであり、効率が悪い。【０００９】
図１は、特許文献２に開示された拡張トーラス接続を示す図である。
図１において１０は６ポートスイッチであり、１１はプロセッサを表す。スイッチ１０には8個のプロセッサ１１で区画化されたメッシュが接続されており、スイッチ１０の設定によって8の倍数の大きさ（含まれるプロセッサ１１の数が８の倍数）でトーラスを閉じることが出来る。【００１０】
特許文献３においては、Ｎ次元のネットワークにおいて、ノードにバッファを複数個設け、通信を行うシステムが開示されている。
【特許文献１】特開平６−２６６６８４号公報
【特許文献２】特開２００５−１７４２８９号公報
【特許文献３】日本国特許３５３２５７４号
【非特許文献１】・  "The QCDOC supercomputer: hardware, software, and performance", P.A. Boylea,b, C. Junga,c, and T. Wettigd, CHEP03, La Jolla, CA, March 24-28, 2003・  http://phys.columbia.edu/~cqft/
【発明の開示】
【００１１】
本発明の課題は、通信負荷を抑えながら、仮想チャネルの増加を最低に抑えることのできる並列コンピュータのプロセッサの相互接続ネットワークを提供することである。
本発明は、各プロセッサに接続された各ルータが相互に接続された並列コンピュータのプロセッサを相互接続するネットワークにおいて、各ルータは、該並列コンピュータに含まれる全プロセッサを所定数のプロセッサ群にグループ化したグループの同じグループに属するプロセッサ間を完全結合によって接続する回線用の第１のポートと、異なるグループに属するプロセッサ間を直列接続によって接続する回線用の第２のポートとを備える。
【図面の簡単な説明】
【００１２】
【図１】拡張トーラス接続を示す図である。
【図２】第１の実施形態によるコンピュータシステムを説明する図である。
【図３】完全結合されているプロセッサグループの内部のネットワークの接続の様子を示す図である。
【図４】第２の実施形態によるコンピュータシステムの全体構成を示す図である。
【図５】第３の実施形態によるコンピュータシステムの全体構成を示す図である。
【発明を実施するための最良の形態】
【００１３】
図２は、本発明の第１の実施形態による並列コンピュータシステムの構成を説明する図である。
本実施形態よる並列コンピュータシステムにおいては、通信経路１５とプロセッサグループ１６を併用し、合計Ｍ×Ｎ個のプロセッサ１１をＮ＋１個のプロセッサ／ノード間通信用のポートで接続する。直列接続１５は２個のノード間通信用ポートで、各グループ１６に含まれるいずれかのプロセッサを、Ｍグループ分直列接続する。プロセッサグループ１６はＮ−１ポートで、Ｎ個のプロセッサ１１を全ての組み合わせで相互に完全結合で接続する。各ポートは仮想チャネルを２つ備える。Ｍは、並列コンピュータシステムを構成する、完全結合で接続されているＮ個のプロセッサを有するグループ１６の数を示す。なお、プロセッサの座標は直列接続の位置と完全結合の位置の２次元で表現される。完全結合とは、グループ内のすべてのノードが１対１で接続された結合形態を言う。ノードは、プロセッサとプロセッサをネットワークに接続するルータとを備える組である。【００１４】
図３は、Ｎ個のプロセッサが完全結合されているプロセッサグループ１６の内部のネットワークの接続の様子を示す図である。図３の例ではＮ＝４である。
プロセッサグループ１６に含まれる各プロセッサ２０は、それぞれルータ２１に接続されており、ルータ２１がネットワークに接続される。図３において、プロセッサ２０とルータ２１との組み合わせを「ノード」と称する。図３において、１つのプロセッサグループ内に設けられたルータ２１が完全結合されている。すなわち、ルータａ、ｂ、ｃ、ｄが、１対１ですべて相互に接続されている。また、各ルータ２１には、グループ外への通信経路が接続されている。図３の場合、グループ外に設けられたノードへの接続は、グループ間を直列接続する通信経路により実現される。プロセッサグループ内に設けられたそれぞれのルータａ、ｂ、ｃ、ｄから図示左右に向かって、通信経路が設置されている。直列接続の端に位置するプロセッサグループにおいては、通信経路の端部にスイッチを取り付け、通信経路を折り返しするようにする。【００１５】
なお、図３の各ノードの構成は、すべての実施形態に共通の構成である。
図４は、第２の実施形態によるコンピュータシステムの全体構成を示す図である。
図４に図示されたコンピュータシステムでは、１６個の完全結合グループ２５がグループ化されており、完全結合グループ２５間は１次元トーラスに接続される。つまり、図４に示されたコンピュータシステムは、トーラス接続１次元、完全結合１次元の合計２次元で接続する構成である。ここで、トーラス接続される完全結合グループ２５が１６個、完全結合グループに含まれるノード２６が４個であることから、図４のコンピュータシステムは合計６４ノードを有する。ルータ２１の相互接続ポート数はトーラス用がルータ２１の両側へつながる２個、完全結合用が３つの他ノード２６と完全結合するためのポート３個の合計５個である。【００１６】
図４に示されたコンピュータシステムでは、完全結合グループ単位で区画化し、各区画は１次元トーラスの埋め込み性を持つ。１次元トーラスの埋め込み性とは、コンピュータシステムを構成するすべてのノードを通る経路を、一筆書きでたどることができることを意味する。各グループ内の完全結合が２次元以上である場合には、１次元トーラスの埋め込み性とは、各次元方向の接続について、すべてのノードを通る経路を一筆書きでたどることができるということである。一筆書きでたどることが出来るということは、どの経路にもすべてのノードに到達する経路があるということであるので、故障回避経路をあらかじめ静的に構成することが出来ることになる。本実施形態は、各区画で３ノード故障まで故障回避が可能であり、２ノード故障まで１次元トーラスの埋め込み性を維持する。すなわち、１つの区画で３つノードが故障すると、その区画で折り返して、迂回経路を通ることができるので、故障回避が可能である。また、１つの区画に２つまでの故障では、その区画に生きているノードが１つあるので、全体が１次元トーラスで接続されることになり、１次元トーラスの埋め込み性が維持される。【００１７】
図５に、第３の実施形態によるコンピュータシステムの全体構成を示す。
図５に示されたコンピュータシステムは、計３２個の完全結合グループ３０を備える。それぞれの完全結合グループ３０は、６個のノードを有する。完全結合グループ３０に含まれる６個のノードは、３個ずつの二つの組に分けられている。一つの組を構成する３個のノードは相互に完全結合されている。完全結合された組を構成するノードは、他方の組を構成するノードのいずれか一つと接続される。つまり、図５における完全結合グループ３０は、２次元の完全結合を実現している。【００１８】
ここで、完全結合グループ３０内のノードの接続を説明する。ノードをｎ（ｉ、ｊ）（ｉ、ｊ＝自然数）と表すと、まずｊを固定してｉを変化させたときの各ノードを接続する。次に、ｉを固定してｊを変化させたときの各ノードを接続する手順をとる。この意味で、図５による完全結合グループ３０の結合は２次元である。図５の場合、ｉ＝｛１、２、３｝、ｊ＝｛１、２｝となっている。【００１９】
また、図５に示されたコンピュータシステムでは、おのおのの完全結合グループ３０が２次元メッシュで直列接続されている。ここで「２次元メッシュ」とは、図５のコンピュータシステムを構成する完全結合グループ３０が図示縦方向と図示横方向との２次元方向に配置接続されている状態を示している。これは、ノードｎ（ｉ，ｊ）にさらに、メッシュの接続を表すインデックスｋ、ｌを加え、ノードをｎ（ｉ、ｊ、ｋ、ｌ）と表すことができることを示している。【００２０】
このように、図５に示されたコンピュータシステムは、直列接続２次元、完全結合２次元の合計４次元でノードを接続している。ここで、図示横方向に直列接続された完全結合グループの要素数は８、縦方向に直列接続された完全結合グループの要素数は４である。また、完全結合グループはそれぞれ、完全結合されたノードの要素数が３、他の次元の要素数が２である。つまり、図５に示されたコンピュータシステムは合計１９２個のノードを有する。【００２１】
このように、ネットワークの接続の次元というのは、ノードを表す場合、ノードの位置を表すインデックスが何個で足りるかを示している。したがって、上記実施形態では、１次元の場合と２次元の場合のみを示したが、インデックスの数を増やしていけば、任意の次元の接続の組み合わせで、ネットワークを構成することができる。【００２２】
図５においては、ルータの相互接続ポート数はメッシュ４個（各次元２個ずつ）、完全結合３個（３個のノード完全結合用に２個、完全結合されたノードの組間の接続用に１個）で合計７個である。【００２３】
図５のコンピュータシステムでは、完全結合グループ単位で区画化し、各区画は２次元トーラスの埋め込み性を持つ。２次元トーラスの埋め込み性とは、ノードの接続経路を２次元トーラス１個に射影することができるという意味である。すなわち、完全結合内は２次元の完全結合なので、２次元の接続を使ってどのノードにもいけるので、２次元トーラスを埋め込むことが出来る。なお、直列次元と完全結合次元の組み合わせは任意であり、完全結合グループが８×４の区画ならば１６×１２、２４×８のどちらの２次元トーラスも埋め込むことが可能である。【００２４】
本実施例は、各区画で１ノード故障まで故障回避が可能である。また、２次元トーラスの埋め込み性は、縮退した２次元トーラスで維持される。完全結合グループが８×４の区画の場合、１６×１２ならば１６ノードを切り離して１６×１１に縮退、２４×８ならば８ノードを切り離して２３×８に縮退することで、２次元トーラスを維持できる。すなわち、１ノードが故障したので、故障した１ノードを切り離すため、これを含む１次元トーラス分を削除すれば、２次元トーラスが維持できるということである。【００２５】
なお、上記実施形態においては、パケットのルーティング経路は、あらかじめ設定しておき、可変しないこととする。迂回経路もあらかじめ設定しておく。設定内容は、各ルータ内にルーティングテーブルとして格納しておく。パケットのルーティング経路を静的に決めておくことで、迂回経路を適応的に決めてルーティングしている場合のようなパケットの到着順が受信側で入れ替わるということが生じなくなり、パケット受信処理の負荷が軽くなる。また、完全結合されたノードのグループを直列接続するようにしたことにより、ノードに障害が発生した場合の迂回経路を余分な仮想チャネルを設けることなしに設定することが可能となる。【００２６】
直列接続と完全結合の２次元で接続されたプロセッサは、全プロセッサを環状の一筆書きでなぞることができる。これは１次元トーラスの埋め込み性と呼ばれ、１次元トーラスと同様の通信高速化が可能である。従来方式では、完全結合の区画をトーラスに閉じるため、ルータとは別にスイッチが必要であったが、本実施形態は、直列接続と完全結合の次元との組み合わせにより、ルータのみで各区画に１次元トーラスの埋め込み性を持たせることができる。【００２７】
本実施形態では、完全結合をトーラス区画化だけでなく、回避経路としても利用する。この方式により、故障回避通信と通常通信経路の競合を削減できる。
仮想チャネルを２個設けることにより、直列接続をリングに閉じ、トーラスとしてもデッドロック回避できる。このため、トーラス区画化の自由度がさらに上がる。また、完全結合の次元は必ず隣への転送で目的の座標に移動できるため、仮想チャネル１個でデッドロックフリーである。ここで２つの仮想チャネルを使用すると、デッドロックせずに完全結合の次元を２回移動できる。この仕組により、故障部位を避ける経路でのパケット転送が可能になる。すなわち、どこかのノードが故障した場合、そのノードを避ける必要があるが、このとき、完全結合の次元を使って、別の経路に出て、直列接続の次元を通って別の完全結合区画内に入り、今入った完全結合区画内を完全結合の次元を使って目的のノードまで移動するという迂回経路を構築することができるようになる。【００２８】
従来方式では、トーラスのデッドロック回避で仮想チャネル数を２個のほかに、さらに故障回避のために追加の仮想チャネルが必要であり、ハードウェアコストが高かった。本実施形態では、仮想チャネル数２個でトーラスのデッドロック回避と故障回避を両立する。【００２９】
本実施形態は、完全結合を使用するためノードあたりのポート数が多い。だが、完全結合は基板内の配線に閉じることができる。このため実装コストの増加は小さい。すなわち、完全結合のグループを、基板に搭載されているプロセッサのグループと一致させることにより、完全結合の接続は、基板内で、短い配線で実現することができ、配線が長くなる基板間の接続を、グループ間の接続とすることにより、配線の数を減らすことができる。
【図１】
2009139024.tif 000003
【図２】
2009139024.tif 000004
【図３】
2009139024.tif 000005
【図４】
2009139024.tif 000006
【図５】
2009139024.tif 000007
【手続補正書】
【提出日】平成22年12月21日(2010.12.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のノードが相互に接続されたコンピュータシステムのノードを相互接続するネットワークにおいて、
各ノードは、
該コンピュータシステムに含まれるノードを所定数の群にグループ化したグループの、同じグループに属するノード間を完全結合によって接続する回線用の第１のポートと、
異なるグループに属するノードと直列接続する回線用の第２のポートと、
を備えることを特徴とするネットワーク。
【請求項２】
前記グループは、１つの基板上に搭載されたプロセッサ群から構成されることを特徴とする請求項１に記載のネットワーク。
【請求項３】
前記直列接続は、基板間を接続する回線であることを特徴とする請求項２に記載のネットワーク。
【請求項４】
前記直列接続は、仮想チャネルを２個持っていることを特徴とする請求項１に記載のネットワーク。
【請求項５】
複数のノードを接続したコンピュータシステムであって、
前記コンピュータシステムを構成するノードのうち、Ｎ（１以上の整数）個のノードを完全結合した、Ｍ（１以上の整数）個のノードグループを備えるとともに、
前記Ｍ個のノードグループを構成するＮ個のノードのいずれか同士を直列接続したことを特徴とするコンピュータシステム。
【請求項６】
前記ノードは、プロセッサと、プロセッサが接続されるルータとを備える、請求項５記載のコンピュータシステム。
【国際調査報告】
2009139024.tif 000008
2009139024.tif 000009