以下、図面を用いて実施形態を説明する。
図1は、情報処理システム、情報処理装置、スイッチ装置および情報処理システムの制御方法の一実施形態を示す。図1に示す情報処理システムSYS1は、情報を処理する複数の情報処理装置100(100a、100b、100c)と、複数のスイッチ装置200(200a、200b、200c)とを有する。各スイッチ装置200は、情報処理装置100のそれぞれに接続され、情報処理装置100が生成するパケットPKT(PKT0、PKT1)が伝送される経路L(L0、L1、L2)を介して他のスイッチ装置200に接続される。情報処理装置100a、100b、100cは、互いに同一または同様の構成を有する。スイッチ装置200a、200b、200cは、互いに同一または同様の構成を有する。
例えば、各情報処理装置100は、プロセッサと、プロセッサが実行するプログラムが格納されるメモリと、他の情報処理装置100との間で通信する機能とを有し、情報処理システムSYS1は、並列計算機システムとして動作する。なお、図1は、複数の情報処理装置100がスイッチ装置200を介して図の横方向に接続される1次元ネットワークを示すが、ネットワークの次元数、トポロジ(メッシュ、トーラス等)および情報処理装置100の数は、図1に限定されない。
各スイッチ装置200は、検出部1、保持部2および制御部3を有する。スイッチ装置200aの検出部1は、経路L0におけるパケットの伝送レート(帯域幅)の低下を検出する。スイッチ装置200bの検出部1は、経路L0、L1におけるパケットの伝送レートの低下を検出する。スイッチ装置200cの検出部1は、経路L1、L2におけるパケットの伝送レートの低下を検出する。例えば、伝送レートの低下は、各経路に含まれる複数のレーンのいずれかが故障することで発生する。なお、伝送レートの低下は、消費電力を抑えるために、レーンの動作を停止することで発生してもよい。
保持部2は、検出部1により伝送レートの低下が検出された経路Lを示す縮退情報を保持する。制御部3は、パケットの送信元の情報処理装置100に接続されたスイッチ装置200に向けて縮退情報を送信し、他のスイッチ装置200から受信した縮退情報を保持部2に格納する。
各情報処理装置100は、制御部5および挿入部6を有する。制御部5は、送信するパケットが通る経路Lを示す縮退情報が各情報処理装置100に接続されたスイッチ装置200の保持部2に保持される場合、伝送レートの低下に応じたギャップの挿入を示す挿入指示GINSを生成する。挿入部6は、挿入指示GINSに基づいて、縮退情報が示す経路Lを通るパケット間にギャップを挿入する。
例えば、制御部5は、伝送レートが50%に低下した縮退情報が保持部2に保持される場合、伝送レートが低下しない場合に比べてパケットの間隔を2倍にする挿入指示GINSを挿入部6に通知する。あるいは、制御部5は、伝送レートが25%に低下した縮退情報が保持部2に保持される場合、伝送レートが低下しない場合に比べてパケットの間隔を4倍にする挿入指示GINSを挿入部6に通知する。
図1において、経路L2に付した三角印は、経路L2で伝送レートの低下が発生したことを示す。以下、情報処理装置100aが経路L2の先の他の情報処理装置にパケットPKT0を送信し、情報処理装置100bが経路L2の先の他の情報処理装置にパケットPKT1を送信する場合の情報処理システムSYS1の動作の例を説明する。すなわち、以下の動作の例は、情報処理システムの制御方法の一形態を示す。
情報処理装置100aが送信したパケットPKT0は、スイッチ装置200a、経路L0、スイッチ装置200bおよび経路L1を介してスイッチ装置200cに伝送される。スイッチ装置200cの検出部1は、パケットを転送する経路L2の伝送レートが低下中のため、経路L2の伝送レートが低下したことを示す縮退情報FBを保持部2に保持する。例えば、パケットPKT0は、経路L2で伝送レートの低下が発生した後に初めて経路L2に転送されるパケットである。このため、情報処理装置100aがパケットPKT0を送信するタイミングで、通信経路に輻輳は発生していない。スイッチ装置200cの制御部3は、パケットPKT0の受信に応答して、情報処理装置100aが接続されたスイッチ装置200aに向けて縮退情報FBを送信する。
スイッチ装置200bの制御部3は、受信した縮退情報を保持部2に保持し、スイッチ装置200aに向けて縮退情報FBを送信する。スイッチ装置200aの制御部3は、受信した縮退情報FBを保持部2に保持する。例えば、縮退情報FBは、パケットPKT0の送信元の情報処理装置100aに接続されたスイッチ装置200aまで転送され、情報処理装置100aには転送されない。このように、縮退情報FBは、通信経路に輻輳が発生する前に各スイッチ装置200へ転送される。
次に、情報処理装置100bが、経路L2の先の他の情報処理装置に複数のパケットPKT1を送信する。情報処理装置100bの制御部5は、スイッチ装置200bの保持部2が経路L2の縮退情報FBを保持したため、縮退情報FBが示す伝送レートの低下率に応じた挿入指示GINSを挿入部6に通知する。情報処理装置100bの挿入部6は、挿入指示GINSに応じたギャップGAPをパケットPKT1間に挿入し、ギャップGAPが挿入されたパケットPKT1を経路L2の先の他の情報処理装置に向けて送信する。すなわち、保持部2に縮退情報FBが保持されたスイッチ装置200に接続された情報処理装置100は、パケット間に伝送レートの低下率に応じたギャップGAPを挿入することができる。また、スイッチ装置200cは、経路L2の伝送レートの低下率に合わせた伝送レートでパケットPKT1を経路L2の先の他の情報処理装置に向けて送信することができる。このため、例えば、各スイッチ200に設けられるパケットPKT用のバッファが詰まることを抑止することができ、輻輳が発生することを抑止することができる。
以上、図1に示した実施形態では、各情報処理装置100は、経路Lの伝送レートの低下に応答して、輻輳が発生する前に、伝送レートの低下に応じたギャップGAPをパケット間に挿入し、パケットを送信することができる。この結果、パケットが伝送される経路Lの伝送レートが低下した場合にも、伝送レートの低下を起因とする輻輳が発生することを抑止することができる。さらに、情報処理システムSYS1の性能が輻輳により低下することを抑止することができる。
図2は、情報処理システム、情報処理装置、スイッチ装置および情報処理システムの制御方法の別の実施形態を示す。この実施形態の情報処理システムSYS2は、スイッチ装置SWを介して複数のノードNDを接続したネットワークを有し、並列計算機として動作する。図2は、軸X1および軸X2のそれぞれに4つのノードNDを配置したメッシュ型の2次元ネットワークの例を示すが、ネットワークの次元数、トポロジ(メッシュ、トーラス等)およびノードNDの数は、図2に限定されない。例えば、各ノードNDは、プロセッサと、プロセッサが実行するプログラムが格納されるメモリと、他のノードNDとの間で通信する機能とを有する。ノードNDは、情報を処理する情報処理装置の一例である。
図2において、スイッチ装置SWの右下に示した(3,0)等の数値はアドレスを示す。(3,0)等の左側の数値は、スイッチ装置SWおよびスイッチ装置SWに接続されるノードNDの軸X1のアドレス(軸X1の番号)を示す。(3,0)等の右側の数値は、スイッチ装置SWおよびスイッチ装置SWに接続されるノードNDの軸X2のアドレス(軸X2の番号)を示す。スイッチ装置SWの上下左右のそれぞれに示す符号は、隣接する他のスイッチ装置SWに接続される経路(リンク)の軸の方向(X1+、X1−、X2+、X2−)を示す。
情報処理システムSYS2は、アドレスが増加する方向へのパケットの転送経路を、軸X1、軸X2の順で決め、アドレスが減少する方向へのパケットの転送経路を、軸X2、軸X1の順で決める次元順ルーティングを採用する。なお、情報処理システムSYS2は、パケットを送信するノードNDがパケットの転送経路を決めるソースルーティングを採用してもよい。
例えば、2つのスイッチ装置SWを互いに接続する経路は、スイッチ装置SW間に並列に配置される複数のシリアル転送用のインタフェースを有する。例えば、各インタフェースはレーンと称される。図2に示す例では、2つのスイッチ装置SW間は、4つのレーンで接続され、各レーンのデータ転送レートは、例えば、1.25Gbps(Gigabits per second;毎秒1.25ビット)である。
情報処理システムSYS2は、互いに隣接する2つのスイッチ装置SW間において、1つないし3つのレーンが故障した場合、残りのレーンを用いて情報を転送することが可能である。この場合、通信性能は低下するが、全てのスイッチ装置SW間で情報を転送することができる。以下の説明では、動作させるレーンの数が減り、スイッチ装置SW間におけるパケットの伝送レートが低下することは、レーン縮退とも称される。なお、情報処理システムSYS2は、1つないし3つのレーンの動作を消費電力を抑えるために停止してもよい。
情報処理システムSYS2においてノードND間で情報を通信する場合、送信元のノードNDは、情報を分割してパケットを生成し、生成したパケットをノードNDに接続されたスイッチ装置SWへ送信する。各スイッチ装置SWは、ノードNDや他のスイッチ装置SWからパケットを受信した場合、パケットに含まれる宛先を示す情報に基づいてパケットの出力先(すなわち、軸の方向)を決定し、決定した出力先へ向けてパケットを送信する。そして、スイッチ装置SWによるパケットの送信動作が繰り返されることで、パケットは目的のノードNDまで伝送される。
図3は、図2に示すスイッチ装置SWの例を示す。スイッチ装置SWは、軸X1+、X1−、X2+、X2−のそれぞれに接続される4つのポートPT1、ノードNDに接続されるポートPT2、管理部30およびクロスバースイッチXBARを有する。各ポートPT1は、受信部10aおよび送信部20aを有し、ポートPT2は、受信部10bおよび送信部20bを有する。
各受信部10aは、制御部RCNTa、バッファ部BUF、および受信部10aに接続される軸(経路、リンク)のレーン縮退を監視する監視部MONを有する。なお、監視部MONは、各ポートPT1内の他の場所に設けられてもよい。制御部RCNTaは、経路を介して受信するパケットをバッファ部BUFに格納する。また、制御部RCNTaは、接続される経路においてパケットの転送レートが低下したことを検出した場合、検出した情報を監視部MONに出力する。制御部RCNTaは、スイッチ装置SWに接続された経路におけるパケットの伝送レートの低下を検出する検出部の一例である。
監視部MONは、制御部RCNTaからレーン縮退を示す情報を受けた場合、受けた情報を管理部30に出力する。また、監視部MONは、制御部RCNTaからの要求に基づいて、管理部30から縮退情報FBを読み出し、読み出した縮退情報FBを制御部RCNTaに出力する。制御部RCNTaは、監視部MONから受けた縮退情報FBを含むパケットを生成し、生成したパケットを、クロスバースイッチXBARを介して同じポートPT1内の送信部20aの制御部TCNTaに転送する。
各送信部20aは、制御部TCNTaおよびバッファ部BUFを有する。制御部TCNTaは、クロスバースイッチXBARを介して転送されるパケットをバッファ部BUFに格納し、バッファ部BUFから読み出したパケットを経路(軸)に送信する。また、制御部TCNTaは、同じポートPT1の制御部RCNTaから受ける縮退情報FBをパケット(図7で説明する縮退通知パケット)として経路に送信する。制御部RCNTa、TCNTaおよび監視部MONは、パケットの送信元のノードNDに接続されたスイッチ装置SWに向けて縮退情報FBを送信し、他のスイッチ装置SWから受信した縮退情報FBを管理部30に格納する第1制御部の一例である。
ポートPT2の受信部10bは、制御部RCNTbおよびバッファ部BUFを有する。制御部RCNTbは、ノードNDのネットワークインタフェース60から受けるパケットをバッファ部BUFに格納し、バッファ部BUFに格納されたパケットをクロスバースイッチXBARに出力する。送信部20bは、制御部TCNTbおよびバッファ部BUFを有する。制御部TCNTbは、クロスバースイッチXBARを介して転送されるパケットをバッファ部BUFに格納し、バッファ部BUFから読み出したパケットをノードNDのネットワークインタフェース60に送信する。例えば、バッファ部BUFは、FIFO(First-In First-Out)バッファであり、制御部RCNTa(またはTCNTa、RCNTb、TCNTb)からのパケットを一時的に保持する。
管理部30は、レーンが縮退された経路の位置を示す情報と、縮退されたレーンの比率を示す縮退率と、レーンが縮退された情報の通知先を示す情報とを、縮退情報FBとして保持する。管理部30に保持された縮退情報FBは、各受信部10aの監視部MONにより読み書き可能であり、ノードNDのネットワークインタフェース60により読み出し可能である。管理部30の例は、図5に示される。
クロスバースイッチXBARは、受信部10a、10bからのパケットに含まれる宛先情報に基づいて、パケットを出力する送信部20a、20bを決定し、決定した送信部20aまたは送信部20bにパケットを転送する。
図4は、図2に示すノードNDの例を示す。ノードNDは、バスBUSを介して互いに接続されたプロセッサ40、メモリ50およびネットワークインタフェース60を有する。例えば、プロセッサ40は、メモリ50に格納されたプログラムを実行することで動作し、ノードND全体の動作を制御する。メモリ50は、プロセッサ40が実行するプログラムと、スイッチ装置SWに送信するパケットに含ませるデータ等の情報と、スイッチ装置SWから受信するパケットに含まれるデータ等の情報とを記憶する領域を有する。
ネットワークインタフェース60は、制御部62、DMAC(Direct Memory Access Controller)64、送信部70および受信部80を有する。制御部62は、プロセッサ40から出力されるパケットの送信指示TREQに基づいて、パケットTPKTに含ませるデータを読み出す指示(アドレスADおよびデータ長DL)をDMAC64に出力する。DMAC64は、制御部62からの指示に基づいて、データ転送要求DREQを発行し、メモリ50からデータDTを読み出す。制御部62は、DMAC64がメモリ50から読み出したデータDTを用いてパケットTPKTを生成し、生成したパケットTPKTを送信部70に出力する。また、制御部62は、受信部80からパケットRPKTを受信した場合、DMAC64を制御して、受信したパケットRPKTに含まれるデータ等の情報をメモリ50に格納させる。
送信部70は、ギャップ挿入部72およびギャップ制御部74を有する。ギャップ挿入部72は、パケットTPKTに含まれる送信先のアドレスTADをギャップ制御部74に出力し、ギャップ制御部74からギャップの挿入指示GINSを受ける。ギャップ挿入部72は、挿入指示GINSが示す比率にしたがって、パケット間にギャップGAPを挿入する。例えば、ギャップ挿入部72は、挿入指示GINSが”25%の挿入”を示す場合、パケットTPKTとギャップGAPの比率を3:1に設定し、挿入指示GINSが”50%の挿入”を示す場合、パケットTPKTとギャップGAPの比率を1:1に設定する。また、ギャップ挿入部72は、挿入指示GINSがない場合、ギャップGAPを挿入せずにパケットTPKTをスイッチ装置SWの受信部10bに送信する。
ギャップ制御部74は、送信先のアドレスTADに基づいて、管理部30から受ける縮退情報FBに含まれるレーン縮退が発生した経路をパケットが通るか否かを判定する。ギャップ挿入部74は、レーン縮退が発生した経路をパケットが通る場合、縮退情報FBに含まれるレーンの縮退率に基づいて、ギャップGAPの挿入指示GINSを作成する。ギャップ制御部74は、レーン縮退が発生した経路をパケットが通らない場合、挿入指示GINSを作成しない。これにより、ギャップ挿入部72は、レーン縮退が発生した経路をパケットが通る場合、レーンの縮退率に応じて、パケット間にギャップGAPを挿入することができる。ギャップ制御部74は、送信するパケットが通る経路を示す縮退情報FBが、ノードNDに接続されたスイッチ装置SWの管理部30に保持される場合、伝送レートの低下に応じたギャップの挿入を示す挿入指示GINSを生成する第2制御部の一例である。
受信部80は、スイッチ装置SWの送信部20bから受けるパケットRPKTを制御部62に出力する。ネットワークインタフェース60の動作の例は、図13に示す。
図5は、図2に示す管理部30の例を示す。管理部30は、各受信部10aから出力される縮退情報FBの内容を格納する管理テーブル30aを有する。管理テーブル30aは、レーンの縮退の度合い(レーン縮退により減少した伝送レートの低下の度合い)を示すレーン縮退率、レーン縮退が発生した位置を示す縮退位置および縮退情報FBの送信先を示す通知先アドレスを格納する領域を有する。縮退位置の領域には、レーン縮退が発生した経路に接続されたスイッチ装置SWのアドレスと、レーン縮退が発生した軸および軸の方向とが格納される。管理テーブル30aは、伝送レートの低下が検出された経路を示す情報を含む縮退情報FBを保持する保持部の一例である。
図5に示す管理テーブル30aの1行目は、軸X1が”2”、軸X2が”2”で示されるスイッチ装置SWの軸X2の+方向の経路で、縮退率1/2(50%)のレーン縮退が発生したことを示す。また、管理テーブル30aの1行目は、縮退情報FBを含む縮退通知パケットが、軸X1が”1”、軸X2が”0”で示されるスイッチ装置SWに向けて送信されたことを示す。管理テーブル30aの1行目は、図7に示す動作により、アドレスが(2,2)、(2,1)、(2,0)、(1,0)のスイッチ装置SWの管理部30に格納される縮退情報FBの例を示す。
管理テーブル30aの2行目は、軸X1が”2”、軸X2が”2”で示されるスイッチ装置SWの軸X2の+方向の経路で、縮退率1/2(50%)のレーン縮退が発生したことを示す。また、管理テーブル30aの2行目は、縮退情報FBを含む縮退通知パケットが、軸X1が”1”、軸X2が”1”で示されるスイッチ装置SWに向けて送信されたことを示す。管理テーブル30aの2行目は、図11に示す動作により、アドレスが(2,2)、(2,1)、(1,1)のスイッチ装置SWの管理部30に格納される縮退情報FBの例を示す。このように、管理テーブル30aは、レーン縮退率および縮退位置を、縮退通知パケットを送信した通知先アドレス毎に保持する。縮退情報FBを、通知先アドレス毎に管理テーブル30aに保持することで、複数のスイッチ装置SWが複数の経路を介して互いに接続される場合にも、管理テーブル30aを参照することで、縮退情報FBを通知したスイッチ装置SWを判定することができる。
図6は、図2に示す情報処理システムSYS2においてパケットが伝送される例を示す。図6に示す例では、アドレス(2,2)のスイッチ装置SWの軸X2の+方向の経路にレーン縮退率1/2のレーン縮退が発生中である。レーン縮退が発生した経路は、破線で示される。
図6に示す例では、太い円で示したアドレス(1,0)のノードNDが、アドレス(2,3)のノードNDを宛先にパケットを送信する。矢印はパケットの転送方向を示し、矢印の脇の黒い四角はパケットを示し、矢印の脇の白い四角はギャップを示す。この例では、アドレス(1,1)のノードNDがスイッチ装置SWの軸X2の+方向を通るパケットを送信する可能性があることが予め分かっているため、輻輳の発生を抑止するために、アドレス(1,0)のノードNDは、パケット間にギャップを1つ挿入する。
パケットは、次元順ルーティングの規則にしたがって、送信先のノードNDにおける軸X1のアドレス”2”を示すスイッチ装置SWまで軸X1の+方向に転送され、その後、送信先のノードNDにおける軸X2のアドレス”3”まで軸X2の+方向に転送される。アドレス(2,2)のスイッチ装置SWは、パケットに含まれる宛先情報に基づいて、レーン縮退が発生した軸X2の+方向をパケットが通ることを検出し、縮退情報FBを管理テーブル30aに格納する。アドレス(2,2)のスイッチ装置SW内の網掛けの四角は管理テーブル30aに格納された縮退通知パケットを示す。なお、管理テーブル30aに格納される縮退情報FBは、図5の管理テーブル30aの1行目に示される。
図7は、図2に示す情報処理システムSYS2において縮退通知パケットがスイッチ装置SWに伝送される例を示す。図7は、図6の動作の続きを示す。縮退が発生したレーンに接続されたアドレス(2,2)のスイッチ装置SWは、パケットの送信元のノードND(アドレス(1,0))に向けて縮退情報FBを含む縮退通知パケットを送信する。網掛けの四角は縮退通知パケットを示し、網掛けの四角の脇の矢印は縮退通知パケットの転送方向を示す。
アドレス(2,2)のスイッチ装置SWは、縮退通知パケットを送信した後、アドレス(1,0)のノードNDが送信したパケットをレーンが縮退された経路に送信する。アドレス(2,2)のスイッチ装置SWから送信されるパケットは、レーン縮退が発生しない場合に比べて、伝送レートが1/2になる。そして、アドレス(1,0)のノードNDから送信されたパケットは、アドレス(2,3)のスイッチ装置SWを介してアドレス(2,3)のノードNDに転送される。
縮退通知パケットは、次元順ルーティングの規則にしたがって、パケットの送信元であるノードNDの軸X1のアドレス”0”を示すスイッチ装置SWまで、各スイッチ装置SWの軸X2の−方向に転送される。その後、縮退通知パケットは、パケットの送信元であるノードNDの軸X1のアドレス”1”まで軸X1の−方向に転送される。
縮退通知パケットを受信したスイッチ装置SWは、縮退通知パケットに含まれる縮退情報FBを管理部30の管理テーブル30aに格納し、縮退通知パケットを次のスイッチ装置SWに転送する。縮退通知パケットは、送信元のノードNDに接続されたスイッチ装置SWまで転送され、送信元のノードNDには転送されない。なお、アドレス(2,2)のスイッチ装置SWは、軸X2の+方向の経路で発生したレーン縮退を検出した時点で、管理部30に縮退情報FBを格納してもよい。
図8は、図7に示す縮退通知パケットのフォーマットの例を示す。縮退通知パケットは、パケットタイプ、ルーティングヘッダ(d1,d2)および縮退情報FBを含む。縮退情報FBの領域には、図5に示す管理テーブル30aに格納される情報と同一または同様の情報が設定される。パケットタイプの領域には、パケットが縮退通知パケットであることを示す情報が設定される。ルーティングヘッダの領域には、レーン縮退を検出したスイッチ装置SWから送信元のスイッチ装置SWまでの距離を示す相対アドレス(d1、d2)が設定される。ルーティングヘッダ内の相対アドレスは、各スイッチ装置SWが縮退通知パケットを受信する毎に”1”ずつ減らされ、相対アドレスが(0,0)になった時点で縮退通知パケットの転送が終了する。
例えば、図7では、アドレス(2,2)のスイッチ装置SWは、ルーティングヘッダに(1,2)を設定し、縮退通知パケットをアドレス(2,1)のスイッチ装置SWに送信する。アドレス(2,1)のスイッチ装置SWは、ルーティングヘッダを(1,1)に変更し、縮退通知パケットをアドレス(2,0)のスイッチ装置SWに送信する。アドレス(2,0)のスイッチ装置SWは、ルーティングヘッダを(1,0)に変更し、縮退通知パケットをアドレス(1,0)のスイッチ装置SWに送信する。アドレス(1,0)のスイッチ装置SWは、変更後のルーティングヘッダが(0,0)になるため、縮退通知パケットを送信しない。
図9は、図2に示す情報処理システムSYS2において縮退通知パケットの送信後にパケットが伝送される例を示す。図9は、図7の動作の続きを示す。図6と同一または同様の動作については、図6と同一の符号または記号を示し、詳細な説明は省略する。
図9に示す例では、太い円で示したアドレス(2,1)のノードNDからアドレス(2,3)のノードNDにパケットが転送される。図5に示す管理テーブル30aの1行目において、アドレス(2,1)は、通知先アドレスと縮退位置のアドレスとの間の経路に含まれるため、アドレス(2,2)のスイッチ装置SWは、アドレス(2,1)に向けて縮退通知パケットを送信しない。但し、アドレス(2,1)のスイッチ装置SWは、図7の動作により、縮退情報FBを管理テーブル30aに保持済みである。このように、通知先アドレスと縮退位置の間の経路に存在するスイッチ装置SWが縮退情報FBを受信済みの場合、縮退情報FBを重複して送信することを避けることができ、ネットワークに掛かる負荷が増加することを抑えることができる。
アドレス(2,1)のノードNDは、アドレス(2,1)のスイッチ装置SWの管理テーブル30aに格納された縮退情報FBを参照し、パケットの送信経路にレーン縮退率1/2のレーン縮退が発生中であることを検出する。このため、アドレス(2,1)のノードNDは、パケット間にギャップを挿入し、パケットの転送レートを図6に示す転送レートの1/2に下げる。これにより、レーン縮退が発生した経路に輻輳が発生することを抑止することができる。輻輳の発生が抑止されるため、パケットが通るスイッチ装置SWのバッファ部BUFが詰まることを抑止することができる。換言すれば、バッファBUFが詰まることにより輻輳が発生することを抑止することができる。この結果、送信先がアドレス(2,3)以外のパケットを転送する場合に、転送経路に輻輳が連鎖的に発生することを抑止することができる。例えば、アドレス(1,1)のノードNDからアドレス(3,3)のノードへのパケットは、パケット間にギャップGAPを挿入することなく、かつ輻輳を発生させることなくパケットを転送することができる。
図10は、図2に示す情報処理システムSYS2においてパケットが伝送される別の例を示す。図6と同一または同様の動作については、図6と同一の符号または記号を示し、詳細な説明は省略する。図10は、図7の動作の続きを示す。
図10に示す例では、太い円で示したアドレス(1,1)のノードNDからアドレス(2,3)のノードNDにパケットが転送される。アドレス(1,1)のスイッチ装置SWは、管理部30の管理テーブル30aに縮退情報FBを保持していない。このため、アドレス(1,1)のノードNDは、レーン縮退の発生を知ることなく、図6に示すアドレス(1,0)のノードNDと同様の転送レートでパケットを送信する。パケットは、図6と同様に転送される。
縮退が発生したレーンに接続されたアドレス(2,2)のスイッチ装置SWは、管理テーブル30aを参照し、パケットの送信元のノードND(アドレス(1,1))に接続されたスイッチ装置SWに縮退通知パケットを送信していないことを検出する。そして、アドレス(2,2)のスイッチ装置SWは、管理テーブル30aを更新し、”レーン縮退率1/2、縮退アドレスX1=2、X2=2、縮退軸X2+、通知先アドレスX1=1、X2=1”の縮退情報FBを追加する。縮退アドレスは、レーン縮退が発生した経路に接続されたスイッチ装置SWのアドレスである。管理テーブル30aに追加される縮退情報FBは、図5の管理テーブル30aの2行目に示される。
図11は、図2に示す情報処理システムSYS2において縮退通知パケットがスイッチ装置SWに伝送される別の例を示す。図7と同一または同様の動作については、図7と同一の符号または記号を示し、詳細な説明は省略する。図11は、図10の動作の続きを示す。
縮退が発生したレーンに接続されたアドレス(2,2)のスイッチ装置SWは、パケットの送信元のノードND(アドレス(1,1))に向けて縮退情報FBを含む縮退通知パケットを送信する。アドレス(2,2)のスイッチ装置SWは、縮退通知パケットを送信した後、図7と同様に、アドレス(1,1)のノードが送信したパケットをレーンが縮退された経路に送信する。
縮退通知パケットは、次元順ルーティングの規則にしたがって、図7と同様に、アドレス(2,1)のスイッチ装置SWとアドレス(1,1)のスイッチ装置SWに順次に転送される。縮退通知パケットを受けたスイッチ装置SWは、アドレス(2,2)のスイッチ装置SWと同様に、管理テーブル30aを更新し、受信した縮退通知パケットに含まれる縮退情報FBを追加する。
図7および図11に示すように、縮退通知パケットは、パケットを送信したノードNDに接続されたスイッチ装置SWまで順次に転送される。このため、パケットを送信したノードNDは、次のパケットの送信からギャップGAPを挿入することができ、輻輳の発生を抑制することができる。
図12は、図3に示すスイッチ装置SW内のポートPT1の動作の例を示す。図12に示す動作は、ポートPT1内のハードウェアにより実現されてもよく、ポートPT1に含まれるプロセッサにより実行されるプログラムにより実現されてもよい。
まず、ステップS100において、受信部10aは、隣接するスイッチ装置SWからパケットを受信したか否かを判定する。パケットを受信した場合、処理はステップS102に移行され、パケットを受信しない場合、処理はステップS100を繰り返す。
ステップS102において、監視部MONは、制御部RCNTaからの指示に基づいて、図5に示す管理部30の管理テーブル30aを参照し、受信したパケットが、スイッチ装置SWに接続されたレーンが縮退された経路を通るか否かを判定する。すなわち、監視部MONは、パケットが転送される次のレーンが、縮退中か否かを判定する。例えば、監視部MONは、次の2つの条件の両方が成立する場合、受信したパケットが、スイッチ装置SWに接続されたレーンが縮退された経路を通ると判定する。
(1)管理テーブル30aに保持された各縮退情報FBに含まれる、”縮退位置”の”アドレス”が、自身のスイッチ装置SWと同じアドレスである。
(2)上記(1)に対応して管理テーブル30aに格納された”縮退位置”の”軸”が、受信したパケットを送信するポートPT1の軸と同じである。
パケットが、スイッチ装置SWに接続されたレーンが縮退された経路を通る場合、処理はステップS104に移行され、パケットが、スイッチ装置SWに接続されたレーンが縮退された経路を通らない場合、処理はステップS110に移行される。ステップS102の判定により、レーンが縮退された経路に接続されたスイッチ装置SWは縮退通知パケットを送信するが、他のスイッチ装置SWは縮退通知パケットを送信しない。この結果、図7および図11に示す縮退通知パケットの転送動作が可能になり、レーンが縮退された経路を通るパケットを送信するノードNDは、パケット間にギャップGAPを挿入することが可能になる。
ステップS104において、監視部MONは、縮退通知パケットを送信元のノードNDに接続されたスイッチ装置SWに未通知か否かを判定する。例えば、監視部MONは、縮退情報FBに含まれる縮退位置を通るパケットの送信元のアドレスが、縮退情報FBに含まれる”通知先アドレス”と”縮退位置”との間の経路を示す場合、縮退通知パケットを通知済みであると判定する。一方、監視部MONは、縮退情報FBに含まれる縮退位置を通るパケットの送信元のアドレスが、縮退情報FBに含まれる”通知先アドレス”と”縮退位置”との間の経路以外を示す場合、縮退通知パケットを未通知であると判定する。
縮退通知パケットが通知済みの場合、処理はステップS110に移行され、縮退通知パケットが未通知の場合、処理はステップS106に移行される。縮退通知パケットを通知したか否かを判定する例は、図14、図15、図16、図17、図18で説明する。
ステップS106において、監視部MONは、受信したパケットの宛先を示す情報を、制御部RCNTaを介して受ける。そして、監視部MONは、レーンの縮退率と、レーンが縮退された経路の位置と、パケットの送信元であるノードNDのアドレスを管理部30の管理テーブル30aに格納することで、管理テーブル30aを更新する。
次に、ステップS108において、制御部RCNTaは、管理テーブル30aに格納した縮退情報FBを監視部MONから受ける。制御部RCNTaは、受けた縮退情報FBを縮退通知パケットとして、クロスバースイッチXBARを介してポートPT1内の送信部20aに転送する。送信部20aは、受けた縮退通知パケットをパケットの送信元のノードNDに向けて送信する。
次に、ステップS110において、制御部RCNTaは、受信したパケットを、クロスバースイッチXBARを介してパケットの転送方向に位置する他のポートPT1の送信部20aに送信する。そして、パケットは、パケットに含まれる宛先情報が示すノードNDに向けて転送される。ステップS110の終了後、処理は再びステップS100に戻る。
図12に示す動作では、ステップS104、S106、S108は、レーンが縮退された経路に接続されたスイッチ装置SWにより実行される。なお、図7および図11に示すように、縮退通知パケットを受信した他のスイッチ装置SWは、隣接するスイッチ装置SWに縮退通知パケットを送信する。
図13は、図4に示すネットワークインタフェース60内のギャップ制御部74の動作の例を示す。
まず、ステップS200において、ギャップ制御部74は、ギャップ挿入部72からパケットの送信先のアドレスTADを受信したか否かを判定する。すなわち、ギャップ制御部74は、ノードNDのネットワークインタフェース60がパケットを送信するか否かを判定する。アドレスTADを受信した場合、処理はステップS202に移行され、アドレスTADを受信しない場合、処理はステップS200を繰り返す。
ステップS202において、ギャップ制御部74は、スイッチ装置SWの管理テーブル30aから縮退情報FBを取得し、アドレスTAD(送信先)で示されるパケットが、レーン縮退の発生中の経路を通るか否かを判定する。例えば、監視部MONは、管理テーブル30aに保持された各縮退情報FBを読み出し、受信したパケットが各縮退情報FBに含まれる縮退位置を通るか否かを確認する。パケットが縮退情報FBに含まれる縮退位置(レーン縮退の発生中の経路)を通る場合、処理はステップS204に移行され、パケットが縮退位置を通らない場合、処理はステップS200に移行される。パケットがレーン縮退の発生中の経路を通るか否かを判定する例は、図19、図20、図21、図22で説明する。
ステップS204において、ギャップ制御部74は、レーン縮退の発生により減少したパケットの伝送レートに対応するギャップの挿入をギャップ挿入部72に指示する。例えば、ギャップ制御部74は、ステップS202で取得した縮退情報FB中の”レーン縮退率”に基づいて、図4で説明したように、ギャップの挿入を示す挿入指示GINSをギャップ挿入部72に出力する。ステップS204の終了後、処理は再びステップS200に戻る。
図14は、3次元のネットワークにおいて、縮退通知パケットの通知の有無を判定する方法の例を示す。図14において、白丸および黒丸の各々は、ネットワーク上のスイッチ装置SWまたはノードNを示し、スイッチ装置SWおよびノードNのアドレスは、軸X1、軸X2、軸X3の値(例えば(1,2,3))で示す。また、説明を分かりやすくするため、図14の説明では、スイッチ装置SWおよびノードNは、スイッチ装置(1,2,3)およびノード(1,2,3)等と称される。図14に示すネットワークでは、アドレスが増加する方向へのパケットは、軸X1、軸X2、軸X3の順に転送経路が決まり、アドレスが減少する方向へのパケットは、軸X3、軸X2、軸X1の順に転送経路が決まる次元順ルーティングを採用する。
図14に示す例では、スイッチ装置(5,6,7)の軸X3の+方向(三角印)でレーンの縮退が発生した後に、ノード(1,2,3)からノード(5,6,9)へパケットが送信される。レーンが縮退された経路に接続されたスイッチ装置(5,6,7)は、レーン縮退の発生後、軸X3の+方向に送信するパケットを受けた場合、図5に示す管理テーブル30aに縮退情報FBを格納する。そして、スイッチ装置(5,6,7)は、パケットの送信元のノード(1,2,3)に向けて縮退通知パケットを通知する。縮退通知パケットは、太い矢印で示す経路を通ってスイッチ装置(1,2,3)まで順次に転送される。レーンが縮退された経路に接続されたスイッチ装置(5,6,7)は、スイッチ装置Dとも称される。パケットの送信元のノード(2,2,2)に接続されたスイッチ装置(2,2,2)は、スイッチ装置Rとも称される。
太い矢印上の存在するスイッチ装置SWの各々は、受信した縮退通知パケットに含まれる縮退情報FBを管理テーブル30aに格納する。太い矢印上の白丸は、縮退通知パケットを受信したスイッチ装置の一部を示す。一方、太い矢印上に存在しないスイッチ装置の各々は、縮退通知パケットを受信せず、管理テーブル30aは、縮退情報FBを保持しない。図14に示した黒丸は、縮退通知パケットを未受信のスイッチ装置の一部を示す。
スイッチ装置Dは、レーンが縮退された三角印で示した経路を通る新たなパケットを太い矢印上に存在するノードから受信した場合、縮退通知パケットを送信しない。一方、スイッチ装置Dは、レーンが縮退された三角印で示した経路を通る新たなパケットを太い矢印上以外のノードから受信した場合、パケットの送信元のノードに向けて縮退通知パケットを送信する。縮退通知パケットの送信の要否は、以下の条件に基づいて判断される。
(条件1a)、(条件1b)、(条件1c)および(条件2)が成立する場合、または(条件1d)、(条件1e)が成立する場合、スイッチ装置Dは、パケットの送信元アドレスのスイッチ装置に縮退通知パケットを通知済みであると判断する。一方、(条件1a)、(条件1b)、(条件1c)、(条件2)のいずれかが成立しない場合、または(条件1d)、(条件1e)のいずれかが成立しない場合、スイッチ装置Dは、送信元アドレスのスイッチ装置SWに縮退通知パケットを未通知であると判断する。以下では、レーンが縮退された経路に接続されたスイッチ装置Dのアドレスは、縮退アドレスDと称され、縮退通知パケットの通知先のスイッチ装置Rのアドレスは、通知先アドレスRと称される。
(条件1)
(条件1a)新たなパケットを発行するノードのアドレス(送信元アドレス)において、各軸の値のうち1つのみが、縮退アドレスDおよび通知先アドレスRにおける対応する軸の値と異なる。
(条件1b)送信元アドレスにおいて、上記(条件1a)が成立する軸よりルーティング順序が前の全ての軸の値が、縮退アドレスDにおける対応する軸の値と等しい。
(条件1c)送信元アドレスにおいて、上記(条件1a)が成立する軸よりルーティング順序が後の全ての軸の値が、通知先アドレスRにおける対応する軸の値と等しい。
(条件1d)送信元アドレスの全ての軸の値が、縮退アドレスDおよび通知先アドレスRのいずれかと等しい。
(条件1e)ルーティング順序の前側の軸の値が、縮退アドレスDにおける対応する軸の値と等しく、ルーティング順序の後側の軸の値が、通知先アドレスRにおける対応する軸の値と等しい。
(条件2)上記(条件1a)、(条件1b)、(条件1c)が成立する軸の値が、縮退アドレスDにおける対応する軸の値と通知先アドレスRにおける対応する軸の値の間に存在する。
太い矢印で示した経路上に存在するノードNDのうち、太い矢印が折れ曲がる位置にないノードc、g、jは、(条件1a)、(条件1b)、(条件1c)、(条件2)が成立する。太い矢印の延長上の経路に存在するノードa、d、oは、(条件1a)、(条件1b)、(条件1c)が成立するが、(条件2)が成立しない。太い矢印に対応する一点鎖線で示した経路上に存在するノードNDのうち、角部にないノードi、hは、(条件1a)、(条件2)が成立するが、(条件1b)、(条件1c)のいずれかが成立しない。太い矢印に対応する一点鎖線の延長上に存在するノードe、nは、(条件1a)が成立するが、(条件1b)、(条件1c)のいずれかと(条件2)とが成立しない。
例えば、太い矢印上に存在するノードcの軸X1の値”3”は、スイッチ装置Dの軸X1の値”5”およびスイッチ装置Rの軸X1の値”1”と異なり、軸X2、軸X3の値”2”、”3”は、スイッチ装置Rの軸X2、軸X3の値と等しい。このため、ノードcは、(条件1a)が成立する。また、ノードcは、(条件1a)が成立する軸X1よりルーティング順序が後の軸X2、軸X3の値”2”、”3”が通知先アドレスRの軸X2、軸X3の値と等しいため、(条件1c)が成立する。(条件1a)が成立する軸X1よりルーティング順序が前の軸は存在しないため、(条件1b)は判定に使用されない。さらに、(条件2)において、ノードcの軸X1の値”3”は、縮退アドレスDの軸X1の値”5”と通知先アドレスRの軸X1の値”1”の間に存在する。したがって、ノードcは、(条件1)、(条件2)の両方が成立し、スイッチ装置Dは、ノードcからアドレス(5,6,9)を送信先とする新たなパケットを受信した場合、スイッチ装置(3,2,3)に縮退通知パケットを通知済みであると判断する。この場合、スイッチ装置Dは、縮退通知パケットを送信しない。
一方、太い矢印が折れ曲がる位置に存在するノードb、kは、(条件1d)、(条件1e)が成立する。太い矢印に対応する一点鎖線で示した経路上に存在するノードNDのうち、角部に位置するノードf、l、mは、(条件1d)が成立するが、(条件1e)が成立しない。
例えば、ノードfは、条件(1d)が成立するが、軸X3の値”7”は通知先アドレスRの軸X3の値”3”と異なるため、条件(1e)が成立しない。したがって、スイッチ装置Dは、ノードfからアドレス(5,6,9)を送信先とする新たなパケットを受信した場合、スイッチ装置(5,2,7)に縮退通知パケットを未通知であると判断する。この場合、スイッチ装置Dは、スイッチ装置(5,2,7)に縮退通知パケットを送信する。
以下では、先頭にDが付く符号は、縮退アドレスを示し、先頭にRが付く符号は、パケットの通知先のアドレスである通知先アドレスを示し、先頭にLが付く符号は、新たなパケットの送信元のアドレスである送信元アドレスを示す。符号D、R、Lの後の数値は、軸の番号を示す。先頭にSが付く符号は、各軸に接続されるノードの数を示す。
n次元(nは正の整数)のネットワークでは、式(1)が成立する整数y(1≦y≦n)が存在する場合、上記の(条件1a)、(条件1b)、(条件1c)または(条件1d)、(条件1e)が成立する。
L1=D1、L2=D2、...、Ly−1=Dy−1、Ly+1=Ry+1、Ly+2=Ry+2、...、Ln=Rn ‥‥(1)
例えば、yが”1”で、L2=R2、L3=R3、...、Ln=Rnの場合、上記の(条件1)が成立する。例えば、2次元(n=2)では、L1=D1(yは”1”になる)またはL2=R2(yは”2”になる)が成立する場合、(条件1)が成立する。
また、トポロジがメッシュのネットワークでは、式(2)または式(3)が成立する場合、(条件2)が成立する。
Ry≦Ly≦Dy ‥‥(2)
Dy≦Ly≦Ry ‥‥(3)
トポロジがトーラスのネットワークでは、式(4)、(2)または式(4)、(3)が成立する場合、(条件2)が成立する。あるいは、トポロジがトーラスのネットワークでは、式(5)、(6)または式(5)、(7)が成立する場合、(条件2)が成立する。
|Ry−Dy|≦Sy−|Ry−Dy| ‥‥(4)
|Ry−Dy|>Sy−|Ry−Dy| ‥‥(5)
Ly≦Ry≦Dy ‥‥(6)
Ry≦Dy≦Ly ‥‥(7)
図15は、図3に示す監視部MONに設けられる第1判定部の例を示す。図15に示す第1判定部JDG1nは、n次元(nは、3以上の整数)のネットワークにおいて、パケットの送信元のアドレスが(条件1)が成立するか否かを判定する。
第1判定部JDG1nは、複数の比較器102、一対のデコーダ104、106、比較器108およびマルチプレクサ110を有する。各比較器102は、パケットの送信元のアドレスの軸X1から軸Xn(nは、3以上の整数)について、送信元アドレスLnと縮退アドレスDnとを比較し、軸X2から軸Xnについて、送信元のノードアドレスLnと通知先アドレスRnとを比較する。各比較器102は、比較結果が一致する場合、”1”を出力し、不一致の場合、”0”を出力する。
デコーダ104は、送信元アドレスLnと縮退アドレスDnとの比較結果を番号が小さい順に比較し、最初に不一致(=”0”)となった軸の番号を出力する。デコーダ106は、送信元アドレスLnと通知先アドレスRnとの比較結果を番号が大きい順に比較し、最初に不一致(=”0”)となった軸の番号を出力する。なお、デコーダ106は、デコーダ104の入力のビット幅と合わせるため、最後に”1”を入力する。また、各デコーダ104、106は、入力される全てのビットが”1”の場合、”0”を出力する。
比較器108は、デコーダ104、106からの出力値が一致する場合、”1”を出力し、不一致の場合、”0”を出力する。マルチプレクサ110は、比較器108の出力が”1”の場合、デコーダ104から出力される値(軸の番号)を軸yとして出力する。すなわち、判定回路JGD1nは、比較器102の出力が不一致となった軸の番号が同じ場合、(条件1)が成立する軸yが存在すると判定する。マルチプレクサ110は、デコーダ104から軸の番号”n−1”が出力される場合、軸X1で(条件1)が成立すると判定し、”1”をyとして出力する。マルチプレクサ110は、デコーダ106から軸の番号”0”が出力される場合、n軸で(条件1)が成立すると判定し、軸の番号”n”をyとして出力する。マルチプレクサ110は、それ以外の場合、(条件1)が成立しないと判定し、”0”をyとして出力する。
図16は、図3に示す監視部MONに設けられる第2判定部の例を示す。図16に示す第2判定部JDG2nは、n次元(nは、3以上の整数)のネットワークにおいて、(条件2)を判定する。第2判定部JDG2nは、図15に示す第1判定部JDG1nの判定により得られたyの値を用いて動作する。このため、第2判定部JDG2nから出力される判定結果が”1”の場合、第1判定部JDG1nに入力した送信元アドレスは、(条件1)、(条件2)が成立する。すなわち、判定結果が”1”の場合、縮退通知パケットが、第1判定部JDG1nに入力した送信元アドレスが割り当てられるスイッチ回路SWに通知済みであると判定される。一方、判定結果が”0”の場合、縮退通知パケットが、第1判定部JDG1nに入力した送信元アドレスが割り当てられるスイッチ回路SWに未通知であると判定される。
第2判定部JDG2nは、マルチプレクサ122、124、126、128、比較器130、132、134、136、ORゲート138、140、演算器142、144、比較器146およびマルチプレクサ148を有する。
マルチプレクサ122は、図19で求められた軸yに存在するノードNDの数Sを選択して出力する。マルチプレクサ124は、通知先アドレスRのうち、図19で求められた軸yの値を選択して出力する。マルチプレクサ126は、送信元アドレスLのうち、図19で求められた軸yの値を選択して出力する。マルチプレクサ128は、縮退アドレスDのうち、図19で求められた軸yの値を選択して出力する。
比較器130は、マルチプレクサ124、126、128の出力値に基づいて、式(2)が成立する場合、”1”を出力し、式(2)が成立しない場合、”0”を出力する。比較器132は、マルチプレクサ124、126、128の出力値に基づいて、式(3)が成立する場合、”1”を出力し、式(3)が成立しない場合、”0”を出力する。比較器134は、マルチプレクサ124、126、128の出力値に基づいて、式(6)が成立する場合、”1”を出力し、式(6)が成立しない場合、”0”を出力する。比較器136は、マルチプレクサ124、126、128の出力値に基づいて、式(7)が成立する場合、”1”を出力し、式(7)が成立しない場合、”0”を出力する。
ORゲート138は、式(2)または式(3)が成立する場合、”1”を出力する。ORゲート140は、式(6)または式(7)が成立する場合、”1”を出力する。演算器142は、マルチプレクサ124、128の出力から|Ry−Dy|を求める。演算器144は、マルチプレクサ122の出力と、演算器142の出力とからSy−|Ry−Dy|を求める。比較器146は、演算器142、144の出力に基づいて、式(4)が成立する場合、”1”を出力し、式(6)が成立する場合(すなわち、式(4)が成立しない場合)、”0”を出力する。マルチプレクサ148は、ORゲート138、140、141の出力、比較器146の比較結果およびネットワークのトポロジを示すトポロジ情報を受け、判定結果を出力する。トポロジ情報は、ネットワークがメッシュまたはトーラスであることを示す。
例えば、トポロジがメッシュの場合、マルチプレクサ148は、ORゲート138の出力を判定結果として出力する(式(2)または式(3)の判定結果)。トポロジがトーラスで、比較器146が”1”を出力する場合、マルチプレクサ148は、ORゲート138の出力を判定結果として出力する(式(4)、(2)または式(4)、(3)の判定結果)。トポロジがトーラスで、比較器146が”0”を出力する場合、マルチプレクサ148は、ORゲート140の出力を判定結果として出力する(式(5)、(6)または式(5)、(7)の判定結果)。
以上より、監視部MONは、第2判定部JDG2nが判定結果”1”を出力する場合、パケットの送信元のスイッチ回路SWに縮退通知パケットを通知済みであると判定する。また、監視部MONは、第2判定部JDG2nが判定結果”0”を出力する場合、パケットの送信元のスイッチ回路SWに縮退通知パケットを未通知であると判定する。
図17は、図3に示す監視部MONに設けられる第1判定部の別の例を示す。図17に示す第1判定部JDG1は、2次元のネットワークにおいて、パケットの送信元のアドレスが(条件1)が成立するか否かを判定する。
第1判定部JDG1は、送信元アドレスL1と縮退アドレスD1とを比較する比較器102aと、送信元アドレスL2と通知先アドレスR2とを比較する比較器102bと、マルチプレクサ114とを有する。マルチプレクサ114は、比較器102aが一致を示す場合、”2”をyとして出力し、比較器102bが一致を示す場合、”1”をyとして出力し、それ以外の場合、”0”をyとして出力する。yの値が”1”または”2”の場合、図14で説明した(条件1)が成立する。
例えば、図9において、アドレス(2,1)のノードNDからアドレス(2,3)のノードNDにパケットが送信される場合、送信元アドレスL1と縮退アドレスD1とが等しいため、アドレス値”2”がyとして出力される。また、アドレス(1,1)のノードNDからアドレス(2,3)のノードNDにパケットが送信される場合、送信元アドレスL1と縮退アドレスD1とが異なり、送信元アドレスL2と通知先アドレスR1とが異なるため、”0”がyとして出力される。
図18は、図3に示す監視部MONに設けられる第2判定部の別の例を示す。図18に示す第2判定部JDG2は、2次元のネットワークにおいて、(条件2)を判定する。図16と同一または同様の要素は、図16と同じ符号を付し、詳細な説明は省略する。第2判定部JDG2は、図17に示す第1判定部JDG1の判定により得られたyの値に基づいて動作する。第2判定部JDG2は、マルチプレクサ124a、126a、128a、比較器130、132およびORゲート138を有する。
マルチプレクサ124a、126a、128aは、図16に示すマルチプレクサ124、126、128と同様に、通知先アドレスR、送信元アドレスLおよび縮退アドレスDにおける軸yの値をそれぞれ出力する。比較器130、132およびORゲート138は、図16と同様に動作する。
例えば、図9において、アドレス(2,1)のノードNDからアドレス(2,3)のノードNDにパケットが送信され、図17に示す第1判定部JDG1からアドレス値”2”がyとして出力されるとする。この場合、比較器130によりRy≦Ly≦Dyの成立が判定され、判定結果として”1”が出力される。すなわち、監視部MONは、アドレス(2,1)のスイッチ回路SWに縮退通知パケットを送信済みであると判定する。
また、図10において、アドレス(1,1)のノードNDからアドレス(2,3)のノードNDにパケットが送信され、図17に示す第1判定部JDG1からアドレス値”0”がyとして出力されるとする。この場合、比較器130、132による判定は成立しないため、判定結果として”0”が出力される。すなわち、監視部MONは、アドレス(1,1)のスイッチ回路SWに縮退通知パケットを未送信であると判定する。
次に、図4に示したネットワークインタフェース60が、送信するパケットがレーン縮退の発生した経路を通るか否かを判定する条件を示す。ネットワークがn次元の場合、レーン縮退の発生した軸の番号を”a”として、以下の(条件3)と(条件4)−(条件9)のいずれかが成り立てば、パケットはレーン縮退した経路を通ると判定される。なお、先頭にDが付く符号は、縮退アドレスを示し、先頭にRが付く符号は、パケットの通知先のアドレスを示し、先頭にLが付く符号は、パケットの送信元のアドレスを示す。先頭にSが付く符号は、各軸に接続されるノードの数を示す。
(条件3)R1=D1,R2=D2,...,Ra−1=Da−1(a≧2)、または、R2=D2,R3=D3,...,Rn=Dn(a=1)が成立する。
(条件4)ネットワークのトポロジがメッシュで、レーン縮退の発生した軸の方向が+であれば、La≦Da<Ra、または、Ra≦Da<Laが成立する場合、パケットはレーン縮退した経路を通る。
(条件5)ネットワークのトポロジがメッシュで、レーン縮退の発生した軸の方向が−であればLa<Da≦Ra、または、Ra<Da≦Laが成立する場合、パケットはレーン縮退した経路を通る。
(条件6)ネットワークのトポロジがトーラスで、|Ra−La|≦Sa−|Ra−La|が成り立ち、レーン縮退の発生した軸の方向が+であれば、La≦Da<Ra、または、Ra≦Da<Laが成立する場合、パケットはレーン縮退の発生した経路を通る。
(条件7)ネットワークのトポロジがトーラスで、|Ra−La|≦Sa−|Ra−La|が成り立ち、レーン縮退の発生した軸方向が−であれば、La<Da≦Ra、または、Ra<Da≦Laが成立する場合、パケットはレーン縮退の発生した経路を通る。
(条件8)ネットワークのトポロジがトーラスで、|Ra−La|>S−|Ra−La|が成り立ち、レーン縮退の発生した軸の方向が+であれば、Da<La<Ra、または、Ra<La≦Daが成立する場合、パケットはレーン縮退の発生した経路を通る。
(条件9)ネットワークのトポロジがトーラスで、|Ra−La|>S−|Ra−La|が成り立ち、レーン縮退の発生した軸方向が−であれば、Da≦La<Ra、または、Ra<La<Daが成立する場合、パケットはレーン縮退の発生した経路を通る。
図19は、図4に示すネットワークインタフェース60に設けられる第3判定部の例を示す。図19に示す第3判定部JDG3nは、n次元のネットワークにおいて、パケットの通知先のアドレスが(条件3)が成立するか否かを判定する。例えば、第3判定部JDG3nは、図4に示す送信部70のギャップ制御部74に設けられる。
第3判定部JDG3nは、複数の比較器202、デコーダ204、比較器206、マルチプレクサ206およびORゲート210を有する。各比較器202は、通知先アドレスRの各軸の値と縮退アドレスDの各軸とが一致する場合”1”を出力し、不一致の場合”0”を出力する。デコーダ204は、通知先アドレスRの各軸の値と縮退アドレスDの各軸との比較結果を軸の番号が若い順に参照し、最初に不一致(=”0”)となった軸の番号を出力する。デコーダ204は、全ての比較器202が”1”を出力する場合、”0”を出力する。
比較器206は、レーン縮退の発生した軸である縮退軸aが”2”以上の場合の判定に使用される。比較器206は、デコーダ204から出力される軸の番号が縮退軸aと一致する場合、”L1=D1、L2=D2、...、La−1=Da−1”が成立すると判定し、”1”を出力し、不一致の場合、”0”を出力する。マルチプレクサ208は、縮退軸aが”1”の場合の判定に使用される。マルチプレクサ208は、デコーダ204の出力が”0”で、縮退軸aが”1”の場合、”L2=D2、L3=D3、...、Ln−1=Dn−1”が成立すると判定し、”1”を出力し、それ以外では”0”を出力する。
ORゲート210は、比較器206またはマルチプレクサ208の出力が”1”を示す場合、1”を判定結果として出力する。すなわち、第3判定部JDG3nは、(条件3)である”L1=D1、L2=D2、...、La−1=Da−1”または”L2=D2、L3=D3、...、Ln−1=Dn−1”が成立する場合に”1”を出力する。
図20は、図4に示すネットワークインタフェース60に設けられる第4判定部の例を示す。例えば、図20に示す第4判定部JDG4nは、図4に示す送信部70のギャップ制御部74に設けられ、n次元のネットワークにおいて、上記の(条件4)、(条件5)、(条件6)、(条件7)、(条件8)、(条件9)のいずれかが成立するか否かを判定する。なお、図20および図22では、先頭にLが付く符号は、パケットの送信元のアドレスである送信元アドレスを示す。
第4判定部JDG4nは、マルチプレクサ222、224、226、228、比較器230、232、234、236、ORゲート238、240、242、244、演算器246、248、比較器250およびマルチプレクサ252を有する。
マルチプレクサ222は、縮退軸aのノード数Sを選択して出力する。マルチプレクサ224は、通知先アドレスRのうち、縮退軸aの値を選択して出力する。マルチプレクサ226は、送信元アドレスLのうち、縮退軸aの値を選択して出力する。マルチプレクサ228は、縮退アドレスDのうち、縮退軸aの値を選択して出力する。
比較器230は、マルチプレクサ224、226、228の出力値に基づいて、La≦Da<RaまたはLa<Da≦Raが成立する場合、対応する出力端子に”1”を出力し、成立しない場合、対応する出力端子に”0”を出力する。比較器232は、マルチプレクサ224、226、228の出力値に基づいて、Ra≦Da<LaまたはRa<Da≦Laが成立する場合、対応する出力端子に”1”を出力し、成立しない場合、対応する出力端子に”0”を出力する。
比較器234は、マルチプレクサ224、226、228の出力値に基づいて、Da<La<RaまたはDa≦La<Raが成立する場合、対応する出力端子に”1”を出力し、成立しない場合、対応する出力端子に”0”を出力する。比較器236は、マルチプレクサ224、226、228の出力値に基づいて、Ra<La≦DaまたはRa<La<Daが成立する場合、対応する出力端子に”1”を出力し、成立しない場合、対応する出力端子に”0”を出力する。
演算器246は、マルチプレクサ224、228の出力から|Ra−La|を求める。演算器248は、マルチプレクサ222の出力と、演算器246の出力とからSa−|Ra−Da|を求める。比較器250は、演算器246、248の出力に基づいて、|Ra−Da|≦Sa−|Ra−Da|が成立する場合、”1”を出力し、成立しない場合、”0”を出力する。マルチプレクサ252は、ORゲート238、240、242、244の出力、比較器250の比較結果、ネットワークのトポロジを示すトポロジ情報および軸の縮退方向を示す情報を受け、判定結果を出力する。
マルチプレクサ252は、ORゲート238、240、242、244および比較器250の出力と、トポロジ情報と、軸縮退方向に基づいて、(条件4)−(条件9)のいずれかが成立する場合、”1”を判定結果として出力する。マルチプレクサ252は、(条件4)−(条件9)が成り立たない場合、”0”を判定結果として出力する。
例えば、トポロジがメッシュで縮退軸方向が”+”の場合、マルチプレクサ252は、ORゲート238の出力を判定結果として出力する(条件(4)の判定結果)。トポロジがメッシュで縮退軸方向が”−”の場合、マルチプレクサ252は、ORゲート240の出力を判定結果として出力する(条件(5)の判定結果)。
トポロジがトーラスで、比較器250が”1”を出力し、縮退軸方向が”+”の場合、マルチプレクサ252は、ORゲート238の出力を判定結果として出力する(条件(6)の判定結果)。トポロジがトーラスで、比較器250が”1”を出力し、縮退軸方向が”−”の場合、マルチプレクサ252は、ORゲート238の出力を判定結果として出力する(条件(7)の判定結果)。
トポロジがトーラスで、比較器250が”0”を出力し、縮退軸方向が”+”の場合、マルチプレクサ252は、ORゲート242の出力を判定結果として出力する(条件(8)の判定結果)。トポロジがトーラスで、比較器250が”0”を出力し、縮退軸方向が”−”の場合、マルチプレクサ252は、ORゲート244の出力を判定結果として出力する(条件(9)の判定結果)。
以上より、ギャップ制御部74は、第3判定部JDG3nおよび第4判定部JDG4nの両方が判定結果”1”を示す場合、パケットがレーン縮退した経路を通ると判定し、挿入部72に対して、パケット間へのギャップGAPの挿入を指示する。一方、ギャップ制御部74は、第3判定部JDG3nまたは第4判定部JDG4nのいずれかの判定結果が”0”を示す場合、パケットがレーン縮退した経路を通らないと判定し、挿入部72に対して、パケット間へのギャップGAPの挿入を指示しない。
図21は、図4に示すネットワークインタフェース60に設けられる第3判定部の別の例を示す。図21に示す第3判定部JDG3は、2次元のネットワークにおいて、パケットの通知先のアドレスが(条件3)が成立するか否かを判定する。例えば、第3判定部JDG3は、図4に示す送信部70のギャップ制御部74に設けられる。
第3判定部JDG3は、通知先アドレスR1と縮退アドレスD1とを比較する比較器260aと、通知先アドレスR2と縮退アドレスD2とを比較する比較器260bと、マルチプレクサ262とを有する。マルチプレクサ262は、縮退軸aが”2”の場合、比較器260aの出力を判定結果として出力し、縮退軸aが”1”の場合、比較器260bの出力を判定結果として出力する。
例えば、図2に示すように、ネットワークが2次元でメッシュの場合、(条件3)に基づいて、縮退軸の番号が”2”であれば、通知先アドレスR1と縮退アドレスD1とが等しい場合に判定結果が”1”になる。縮退軸の番号が”1”であれば、通知先アドレスR2と縮退アドレスD2とが等しい場合に判定結果が”1”になる。
例えば、図9では、軸X2(アドレス(2,2)の軸X2の+方向)でレーン縮退が発生し、アドレス(2,1)のノードNDからアドレス(2,3)のノードNDにパケットが送信される。この場合、比較器260aは、通知先アドレスR1(=2)と縮退アドレスD1(=2)とが互いに等しいため”1”を出力し、比較器260bは、通知先アドレスR2(=3)と縮退アドレスD1(=2)とが異なるため”0”を出力する。マルチプレクサ262は、縮退軸aである軸X2に対応する比較器260aから出力される”1”を判定結果として出力する。
一方、図9において、例えば、アドレス(2,1)のノードNDからアドレス(3,3)のノードNDにパケットが送信される場合、通知先アドレスR1(=3)と縮退アドレスD1(=2)とは互いに異なる。また、通知先アドレスR2(=3)と縮退アドレスD1(=2)とは互いに異なる。マルチプレクサ262は、縮退軸aである軸X2に対応する比較器260aから出力される”0”を判定結果として出力する。
図22は、図4に示すネットワークインタフェース60に設けられる第4判定部の別の例を示す。図20と同一または同様の要素は、図20と同じ符号を付し、詳細な説明は省略する。図22に示す第4判定部JDG4は、2次元のネットワーク(メッシュ)において、パケットの通知先のアドレスが(条件4)または(条件5)が成立するか否かを判定する。例えば、図22に示す第4判定部JDG4は、図4に示す送信部70のギャップ制御部74に設けられる。第4判定部JDG4は、マルチプレクサ224a、226a、228a、比較器230、232、ORゲート238、240およびマルチプレクサ252aを有する。
マルチプレクサ224a、226a、228aは、図20に示すマルチプレクサ224、226、228と同様に、送信元アドレスL、縮退アドレスDおよび通知先アドレスRのそれぞれにおける縮退軸aの値を選択して出力する。比較器230、232およびORゲート238、240のそれぞれは、図20の比較器230、232およびORゲート238、240のそれぞれと同様に動作する。
マルチプレクサ252aは、レーン縮退の発生した軸の方向を示す縮退軸方向が”+”の場合、ORゲート238の出力を判定結果として出力し、縮退軸方向が”−の場合、ORゲート240の出力を判定結果として出力する。
例えば、図9では、軸X2(アドレス(2,2)の軸X2の+方向)でレーン縮退が発生し、アドレス(2,1)のノードNDからアドレス(2,3)のノードNDにパケットが送信される。縮退軸aは”2”であるため、各比較器230、232は、マルチプレクサ224a、226a、228aから出力される送信元アドレスL2(=1)、縮退アドレスD1(=2)および通知先アドレスR2(=3)を比較する。マルチプレクサ230は、La≦Da<RaおよびLa<Da≦Raが成立するため、出力端子のそれぞれから”1”を出力する。マルチプレクサ232は、Ra≦Da<LaおよびRa<Da≦Laが成立しないため、出力端子のそれぞれから”0”を出力する。マルチプレクサ252aは、縮退軸aが”2”であるため、ORゲート238の出力(=1)を判定結果として出力する。すなわち、図9では、第3判定部JDG3(図21)の判定結果および第4判定部JDG4の判定結果の両方が成立する。このため、アドレス(2,1)のノードNDからアドレス(2,3)のノードNDに送信されるパケットは、レーン縮退が発生した経路を通ると判断される。この場合、ギャップ制御部74は、挿入部72に対して、パケット間へのギャップGAPの挿入を指示する。
一方、図9において、例えば、アドレス(1,0)のノードNDからアドレス(2,1)のノードNDにパケットが送信される場合、La≦Da<Ra、La<Da≦Ra、Ra≦Da<LaおよびRa<Da≦Laは、いずれも成立しない。このため、各比較器230、232は、それぞれの出力から”0”を出力し、マルチプレクサ252aは、判定結果として”0”を出力する。すなわち、アドレス(1,0)のノードNDからアドレス(2,1)のノードNDに送信されるパケットは、レーン縮退が発生した経路を通らないと判断される。この場合、ギャップ制御部74は、挿入部72に対して、パケット間へのギャップGAPの挿入を指示しない。
以上、図2から図22に示す実施形態においても、図1に示す実施形態と同様に、伝送レートの低下を起因とする輻輳が発生することを抑止することができる。さらに、図2から図22に示す実施形態では、パケットが通るスイッチ装置SWのバッファ部BUFが詰まることを抑止することができるため、縮退が発生した経路以外で輻輳が連鎖的に発生することを抑止することができる。
縮退通知パケットは、パケットを送信したノードNDに接続されたスイッチ装置SWまで順次に転送される。このため、パケットを送信したノードNDは、次のパケットの送信からギャップGAPを挿入することができ、ネットワークに輻輳が発生する可能性を下げることができる。
また、パケットの送信毎に、送信元のスイッチ装置SWに縮退通知パケットが送信され、送信元のスイッチ装置SWまでの経路上に存在するスイッチ装置SWは、縮退通知パケットに含まれる縮退情報FBを保持する。この際、図5に示す管理テーブル30aにより、通知先アドレスと縮退位置との間の経路に存在するスイッチ装置SWが縮退情報FBを受信済みの場合、縮退情報FBを重複して送信することを避けることができる。この結果、ネットワークに掛かる負荷の増加を抑えて、縮退情報FBをスイッチ装置SWに保持させることができる。
図23は、別の実施形態における情報処理システムにおいて、スイッチ装置SWに設けられる管理部31の例を示す。管理部31は、図5に示した管理部30の代わりに設けられ、管理テーブル30aの代わりに管理テーブル31aを有する。スイッチ装置SWにおいて、管理テーブル31aを除く構成は、図5と同様である。スイッチ装置SWは、監視部MONの動作および管理部31が異なることを除き、図3と同様の構成を有する。すなわち、情報処理システムSYS3は、図2に示す情報処理システムSYS2と同様に、スイッチ装置SWを介して複数のノードNDを接続した2次元のメッシュタイプのネットワークを有し、並列計算機として動作する。情報処理システムSYS3は、アドレスが増加する方向へのパケットを、軸X1、軸X2の順で転送経路を決め、アドレスが減少する方向へのパケットを、軸X2、軸X1の順で転送経路を決める次元順ルーティングを採用する。なお、ネットワークの次元数、トポロジ(メッシュ、トーラス等)およびノードNDの数は、図2に限定されない。図23から図29は、情報処理システム、情報処理装置、スイッチ装置および情報処理システムの制御方法の別の実施形態を示す。
管理テーブル31aは、図5に示した管理テーブル30aの”通知先アドレス”の領域の代わりに”通知軸”の領域を有する。”通知軸”は、縮退通知パケットを送信する軸の方向を示す。図23から図29に示す実施形態では、縮退通知パケットは、管理テーブル31aの”通知軸”の領域に格納された軸方向に沿って、軸の末端のスイッチ装置SWまで伝送される。なお、トーラスタイプのネットワークの場合、縮退通知パケットは、管理テーブル31aの”通知軸”の領域に格納された軸方向に沿って、縮退通知パケットを送信するスイッチ装置SWまで伝送される。すなわち、トーラスタイプのネットワークでは、縮退通知パケットを送信するスイッチ装置SWが、軸の末端のスイッチ装置SWになる。
図24は、図23に示す情報処理システムSYS3においてパケットが伝送される例を示す。図6と同一または同様の動作については、図6と同一の符号または記号を示し、詳細な説明は省略する。図24では、図6と同様に、アドレス(2,2)のスイッチ装置SWにおける軸X2の+方向の経路にレーン縮退率1/2のレーン縮退が発生中である。レーン縮退が発生した経路は、破線で示される。
図24に示す例では、太い円で示したアドレス(1,1)のノードNDは、アドレス(2,3)のノードNDを宛先にパケットを送信する。パケットは、次元順ルーティングの規則にしたがって、アドレス(2,1)、(2,2)のスイッチ装置SWまで順次に転送される。アドレス(2,2)のスイッチ装置SWは、パケットに含まれる宛先情報に基づいて、レーン縮退が発生した軸X2の+方向をパケットが通ることを検出し、縮退情報FBを管理テーブル30aに格納する。この際、スイッチ装置SWは、パケットを受信した軸X2の−方向を示す”X2−”を管理テーブル31aの”通知軸”の領域に格納する。管理テーブル31aに格納される縮退情報FBは、図23の管理テーブル30aの1行目に示される。
図25は、図23に示す情報処理システムSYS3において縮退通知パケットがスイッチ装置SWに伝送される例を示す。図7と同一または同様の動作については、図7と同一の符号または記号を示し、詳細な説明は省略する。図25は、図24の動作の続きを示す。縮退が発生したレーンに接続されたアドレス(2,2)のスイッチ装置SWは、軸X2の−方向の末端のスイッチ装置SW(アドレス(2,0))に向けて縮退情報FBを含む縮退通知パケットを送信する。
アドレス(2,2)のスイッチ装置SWは、図7と同様に、縮退通知パケットを送信した後、アドレス(1,1)のノードNDが送信したパケットをレーンが縮退された経路に向けて送信する。そして、アドレス(1,0)のノードNDから送信されたパケットは、アドレス(2,3)のスイッチ装置SWを介してアドレス(2,3)のノードNDに転送される。
縮退通知パケットは、アドレス(2,1)、(2,0)のスイッチ装置SWに順次に転送される。縮退通知パケットを受信したスイッチ装置SWは、縮退通知パケットに含まれる縮退情報FBを管理部31の管理テーブル31aに格納し、縮退通知パケットを次のスイッチ装置SWに転送する。図25において、管理テーブル31aに格納された縮退情報FBは、スイッチ装置SW内に示す網掛けの四角で示される。なお、アドレス(2,2)のスイッチ装置SWは、軸X2の+方向の経路で発生したレーン縮退を検出した時点で、管理部31に縮退情報FBを格納してもよい。
図26は、図23に示す情報処理システムSYS3においてパケットが伝送される別の例を示す。図10と同一または同様の動作については、図10と同一の符号または記号を示し、詳細な説明は省略する。図26は、図25の動作の続きを示す。
図26では、図10と同様に、太い円で示したアドレス(1,1)のノードNDからアドレス(2,3)のノードNDにパケットが転送される。アドレス(1,1)のスイッチ装置SWは、縮退通知パケットを未受信であり、管理テーブル31aに縮退情報FBを保持していない。このため、アドレス(1,1)のノードNDは、図24に示すアドレス(1,0)のノードNDと同様の転送レートでパケットを送信する。
アドレス(1,1)のスイッチ装置SWからパケットを受信したアドレス(2,1)のスイッチ装置SWは、管理テーブル31aを参照し、パケットがレーン縮退の発生した経路を通ることを検出する。そして、アドレス(2,1)のスイッチ装置SWは、管理テーブル31aを更新し、”レーン縮退率1/2、縮退アドレスX1=2、X2=2、縮退軸X2+、通知軸X1−”の縮退情報FBを追加する。管理テーブル31aに追加される縮退情報FBは、図23の管理テーブル31aの2行目に示される。
図27は、図23に示す情報処理システムSYS3において縮退通知パケットがスイッチ装置SWに伝送される別の例を示す。図25と同一または同様の動作については、図25と同一の符号または記号を示し、詳細な説明は省略する。図27は、図26の動作の続きを示す。
アドレス(1,1)のスイッチ装置SWからパケットを受信したアドレス(2,1)のスイッチ装置SWは、パケットを受信した軸X1の−方向の末端のスイッチ装置SW(アドレス(0,1))に向けて縮退情報FBを含む縮退通知パケットを送信する。
アドレス(2,1)のスイッチ装置SWは、縮退通知パケットを送信した後、アドレス(1,1)のノードNDが送信したパケットをレーンが縮退された経路に向けて送信する。そして、アドレス(1,0)のノードNDから送信されたパケットは、アドレス(2,3)のスイッチ装置SWを介してアドレス(2,3)のノードNDに転送される。
縮退通知パケットは、アドレス(1,1)、(0,1)のスイッチ装置SWに順次に転送される。縮退通知パケットを受信したスイッチ装置SWは、縮退通知パケットに含まれる縮退情報FBを管理部31の管理テーブル31aに格納し、縮退通知パケットを次のスイッチ装置SWに転送する。
図27では、縮退通知パケットは、レーンの縮退が発生した経路に接続されたスイッチ装置SWがパケットを受ける前に、パケットを受信したスイッチ装置SWから送信される。このため、図11に比べて、縮退通知パケットをパケットの送信元のスイッチ装置SWに迅速に伝送することができる。また、縮退通知パケットは、軸の末端のスイッチ装置SWまで伝送されるため、ネットワークが大きいほど(軸に配置されるスイッチ装置SWの数が多いほど)、多くのスイッチ装置SWに縮退通知パケットを送信することができる。
図28は、図23に示すスイッチ装置SWの動作の例を示す。図12と同一または同様の動作は、図12と同じ符号を示し、詳細な説明は省略する。図28では、図12のステップS100、S102の間に、ステップS101aが挿入され、図12のステップS102、S104、S108の代わりにステップS102a、S104a、S108aが実行される。その他の処理は、図12と同様である。図28に示す動作は、図3に示すポートPT1内のハードウェアにより実現されてもよく、ポートPT1に含まれるプロセッサにより実行されるプログラムにより実現されてもよい。
まず、ステップS100において、受信部10aがパケットを受信した場合、ステップS101aにおいて、パケットを受信したスイッチ装置SWの管理テーブル31aに縮退情報FBが保持されたか否かが判定される。管理テーブル31aに縮退情報FBが保持された場合、処理はステップS102に移行され、管理テーブル31aに縮退情報FBが保持されていない場合、処理はステップS110に移行される。
ステップS102aでは、図12と同様に、監視部MONは、管理テーブル31aを参照し、受信したパケットが、スイッチ装置SWに接続されたレーンが縮退された経路を通るか否かを判定する。但し、ステップS102は、レーン縮退の発生した経路に接続されたスイッチ装置SWを含む、縮退情報FBを保持する全てのスイッチ装置SWにより実行される。例えば、監視部MONは、受信したパケットが、管理テーブル31aに保持された各縮退情報FBに含まれる縮退位置を通るか否かを確認する。受信したパケットが、レーンが縮退された経路を通るか否かを判定する手法は、図28の説明の最後に記載する。
パケットが、スイッチ装置SWに接続されたレーンが縮退された経路を通る場合、処理はステップS104aに移行され、パケットが、スイッチ装置SWに接続されたレーンが縮退された経路を通らない場合、処理はステップS110に移行される。
ステップS104aにおいて、監視部MONは、パケットを受信した軸方向に縮退通知パケットを未通知か否かを判定する。例えば、監視部MONは、縮退情報FBに含まれる縮退位置を通るパケットの受信方向の軸が、縮退情報FBに含まれる”通知軸”と異なる場合、縮退通知パケットを未通知であると判定する。監視部MONは、縮退情報FBに含まれる縮退位置を通るパケットの受信方向の軸が、縮退情報FBに含まれる”通知軸”と同じ場合、縮退通知パケットを通知済みであると判定する。縮退通知パケットが未通知の場合、処理はステップS106に移行され、縮退通知パケットが通知済みの場合、処理はステップS110に移行される。
ステップS106において、図12のステップS106と同様に、監視部MONは、管理テーブル31aを更新する。この際、縮退通知パケットを転送する軸の方向が”通知軸”として格納される。
次に、ステップS108aにおいて、図12のステップS108と同様に、送信部20aは、管理テーブル31aから読み出された縮退情報FBを縮退通知パケットとして、”通知軸”の末端のスイッチ装置SWに向けて送信する。
次に、ステップS110において、図12のステップS110と同様に、パケットの転送方向に位置する送信部20aは、制御部RCNTaからパケットを、パケットに含まれる宛先情報が示すノードNDに向けて送信する。ステップS110の終了後、処理は再びステップS100に戻る。
図28に示す動作では、ステップS104a、S106、S108aは、縮退情報FBを保持し、パケットを受信したスイッチ装置SWにより実行される。なお、図25および図27に示すように、縮退通知パケットを受信した他のスイッチ装置SWは、隣接するスイッチ装置SWに縮退通知パケットを送信する。
次に、ステップS102aの判定方法、すなわち、受信したパケットが、レーンが縮退された経路を通るか否かを判定する条件を示す。ネットワークのトポロジは、n次元のメッシュまたはn次元のトーラスである。
パケットがレーン縮退の発生した経路を通ると判定されるのは、パケットを送信する軸がレーンの縮退された軸Xaと等しく、上記の(条件4)、(条件5)、(条件6)、(条件7)のいずれかが成立する場合である。この場合、パケットを受信したスイッチ装置SWは、縮退通知パケットを、パケットを受信した軸に送信する。パケットがレーン縮退の発生した経路を通るか否かは、図20に示す第2判定部JDG4nと同一または同様の回路により判定することができる。
図29は、図27に示す状態におけるスイッチ装置SW内の管理テーブル31aの内容の例を示す。アドレス(2,2)のスイッチ装置SWは、図25の状態で縮退通知パケットを送信し、他のスイッチ装置SWから縮退通知パケットを受信しないため、1つの縮退情報FBを保持する。アドレス(2,1)のスイッチ装置SWは、図25の状態で縮退通知パケットを受信し、図27の状態で縮退通知パケットを送信するため、2つの縮退情報FBを保持する。
アドレス(2,0)のスイッチ装置SWは、図25の状態で縮退通知パケットを受信するため、1つの縮退情報FBを保持する。同様に、アドレス(1,1)およびアドレス(0,1)のスイッチ装置SWは、図27の状態で縮退通知パケットを受信するため、1つの縮退情報FBを保持する。
以上、図23から図29に示す実施形態においても、図1から図22に示す実施形態と同様に、伝送レートの低下を起因とする輻輳が発生することを抑止することができる。また、パケットが通るスイッチ装置SWのバッファ部BUFが詰まることを抑止することができるため、縮退が発生した経路以外で輻輳が連鎖的に発生することを抑止することができる。
さらに、図23から図29に示す実施形態では、縮退通知パケットは、レーンの縮退が発生した経路に接続されたスイッチ装置SWがパケットを受ける前に、パケットを受信したスイッチ装置SWから送信される。このため、例えば、図11の状態に比べて、縮退通知パケットをパケットの送信元のスイッチ装置SWに迅速に伝送することができる。また、縮退通知パケットは、軸の末端のスイッチ装置SWまで伝送されるため、ネットワークが大きいほど(軸に配置されるスイッチ装置SWの数が多いほど)、多くのスイッチ装置SWに縮退通知パケットを送信することができる。この結果、ネットワークに輻輳が発生する可能性を下げることができる。
図23に示す管理テーブル31aにより、縮退位置から通知軸の方向に向かう経路に存在するスイッチ装置SWが縮退情報FBを受信済みの場合、縮退情報FBを重複して送信することを避けることができる。この結果、ネットワークに掛かる負荷の増加を抑えて、縮退情報FBをスイッチ装置SWに保持させることができる。
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。