説明

並列計算ネットワーク装置とその制御方法

【課題】新たなインターフェース信号を追加することなく、ネットワーク性能を向上させること。
【解決手段】並列計算ネットワーク装置は、1段につき複数のスイッチ装置を有し、前記スイッチ装置を多段に備える結合網と、結合網に結合された演算ノードと、を備える。x(xは自然数)段目のスイッチ装置は、演算ノードから他の演算ノードへの伝送されるデータがx段目のスイッチ装置に入力された場合に、x段目のスイッチ装置から(x+1)段目のスイッチ装置にデータを送出し、データの送出に応じて(x+1)段目のスイッチ装置からx段目のスイッチ装置に送出されるフロー制御信号に基づいて(x+1)段目のスイッチ装置の状態を判定し、判定結果に基づいて、x段目のスイッチ装置から次にデータを送出する送出先を(x+1)段目のスイッチ装置の中から選択する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、並列計算ネットワーク装置および並列計算ネットワーク装置の制御方法に関する。
【背景技術】
【0002】
複数の演算ノードと相互結合網から構成される並列計算機において、複数の演算ノード間のデータ転送は相互結合網を介して行われる。相互結合網は、複数の演算ノードを結合するスイッチ装置から構成される。このとき、演算ノードの個数が少ない場合にはフルクロスバースイッチが用いられる。
【0003】
しかし近年では、並列計算機システムの性能向上の為、演算ノードの個数が増大傾向にある。多数の演算ノードを接続する相互結合網は、フルクロスバースイッチではスイッチ装置の物理量が肥大化する。したがって相互結合網には、小サイズのスイッチ装置を多段に接続して構成されたものが使用されている。ここで、複数の小サイズのスイッチ装置によりデータが通過する経路は、通常は固定されている。
【0004】
特許文献1には、ネットワークの性能および接続能力を高める適応交換装置に関する技術が開示されている。これによると、複数段からなるスイッチ装置において、前段にあるスイッチは次段スイッチの負荷情報を入手し、この情報より経路を選択する、適用型(Adaptive)のルーティングを行うことができる。
【0005】
特許文献2には、通信システムおよび通信方法に関する技術が開示されている。これによると、パケットを再送する際に、パケットを再送するためのバッファサイズと確認応答の送信遅延間隔を最適化することができる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平6−197125号公報
【特許文献2】特開2007−180611号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、小サイズのスイッチ装置を多段に接続して構成した相互結合網では、データが通過する経路が固定されている。そのため、途中経路で競合負荷が高く通過時間を要するスイッチがあったとしても、それを迂回することは出来なかった。
【0008】
特許文献1に開示されている技術では、途中経路で通過時間を要するスイッチがある場合にはそのスイッチを迂回することができるが、次段スイッチからの負荷情報通知の専用パスを追加することが必要であり、物量が増える構成であった。
【0009】
特許文献2に開示されている技術は、スイッチ装置間を流れるデータの途中経路を効率化するものではない。
【0010】
本発明の目的は、新たなインターフェース信号を追加することなく、動的に経路変更を可能とするスイッチ構成によりネットワーク性能を向上させることができる、並列計算ネットワーク装置を提供することである。
【課題を解決するための手段】
【0011】
本発明の第1の態様は、1段につき複数のスイッチ装置を有し、前記スイッチ装置を多段に備える結合網と、前記結合網に結合された演算ノードと、を備え、x(xは自然数)段目の前記スイッチ装置は、前記演算ノードから他の演算ノードへの伝送されるデータが前記x段目のスイッチ装置に入力された場合に、前記x段目のスイッチ装置から(x+1)段目の前記スイッチ装置に前記データを送出し、前記データの送出に応じて前記(x+1)段目のスイッチ装置から前記x段目のスイッチ装置に送出されるフロー制御信号に基づいて前記(x+1)段目のスイッチ装置の状態を判定し、判定結果に基づいて、x段目のスイッチ装置から次にデータを送出する送出先を(x+1)段目のスイッチ装置の中から選択する、並列計算ネットワーク装置である。
【0012】
また本発明の第2の態様は、1段につき複数のスイッチ装置を有し、前記スイッチ装置を多段に備える結合網と、前記結合網に結合された演算ノードと、を備える並列計算ネットワーク装置の制御方法であって、前記演算ノードは他の演算ノードに伝送するデータを送出し、前記データが入力されたx段目のスイッチ装置から(x+1)段目のスイッチ装置に前記データを送出し、前記データに応じて(x+1)段目のスイッチ装置からx段目のスイッチ装置へ応答されるフロー制御信号に基づいて、(x+1)段目のスイッチ装置の状態を判定し、前記判定結果に応じてx段目のスイッチ装置から次に送出するデータの転送先を(x+1)段目のスイッチ装置の中から選択する、並列計算ネットワーク装置の制御方法である。
【発明の効果】
【0013】
新たなインターフェース信号を追加することなく、ネットワーク性能を向上させることができる。
【図面の簡単な説明】
【0014】
【図1】実施の形態1にかかる並列計算ネットワーク装置のブロック図である。
【図2】実施の形態1にかかる並列計算ネットワーク装置の詳細なブロック図である。
【図3】実施の形態1にかかるスイッチに係る詳細なブロック図である。
【発明を実施するための形態】
【0015】
実施の形態1.
以下、図面を参照して本発明の実施の形態について説明する。図1は、本実施の形態に係る並列計算ネットワーク装置のブロック図である。並列計算ネットワーク装置は、複数の演算ノード110〜11k(kは自然数)と、相互結合網12を備える。ここで、相互結合網12は、スイッチ装置121を備える。
【0016】
演算ノード110〜11kは、演算処理を行う装置である。演算ノード110〜11kは、それぞれスイッチ装置121に接続されている。演算ノード110〜11kは、異なる演算ノード110〜11kに対し通信データを転送する場合には、スイッチ装置121を介して通信する。
【0017】
相互結合網12は、スイッチ装置121を備える。スイッチ装置121は、複数の演算ノード110〜11kにおける通信を媒介する。
【0018】
図2は、本実施の形態に係る並列計算ネットワーク装置の詳細なブロック図である。並列計算ネットワーク装置は、演算ノード210〜21a(aは自然数)と、相互結合網22と、演算ノード220〜22aを備える。演算ノード210〜21aの個数と、演算ノード220〜22aの個数は、異なる個数であってもよい。
【0019】
相互結合網22は多段のネットワーク装置を備える。ここでは3段のスイッチ装置を備えるネットワーク装置を例示して説明する。3段のスイッチ装置は1段ごとに複数のスイッチ装置を備える。3段のスイッチは、それぞれ1段スイッチ230〜23m(mは自然数)、2段スイッチ240〜24n(nは自然数)、3段スイッチ250〜25mとする。1段スイッチ230〜23mの個数と、3段スイッチ250〜25mの個数は、異なる個数であってもよい。
【0020】
1段スイッチ230〜23m、2段スイッチ240〜24n、3段スイッチ250〜25mは、それぞれ複数の入力ポートおよび出力ポートを備える。1段スイッチ230〜23mは、2段スイッチ240〜24nと接続されている。ここで、1段スイッチ230は2段スイッチ240〜24nのうちの複数個と接続されている。他の1段スイッチについても同様に、それぞれが2段スイッチ240〜24nのうちの複数個と接続されている。
典型的には、1段スイッチ230〜23mのそれぞれは、2段スイッチ240〜24nの全てと接続されている。
1段スイッチ230〜23mは、それぞれ接続されている2段スイッチ240〜24nとデータの送受信を行う。ここで、1段スイッチ230〜23mから2段スイッチ240〜24nに、演算ノード220〜22aに送出するデータが出力される。また1段スイッチは、2段スイッチからACK(Acknowledge)信号が入力される。
【0021】
2段スイッチ240〜24nは、3段スイッチ250〜25mと接続されている。ここで、2段スイッチ240は3段スイッチ250〜25mのうちの複数個と接続されている。他の2段スイッチについても同様に、それぞれが3段スイッチ250〜25mのうちの複数個と接続されている。
典型的には、2段スイッチ240〜24nのそれぞれは、3段スイッチ250〜25mの全てと接続されている。
2段スイッチ240〜24nは、それぞれ接続されている3段スイッチ250〜25mとデータの送受信を行う。ここで、2段スイッチ240〜24nから3段スイッチ250〜25mに、演算ノード220〜22aに送出するデータが出力される。また2段スイッチは、3段スイッチからACK(Acknowledge)信号が入力される。
【0022】
演算ノード210〜21aは、それぞれ1段スイッチ230〜23mの入力ポートに接続されている。典型的には、演算ノード210〜21aのうちの一部の演算ノードが、1段スイッチ230〜23mの1つと接続されている。すなわち、1つの1段スイッチごとに複数の演算ノードが接続された状態となる。
演算ノード210〜21aは、演算ノード220〜22aに送出するデータを、それぞれ接続された1段スイッチ230〜23mに出力する。
【0023】
演算ノード220〜22aは、それぞれ3段スイッチ250〜25mの出力ポートに接続されている。典型的には、演算ノード220〜22aのうちの一部の演算ノードが、3段スイッチ250〜25mのうちの1つに接続されている。したがって、1つの3段スイッチごとに複数の演算ノードが接続された状態となる。演算ノード220〜22aは、3段スイッチ250〜25mから出力されたデータを入力する。
すなわち、演算ノード210〜21aから出力されたデータは、1段スイッチ230〜23m、2段スイッチ240〜24n、3段スイッチ250〜25mを介して、演算ノード220〜22aに入力される。
【0024】
なお、スイッチ装置の段数は3段に限られず、さらに多段としても良い。また、ACK信号は、信号の伝達フローを制御する他の信号であってもよい。
【0025】
図3は、本実施の形態に係るスイッチ装置の詳細なブロック図である。このスイッチ装置30は、1段スイッチ230〜23m、2段スイッチ240〜24n、3段スイッチ250〜25mのそれぞれに使用する。すなわち、1段スイッチ230〜23m、2段スイッチ240〜24n、3段スイッチ250〜25mが同様の構成となっている。相互結合網22では、図3に示すスイッチ装置30が直列に接続されている。
スイッチ装置30は、複数個の入力バッファ310〜31b(bは自然数)と、クロスバースイッチ32と、検出回路33を備える。
【0026】
入力バッファ310〜31bは、それぞれ前段のスイッチ装置または演算ノードと接続されている。すなわち、スイッチ装置が1段スイッチ230〜23mであれば、入力バッファ310〜31bは演算ノードと接続され、スイッチ装置が1段スイッチ230〜23mでなければ、入力バッファ310〜31bは前段のスイッチ装置の出力ポートと接続している。また入力バッファ310〜31bは、クロスバースイッチ32と接続されている。
【0027】
入力バッファ310〜31bは、前段のスイッチ装置または演算ノードから入力した入力データを一旦格納し、格納したデータをクロスバースイッチ32に出力する。例えば、入力バッファ310は入力#0から出力された入力データ#0を入力し、クロスバースイッチ32にデータ#0を出力する。ここで入力#0は、1つのスイッチ装置または演算ノードであり、例えばスイッチ装置30が2段スイッチであるとすると、入力#0はスイッチ装置30の入力バッファ310に接続された1段スイッチ230であり、入力#1は1段スイッチ231である。
入力バッファ310〜31bは、クロスバースイッチ32から出力された調停情報を入力し、入力バッファ310〜31bの使用状態に基づいて、接続されている前段のスイッチ装置または演算ノードに、入力ACK信号を出力する。例えば、入力バッファ310は、クロスバースイッチ32から出力された調停情報#0を入力し、入力#0に入力ACK信号を出力する。
【0028】
すなわちスイッチ装置30は、入力バッファ310〜31bが入力データと入力ACK信号の送受信を行うインターフェースを備える。またスイッチ装置30は、クロスバースイッチ32が、出力データと出力ACK信号の送受信を行うインターフェースを備える。
【0029】
なお、入力バッファ310〜31bは、典型的にはキューによるデータ構造によりデータの格納を行う。したがって、例えば1つのデータが入力バッファ310に入力された後に、先と異なるデータが入力バッファ310に入力された場合には、先に入力されたデータが出力されてから、後に入力されたデータが出力される。
【0030】
クロスバースイッチ32は、入力バッファ310〜31bのそれぞれと接続されている。またクロスバースイッチ32は、スイッチ装置30の後段に備えられた複数のスイッチ装置または複数の演算ノード220〜22aに接続されている。例えば、スイッチ装置30が2段スイッチ240だとすると、出力#0は3段スイッチ250であり、出力#1は3段スイッチ251である。
クロスバースイッチ32は、入力バッファ310〜31bから入力されたデータについて、出力先のルーティングを行う。例えば、1段スイッチ230のクロスバースイッチ32から2段スイッチ240に出力データ#0が入力されると、2段スイッチ240は、出力データ#0を2段スイッチ240の入力バッファ310に格納する。2段スイッチ240のクロスバースイッチ32はルーティングを行い、例えば、入力バッファ310に格納されたデータ#0を、出力データ#1として3段スイッチ241に出力する。3段スイッチ241は、出力データ#1を3段スイッチ241の入力バッファ311に格納する。
また例えば、1段スイッチ231のクロスバースイッチ32から2段スイッチ240に出力データ#1が入力されると、2段スイッチ240は、出力データ#1を2段スイッチ240の入力バッファ311に格納する。2段スイッチ240のクロスバースイッチ32はルーティングを行い、例えば、入力バッファ310に格納されたデータ#1を、出力データ#3として3段スイッチ243に出力する。3段スイッチ243は、出力データ#3を3段スイッチ243の入力バッファ313に格納する。
【0031】
検出回路33は、スイッチ装置30の次段に備えられたスイッチ装置30からクロスバースイッチ32に入力された出力ACK信号を検出する。クロスバースイッチ32は、検出回路33の検出結果に応じて、次段の複数のスイッチ装置30のうち、1つのスイッチ装置30にデータを伝送する。すなわち、クロスバースイッチ32は、検出回路33の検出結果に応じてルーティングを行う。
【0032】
次に、本実施の形態における動作について説明する。
【0033】
図2において、演算ノード210〜21aは、それぞれの演算ノード210〜21aが接続している1段スイッチ230〜23mにデータを出力する。
【0034】
演算ノード210〜21aからデータを入力された1段スイッチ230〜23mは、それぞれ接続されているn個の2段スイッチ240〜24nの1つにデータを出力する。例えば、各1段スイッチはデフォルトで出力先となる2段スイッチが設定されており、1段スイッチ230が最初にデータを出力する2段スイッチは2段スイッチ240である。このとき、1段スイッチ230〜23mは、2段スイッチ240〜24nのうち任意の1つにデータを出力できるものとする。すなわち、1段スイッチ230は、2段スイッチ240以外の2段スイッチに、データを転送することが可能な状態である。
【0035】
1段スイッチ230〜23mのいずれかから2段スイッチ240〜24nのいずれかにデータを出力した場合には、出力先の2段スイッチから出力元の1段スイッチにACK信号が出力される。例えば、1段スイッチ230から2段スイッチ240にデータを出力した場合には、2段スイッチ240から1段スイッチ230にACK信号が出力される。
【0036】
すなわち図3において、1段スイッチであるスイッチ装置30のクロスバースイッチ32から出力された出力データは、2段スイッチであるスイッチ装置30の入力バッファ310〜31bのいずれか1つに、入力データとして格納される。
【0037】
このとき、2段スイッチのクロスバースイッチ32は、さらに後段のスイッチ装置からの出力ACK信号が不返却の場合には、そのデータが格納された入力バッファに、ビジー状態である旨の調停情報を出力する。例えば、2段スイッチの入力バッファ310に格納されたデータ#0の行き先が演算ノード22aであり、演算ノード22aと接続する3段スイッチ25mから、2段スイッチのクロスバースイッチ32にACK信号が返却されていなければ、2段スイッチのクロスバースイッチ32は入力バッファ310にビジー状態である旨の調停情報#0を出力する。
またクロスバースイッチ32は、複数の入力バッファ310〜31bから同時にデータ転送の要求を受けた場合には、いずれか1つを選択してデータの出力を行う。クロスバースイッチ32は、競合するために選択されなかった入力バッファに対して、ビジー状態であることを示す調停情報を出力する。
【0038】
ここで、入力バッファ310〜31bは、キュー構造によりデータを一時的に蓄える構造とする。したがって、例えば入力バッファ310は、クロスバースイッチ32から入力された調停情報がビジーの場合には、データをクロスバースイッチ32に出力せずに入力バッファ310に一時的に格納する。調停情報のビジー状態が解除された場合には、入力バッファ310は、先に格納されたデータから順にクロスバースイッチ32に転送する。
【0039】
入力データが格納された入力バッファ310〜31bは、入力ACK信号を出力する。ここで、例えば特定の2段スイッチのクロスバースイッチ32にデータが集中した場合には、入力バッファ310からクロスバースイッチ32にデータ#0の転送ができず、入力ACK信号の返却に遅延が生じる。さらに、入力バッファ310の容量いっぱいまでデータが格納されるなど、入力バッファ310に新たなデータを格納できなくなった場合には、入力バッファ310は入力ACK信号を出力しない。入力バッファ310は新たにデータが格納できる状態になった場合に、入力ACK信号#0を出力する。
【0040】
1段スイッチのクロスバースイッチ32は、データの出力先である2段スイッチから出力された入力ACK信号を、出力ACK信号として入力する。1段スイッチのクロスバースイッチ32は、2段スイッチから出力ACK信号が不返却の場合には該当出力への転送を行わず、出力ACK信号が返却された場合に、該当出力への転送を再開する。例えば、1段スイッチ230から2段スイッチ240にデータを転送した場合には、1段スイッチ230は2段スイッチ240からのACK信号の入力があってから、2段スイッチ240へのデータの転送を再開する。
すなわち、ACK信号を用いたハンドシェイクを行うことにより、n段スイッチ間のインターフェースにおいて通信データをロストすることなく、データ転送を行う。
【0041】
1段スイッチの検出回路33は、クロスバースイッチ32がデータを出力してから、入力ACK信号が入力されるまでの時間を検出する。すなわち、ACK信号の応答時間を検出する。
なお、1段スイッチ230〜23mがデータを出力し、入力ACK信号が入力されるまでの最短時間は、1段スイッチから2段スイッチへのデータ転送の信号線遅延と、2段スイッチの入力バッファでの制御の遅延と、2段スイッチから1段スイッチへのACK信号の信号線遅延の総和となる。
【0042】
1段スイッチ230〜23mは、それぞれデータを出力してから入力ACK信号が入力されるまでの時間に基づいて、データを伝送した2段スイッチの状態を判定し、次のデータの出力先となる2段スイッチの選択を行う。
すなわち1段スイッチ230〜23mは、2段スイッチからの入力ACK信号の返却の遅延が生じている場合や、入力ACK信号が返却されない場合には、2段スイッチは負荷がかかっている状態であると判定して、後のデータからは他の2段スイッチに出力する。例えば、1段スイッチ230が2段スイッチ240にデータを送出し、ある一定時間以上2段スイッチからのACK信号の応答がなければ、1段スイッチ230はデータの転送先を2段スイッチ240から他の2段スイッチに切り替えて、後続のデータの転送を行う。
【0043】
2段スイッチ240〜24nは、通信データに含まれる行き先演算ノード情報より、行き先の演算ノード220〜22aに接続される3段スイッチに通信データを出力する。
3段スイッチ250〜25mは、通信データに含まれる行き先演算ノード情報より、行き先の演算ノード220〜22aに対し、通信データを出力する。
相互結合網22がさらに多段のスイッチ装置30から構成される場合には、上記の1段スイッチで行った動作を、他段のスイッチ装置30でも行う。例えば、相互結合網22が4段のスイッチ装置30から構成される場合には、1段スイッチが2段スイッチを選択するのと同様に、2段スイッチが3段スイッチを選択して、データの転送を行う。
【0044】
このようにして、送信ノードから受信ノードへの転送リクエストの通過経路を動的に変更可能とすることで、ネットワークの転送スループット性能を向上させることができる。
【0045】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、スイッチ装置間で送受信される信号は、データのフローを制御する信号であればACK信号でなくともよく、SelectiveACK信号などの他の信号であってもよい。
【0046】
(付記1)1段につき複数のスイッチ装置を有し、前記スイッチ装置を多段に備える結合網と、前記結合網に結合された演算ノードと、を備え、x(xは自然数)段目の前記スイッチ装置は、前記演算ノードから他の演算ノードへの伝送されるデータが前記x段目のスイッチ装置に入力された場合に、前記x段目のスイッチ装置から(x+1)段目の前記スイッチ装置に前記データを送出し、前記データの送出に応じて前記(x+1)段目のスイッチ装置から前記x段目のスイッチ装置に送出されるフロー制御信号に基づいて前記(x+1)段目のスイッチ装置の状態を判定し、判定結果に基づいて、x段目のスイッチ装置から次にデータを送出する送出先を(x+1)段目のスイッチ装置の中から選択する、並列計算ネットワーク装置。
【0047】
(付記2)前記フロー制御信号は、前記データに対するACK信号である、付記1に記載の並列計算ネットワーク装置。
【0048】
(付記3)前記スイッチ装置は、前記スイッチ装置に入力された信号を格納する複数の入力バッファと、前記多数の入力バッファから転送されたデータの出力を行うクロスバースイッチと、を備え、前記クロスバースイッチは前記入力バッファに調停情報を送信し、調停情報がビジー状態の場合には、前記入力バッファは前記クロスバースイッチへのデータ転送を待機する、付記1または付記2に記載の並列計算ネットワーク装置。
【0049】
(付記4)前記x段目のスイッチ装置は、前記(x+1)段目のスイッチ装置から入力されるフロー制御信号の応答時間を検出する検出回路を備え、前記応答時間に基づいて前記(x+1)段目のスイッチ装置の状態を判定し、判定結果に基づいて接続先となる(x+1)段目のスイッチ装置を選択する、付記1乃至付記3のいずれか1つに記載の並列計算ネットワーク装置。
【0050】
(付記5)前記入力バッファは、前記クロスバースイッチから前記入力バッファに送出された調停情報がビジー状態を示す場合にはデータを格納して転送を待機し、前記調停情報がビジー状態から解除された場合には、前記入力バッファに先に入力されたデータから順番に、前記クロスバースイッチへデータの転送を行う、付記1乃至付記4のいずれか1つに記載の並列計算ネットワーク装置。
【0051】
(付記6)(x+1)段目のスイッチ装置に備えられた前記入力バッファは、データを格納できない状態の場合にはx段目のスイッチ装置へのACK信号の応答を待機し、前記x段目のスイッチ装置は、前記(x+1)段目のスイッチ装置から入力されるACK信号に基づくハンドシェイクによりデータの出力を行う、付記1乃至付記5のいずれか1つに記載の並列計算ネットワーク装置。
【0052】
(付記7)1段につき複数のスイッチ装置を有し、前記スイッチ装置を多段に備える結合網と、前記結合網に結合された演算ノードと、を備える並列計算ネットワーク装置の制御方法であって、前記演算ノードは他の演算ノードに伝送するデータを送出し、前記データが入力されたx段目のスイッチ装置から(x+1)段目のスイッチ装置に前記データを送出し、前記データに応じて(x+1)段目のスイッチ装置からx段目のスイッチ装置へ応答されるフロー制御信号に基づいて、(x+1)段目のスイッチ装置の状態を判定し、前記判定結果に応じてx段目のスイッチ装置から次に送出するデータの転送先を(x+1)段目のスイッチ装置の中から選択する、並列計算ネットワーク装置の制御方法。
【0053】
(付記8)前記フロー制御信号は、前記データに対するACK信号である、付記7に記載の並列計算ネットワーク装置の制御方法。
【0054】
(付記9)前記スイッチ装置は、前記スイッチ装置に入力された信号を格納する複数の入力バッファと、前記多数の入力バッファから転送されたデータの出力を行うクロスバースイッチと、を備える並列計算ネットワーク装置の制御方法であって、前記クロスバースイッチは前記入力バッファに調停情報を送信し、調停情報がビジー状態の場合には、前記入力バッファは前記クロスバースイッチへのデータ転送を待機する、付記7または付記8に記載の並列計算ネットワーク装置の制御方法。
【0055】
(付記10)前記x段目のスイッチ装置は、前記(x+1)段目のスイッチ装置から入力されるフロー制御信号の応答時間を検出し、前記応答時間に基づいて前記(x+1)段目のスイッチ装置の状態を判定し、判定結果に基づいて接続先となる(x+1)段目のスイッチ装置を選択する、付記7乃至付記9のいずれか1つに記載の並列計算ネットワーク装置の制御方法。
【0056】
(付記11)前記入力バッファは、前記クロスバースイッチから前記入力バッファに送出された調停情報がビジー状態を示す場合にはデータを格納して転送を待機し、前記調停情報がビジー状態から解除された場合には、前記入力バッファに先に入力されたデータから順番に、前記クロスバースイッチへデータの転送を行う、付記7乃至付記10のいずれか1つに記載の並列計算ネットワーク装置の制御方法。
【0057】
(付記12)(x+1)段目のスイッチ装置に備えられた前記入力バッファは、データを格納できない状態の場合にはx段目のスイッチ装置へのACK信号の応答を待機し、前記x段目のスイッチ装置は、前記(x+1)段目のスイッチ装置から入力されるACK信号に基づくハンドシェイクによりデータの出力を行う、付記7乃至付記11のいずれか1つに記載の並列計算ネットワーク装置の制御方法。
【符号の説明】
【0058】
110-11k 演算ノード
12 相互結合網
121 スイッチ装置
22 相互結合網
210-21a 演算ノード
220-22a 演算ノード
230-23m 1段スイッチ
240-24n 2段スイッチ
250-25m 3段スイッチ
30 スイッチ装置
310-31b 入力バッファ
32 クロスバースイッチ
33 検出回路

【特許請求の範囲】
【請求項1】
1段につき複数のスイッチ装置を有し、前記スイッチ装置を多段に備える結合網と、
前記結合網に結合された演算ノードと、を備え、
x(xは自然数)段目の前記スイッチ装置は、前記演算ノードから他の演算ノードへの伝送されるデータが前記x段目のスイッチ装置に入力された場合に、前記x段目のスイッチ装置から(x+1)段目の前記スイッチ装置に前記データを送出し、前記データの送出に応じて前記(x+1)段目のスイッチ装置から前記x段目のスイッチ装置に送出されるフロー制御信号に基づいて前記(x+1)段目のスイッチ装置の状態を判定し、判定結果に基づいて、x段目のスイッチ装置から次にデータを送出する送出先を(x+1)段目のスイッチ装置の中から選択する、
並列計算ネットワーク装置。
【請求項2】
前記フロー制御信号は、前記データに対するACK信号である、
請求項1に記載の並列計算ネットワーク装置。
【請求項3】
前記スイッチ装置は、前記スイッチ装置に入力された信号を格納する複数の入力バッファと、
前記多数の入力バッファから転送されたデータの出力を行うクロスバースイッチと、を備え、
前記クロスバースイッチは前記入力バッファに調停情報を送信し、調停情報がビジー状態の場合には、前記入力バッファは前記クロスバースイッチへのデータ転送を待機する、
請求項1または請求項2に記載の並列計算ネットワーク装置。
【請求項4】
前記x段目のスイッチ装置は、前記(x+1)段目のスイッチ装置から入力されるフロー制御信号の応答時間を検出する検出回路を備え、
前記応答時間に基づいて前記(x+1)段目のスイッチ装置の状態を判定し、
判定結果に基づいて接続先となる(x+1)段目のスイッチ装置を選択する、
請求項1乃至請求項3のいずれか1項に記載の並列計算ネットワーク装置。
【請求項5】
前記入力バッファは、前記クロスバースイッチから前記入力バッファに送出された調停情報がビジー状態を示す場合にはデータを格納して転送を待機し、
前記調停情報がビジー状態から解除された場合には、前記入力バッファに先に入力されたデータから順番に、前記クロスバースイッチへデータの転送を行う、
請求項1乃至請求項4のいずれか1項に記載の並列計算ネットワーク装置。
【請求項6】
(x+1)段目のスイッチ装置に備えられた前記入力バッファは、データを格納できない状態の場合にはx段目のスイッチ装置へのACK信号の応答を待機し、
前記x段目のスイッチ装置は、前記(x+1)段目のスイッチ装置から入力されるACK信号に基づくハンドシェイクによりデータの出力を行う、
請求項1乃至請求項5のいずれか1項に記載の並列計算ネットワーク装置。
【請求項7】
1段につき複数のスイッチ装置を有し、前記スイッチ装置を多段に備える結合網と、
前記結合網に結合された演算ノードと、を備える並列計算ネットワーク装置の制御方法であって、
前記演算ノードは他の演算ノードに伝送するデータを送出し、
前記データが入力されたx段目のスイッチ装置から(x+1)段目のスイッチ装置に前記データを送出し、
前記データに応じて(x+1)段目のスイッチ装置からx段目のスイッチ装置へ応答されるフロー制御信号に基づいて、(x+1)段目のスイッチ装置の状態を判定し、
前記判定結果に応じてx段目のスイッチ装置から次に送出するデータの転送先を(x+1)段目のスイッチ装置の中から選択する、
並列計算ネットワーク装置の制御方法。
【請求項8】
前記フロー制御信号は、前記データに対するACK信号である、
請求項7に記載の並列計算ネットワーク装置の制御方法。
【請求項9】
前記スイッチ装置は、前記スイッチ装置に入力された信号を格納する複数の入力バッファと、前記多数の入力バッファから転送されたデータの出力を行うクロスバースイッチと、を備える並列計算ネットワーク装置の制御方法であって、
前記クロスバースイッチは前記入力バッファに調停情報を送信し、調停情報がビジー状態の場合には、前記入力バッファは前記クロスバースイッチへのデータ転送を待機する、
請求項7または請求項8に記載の並列計算ネットワーク装置の制御方法。
【請求項10】
前記x段目のスイッチ装置は、前記(x+1)段目のスイッチ装置から入力されるフロー制御信号の応答時間を検出し、
前記応答時間に基づいて前記(x+1)段目のスイッチ装置の状態を判定し、
判定結果に基づいて接続先となる(x+1)段目のスイッチ装置を選択する、
請求項7乃至請求項9のいずれか1項に記載の並列計算ネットワーク装置の制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2011−142501(P2011−142501A)
【公開日】平成23年7月21日(2011.7.21)
【国際特許分類】
【出願番号】特願2010−1944(P2010−1944)
【出願日】平成22年1月7日(2010.1.7)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】