JP3758523B2 - Bidirectional ring network, node device, and bidirectional ring network control method - Google Patents

Bidirectional ring network, node device, and bidirectional ring network control method Download PDF

Info

Publication number
JP3758523B2
JP3758523B2 JP2001150590A JP2001150590A JP3758523B2 JP 3758523 B2 JP3758523 B2 JP 3758523B2 JP 2001150590 A JP2001150590 A JP 2001150590A JP 2001150590 A JP2001150590 A JP 2001150590A JP 3758523 B2 JP3758523 B2 JP 3758523B2
Authority
JP
Japan
Prior art keywords
node
node device
packet
ring network
recording register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001150590A
Other languages
Japanese (ja)
Other versions
JP2002344463A (en
Inventor
宗王 星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2001150590A priority Critical patent/JP3758523B2/en
Publication of JP2002344463A publication Critical patent/JP2002344463A/en
Application granted granted Critical
Publication of JP3758523B2 publication Critical patent/JP3758523B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はコンピュータ間のデータ通信ネットワークに関し、さらに詳しくは複数のノード装置をリング状に接続して双方向に通信する双方向リングネットワークに関する。
【0002】
【従来の技術】
コンピュータネットワークの一つの方式としてリングネットワークがある。一般に複数のノード装置をリング状に接続したものをリングネットワークと呼ぶが、各ノード装置間の通信が一方向にのみ可能であるものを単方向リングネットワーク、各ノード装置間が双方向に通信可能であるものを双方向リングネットワークと呼ぶ。リングネットワークにはノード装置数に比してリンク数が比較的少ないため、安価に実現できるというメリットがある。
【0003】
リングネットワークによってデータ通信を行う場合の一つの課題は、デッドロックの回避である。デッドロックとはリソース獲得時の競合によって処理が先に進めなくなる「すくみ」の状態を指す。一般にパケット交換方式によって通信する場合には、各パケットがノード装置内バッファをリソースとして取り合うことになる。このときリソースの依存関係がループを構成すると、デッドロックの可能性がある。
【0004】
4ノードリングネットワークでデッドロックに陥るケースを説明する。図10は4ノードリングネットワークを示している。各ノード装置1001(0) 〜1001(3) は計算機などの処理装置1003(0) 〜1003(3) と一対一に接続されており、隣接するノード装置から入力されたパケットを一つだけ保持するバッファ1002(0) 〜1002(3) と、処理装置1003(0) 〜1003(3) から入力されたパケットを保持するバッファ1004(0) 〜1004(3) とを有している。
【0005】
入力されたパケットが自分(に接続された処理装置)宛でなかった場合にはリング接続された次のノード装置にパケットをフォワードする。しかし、パケットを次のノード装置に渡すためには次のノード装置のバッファが空いている必要がある。バッファ1002(0) 〜1002(3) にはそれぞれ固有の宛先が記述されたパケット1005(0) 〜1005(3) が保持されている。図中のパケット1005(0) 〜1005(3) に記述された数字1,2,3,0 は宛先のノード番号を示している。例えばノード装置1001(1) 内のバッファ1002(1) にはノード装置1001(2) に通信すべきパケット1005(2) が保持されているが、宛先のノード装置1001(2) 内のバッファ1002(2) には既に別のパケット1005(3) が保持されており、ノード装置1001(1) はノード装置1001(2) にパケット1005(2) を受け渡すことができない。すべてのノード装置において上記と同様の状態が発生するため、すべてのノード装置がリソースが空くのを待ちつづけるすくみ状態、すなわちデッドロックに陥る。
【0006】
これは蓄積交換によるルーティングを行っている場合だが、ワームホールルーティングの場合にもリソースとしてリンクを取り合うために、同様にデッドロックに陥ることがある。
【0007】
富田眞治著「並列コンピュータ工学」(昭晃堂,1996 )p.42〜p.47では、「相互結合網におけるデッドロック」として4ノードで構成された単方向リングネットワークのデッドロックの例が紹介され、以下の解決策が提示されている。
【0008】
1.チャネルの共有化、すなわち仮想チャネルによって依存関係のサイクルを切断する。さらにノード装置内のバッファ数、仮想チャネル数を増やして任意のノードペア間の通信において競合を回避するよう構成した構造化バッファプールと呼ばれる方式もある。
【0009】
2.チャネルが獲得できない場合に獲得してきたチャネルを解放する。しかし、この場合チャネル解放のためのバッファに関してデッドロックの問題が発生するため、この方式はデッドロックの根本的な解決にはならない。
【0010】
3.一度に全チャネルを獲得する。この方式は集中制御を必要とし、各ノード装置による分散制御では実現困難である。
【0011】
4.特定のパケットが優先的にチャネルを獲得する方式。この方式はデッドロックの可能性がない場合にも特定のパケットが優先的にチャネルを獲得することを回避できず、非効率となる。
【0012】
5.リングの切断、すなわちリソースの依存関係が構成するサイクルを断ち切る。但し単方向リングネットワークにおいては直接通信不可能なノード装置ができてしまうため、通信を中継ノードにおいて一旦完結させるか、あるいは逆方向のリングを付加するなどの対策を取る必要がある。
【0013】
デッドロックの回避方法としてもっとも一般的なのは、1.に示した仮想チャネルを使用してリソースの依存関係にあるサイクルを断ち切ることである。仮想チャネルの基本的な考え方は、物理的なリンクの本数を増やさずに仮想的にノード装置間のチャネル本数を増やし、チャネルの依存関係がサイクルを構成しないようにリソースの獲得を制御することである。これはノード装置内に複数のバッファを用意し、パケット送信先などによって使用バッファを決定することによって実現されている。これらの手法は Dallyらの米国特許(U.S. patent 4,933,933 Torus routing chip)などに詳述されている。
【0014】
このような仮想チャネルによってデッドロックを回避した場合には、チャネルの数分のバッファを用意する必要があり、複数のバッファを制御するための制御回路も複雑化する。また、必要となるチャネル数はノード数に依存するため、ノード装置の構成によってネットワークの大きさが制限され、拡張性に乏しいという問題もある。
【0015】
構造化バッファプールの場合にもノード装置内のバッファ数増加と、それに伴う制御回路の複雑化の問題は避けられない。
【0016】
次に5.のリングの切断について説明する。
【0017】
逆方向のリング接続を付加した4ノード双方向リングネットワークにおいて、ルーティングの方向を制限することによって特定チャネル間の依存関係を解消し、デッドロックを回避する例を図11に示す。
【0018】
図11は4ノード双方向リングネットワークの構成図である。通信リンクC1〜C8によって双方向に通信可能なリング状に接続されたノード装置1101(0) 〜1101(3) は、それぞれ計算機などの処理装置1102(0) 〜1102(3) と一対一に接続されている。各ノード装置1101(0) 〜1101(3) は時計回り方向のリンクから受信したパケットを保持するバッファ1103(0) 〜1103(3) と、反時計回り方向のリンクから受信したパケットを保持するバッファ1104(0) 〜1104(3) と、直接接続された処理装置1102(0) 〜1102(3) から受信したパケットを保持するバッファ1105(0) 〜1105(3) をそれぞれ有している。隣接するノード装置1101(0) 〜1101(3) からパケットを受信した場合にはその送信先ノード番号を確認して処理装置1102(0) 〜1102(3) に渡すか次のノード装置1101(0) 〜1101(3) にフォワードするかのいずれかの処理を行う。
【0019】
図12は図11の双方向リングネットワークにおける、チャネルの依存関係を有向グラフで表現したものである。C1〜C8は図11に示されたリンクにそれぞれ対応している。この図ではC1→C2→C3→C4→C1とC5→C6→C7→C8→C5の二つのサイクルが存在し、デッドロックの可能性がある。
【0020】
そこで、ルーティングに以下のような制限を設ける。「ノード装置1101(0) はパケットを中継しない、すなわち、ノード装置1101(0) のバッファ1103(0) とバッファ1104(0) には、常に送信先ノード番号が0を示すパケットのみが入力される。」図13に上記の制限を加えた場合のチャネルの依存関係のグラフを示す。図13においては依存関係のサイクルは存在せず、デッドロックは回避されている。
【0021】
図14は上記のルーティング方向制限によってデッドロック回避を行った場合の具体的なルーティング方法を示している。図のように、送信元ノードと送信先ノードとによってパケットの経路が固定的に決定される。ノード装置1101(0) が送信元ノード、もしくは送信先ノードである場合には、パケットが選択可能な経路が複数存在する。図14ではそのような場合に経路の短い方を選択して記してある。ノード1101(0) からノード1101(2) への通信、およびノード1101(2) からノード1101(0) への通信は距離の等しい二つの選択可能な経路が存在し、図14にはその両方を記してある。
【0022】
このように、ノード数が4以下であればデッドロックフリーで且つノード間距離が最短になるようにパケットのルートを決定可能となることが、"A Survey of Wormhole Routing Techniques in Direct Networks",L.M.Ni and P.K.McKinley, IEEE Computer,Feb 1993,p.62-76などに示されている。
【0023】
このようにリングの切断によってデッドロックを回避した場合には、ノード数が増加した場合にパケット経路を最短距離で設定できないという問題はあるものの、ノード装置の構成は比較的単純であり、しかもネットワークの規模が大きい場合、つまりノード数が多い場合にも、ノード装置の構成には影響を与えないというメリットがある。
【0024】
【発明が解決しようとする課題】
しかし、リングの切断によってデッドロックを回避した場合には、ルーティングが固定化されているため、ネットワークの状態に応じてパケットのルートを変更することができないということが問題として指摘されている。例えば、ノード番号「0」〜「9」の10台のノード装置N0〜N9が、ノード番号の順に双方向のリンクによってリング状に接続され、且つノード番号「0」のノード装置N0が切断点にされている双方向リングネットワークにおいて、ネットワークの状態が変化し、切断点のノード装置N0に隣接するノード装置N1,N9間のトラフィックが最も多くなったとしても、ノードN1,N9間のパケットは、最も遠回りの経路を通って送受信され続けることになるという問題がある。
【0025】
また、パケットのルートをテーブルなどに記録することで変更可能なように設計した場合にも、テーブルの書き換え時にはチャネルの依存関係を考慮した上で人手で設計する必要があり、且つネットワークの運用中には変更できないという問題があった。
【0026】
【発明の目的】
本発明は上記の課題に鑑みてなされたものであり、その目的は次の通りである。
【0027】
第一の目的は、デッドロックを回避するための依存関係の切断点を変更するという簡単な操作を行うだけで、双方向リングネットワークのルーティングを容易に変更できるようにすることにある。
【0028】
第二の目的は、上記依存関係の切断点の変更に際し、変更をノード装置に指示するための専用接続を必要とせず、ネットワークの通常パスを流れるパケットによって可能にすることにある。
【0029】
第三の目的は、上記依存関係の切断点の変更を、ネットワークの運用を継続しつつ行えるようにすることにある。
【0030】
第四の目的は、上記依存関係の切断点を変更することによって、双方向リングネットワーク中の特定のリンクを未使用状態に設定し、ネットワークの拡張、あるいは保守などを容易に行えるようにすることにある。これらの目的を達成するノード装置は、構成が単純であり、且つネットワーク中のノード数の増加にも同じ構成のノード装置を使用して容易に対応可能なものでなくてはならない。
【0031】
【課題を解決するための手段】
本発明では、基本的にリンクの切断によってデッドロックを回避するアプローチを取る。このためにノード数が5以上の場合にパケットが遠回りの経路を選択することは避けられないが、ノード数が増えた場合にも同一のノード装置でリングネットワークを構成可能となる。
【0032】
上記の目的を達成するために、本発明によるノード装置は、双方向リングネットワーク中の依存関係の切断点を記録する書き換え可能な切断点記録レジスタを有し、
受信したパケットの送信先ノード番号から上記切断点記録レジスタに設定された値を減算する演算器を有し、
さらに自身のノード番号から上記切断点記録レジスタに設定された値を減算する演算器を有し、
二つの演算器の出力結果の比較に基づいてパケットの送信先を決定するルート決定手段を有する。
【0033】
さらに、本発明によるノード装置は、上記切断点記録レジスタに対して、双方向リングネットワーク中を流れる制御用特殊パケットに従って内容を書き換える構成を有する。
【0034】
【発明の実施の形態】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【0035】
図1は、本発明の第一の実施例のブロック図であり、請求項1,2に示す発明を実施した双方向リングネットワークを構成するノード装置の一例を示している。本ノード装置によって構成されるリングネットワークは双方向リングネットワークである。
【0036】
ここでは説明の簡略化のために蓄積交換式のネットワークを例にとって説明する。しかし以下に示す方式は、パケットを第一番目のフリットと読み替え、行き先アドレスを持たない第二番目以降のフリットを第一番目のフリットと同じ行き先にルーティングするよう制御することで、容易にワームホールルーティングの場合にも適用可能である。
【0037】
ノード装置101 は3つの入出力ポートを有している。一つ目の入出力ポートは入力ポート114 と出力ポート115 とから構成され、計算機などの処理装置(図示せず)に接続される。入力バッファ部108 は処理装置からの入力を入力ポート114 を介して受け取るバッファ部であり、出力制御部109 は出力ポート115 を介して処理装置へのパケットの出力を制御する。
【0038】
残る二つの入出力ポートは、リングネットワークを構成する別のノード装置と接続される。二つ目の入出力ポート、すなわち入力ポート116 と出力ポート117 は別のノード装置に接続され、三つ目の入出力ポート、すなわち入力ポート119 と出力ポート118 もまた別のノード装置に接続される。従って入力ポート116 および出力ポート118 の接続はリングネットワークにおける一方向のループを形成する接続であり、入力ポート119 および出力ポート117 は双方向リングネットワークにおいて前記のループと逆方向のループを形成する接続である。ここでは、入力ポート116 および出力ポート118 によって形成されるループを順方向のループ、入力ポート119 および出力ポート117 によって形成されるループを逆方向のループと呼ぶ。
【0039】
順方向のループを形成する入力バッファ部110 は、順方向ループを流れるパケットを保持するバッファ(図示せず)を有している。このバッファはFirst In First Outの規則に従って制御される。入力バッファ部110 は、順方向のループを形成する出力制御部112 のほかに、処理装置への出力制御部109 と、切断点記録レジスタ102 に対して接続されている。
【0040】
逆方向のループを形成する入力バッファ部113 は、逆方向のループを流れるパケットを保持するバッファ(図示せず)を有している。このバッファはFirst In First Outの規則に従って制御される。入力バッファ部113 は、逆方向のループを形成する出力制御部111 のほかに、処理装置への出力制御部109 と、切断点記録レジスタ102 に対して接続されている。
【0041】
処理装置からの入力を受ける入力バッファ部108 は、パケットを保持するバッファ(図示せず)を有している。このバッファはFirst In First Outの規則に従って制御される。入力バッファ部108 は送信先記録レジスタ103 への書き込み手段を有し、ルート決定手段105 からの指示を受け、順方向のループを形成する出力制御部112 と、逆方向のループを形成する出力制御部111 とにパケットを出力することができる。また、切断点記録レジスタ102 への書き込み手段を有している。
【0042】
送信先記録レジスタ103 は、入力バッファ部108 のパケットの送信先ノード番号を記録するレジスタである。この値は減算器107 に入力される。送信先記録レジスタ103 には、ネットワークを構成するノード装置数の最大値を記録するに十分なサイズが必要とされる。
【0043】
切断点記録レジスタ102 はデッドロックを回避するために依存関係を切断する場所を記録するレジスタである。このレジスタは入力バッファ部110 、入力バッファ部113 、入力バッファ部108 によって書き込み可能であり、その値は減算器106 と減算器107 に入力される。切断点記録レジスタ102 には、ネットワークを構成するノード装置数の最大値を記録するに十分なサイズが必要とされる。
【0044】
ノード番号記録レジスタ104 はリングネットワークにおいて各ノード装置に付与される固有のノード番号を記録するレジスタであり、各パケットはこの番号を行き先として使用する。本発明においてこの値は、リングネットワークを構成するあるノード装置に0番の番号が付与され、続いて順方向のループに沿って隣接するノード装置に対して1,2,…のように昇順に番号が付与される。ノード番号記録レジスタ104 の値はネットワークの運用開始前に設定される値であり、入力バッファ部108,110,113 の指示によって書き込み可能とする。但し図においては書きこみ手段を省略している。(専用線によって書き込み可能としても良い。)ノード番号記録レジスタ104 の値は、減算器106 とルート決定手段105 に入力される。ノード番号記録レジスタ104 には、ネットワークを構成するノード装置数の最大値を記録するに十分なサイズが必要とされる。
【0045】
減算器106 はノード番号記録レジスタ104 の値から切断点記録レジスタ102 の値を減算する回路であり、出力値はルート決定手段105 に入力される。切断点記録レジスタ102 の値の方がノード番号記録レジスタ104 の値よりも大きい場合には、結果は2の補数の形で符号付のビット列として出力される。減算器106 の出力値は、切断点のノード装置から自ノード装置までの順方向のホップ数に相当するものになる。なお、減算器106 は演算結果を符号付のビット列で表現するため、出力値のビット幅は、ノード番号記録レジスタ104 および切断点記録レジスタ102 で必要となる、ネットワークを構成するノード装置数の最大値を記録するに必要なビット数よりも1ビット以上大きくとる。
【0046】
減算器107 は送信先記録レジスタ103 の値から切断点記録レジスタ102 の値を減算する回路であり、出力値はルート決定手段105 に入力される。切断点記録レジスタ102 の値の方が送信先記録レジスタ103 の値よりも大きい場合には、結果は2の補数の形で符号付のビット列として出力される。減算器107 の出力値は、切断点のノード装置からパケットの送信先のノード装置までの順方向のホップ数に相当するものになる。なお、減算器107 は演算結果を符号付のビット列で表現するため、出力値のビット幅は、送信先記録レジスタ103 および切断点記録レジスタ102 で必要となる、ネットワークを構成するノード装置数の最大値を記録するに必要なビット数よりも1ビット以上大きくとる。
【0047】
ルート決定手段105 は、減算器107 、減算器106 、ノード番号記録レジスタ104 からの入力を受け、入力バッファ部108 に保持されるパケットの出力先を判定・指示する機能を有する。尚、このような機能を有するルート決定手段105 は、比較器等を用いて低コストで実現することができる。
【0048】
次にノード装置101 の動作について説明する。
【0049】
順方向のループにおいては、入力バッファ部110 がループを流れるパケットを受信する。入力バッファ部110 では受け取ったパケットの送信先ノード番号を判定し、これがノード装置固有の番号と一致している場合にはパケットは出力制御部109 、出力ポート115 を介して処理装置に出力される。送信先ノード番号とノード装置固有の番号が異なる場合にはループの方向に沿って出力制御部112 、出力ポート118 を介して次のノード装置にパケットを受け渡す。このノード装置固有の番号はノード番号記録レジスタ104 に保持されている値に等しい。図ではノード番号記録レジスタ104 の値を読み出して判断するように描かれているが、入力バッファ部110 がこの値のコピーを保持していても良い。
【0050】
逆方向のループにおいては、入力バッファ部113 がループを流れるパケットを受信する。入力バッファ部113 では、順方向のループの場合と同様に、受け取ったパケットの送信先ノード番号とノード装置固有の番号を比較する。一致した場合にはパケットは出力制御部109 と出力ポート115 を介して処理装置へと受け渡され、不一致であった場合には、パケットは逆方向のループに沿って出力制御部111 と出力ポート117 を介して別のノード装置に出力される。
【0051】
ここまでの動作は双方向リングネットワークを構成する従来のノード装置と変わらない。次にノード装置101 が処理装置からパケットを受け取った場合の動作を説明する。
【0052】
処理装置から入力されたパケットは入力バッファ部108 に入力される。入力バッファ部108 では、パケットの送信先ノード番号を読み出して送信先記録レジスタ103 に入力する。
【0053】
次に減算器107 は書き込まれた送信先記録レジスタ103 の値から、切断点記録レジスタ102 の値を減算し、結果をルート決定手段105 に入力する。
【0054】
ルート決定手段105 は、上記減算器107 の減算結果のほかに、減算器106 によるノード番号記録レジスタ104 の値から切断点記録レジスタ102 の値を減算した結果とノード番号記録レジスタ104 の値とを入力として受け、入力バッファ部108 に保持されたパケットの出力先を決定する。
【0055】
ルート決定手段105 によるパケットの出力先の決定方法を図2の流れ図を用いて説明する。但し本実施例では、送信元ノード番号と送信先ノード番号が同じケース、つまり自分自身への通信は起こり得ないものとしている。図2によるルートの決定方法においては、切断点記録レジスタ102 に指定された値と同じ番号を持つノード装置が、順方向のループおよび逆方向のループ両方の依存関係の切断点となっている。
【0056】
まずステップ201 では減算器106 の値を確認する。この値はノード番号記録レジスタ104 と切断点記録レジスタ102 の値の差分である。この値が0である場合には、このノード装置101 自身が順方向のループと逆方向のループの両方の依存関係の切断点となっている。この場合はステップ202 に示すようにパケットの出力先は任意である。つまり、どちらのループにパケットを送出した場合であっても、デッドロックは発生しない。
【0057】
送出方向が任意である場合には、何らかの方法によって送出方向を決定する必要がある。例えば、固定的に順方向もしくは逆方向に流す、順方向と逆方向を交互に利用する、順方向と逆方向のうちノード装置のホップ数が少ない方を判定することによって決定する、などの方法がある。入力バッファ部108 は、送出方向が順方向ループに決定した場合には出力制御部112 に、送出方向が逆方向ループに決定した場合には出力制御部111 に、パケットを送出する。
【0058】
次にステップ203 において、減算器107 の値を確認する。この値は送信先記録レジスタ103 と切断点記録レジスタ102 の値の差分である。この値が0である場合には、パケットの送信先のノード装置が順方向のループと逆方向のループの両方の依存関係の切断点となっている。この場合はステップ204 に示すようにパケットの出力先は任意である。つまり、どちらのループにパケットを送出した場合であっても、デッドロックは発生しない。ステップ204 ではステップ202 の場合と同様、何らかの規則に従ってパケットの送出方向を決定する。
【0059】
次にステップ205 において、減算器106 の出力値と減算器107 の出力値を比較する。減算器の出力が負の値であった場合には2の補数の形式で出力されているが、ステップ205 においてはそれぞれの出力値を符号なし整数として扱って比較する。従って減算結果が負の数であった場合には、減算結果が正の数であった場合よりも大きい数値であるとして扱われる。この比較の結果、減算器106 の出力値が減算器107 の出力値よりも大きかった場合、ステップ206 において送出方向は逆方向ループに決定される。この場合入力バッファ部108 のパケットは出力制御部111 に対して出力される。一方、減算器106 の出力値が減算器107 の出力値よりも小さい値であった場合には、ステップ207 において送出方向は順方向ループに決定される。この場合入力バッファ部108 のパケットは出力制御部112 に対して出力される。
【0060】
次に本発明によるノード装置101 を使用して6ノード双方向リングネットワークを構成した場合を例にとり、そのルーティング方向の決定について図3を用いて説明する。
【0061】
図3は6ノード双方向リングネットワークの構成図である。本発明によるノード装置301(0)〜301(5)はリンクC1〜C12 によってリング状に接続されている。ノード装置301(0)〜301(5)にはそれぞれ計算機などの処理装置が接続されているが、図3では省略している。
【0062】
ここでは切断点記録レジスタ102 に2が記録されている場合を例に取る。この場合、ノード番号が2であるノード装置301(2)が順方向のループと逆方向のループの両方の依存関係を切断するノード装置となる。この場合のリンクの依存関係を図4に示す。ノード装置301(2)において依存関係が切断されているため、リンクC2からリンクC3への依存関係がない。つまり、リンクC2を使用してノード装置301(2)に到達したパケットは、常にノード装置301(2)が送信先ノードであり、順方向ループのリンクC3を使用してノード装置301(3)に出力されることはない。同様に逆方向のループに関しても、リンクC10 からリンクC11 への依存関係がない。従って、逆方向ループのリンクC10 を使用してノード装置301(2)に到達したパケットは、常にノード装置301(2)が送信先ノードであり、逆方向ループのリンクC11 を使用してノード装置301(1)に送られることはない。
【0063】
ルート決定手段105 の動作をより具体的に説明する。以下に4つの通信パターンにおいて実際にどのようにルートが決定されるかを示している。ここでリングネットワークを構成するノード数は6であるので、切断点記録レジスタ102 、送信先記録レジスタ103 、ノード番号記録レジスタ104 のビット幅を3 ビット、減算器106 および減算器107 の出力ビット幅を4ビットとする。
【0064】
(1) ノード装置301(3)からノード装置301(5)までパケットを送る場合。このとき減算器107 の出力は5−2=3(二進数で0011)、減算器106 の出力は3−2=1(二進数で0001)となる。図2のステップ205 において減算器106 の出力は減算器107 の出力よりも小さいため、ステップ207 に従ってパケットは順方向ループに送出される。
【0065】
(2) ノード装置301(3)からノード装置301(1)までパケットを送る場合。このとき減算器107 の出力は1−2=−1(二進数で2の補数によって表現すると1111)、減算器106 の出力は3−2=1(二進数で0001)となる。図2のステップ205 における比較は符号なし整数として扱われるため、減算器107 の出力値(1111)が減算器106 の出力値(0001)よりも大きいと判断され、ステップ207 に従ってパケットは順方向ループに送出される。
【0066】
(3) ノード装置301(1)からノード装置301(0)までパケットを送る場合。このとき減算器107 の出力は0−2=−2(二進数で2の補数によって表現すると1110)、減算器106 の出力は1−2=−1(二進数で2の補数によって表現すると1111)となる。図2のステップ205 における比較は符号なし整数として扱われるため、減算器107 の出力値(1110)は減算器106 の出力値(1111)よりも小さいと判断され、ステップ206 に従ってパケットは逆方向ループに送出される。
【0067】
(4) ノード装置301(2)からノード装置301(4)までパケットを送る場合。このときステップ201 において減算器106 の出力が2−2=0となるため、ステップ202 に従ってパケットの送出方向は任意となる。この場合は別の方法によって送出方向を決定することになる。
【0068】
図5は、本発明によるノード装置101 を使用した6ノード双方向リングネットワークにおいて、切断点記録レジスタ102 に保持された値が2である場合、ルート決定手段105 においてどのルートが選択されるかを、パケットの送信元ノード番号と送信先ノード番号毎に示したものである。
【0069】
次に、このノード装置101 を使用して構成した双方向リングネットワークにおいて、運用中に依存関係の切断点を変更する場合について説明する。本発明による双方向リングネットワークにおいては、このような依存関係の切断点の移動を、専用線による各ノード装置への指示ではなく、処理装置からのネットワーク管理用のパケットが通常のループ上を伝播することによって行うことが可能となる。
【0070】
図3に示した6ノード双方向リングネットワーク(ノード装置として本発明による図1のノード装置を使用)において、依存関係の切断点をノード装置301(2)からノード装置301(1)へと変更する場合の例である。ノード装置301(0)〜301(5)はリンクC1〜C12 によってリング状に接続されており、各ノード装置301(0)〜301(5)には計算機などの処理装置が接続されるが、図では省略している。
【0071】
最初の時点ではノード装置301(0)〜301(5)内の切断点記録レジスタ102 には2が記録されている。この時点においてノード装置301(2)から、依存関係の切断点を移動させる指示が、通常の通信パケットとしてネットワークに投入される。このパケットを以下では制御用特殊パケットと記載する。
【0072】
制御用特殊パケットのノード装置301(2)での動作を図1を用いて説明する。制御用特殊パケットは処理装置と接続された入力ポート114 を使用して入力バッファ部108 に対して入力される。入力バッファ部108 はパケットが制御用特殊パケットであることを判別すると、パケットの出力先を決定する。この場合パケットの出力先はルート決定手段105 によっては設定されず、依存関係の切断点が移動する方向と逆向きのループに沿って移動するように、入力バッファ部108 によって決定される。この例においては依存関係の切断点は逆方向ループと同じ方向(つまりノード装置固有の番号が−1される方向)に移動させるため、パケット自身は順方向ループに沿ってリングを一周する。このために入力バッファ部108 は順方向のループを形成する出力制御部112 に対してパケットを送出する。パケットの送出と同時に、入力バッファ部108 は切断点記録レジスタ102 の内容を2から1に更新する。以後、ノード装置301(2)においては依存関係の切断点はノード装置301(1)にあるものとしてルートを決定する。
【0073】
次にノード装置301(3)が制御用特殊パケットを受信してからの動作を図1を用いて説明する。制御用特殊パケットは順方向ループの入力ポート116 から入力バッファ部110 に入力される。入力バッファ部110 内のバッファは First In First Out の規則に従ってサービスを行うため、制御用特殊パケットのサービスの順番になるまで何も特別な処理は行われない。サービス順になると、このパケットは順方向ループに沿って出力制御部112 に渡される。このとき同時に、入力バッファ部110 は切断点記録レジスタ102 の内容を2から1に書き換える。以後、ノード装置301(3)においては依存関係の切断点はノード装置301(1)にあるものとしてルートを決定する。
【0074】
ノード装置301(4),301(5),301(0)において、制御用特殊パケットは上記ノード装置301(3)の場合と同様に処理される。
【0075】
制御用特殊パケットがノード装置301(4)においてサービスされた直後の状態を想定し、過渡状態におけるリンクの依存関係を示す。この時点ではノード装置301(2),301(3),301(4)においては、切断点記録レジスタ102 の値は1に更新されているため、依存関係の切断点はノード装置301(1)にあるものと認識している。ノード装置301(5),301(0),301(1)においては、切断点記録レジスタ102 の値は2となっているため、依存関係の切断点はノード装置301(2)にあるものと認識している。
【0076】
まず順方向のループに関して着目すると、ノード装置301(2),301(3),301(4)はノード装置301(1)が依存関係の切断点であると認識しているため、ノード装置301(2),301(3),301(4)によって送信されたパケットによって、C3→C4→C5→C6→C1のようにリンクの依存関係が形成されることになる。一方、ノード装置301(5),301(0),301(1)はノード装置301(2)が依存関係の切断点であると認識しているため、ノード装置301(5),301(0),301(1)によって送信されたパケットは、C6→C1→C2のような依存関係を形成する。このときC2→C3の依存関係が存在しないのでサイクルは形成されず、デッドロックは起こり得ない。
【0077】
次に逆方向のループに関して着目すると、ノード装置301(2),301(3),301(4)はノード装置301(1)が依存関係の切断点であると認識しているため、ノード装置301(2),301(3),301(4)によって送信されたパケットによって、C9→C10 →C11 のようにリンクの依存関係が形成されることになる。一方、ノード装置301(5),301(0),301(1)はノード装置301(2)が依存関係の切断点であると認識しているため、ノード装置301(5),301(0),301(1)によって送信されたパケットは、C12 →C7→C8→C9→C10 のような依存関係を形成する。このときC11 →C12 の依存関係が存在しないのでサイクルは形成されず、デッドロックは起こり得ない。
【0078】
従ってこの双方向リングネットワークにおいては、制御用特殊パケットがネットワークを巡回中にもデッドロックは起こり得ない。
【0079】
次に、制御用特殊パケットがノード装置301(1)に到達した後の動作を図1を用いて説明する。制御用特殊パケットは順方向ループの入力ポート116 から入力バッファ部110 に入力される。入力バッファ部110 内のバッファは First In First Out の規則に従ってサービスを行うため、制御用特殊パケットのサービスの順番になるまで何も特別な処理は行われない。サービス順になると、入力バッファ部110 は、制御用特殊パケットによって示される新しい依存関係の切断点が自分のノード番号と一致することを認識し、パケットを廃棄する。このとき同時に、入力バッファ部110 は切断点記録レジスタ102 の内容を2から1に書き換える。以後、ノード装置301(1)においては依存関係の切断点はノード装置301(1)にあるものとしてルートを決定する。
【0080】
以上説明したように、制御用特殊パケットがノード装置301(2)から順方向ループに沿って301(1)まで到達することによって、リングネットワークを構成するすべてのノード装置301(0)〜(5) が依存関係の切断点を301(1)にあるものとして認識し、ネットワークにおけるパケットのルートが変更される。但しネットワークがワームホールルーティングを採用している場合には、各ノードにおける切断点記録レジスタ102 の更新に際し、パケット単位で処理が完結している必要があることに注意しなければならない。
【0081】
依存関係の切断点をノード装置301(2)から順方向のループに沿ってノード装置301(3)に移動させる場合には、制御用制御パケットをノード装置301(2)から逆方向ループに沿ってノード装置301(3)まで到達させることによって実現可能である。
【0082】
次に本発明の第二の実施例として、請求項3,4に示した発明を実施した例を説明する。
【0083】
図6は、請求項3,4にかかる本発明を実施した双方向リングネットワークを構成するノード装置101aの一例である。上記ノード装置101aは、図1に示した請求項1,2にかかる発明を実施した双方向リングネットワークを構成するノード装置101 とほぼ同様の構成を有している。そのため共通点については説明を省略し、相違点のみを説明する。
【0084】
図6に示したノード装置101aにおいては、図1に示したノード装置101 と比較してノード数記録レジスタ601 と加算器602 とが追加され、さらにルート決定手段105 の代わりにルート決定手段105aを備えている。ノード数記録レジスタ601 はリングネットワークを構成するノード装置の数を記録するレジスタである。ノード数記録レジスタ601 の値はネットワークの運用開始前に設定される値であり、入力バッファ部108,110,113 の指示によって書き込み可能とする。但し図においては書きこみ手段を省略している。(専用線によって書き込み可能としても良い。)ノード数記録レジスタ601 の値は加算器602 に入力される。ノード数記録レジスタ601 には、ネットワークを構成するノード装置数の最大値を記録するに十分なサイズが必要とされる。
【0085】
加算器602 は、ノード数記録レジスタ601 の値と減算器106 の出力値とを加算する回路であり、出力値はルート決定手段105aに入力されている。加算器602 は減算器106 と同じビット幅を必要とする。
【0086】
次にノード装置101aの動作について説明する。
【0087】
ノード装置101aがリングネットワークを構成する他のノード装置からパケットを受信した場合の動作は、図1に示したノード装置の場合と変わらない。処理装置からパケットを受信した場合もほとんど同様であるが、ルート決定手段105aの動作が異なる。
【0088】
ルート決定手段105aによるパケットの出力先の決定方法を図7の流れ図を用いて説明する。但し本実施例では、送信元ノード番号と送信先ノード番号が同じケース、つまり自分自身への通信は起こり得ないものと仮定する。
【0089】
図7によるルート決定方法においては、切断点記録レジスタ102 に指定された値と同じ番号を持つノード装置が順方向のループの依存関係の切断点となり、上記ノード装置の順方向ループに沿って一つ先に接続されたノード装置が逆方向のループの依存関係の切断点となる。
【0090】
まずステップ701 では減算器106 の値を確認する。この値はノード番号記録レジスタ104 と切断点記録レジスタ102 の値の差分である。この値が0である場合には、このノード装置101a自身は順方向のループの依存関係の切断点となっている。従って順方向のループを使用すればネットワーク中のどのノード装置であっても通信可能である。また、順方向に沿って一つだけ先にあるノード装置が逆方向のループの依存関係の切断点となっている。従ってやはり逆方向のループによってもネットワーク中のどのノード装置に対しても通信可能となる。この場合ステップ702 に示すようにパケットの出力先は任意である。どちらのループにパケットを送出した場合であっても、デッドロックは発生しない。
【0091】
送出方向が任意である場合には、図1に示したノード装置101 の動作例の場合と同様、何らかの方法によって送出方向を決定する必要がある。入力バッファ部108 は、送出方向が順方向ループに決定した場合には出力制御部112 に、送出方向が逆方向ループに決定した場合には出力制御部111 に、パケットを出力する。
【0092】
次にステップ703 において、再び減算器106 の値を確認する。この値が1である場合には、このノード装置101a自身は逆方向のループの依存関係の切断点となっている。従って逆方向のループを使用すればネットワーク中のどのノード装置であっても通信可能である。また、逆方向に沿って一つだけ先にあるノード装置が、順方向のループの依存関係の切断点となっている。従ってやはり順方向のループによってもネットワーク中のどのノード装置に対しても通信可能となる。この場合ステップ704 に示すようにパケットの出力先は任意である。どちらのループにパケットを送出した場合であっても、デッドロックは発生しない。
【0093】
ノード装置101a自身のノード番号が0である場合、逆方向のループの依存関係の切断点であっても、ステップ703 においてそれが発見できない。これを発見するために次のステップ705 において加算器602 の出力値を確認する。この値はノード数記録レジスタ601 と減算器106 の値の和である。この値が1となるのは、ネットワークを構成するノード装置数(すなわちノード数記録レジスタ601 の値)をNとして、切断点記録レジスタ102 の値がN−1、ノード番号記録レジスタ104 の値が0の場合のみである。ノード装置101aは逆方向のループの依存関係の切断点となるので、ステップ703 の場合と同様、送出方向は任意となる(ステップ706 )。
【0094】
次にステップ707 において、減算器107 の出力値を確認する。この値は送信先記録レジスタ103 と切断点記録レジスタ102 の値の差分である。この値が0のとき、送信先のノードは順方向のループの依存関係の切断点となっており、順方向のループを使用して通信可能である。しかし、このノード装置から順方向のループに沿って一つだけ先に接続されたノード装置が、逆方向のループの依存関係の切断点となっているため、逆方向のループを使用して通信することは不可能である。この場合ステップ708 において送出方向は順方向ループに決定される。入力バッファ部108 のパケットは出力制御部112 に対して出力される。
【0095】
次にステップ709 において、減算器106 の出力値と減算器107 の出力値を比較する。減算器の出力が負であった場合には2の補数の形式で出力されているが、ステップ709 においてはそれぞれの出力値を符号なし整数として扱って比較する。従って減算結果が負の数であった場合には、減算結果が正の数であった場合よりも大きい数値であるとして扱われる。この比較の結果、減算器106 の出力値が減算器107 の出力値よりも大きかった場合、ステップ710 において送出方向は逆方向ループに決定される。この場合入力バッファ部108 のパケットは出力制御部111 に対して出力される。一方、減算器106 の出力値が減算器107 の出力値よりも小さい値であった場合には、ステップ711 において送出方向は順方向ループに決定される。この場合入力バッファ部108 のパケットは出力制御部112 に対して出力される。
【0096】
次に本発明によるノード装置101aを使用して6ノード双方向リングネットワークを構成した場合を例にとり、そのルーティング方向の決定について、図を用いて説明する。
【0097】
6ノード双方向リングネットワークは、図1によるノード装置101 を使用した場合と同様に構成される。このため説明には同じ図3を使用する。ノード装置301(0)〜301(5)はリンクC1〜C12 によってリング状に接続されている。ノード装置301(0)〜301(5)にはそれぞれ計算機などの処理装置が接続されているが、図3では省略している。
【0098】
ここでは切断点記録レジスタ102 に2が記録されている場合を例に取る。この場合、ノード番号が2であるノード装置301(2)が順方向のループの依存関係を切断するノードとなり、ノード番号が3であるノード装置301(3)が逆方向のループの依存関係を切断するノードとなる。この場合のリンクの依存関係を図8に示す。ノード装置301(2)において順方向のループの依存関係が切断されているため、リンクC2からリンクC3への依存関係がない。つまり、リンクC2を使用してノード装置301(2)に到達したパケットは、常にノード装置301(2)が送信先ノードであり、順方向ループのリンクC3を使用してノード装置301(3)に出力されることはない。同様に逆方向のループに関しては、ノード装置301(3)においてループの依存関係が切断されているため、リンクC9からリンクC10 への依存関係がない。従って、リンクC9を使用してノード装置301(3)に到達したパケットは、常にノード装置301(3)が送信先ノードであり、逆方向ループのリンクC10 を使用してノード装置301(2)に出力されることはない。
【0099】
図9は、本発明によるノード装置101aを使用した6ノード双方向リングネットワークにおいて、切断点記録レジスタ102 に保持された値が2である場合、ルート決定手段105aにおいてどのルートが選択されるかを、パケットの送信元ノード番号と送信先ノード番号毎に示したものである。
【0100】
次に、このノード装置101aを使用して構成した双方向リングネットワークにおいて、運用中に依存関係の切断点を変更する場合について説明する。本発明による双方向リングネットワークにおいては、このような依存関係の切断点の移動を、専用線による各ノード装置への指示ではなく、処理装置からのネットワーク管理用のパケットが通常のループ上を伝播することによって行うことが可能となる。
【0101】
図3に示した6ノード双方向リングネットワーク(ノード装置として本発明による図6のノード装置を使用)において、順方向ループの依存関係の切断点をノード装置301(2)からノード装置301(1)に、逆方向ループの依存関係の切断点をノード装置301(3)からノード装置301(2)へと変更する場合の例である。ノード装置301(0)〜301(5)はリンクC1〜C12 によってリング状に接続されており、各ノード装置301(0)〜301(5)には計算機などの処理装置が接続されるが、図では省略している。
【0102】
最初の時点ではノード装置301(0)〜301(5)内の切断点記録レジスタ102 には2が記録されており、ネットワーク中のリンクの依存関係は図8のようになっている。この時点においてノード装置301(2)から、依存関係の切断点を移動させる指示が、制御用特殊パケットとしてネットワークに投入される。
【0103】
制御用特殊パケットがノード装置301(2)に入力された時の動作を図6を用いて説明する。制御用特殊パケットは処理装置と接続された入力ポート114 を使用して入力バッファ部108 に対して入力される。入力バッファ部108 はパケットが制御用特殊パケットであることを判別すると、パケットの出力先を決定する。この場合パケットの出力先はルート決定手段105aによっては設定されず、依存関係の切断点が移動する方向と逆向きのループに沿って移動するように、入力バッファ部108 によって決定される。この例においては依存関係の切断点は逆方向ループと同じ方向(つまりノード装置固有の番号が−1される方向)に移動させるため、パケット自身は順方向ループに沿ってリングを一周する。このために入力バッファ部108 は順方向のループを形成する出力制御部112 に対してパケットを送出する。パケットの送出と同時に、入力バッファ部108 は切断点記録レジスタ102 の内容を2から1に更新する。以後、ノード装置301(2)においては、順方向ループの依存関係の切断点はノード装置301(1)にあるものとし、逆方向ループの依存関係の切断点はノード装置301(2)にあるものとしてルートを決定する。
【0104】
次にノード装置301(3)が制御用特殊パケットを受信してからの動作を図6を用いて説明する。制御用特殊パケットは順方向ループの入力ポート116 から入力バッファ部110 に入力される。入力バッファ部110 内のバッファは First In First Out の規則に従ってサービスを行うため、制御用特殊パケットのサービスの順番になるまで何も特別な処理は行われない。サービス順になると、このパケットは順方向ループに沿って出力制御部112 に渡される。このとき同時に、入力バッファ部110 は切断点記録レジスタ102 の内容を2から1に書き換える。以後、ノード装置301(3)においては、順方向ループの依存関係の切断点はノード装置301(1)にあるものとし、逆方向ループの依存関係の切断点はノード装置301(2)にあるものとしてルートを決定する。
【0105】
ノード装置301(4),301(5),301(0)において、制御用特殊パケットは上記ノード装置301(3)の場合と同様に処理される。
【0106】
制御用特殊パケットがノード装置301(4)においてサービスされた直後の状態を想定し、過渡状態におけるリンクの依存関係を示す。この時点ではノード装置301(2),301(3),301(4)においては、切断点記録レジスタ102 の値は1に更新されているため、順方向ループの依存関係の切断点はノード装置301(1)にあるものと認識し、逆方向ループの依存関係の切断点はノード装置301(2)にあるものと認識している。ノード装置301(5),301(0),301(1)においては、切断点記録レジスタ102 の値は2となっているため、順方向ループの依存関係の切断点はノード装置301(2)にあるものと認識し、逆方向ループの依存関係の切断点はノード装置301(3)にあるものと認識している。
【0107】
まず順方向のループに関して着目すると、ノード装置301(2),301(3),301(4)はノード装置301(1)が依存関係の切断点であると認識しているため、ノード装置301(2),301(3),301(4)によって送信されたパケットによって、C3→C4→C5→C6→C1のようにリンクの依存関係が形成されることになる。一方、ノード装置301(5),301(0),301(1)はノード装置301(2)が依存関係の切断点であると認識しているため、ノード装置301(5),301(0),301(1)によって送信されたパケットは、C6→C1→C2のような依存関係を形成する。このときC2→C3の依存関係が存在しないのでサイクルは形成されず、デッドロックは起こり得ない。
【0108】
次に逆方向のループに関して着目すると、ノード装置301(2),301(3),301(4)はノード装置301(2)が依存関係の切断点であると認識しているため、ノード装置301(2),301(3),301(4)によって送信されたパケットによって、C11 →C12 →C7→C8→C9→C10 のようにリンクの依存関係が形成されることになる。一方、ノード装置301(5),301(0),301(1)はノード装置301(3)が依存関係の切断点であると認識しているため、ノード装置301(5),301(0),301(1)によって送信されたパケットは、C12 →C7→C8→C9のような依存関係を形成する。このときC10 →C11 の依存関係が存在しないのでサイクルは形成されず、デッドロックは起こり得ない。
【0109】
従ってこの双方向リングネットワークにおいては、制御用特殊パケットがネットワークを巡回中にもデッドロックは起こり得ない。
【0110】
次に、制御用特殊パケットがノード装置301(1)に到達した後の動作を図6を用いて説明する。制御用特殊パケットは順方向ループの入力ポート116 から入力バッファ部110 に入力される。入力バッファ部110 内のバッファは First In First Out の規則に従ってサービスを行うため、制御用特殊パケットのサービスの順番になるまで何も特別な処理は行われない。サービス順になると、入力バッファ部110 は、このパケットに従って切断点記録レジスタ102 の内容を2から1に更新する。このとき更新後の切断点記録レジスタの値と、自身のノード装置番号が一致することを認識すると、入力バッファ部110 は制御用特殊パケットを廃棄する。
【0111】
以上説明したように、制御用特殊パケットがノード装置301(2)から順方向ループに沿って301(1)まで到達することによって、リングネットワークを構成するすべてのノード装置301(0)〜301(5)が、順方向ループの依存関係の切断点をノード装置301(2)からノード装置301(1)に、逆方向ループの依存関係の切断点をノード装置301(3)からノード装置301(2)へと移動させ、ネットワークにおけるパケットのルートが変更される。但しネットワークがワームホールルーティングを採用している場合には、各ノードにおける切断点記録レジスタ102 の更新に際し、パケット単位で処理が完結している必要があることに注意しなければならない。
【0112】
依存関係の切断点を順方向のループに沿って移動させる場合には、制御用特殊パケットをノード装置301(3)から逆方向ループに沿って一周させることによって実現可能である。制御用特殊パケットはノード装置の入力バッファ部113 において、更新後の切断点記録レジスタ102 の値と、自身のノード番号(ノード番号記録レジスタ104 の値)を比較するため、パケット自身が逆方向ループ上を移動した場合には、制御用特殊パケット自身は発行元のノード装置301(3)まで到達する。
【0113】
次に、請求項に示した発明について説明する。
【0114】
図3の6ノード双方向リングネットワークにおいて、各ノード装置301(0)〜301(5)内の切断点記録レジスタ102 の内容が2である場合を例に取る。この場合既に説明したように、各ノード間リンクの依存関係は図8のように示され、パケットの送出方向はルート決定手段105aによって図9のように決定される。パケットが任意の方向に送出できるのは、送信元ノード番号が2もしくは3の場合である。パケットの送出方向決定は図7に示した方法に従っているが、送出方向が任意であると判定された後、
・ステップ702 において送出方向が任意となった場合には逆方向ループに対して送出
・ステップ704,706 において送出方向が任意となった場合には順方向ループに対して送出のように設定すると、リンクC3とリンクC10 、すなわちノード装置301(2)とノード装置301(3)の間のリンクはまったく使用されなくなる。上記のような設定によってノード装置301(2)と301(3)の間のリンクを未使用状態に設定した後、リンクに使用するケーブル等の交換作業や、ノードの追加作業を行うことが可能になる。
【0115】
【発明の効果】
以上、説明したように、本発明においては、次のような効果を奏する。
【0116】
第一の効果は、双方向リングネットワークにおけるパケットのルートを、ネットワークの状態に応じて容易に変更できるということである。その理由は、切断点記録レジスタに記録されている切断点のノード装置のノード番号に基づいて、デッドロックの発生しないパケットのルートを自動的に決定するルート決定手段を備えているので、切断点記録レジスタの値を変更するという簡単な操作を行うだけでパケットのルートを変更できるからである。
【0117】
第二の効果は、上記依存関係の切断点の変更に際し、変更をネットワークの通常パスを流れるパケットによって可能としたことにより、変更をノード装置に指示するための専用接続が不要となることである。
【0118】
第三の効果は、上記依存関係の切断点の変更を、ネットワークの運用を継続しつつ行えることである。
【0119】
第四の効果は、上記依存関係の切断点を変更することによって、双方向リングネットワークの特定のリンクを未使用状態に設定することによって、ネットワークの保守、拡張が容易に行える環境を提供できることである。
【図面の簡単な説明】
【図1】 請求項1,2,9,10にかかるノード装置101 の構成例を示すブロック図である。
【図2】 ノード装置101 内のルート決定手段105 が行う処理の一例を示す流れ図である。
【図3】 6ノード双方向リングネットワークの構成例を示すブロック図である。
【図4】 図3の6ノード双方向リンクネットワークをノード装置101 を用いて構成した場合の、リンク間の依存関係を示す有向グラフの一例を示す図である。
【図5】 図3の6ノード双方向リンクネットワークをノード装置101 を用いて構成した場合の、ルーティング設定の一例を示す図である。
【図6】 請求項3,4,11,12にかかるノード装置101aの構成例を示すブロック図である。
【図7】ノード装置101a内のルート決定手段105aが行う処理の一例を示す流れ図である。
【図8】 図3の6ノード双方向リンクネットワークをノード装置101aを用いて構成した場合の、リンク間の依存関係を示す有向グラフの一例を示す図である。
【図9】 図3の6ノード双方向リンクネットワークをノード装置101aを用いて構成した場合の、ルーティング設定の一例を示す図である。
【図10】単方向リングネットワークにおけるデッドロックの一例を示す図である。
【図11】 従来技術による4ノード双方向リングネットワークの構成例を示すブロック図である。
【図12】 従来技術による4ノード双方向リングネットワークにおけるリンク間の依存関係を示す有向グラフの一例を示す図である。
【図13】 従来技術による4ノード双方向リングネットワークにおいて、ルーティング方向制限によるデッドロック回避を実施した場合のリンク間の依存関係を示す有向グラフの一例を示す図である。
【図14】 従来技術による4ノード双方向リングネットワークにおいて、ルーティング制限によるデッドロック回避を実施した場合のルーティング設定の一例を示す図である。
【符号の説明】
101,101a…ノード装置
102 …切断点記録レジスタ
103 …送信先記録レジスタ
104 …ノード番号記録レジスタ
105,105a …ルート決定手段
106,107 …減算器
108,110,113 …入力バッファ部
109,111,112 …出力制御部
114,116,119 …入力ポート
115,117,118 …出力ポート
301(0)〜301(5)…ノード装置
C1〜C12 …リンク
601 …ノード数記録レジスタ
602 …加算器
1001(0) 〜1001(3) …ノード装置
1002(0) 〜1002(3) …ループを構成するバッファ
1003(0) 〜1003(3) …処理装置
1004(0) 〜1004(3) …処理装置からの入力を受けるバッファ
1005(0) 〜1005(3) …パケット
1101(0) 〜1101(3) …ノード装置
1102(0) 〜1102(3) …処理装置
1103(0) 〜1103(3) …順方向ループを構成するバッファ
1104(0) 〜1104(3) …逆方向ループを構成するバッファ
1105(0) 〜1105(3) …処理装置からの入力を受けるバッファ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a data communication network between computers, and more particularly to a bidirectional ring network in which a plurality of node devices are connected in a ring shape to communicate bidirectionally.
[0002]
[Prior art]
One type of computer network is a ring network. In general, a network in which multiple node devices are connected in a ring is called a ring network, but communication between each node device is possible only in one direction. A unidirectional ring network allows communication between each node device in both directions. Is called a bidirectional ring network. The ring network has a merit that it can be realized at low cost because the number of links is relatively small compared to the number of node devices.
[0003]
One problem in performing data communication over a ring network is avoiding deadlock. Deadlock refers to a "slack" state where processing cannot proceed further due to contention when acquiring resources. In general, when communicating by a packet switching method, each packet uses a buffer in the node device as a resource. If the resource dependency at this time forms a loop, there is a possibility of deadlock.
[0004]
A case where a deadlock occurs in a four-node ring network will be described. FIG. 10 shows a four-node ring network. Each node device 1001 (0) to 1001 (3) is connected one-to-one with a processing device 1003 (0) to 1003 (3) such as a computer, and holds only one packet input from an adjacent node device Buffers 1002 (0) to 1002 (3) and buffers 1004 (0) to 1004 (3) for holding packets input from the processing devices 1003 (0) to 1003 (3).
[0005]
If the input packet is not addressed to itself (the processing device connected to), the packet is forwarded to the next node device connected in the ring connection. However, in order to pass the packet to the next node device, the buffer of the next node device needs to be empty. Buffers 1002 (0) to 1002 (3) hold packets 1005 (0) to 1005 (3) in which unique destinations are described, respectively. The numbers 1, 2, 3, and 0 described in the packets 1005 (0) to 1005 (3) in the figure indicate destination node numbers. For example, the buffer 1002 (1) in the node device 1001 (1) holds the packet 1005 (2) to be communicated to the node device 1001 (2), but the buffer 1002 in the destination node device 1001 (2) In (2), another packet 1005 (3) is already held, and the node device 1001 (1) cannot deliver the packet 1005 (2) to the node device 1001 (2). Since a state similar to the above occurs in all the node devices, all the node devices fall into a slack state in which they wait for resources to be free, that is, a deadlock.
[0006]
This is the case when routing by storage exchange is performed, but in the case of wormhole routing, in order to maintain a link as a resource, a deadlock may occur as well.
[0007]
In "Parallel Computer Engineering" by Shoji Tomita (Shododo, 1996) p.42-p.47, an example of deadlock in a unidirectional ring network composed of four nodes is introduced as "deadlock in an interconnected network". The following solutions have been proposed.
[0008]
1. Dependency cycles are broken by channel sharing, ie virtual channels. Further, there is a method called a structured buffer pool configured to avoid contention in communication between arbitrary node pairs by increasing the number of buffers and the number of virtual channels in the node device.
[0009]
2. If a channel cannot be acquired, the acquired channel is released. However, in this case, a deadlock problem occurs with respect to the buffer for releasing the channel, so this method is not a fundamental solution to deadlock.
[0010]
3. Acquire all channels at once. This method requires centralized control and is difficult to realize by distributed control by each node device.
[0011]
4). A method in which a specific packet preferentially acquires a channel. Even if there is no possibility of deadlock, this method cannot avoid a specific packet preferentially acquiring a channel and becomes inefficient.
[0012]
5. Break the ring, that is, break the cycle that the resource dependency consists of. However, in a unidirectional ring network, a node device that cannot communicate directly is created, so it is necessary to take measures such as completing communication once at a relay node or adding a reverse ring.
[0013]
The most common deadlock avoidance methods are: It is to cut off the cycle in which there is a resource dependency using the virtual channel shown in. The basic concept of virtual channels is to virtually increase the number of channels between node devices without increasing the number of physical links, and to control resource acquisition so that channel dependencies do not constitute cycles. is there. This is realized by preparing a plurality of buffers in the node device and determining a buffer to be used according to a packet transmission destination or the like. These methods are described in detail in US patents such as Dally et al. (US patent 4,933,933 Torus routing chip).
[0014]
When deadlock is avoided by such a virtual channel, it is necessary to prepare buffers for the number of channels, and a control circuit for controlling a plurality of buffers is complicated. In addition, since the number of necessary channels depends on the number of nodes, there is a problem that the size of the network is limited by the configuration of the node device and the expandability is poor.
[0015]
Even in the case of the structured buffer pool, the problem of an increase in the number of buffers in the node device and the accompanying complicated control circuit is inevitable.
[0016]
Next, 5. The cutting of the ring will be described.
[0017]
FIG. 11 shows an example of avoiding deadlock by eliminating the dependency between specific channels by restricting the routing direction in a four-node bidirectional ring network to which ring connections in the reverse direction are added.
[0018]
FIG. 11 is a configuration diagram of a four-node bidirectional ring network. Node devices 1101 (0) to 1101 (3) connected in a ring shape capable of bidirectional communication via communication links C1 to C8 are in one-to-one correspondence with processing devices 1102 (0) to 1102 (3) such as computers, respectively. It is connected. Each node device 1101 (0) to 1101 (3) holds buffers 1103 (0) to 1103 (3) that hold packets received from the clockwise link and packets received from the counterclockwise link Buffers 1104 (0) to 1104 (3) and buffers 1105 (0) to 1105 (3) for holding packets received from directly connected processing devices 1102 (0) to 1102 (3), respectively . When a packet is received from an adjacent node device 1101 (0) to 1101 (3), the destination node number is confirmed and passed to the processing device 1102 (0) to 1102 (3) or the next node device 1101 ( Either 0) to 1101 (3) is forwarded.
[0019]
FIG. 12 is a directed graph representing channel dependency in the bidirectional ring network of FIG. C1 to C8 correspond to the links shown in FIG. In this figure, there are two cycles of C1->C2->C3->C4-> C1 and C5->C6->C7->C8-> C5, and there is a possibility of deadlock.
[0020]
Therefore, the following restrictions are set for routing. “Node device 1101 (0) does not relay packets, that is, only packets whose destination node number is always 0 are input to buffer 1103 (0) and buffer 1104 (0) of node device 1101 (0). FIG. 13 shows a graph of the channel dependency when the above restriction is applied. In FIG. 13, there is no dependency cycle, and deadlock is avoided.
[0021]
FIG. 14 shows a specific routing method in a case where deadlock avoidance is performed by the above routing direction restriction. As shown in the figure, the packet path is fixedly determined by the transmission source node and the transmission destination node. When the node device 1101 (0) is a transmission source node or a transmission destination node, there are a plurality of routes from which packets can be selected. In FIG. 14, the shorter route is selected and shown in such a case. There are two selectable paths of equal distance for communication from the node 1101 (0) to the node 1101 (2) and from the node 1101 (2) to the node 1101 (0), both of which are shown in FIG. Is marked.
[0022]
Thus, if the number of nodes is 4 or less, it is possible to determine the route of the packet so that it is deadlock free and the distance between the nodes is the shortest, "A Survey of Wormhole Routing Techniques in Direct Networks", LMNi and PKMcKinley, IEEE Computer, Feb 1993, p.62-76.
[0023]
In this way, when deadlock is avoided by cutting the ring, there is a problem that the packet path cannot be set at the shortest distance when the number of nodes increases, but the configuration of the node device is relatively simple, and the network There is an advantage that the configuration of the node device is not affected even when the scale of the node is large, that is, when the number of nodes is large.
[0024]
[Problems to be solved by the invention]
However, it has been pointed out as a problem that when deadlock is avoided by cutting the ring, the routing of the packet is fixed, and the route of the packet cannot be changed according to the state of the network. For example, ten node devices N0 to N9 with node numbers “0” to “9” are connected in a ring shape by bidirectional links in the order of node numbers, and the node device N0 with node number “0” is a disconnection point. Even when the network state changes and the traffic between the node devices N1 and N9 adjacent to the node device N0 at the disconnection point is the largest, the packets between the nodes N1 and N9 are However, there is a problem that transmission / reception continues through the most detour route.
[0025]
In addition, even if the packet route is designed to be changeable by recording it in a table, etc., it is necessary to manually design after rewriting the table, taking into account the channel dependency. There was a problem that could not be changed.
[0026]
OBJECT OF THE INVENTION
The present invention has been made in view of the above-mentioned problems, and its object is as follows.
[0027]
The first object is to make it possible to easily change the routing of a bidirectional ring network by simply performing a simple operation of changing the disconnection point of the dependency relationship to avoid deadlock.
[0028]
The second object is to enable the change of the dependency disconnection point by using a packet flowing through a normal path of the network without requiring a dedicated connection for instructing the node device to make the change.
[0029]
The third object is to enable the change of the above-mentioned dependency cut point while continuing the operation of the network.
[0030]
The fourth purpose is to set a specific link in the bi-directional ring network to an unused state by changing the disconnection point of the above dependency relationship so that the network can be easily expanded or maintained. It is in. A node device that achieves these objectives must be simple in configuration and can easily cope with an increase in the number of nodes in the network by using a node device having the same configuration.
[0031]
[Means for Solving the Problems]
In the present invention, an approach for avoiding deadlock by basically disconnecting a link is taken. For this reason, when the number of nodes is 5 or more, it is inevitable to select a detour route of the packet, but even when the number of nodes increases, a ring network can be configured with the same node device.
[0032]
In order to achieve the above object, a node device according to the present invention has a rewritable breakpoint recording register for recording a breakpoint of dependency in a bidirectional ring network,
An arithmetic unit that subtracts the value set in the cut point recording register from the destination node number of the received packet;
Furthermore, it has a computing unit that subtracts the value set in the cut point recording register from its own node number,
Route determining means for determining the destination of the packet based on the comparison of the output results of the two calculators.
[0033]
Furthermore, the node device according to the present invention has a configuration in which the contents are rewritten in accordance with the special packet for control flowing in the bidirectional ring network with respect to the cut point recording register.
[0034]
DETAILED DESCRIPTION OF THE INVENTION
Next, embodiments of the present invention will be described in detail with reference to the drawings.
[0035]
FIG. 1 is a block diagram of a first embodiment of the present invention. 2 1 shows an example of a node device constituting a bidirectional ring network embodying the invention shown. The ring network configured by the node device is a bidirectional ring network.
[0036]
Here, in order to simplify the description, a storage and exchange type network will be described as an example. However, the following method replaces the packet with the first flit and controls to route the second and subsequent flits that do not have a destination address to the same destination as the first flit. It can also be applied to routing.
[0037]
The node device 101 has three input / output ports. The first input / output port includes an input port 114 and an output port 115, and is connected to a processing device (not shown) such as a computer. The input buffer unit 108 is a buffer unit that receives an input from the processing device via the input port 114, and the output control unit 109 controls the output of the packet to the processing device via the output port 115.
[0038]
The remaining two input / output ports are connected to another node device constituting the ring network. The second input / output port, ie, input port 116 and output port 117, is connected to another node device, and the third input / output port, ie, input port 119 and output port 118, is also connected to another node device. The Therefore, the connection between the input port 116 and the output port 118 is a connection that forms a one-way loop in the ring network, and the input port 119 and the output port 117 are connections that form a loop in the opposite direction to the above-described loop in the bidirectional ring network. It is. Here, a loop formed by the input port 116 and the output port 118 is called a forward loop, and a loop formed by the input port 119 and the output port 117 is called a reverse loop.
[0039]
The input buffer unit 110 that forms a forward loop has a buffer (not shown) that holds packets flowing through the forward loop. This buffer is controlled according to First In First Out rules. The input buffer unit 110 is connected to the output control unit 109 to the processing apparatus and the cut point recording register 102 in addition to the output control unit 112 that forms a forward loop.
[0040]
The input buffer unit 113 that forms a reverse loop has a buffer (not shown) that holds packets flowing through the reverse loop. This buffer is controlled according to First In First Out rules. The input buffer unit 113 is connected to the output control unit 109 to the processing apparatus and the cut point recording register 102 in addition to the output control unit 111 that forms a loop in the reverse direction.
[0041]
The input buffer unit 108 that receives input from the processing apparatus has a buffer (not shown) that holds packets. This buffer is controlled according to First In First Out rules. The input buffer unit 108 has means for writing to the destination recording register 103, receives an instruction from the route determination unit 105, and outputs control unit 112 that forms a forward loop and output control that forms a reverse loop. The packet can be output to the unit 111. In addition, a means for writing to the breakpoint recording register 102 is provided.
[0042]
The transmission destination recording register 103 is a register for recording the transmission destination node number of the packet in the input buffer unit 108. This value is input to the subtractor 107. The transmission destination recording register 103 needs to have a size sufficient to record the maximum value of the number of node devices constituting the network.
[0043]
The disconnection point recording register 102 is a register for recording a place where the dependency relationship is disconnected in order to avoid deadlock. This register can be written by the input buffer unit 110, the input buffer unit 113, and the input buffer unit 108, and the value is input to the subtracter 106 and the subtracter 107. The cut point recording register 102 is required to have a size sufficient to record the maximum number of node devices constituting the network.
[0044]
The node number recording register 104 is a register for recording a unique node number assigned to each node device in the ring network, and each packet uses this number as a destination. In the present invention, this value is assigned a number 0 to a certain node device constituting the ring network, and then, in ascending order such as 1, 2,... With respect to adjacent node devices along the forward loop. A number is assigned. The value of the node number recording register 104 is a value set before the network operation is started, and can be written by an instruction from the input buffer units 108, 110, and 113. However, the writing means is omitted in the figure. (It may be writable by a dedicated line.) The value of the node number recording register 104 is input to the subtractor 106 and the route determination means 105. The node number recording register 104 is required to have a size sufficient to record the maximum number of node devices constituting the network.
[0045]
The subtractor 106 is a circuit for subtracting the value of the cut point recording register 102 from the value of the node number recording register 104, and the output value is input to the route determining means 105. If the value of the breakpoint recording register 102 is larger than the value of the node number recording register 104, the result is output as a signed bit string in the form of 2's complement. The output value of the subtracter 106 corresponds to the number of hops in the forward direction from the node device at the disconnection point to the own node device. Note that since the subtractor 106 expresses the operation result as a signed bit string, the bit width of the output value is the maximum number of node devices constituting the network required by the node number recording register 104 and the cut point recording register 102. It is 1 bit or more larger than the number of bits required to record the value.
[0046]
The subtracter 107 is a circuit that subtracts the value of the cut point recording register 102 from the value of the transmission destination recording register 103, and the output value is input to the route determination means 105. If the value in the breakpoint recording register 102 is greater than the value in the destination recording register 103, the result is output as a signed bit string in the form of 2's complement. The output value of the subtracter 107 corresponds to the number of forward hops from the node device at the disconnection point to the node device to which the packet is transmitted. Since the subtractor 107 expresses the operation result as a signed bit string, the bit width of the output value is the maximum number of node devices that constitute the network, which is required for the transmission destination recording register 103 and the cut point recording register 102. It is 1 bit or more larger than the number of bits required to record the value.
[0047]
The route determining means 105 has a function of receiving input from the subtracter 107, the subtractor 106, and the node number recording register 104 and determining / instructing the output destination of the packet held in the input buffer unit 108. Note that the route determining means 105 having such a function can be realized at low cost by using a comparator or the like.
[0048]
Next, the operation of the node device 101 will be described.
[0049]
In the forward loop, the input buffer unit 110 receives a packet flowing through the loop. The input buffer unit 110 determines the destination node number of the received packet, and if it matches the node device specific number, the packet is output to the processing device via the output control unit 109 and the output port 115. . If the destination node number is different from the node device-specific number, the packet is delivered to the next node device via the output control unit 112 and the output port 118 along the loop direction. The node device specific number is equal to the value held in the node number recording register 104. In the figure, it is depicted that the value of the node number recording register 104 is read and judged, but the input buffer unit 110 may hold a copy of this value.
[0050]
In the reverse loop, the input buffer unit 113 receives a packet flowing through the loop. In the input buffer unit 113, as in the case of the forward loop, the destination node number of the received packet is compared with the node device specific number. If they match, the packet is passed to the processing device via the output control unit 109 and the output port 115. If they do not match, the packet follows the loop in the reverse direction and the output control unit 111 and the output port. 117 to another node device.
[0051]
The operation up to this point is the same as that of a conventional node device constituting a bidirectional ring network. Next, the operation when the node apparatus 101 receives a packet from the processing apparatus will be described.
[0052]
A packet input from the processing device is input to the input buffer unit 108. In the input buffer unit 108, the transmission destination node number of the packet is read out and input to the transmission destination recording register 103.
[0053]
Next, the subtracter 107 subtracts the value of the cut point recording register 102 from the written value of the transmission destination recording register 103 and inputs the result to the route determination means 105.
[0054]
In addition to the subtraction result of the subtractor 107, the route determination means 105 uses the result of subtracting the value of the cut point recording register 102 from the value of the node number recording register 104 by the subtractor 106 and the value of the node number recording register 104. The output destination of the packet received as input and held in the input buffer unit 108 is determined.
[0055]
A method for determining the output destination of the packet by the route determining means 105 will be described with reference to the flowchart of FIG. However, in this embodiment, it is assumed that the transmission source node number and the transmission destination node number are the same, that is, communication to itself cannot occur. In the route determination method according to FIG. 2, the node device having the same number as the value specified in the cut point recording register 102 is the cut point of the dependency relationship of both the forward loop and the reverse loop.
[0056]
First, at step 201, the value of the subtractor 106 is confirmed. This value is the difference between the values of the node number recording register 104 and the cut point recording register 102. When this value is 0, this node device 101 itself becomes a disconnection point of the dependency relationship between both the forward loop and the backward loop. In this case, as shown in step 202, the output destination of the packet is arbitrary. That is, no deadlock occurs regardless of which loop the packet is sent out.
[0057]
If the sending direction is arbitrary, it is necessary to determine the sending direction by some method. For example, a method such as fixedly flowing in the forward direction or the reverse direction, using the forward direction and the reverse direction alternately, or determining by determining which of the forward direction and the reverse direction has the smaller number of hops of the node device. There is. The input buffer unit 108 transmits the packet to the output control unit 112 when the transmission direction is determined to be the forward loop, and to the output control unit 111 when the transmission direction is determined to be the reverse loop.
[0058]
Next, at step 203, the value of the subtracter 107 is confirmed. This value is the difference between the values of the transmission destination recording register 103 and the cut point recording register 102. When this value is 0, the node device to which the packet is transmitted is the disconnection point of the dependency relationship between both the forward loop and the reverse loop. In this case, as shown in step 204, the output destination of the packet is arbitrary. That is, no deadlock occurs regardless of which loop the packet is sent out. In step 204, as in step 202, the packet transmission direction is determined according to some rule.
[0059]
Next, at step 205, the output value of the subtractor 106 is compared with the output value of the subtractor 107. If the output of the subtractor is a negative value, it is output in the form of 2's complement. In step 205, each output value is treated as an unsigned integer and compared. Therefore, when the subtraction result is a negative number, it is treated as a larger numerical value than when the subtraction result is a positive number. If the result of this comparison is that the output value of the subtractor 106 is greater than the output value of the subtractor 107, the sending direction is determined to be a reverse loop in step 206. In this case, the packet in the input buffer unit 108 is output to the output control unit 111. On the other hand, if the output value of the subtractor 106 is smaller than the output value of the subtractor 107, the sending direction is determined to be a forward loop in step 207. In this case, the packet in the input buffer unit 108 is output to the output control unit 112.
[0060]
Next, taking a case where a 6-node bidirectional ring network is configured using the node device 101 according to the present invention as an example, the determination of the routing direction will be described with reference to FIG.
[0061]
FIG. 3 is a block diagram of a 6-node bidirectional ring network. Node devices 301 (0) to 301 (5) according to the present invention are connected in a ring shape by links C1 to C12. A processing device such as a computer is connected to each of the node devices 301 (0) to 301 (5), but is omitted in FIG.
[0062]
Here, a case where 2 is recorded in the cut point recording register 102 is taken as an example. In this case, the node device 301 (2) having the node number 2 is a node device that cuts off the dependency relationship between the forward loop and the reverse loop. FIG. 4 shows the link dependency in this case. Since the dependency relationship is disconnected in the node device 301 (2), there is no dependency relationship from the link C2 to the link C3. In other words, for a packet that reaches the node device 301 (2) using the link C2, the node device 301 (2) is always the transmission destination node, and the node device 301 (3) uses the forward loop link C3. Will not be output. Similarly, regarding the loop in the reverse direction, there is no dependency from the link C10 to the link C11. Therefore, a packet that reaches the node device 301 (2) using the reverse loop link C10 is always the destination device of the node device 301 (2), and the node device 301 (2) uses the reverse loop link C11. It is never sent to 301 (1).
[0063]
The operation of the route determination unit 105 will be described more specifically. The following shows how the route is actually determined in the four communication patterns. Here, since the number of nodes constituting the ring network is 6, the bit widths of the cut point recording register 102, the transmission destination recording register 103, and the node number recording register 104 are 3 bits, and the output bit widths of the subtractor 106 and the subtractor 107 Is 4 bits.
[0064]
(1) When sending a packet from the node device 301 (3) to the node device 301 (5). At this time, the output of the subtractor 107 is 5-2 = 3 (binary number 0011), and the output of the subtractor 106 is 3-2 = 1 (binary number 0001). Since the output of the subtractor 106 is smaller than the output of the subtracter 107 in step 205 of FIG. 2, the packet is sent to the forward loop according to step 207.
[0065]
(2) When sending a packet from the node device 301 (3) to the node device 301 (1). At this time, the output of the subtractor 107 is 1-2 = -1 (1111 when expressed in binary with 2's complement), and the output of the subtractor 106 is 3-2 = 1 (0001 in binary). Since the comparison in step 205 in FIG. 2 is treated as an unsigned integer, it is determined that the output value (1111) of the subtractor 107 is larger than the output value (0001) of the subtractor 106, and the packet is forward looped according to step 207. Is sent out.
[0066]
(3) When sending a packet from the node device 301 (1) to the node device 301 (0). At this time, the output of the subtractor 107 is 0-2 = -2 (1110 when expressed in binary with 2's complement), and the output of the subtractor 106 is 11 = 11 when expressed with 1-2 = -1 (in binary with 2's complement). ) Since the comparison in step 205 of FIG. 2 is treated as an unsigned integer, it is determined that the output value (1110) of the subtractor 107 is smaller than the output value (1111) of the subtractor 106, and the packet is subjected to a backward loop according to step 206. Is sent out.
[0067]
(4) When sending a packet from the node device 301 (2) to the node device 301 (4). At this time, since the output of the subtracter 106 becomes 2-2 = 0 in step 201, the packet transmission direction is arbitrary according to step 202. In this case, the sending direction is determined by another method.
[0068]
FIG. 5 shows which route is selected by the route determination means 105 when the value held in the cut point recording register 102 is 2 in the 6-node bidirectional ring network using the node device 101 according to the present invention. The packet is shown for each source node number and destination node number.
[0069]
Next, a description will be given of a case in which the dependency cut point is changed during operation in the bidirectional ring network configured using the node device 101. FIG. In the bi-directional ring network according to the present invention, the network management packet from the processing device propagates on a normal loop instead of instructing each node device by a dedicated line to move the dependency cut point. It becomes possible to do it.
[0070]
In the 6-node bidirectional ring network shown in FIG. 3 (using the node device of FIG. 1 according to the present invention as the node device), the disconnection point of the dependency relationship is changed from the node device 301 (2) to the node device 301 (1). This is an example of the case. The node devices 301 (0) to 301 (5) are connected in a ring shape by links C1 to C12, and each of the node devices 301 (0) to 301 (5) is connected to a processing device such as a computer. It is omitted in the figure.
[0071]
At the first time, 2 is recorded in the cut point recording register 102 in the node devices 301 (0) to 301 (5). At this time, an instruction to move the disconnection point of the dependency relationship is input from the node device 301 (2) to the network as a normal communication packet. Hereinafter, this packet is referred to as a control special packet.
[0072]
The operation of the special packet for control in the node device 301 (2) will be described with reference to FIG. The special packet for control is input to the input buffer unit 108 using the input port 114 connected to the processing device. When the input buffer unit 108 determines that the packet is a control special packet, the input buffer unit 108 determines the output destination of the packet. In this case, the output destination of the packet is not set by the route determining means 105, but is determined by the input buffer unit 108 so that the dependency cut point moves along a loop opposite to the moving direction. In this example, since the cut point of the dependency relationship is moved in the same direction as the backward loop (that is, the direction in which the number unique to the node device is -1), the packet itself goes around the ring along the forward loop. For this purpose, the input buffer unit 108 sends a packet to the output control unit 112 that forms a forward loop. Simultaneously with the transmission of the packet, the input buffer unit 108 updates the content of the cut point recording register 102 from 2 to 1. Thereafter, in the node device 301 (2), the route is determined on the assumption that the dependency disconnection point is in the node device 301 (1).
[0073]
Next, the operation after the node device 301 (3) receives the control special packet will be described with reference to FIG. The special packet for control is input to the input buffer unit 110 from the input port 116 of the forward loop. Since the buffer in the input buffer unit 110 performs service according to the First In First Out rule, no special processing is performed until the service order of the control special packet is reached. When in service order, this packet is passed to the output control unit 112 along the forward loop. At the same time, the input buffer unit 110 rewrites the contents of the cut point recording register 102 from 2 to 1. Thereafter, in the node device 301 (3), a route is determined on the assumption that the dependency disconnection point is in the node device 301 (1).
[0074]
In the node devices 301 (4), 301 (5), and 301 (0), the control special packet is processed in the same manner as the node device 301 (3).
[0075]
Assuming a state immediately after the control special packet is serviced in the node device 301 (4), the dependency relationship of the link in the transient state is shown. At this time, in the node devices 301 (2), 301 (3), and 301 (4), the value of the disconnection point register 102 is updated to 1, so that the disconnection point of the dependency relationship is the node device 301 (1). We recognize that there is. In the node devices 301 (5), 301 (0), 301 (1), the value of the disconnection point recording register 102 is 2, so that the dependency disconnection point is in the node device 301 (2). It has recognized.
[0076]
First, focusing on the forward loop, the node device 301 (2), 301 (3), 301 (4) recognizes that the node device 301 (1) is a dependency disconnection point. Depending on the packets transmitted by (2), 301 (3), and 301 (4), a link dependency relationship is formed in the order of C3 → C4 → C5 → C6 → C1. On the other hand, since the node devices 301 (5), 301 (0), 301 (1) recognize that the node device 301 (2) is a dependency cut point, the node devices 301 (5), 301 (0) ), 301 (1) form a dependency relationship such as C6 → C1 → C2. At this time, since there is no dependency relationship of C2 → C3, a cycle is not formed and deadlock cannot occur.
[0077]
Next, paying attention to the loop in the reverse direction, the node device 301 (2), 301 (3), 301 (4) recognizes that the node device 301 (1) is a dependency disconnection point. Link dependencies such as C9 → C10 → C11 are formed by the packets transmitted by 301 (2), 301 (3), and 301 (4). On the other hand, since the node devices 301 (5), 301 (0), 301 (1) recognize that the node device 301 (2) is a dependency cut point, the node devices 301 (5), 301 (0) ), 301 (1) form a dependency relationship such as C12 → C7 → C8 → C9 → C10. At this time, since there is no dependency relationship of C11 → C12, a cycle is not formed and a deadlock cannot occur.
[0078]
Therefore, in this bi-directional ring network, no deadlock can occur even when the control special packet circulates the network.
[0079]
Next, the operation after the control special packet arrives at the node device 301 (1) will be described with reference to FIG. The special packet for control is input to the input buffer unit 110 from the input port 116 of the forward loop. Since the buffer in the input buffer unit 110 performs service according to the First In First Out rule, no special processing is performed until the service order of the control special packet is reached. When the service order is reached, the input buffer unit 110 recognizes that the new dependency cut point indicated by the control special packet matches the node number of itself, and discards the packet. At the same time, the input buffer unit 110 rewrites the contents of the cut point recording register 102 from 2 to 1. Thereafter, in the node device 301 (1), the route is determined on the assumption that the cut point of the dependency relationship is in the node device 301 (1).
[0080]
As described above, when the control special packet reaches the node (301) along the forward loop from the node device 301 (2), all the node devices 301 (0) to (5) constituting the ring network are obtained. ) Recognizes that the dependency cut point is at 301 (1), and the route of the packet in the network is changed. However, when the network adopts wormhole routing, it should be noted that the processing needs to be completed in units of packets when updating the cut point recording register 102 in each node.
[0081]
When moving the dependency cut point from the node device 301 (2) to the node device 301 (3) along the forward loop, the control packet for control is moved from the node device 301 (2) along the reverse loop. This can be realized by reaching the node device 301 (3).
[0082]
Next, as a second embodiment of the present invention, the claims 3, 4 An example in which the invention shown in FIG.
[0083]
FIG. 6 claims 3, 4 It is an example of the node apparatus 101a which comprises the bidirectional | two-way ring network which implemented this invention concerning. The node device 101a is the claim 1 shown in FIG. 2 The configuration is almost the same as that of the node device 101 constituting the bidirectional ring network implementing the invention. Therefore, description of common points is omitted, and only differences are described.
[0084]
In the node device 101a shown in FIG. 6, a node number recording register 601 and an adder 602 are added as compared with the node device 101 shown in FIG. 1, and the route determining means 105a is replaced with the route determining means 105a. I have. The node number recording register 601 is a register for recording the number of node devices constituting the ring network. The value in the node number recording register 601 is a value set before the start of network operation, and can be written according to instructions from the input buffer units 108, 110, and 113. However, the writing means is omitted in the figure. (It may be writable by a dedicated line.) The value of the node number recording register 601 is input to the adder 602. The node number recording register 601 needs to have a size sufficient to record the maximum number of node devices constituting the network.
[0085]
The adder 602 is a circuit for adding the value of the node number recording register 601 and the output value of the subtractor 106, and the output value is input to the route determining means 105a. Adder 602 requires the same bit width as subtractor 106.
[0086]
Next, the operation of the node device 101a will be described.
[0087]
The operation when the node device 101a receives a packet from another node device configuring the ring network is not different from the case of the node device shown in FIG. The same is true when a packet is received from the processing device, but the operation of the route determination means 105a is different.
[0088]
A method for determining the output destination of the packet by the route determining means 105a will be described with reference to the flowchart of FIG. However, in this embodiment, it is assumed that the transmission source node number and the transmission destination node number are the same, that is, communication to itself cannot occur.
[0089]
In the route determination method according to FIG. 7, the node device having the same number as the value specified in the disconnection point recording register 102 becomes the disconnection point of the forward loop dependency relationship, and is set along the forward loop of the node device. The node device connected first is the disconnection point of the loop dependency in the reverse direction.
[0090]
First, at step 701, the value of the subtractor 106 is confirmed. This value is the difference between the values of the node number recording register 104 and the cut point recording register 102. When this value is 0, the node device 101a itself is a disconnection point of the forward loop dependency. Therefore, if a forward loop is used, any node device in the network can communicate. In addition, the node device that is only one ahead in the forward direction is the disconnection point of the loop dependency in the reverse direction. Therefore, it is possible to communicate with any node device in the network by a loop in the reverse direction. In this case, as shown in step 702, the output destination of the packet is arbitrary. No matter what loop the packet is sent out, deadlock will not occur.
[0091]
When the sending direction is arbitrary, it is necessary to determine the sending direction by some method as in the case of the operation example of the node device 101 shown in FIG. The input buffer unit 108 outputs the packet to the output control unit 112 when the sending direction is determined to be the forward loop, and to the output control unit 111 when the sending direction is determined to be the reverse loop.
[0092]
Next, at step 703, the value of the subtracter 106 is confirmed again. When this value is 1, the node device 101a itself is a disconnection point of the loop dependency in the reverse direction. Therefore, if a loop in the reverse direction is used, any node device in the network can communicate. Also, the node device that is only one ahead in the reverse direction is the break point of the forward loop dependency. Therefore, it is possible to communicate with any node device in the network even by a forward loop. In this case, as shown in step 704, the output destination of the packet is arbitrary. No matter what loop the packet is sent out, deadlock will not occur.
[0093]
If the node number of the node device 101a itself is 0, even if it is the disconnection point of the loop dependency in the reverse direction, it cannot be found in step 703. In order to find this, the output value of the adder 602 is confirmed in the next step 705. This value is the sum of the values of the node number recording register 601 and the subtractor 106. This value is 1 when the number of node devices constituting the network (that is, the value of the node number recording register 601) is N, the value of the cut point recording register 102 is N-1, and the value of the node number recording register 104 is Only in case of 0. Since the node device 101a becomes the disconnection point of the loop dependency in the reverse direction, the sending direction is arbitrary as in step 703 (step 706).
[0094]
Next, at step 707, the output value of the subtracter 107 is confirmed. This value is the difference between the values of the transmission destination recording register 103 and the cut point recording register 102. When this value is 0, the destination node is a disconnection point of the forward loop dependency, and communication is possible using the forward loop. However, since the node device connected only one ahead along the forward loop from this node device is the disconnection point of the dependency relationship of the reverse loop, communication is performed using the reverse loop. It is impossible to do. In this case, in step 708, the sending direction is determined to be a forward loop. The packet in the input buffer unit 108 is output to the output control unit 112.
[0095]
Next, in step 709, the output value of the subtractor 106 is compared with the output value of the subtractor 107. If the output of the subtractor is negative, it is output in the form of 2's complement. In step 709, each output value is treated as an unsigned integer and compared. Therefore, when the subtraction result is a negative number, it is treated as a larger numerical value than when the subtraction result is a positive number. As a result of the comparison, if the output value of the subtractor 106 is larger than the output value of the subtractor 107, in step 710, the sending direction is determined to be a reverse loop. In this case, the packet in the input buffer unit 108 is output to the output control unit 111. On the other hand, if the output value of the subtractor 106 is smaller than the output value of the subtractor 107, the sending direction is determined to be a forward loop in step 711. In this case, the packet in the input buffer unit 108 is output to the output control unit 112.
[0096]
Next, taking a case where a 6-node bidirectional ring network is configured using the node device 101a according to the present invention as an example, determination of the routing direction will be described with reference to the drawings.
[0097]
The 6-node bidirectional ring network is configured in the same way as when the node device 101 according to FIG. 1 is used. For this reason, the same FIG. 3 is used for the description. The node devices 301 (0) to 301 (5) are connected in a ring shape by links C1 to C12. A processing device such as a computer is connected to each of the node devices 301 (0) to 301 (5), but is omitted in FIG.
[0098]
Here, a case where 2 is recorded in the cut point recording register 102 is taken as an example. In this case, the node device 301 (2) with the node number 2 becomes a node that cuts off the dependency of the forward loop, and the node device 301 (3) with the node number 3 has the dependency of the loop in the reverse direction. It becomes a node to be disconnected. FIG. 8 shows the link dependency in this case. In the node device 301 (2), the dependency relationship of the forward loop is disconnected, so that there is no dependency relationship from the link C2 to the link C3. In other words, for a packet that reaches the node device 301 (2) using the link C2, the node device 301 (2) is always the transmission destination node, and the node device 301 (3) uses the forward loop link C3. Will not be output. Similarly, with respect to the loop in the reverse direction, the dependency relationship between the link C9 and the link C10 does not exist because the loop dependency relationship is disconnected in the node device 301 (3). Therefore, the packet that reaches the node device 301 (3) using the link C9 is always the destination node of the node device 301 (3), and the node device 301 (2) using the link C10 of the reverse loop. Will not be output.
[0099]
FIG. 9 shows which route is selected by the route determination means 105a when the value held in the cut point recording register 102 is 2 in the 6-node bidirectional ring network using the node device 101a according to the present invention. The packet is shown for each source node number and destination node number.
[0100]
Next, a description will be given of the case where the dependency disconnection point is changed during operation in the bidirectional ring network configured using the node device 101a. In the bi-directional ring network according to the present invention, the network management packet from the processing device propagates on a normal loop instead of instructing each node device by a dedicated line to move the dependency cut point. It becomes possible to do it.
[0101]
In the 6-node bidirectional ring network shown in FIG. 3 (using the node device of FIG. 6 according to the present invention as the node device), the disconnection point of the forward loop dependency is changed from the node device 301 (2) to the node device 301 (1 ) Is an example in which the break point of the dependency relationship of the backward loop is changed from the node device 301 (3) to the node device 301 (2). The node devices 301 (0) to 301 (5) are connected in a ring shape by links C1 to C12, and each of the node devices 301 (0) to 301 (5) is connected to a processing device such as a computer. It is omitted in the figure.
[0102]
At the first time point, 2 is recorded in the disconnection point recording register 102 in the node devices 301 (0) to 301 (5), and the dependency relationship of the links in the network is as shown in FIG. At this time, an instruction to move the disconnection point of the dependency relationship is input from the node device 301 (2) to the network as a control special packet.
[0103]
The operation when the control special packet is input to the node device 301 (2) will be described with reference to FIG. The special packet for control is input to the input buffer unit 108 using the input port 114 connected to the processing device. When the input buffer unit 108 determines that the packet is a control special packet, the input buffer unit 108 determines the output destination of the packet. In this case, the output destination of the packet is not set by the route determination unit 105a, but is determined by the input buffer unit 108 so as to move along a loop opposite to the direction in which the dependency cut point moves. In this example, since the cut point of the dependency relationship is moved in the same direction as the backward loop (that is, the direction in which the number unique to the node device is -1), the packet itself goes around the ring along the forward loop. For this purpose, the input buffer unit 108 sends a packet to the output control unit 112 that forms a forward loop. Simultaneously with the transmission of the packet, the input buffer unit 108 updates the content of the cut point recording register 102 from 2 to 1. Thereafter, in the node device 301 (2), it is assumed that the forward loop dependency cut point is in the node device 301 (1), and the reverse loop dependency cut point is in the node device 301 (2). Determine the route as a thing.
[0104]
Next, the operation after the node device 301 (3) receives the control special packet will be described with reference to FIG. The special packet for control is input to the input buffer unit 110 from the input port 116 of the forward loop. Since the buffer in the input buffer unit 110 performs service according to the First In First Out rule, no special processing is performed until the service order of the control special packet is reached. When in service order, this packet is passed to the output control unit 112 along the forward loop. At the same time, the input buffer unit 110 rewrites the contents of the cut point recording register 102 from 2 to 1. Thereafter, in the node device 301 (3), the disconnection point of the forward loop dependency is assumed to be in the node device 301 (1), and the disconnection point of the reverse loop dependency is in the node device 301 (2). Determine the route as a thing.
[0105]
In the node devices 301 (4), 301 (5), and 301 (0), the control special packet is processed in the same manner as the node device 301 (3).
[0106]
Assuming a state immediately after the control special packet is serviced in the node device 301 (4), the dependency relationship of the link in the transient state is shown. At this time, in the node devices 301 (2), 301 (3), and 301 (4), the value of the break point recording register 102 is updated to 1, so that the break point of the forward loop dependency is the node device. It is recognized that the node is in 301 (1), and the disconnection point of the reverse loop dependency is recognized as being in the node device 301 (2). In the node devices 301 (5), 301 (0), and 301 (1), since the value of the cut point recording register 102 is 2, the cut point of the forward loop dependency is the node device 301 (2). And the disconnection point of the dependency relationship of the backward loop is recognized as being in the node device 301 (3).
[0107]
First, focusing on the forward loop, the node device 301 (2), 301 (3), 301 (4) recognizes that the node device 301 (1) is a dependency disconnection point. Depending on the packets transmitted by (2), 301 (3), and 301 (4), a link dependency relationship is formed in the order of C3 → C4 → C5 → C6 → C1. On the other hand, since the node devices 301 (5), 301 (0), 301 (1) recognize that the node device 301 (2) is a dependency cut point, the node devices 301 (5), 301 (0) ), 301 (1) form a dependency relationship such as C6 → C1 → C2. At this time, since there is no dependency relationship of C2 → C3, a cycle is not formed and deadlock cannot occur.
[0108]
Next, paying attention to the loop in the reverse direction, the node device 301 (2), 301 (3), 301 (4) recognizes that the node device 301 (2) is a dependency disconnection point. Link dependencies such as C11.fwdarw.C12.fwdarw.C7.fwdarw.C8.fwdarw.C9.fwdarw.C10 are formed by the packets transmitted by 301 (2), 301 (3), and 301 (4). On the other hand, since the node devices 301 (5), 301 (0), 301 (1) recognize that the node device 301 (3) is a dependency cut point, the node devices 301 (5), 301 (0) ), 301 (1) form a dependency relationship such as C12 → C7 → C8 → C9. At this time, since there is no dependency relationship of C10 → C11, a cycle is not formed and deadlock cannot occur.
[0109]
Therefore, in this bi-directional ring network, no deadlock can occur even when the control special packet circulates the network.
[0110]
Next, the operation after the control special packet reaches the node device 301 (1) will be described with reference to FIG. The special packet for control is input to the input buffer unit 110 from the input port 116 of the forward loop. Since the buffer in the input buffer unit 110 performs service according to the First In First Out rule, no special processing is performed until the service order of the control special packet is reached. When the service order is reached, the input buffer unit 110 updates the contents of the cut point recording register 102 from 2 to 1 in accordance with this packet. At this time, when recognizing that the updated value of the cut point recording register matches its own node device number, the input buffer unit 110 discards the control special packet.
[0111]
As described above, when the control special packet reaches the node (301) along the forward loop from the node device 301 (2), all the node devices 301 (0) to 301 (301) constituting the ring network are obtained. 5), the disconnection point of the dependency relationship of the forward loop is changed from the node device 301 (2) to the node device 301 (1), and the disconnection point of the dependency relationship of the backward loop is changed from the node device 301 (3) to the node device 301 ( 2), the route of the packet in the network is changed. However, when the network adopts wormhole routing, it should be noted that the processing needs to be completed in units of packets when updating the cut point recording register 102 in each node.
[0112]
In the case where the dependency cut point is moved along the forward loop, it can be realized by making the control special packet make a round along the backward loop from the node device 301 (3). In the input buffer unit 113 of the node device, the control special packet compares the updated value of the cut point recording register 102 with its own node number (the value of the node number recording register 104). When moving up, the control special packet itself reaches the issuing node device 301 (3).
[0113]
Next, the claim 8 The invention shown in FIG.
[0114]
In the 6-node bidirectional ring network shown in FIG. In this case, as already described, the dependency between the links between nodes is shown as shown in FIG. 8, and the transmission direction of the packet is determined by the route determining means 105a as shown in FIG. Packets can be sent in any direction when the source node number is 2 or 3. The packet sending direction is determined according to the method shown in FIG. 7, but after the sending direction is determined to be arbitrary,
・ If the sending direction becomes arbitrary in step 702, send to the reverse loop.
-If the transmission direction becomes arbitrary in Steps 704 and 706, if the transmission is set for the forward loop, the link C3 and the link C10, that is, between the node device 301 (2) and the node device 301 (3) are set. The link will not be used at all. After setting the link between node devices 301 (2) and 301 (3) to the unused state by the above settings, it is possible to replace the cables used for the link and add the node. become.
[0115]
【The invention's effect】
As described above, the present invention has the following effects.
[0116]
The first effect is that the packet route in the bidirectional ring network can be easily changed in accordance with the state of the network. The reason for this is that it has route determination means for automatically determining the route of a packet that does not cause a deadlock based on the node number of the node device at the cutting point recorded in the cutting point recording register. This is because the route of the packet can be changed simply by changing the value of the recording register.
[0117]
The second effect is that when the disconnection point of the dependency relationship is changed, the change is made possible by a packet flowing through the normal path of the network, so that a dedicated connection for instructing the change to the node device becomes unnecessary. .
[0118]
The third effect is that the disconnection point of the dependency relationship can be changed while continuing the operation of the network.
[0119]
The fourth effect is that it is possible to provide an environment in which the maintenance and expansion of the network can be easily performed by setting a specific link of the bidirectional ring network to an unused state by changing the disconnection point of the above dependency relationship. is there.
[Brief description of the drawings]
BRIEF DESCRIPTION OF THE DRAWINGS , 2, 9, 10 3 is a block diagram showing a configuration example of a node device 101 according to FIG.
FIG. 2 is a flowchart showing an example of processing performed by route determination means 105 in the node device 101.
FIG. 3 is a block diagram illustrating a configuration example of a 6-node bidirectional ring network.
4 is a diagram showing an example of a directed graph showing a dependency relationship between links when the 6-node bidirectional link network of FIG. 3 is configured using the node device 101. FIG.
5 is a diagram showing an example of routing setting when the 6-node bidirectional link network of FIG. 3 is configured using the node device 101. FIG.
FIG. 6 Claim 3,4,11,12 It is a block diagram which shows the structural example of the node apparatus 101a concerning.
FIG. 7 is a flowchart showing an example of processing performed by route determination means 105a in the node device 101a.
FIG. 8 is a diagram illustrating an example of a directed graph showing a dependency relationship between links when the 6-node bidirectional link network of FIG. 3 is configured using the node device 101a.
FIG. 9 is a diagram illustrating an example of routing setting when the 6-node bidirectional link network of FIG. 3 is configured using the node device 101a.
FIG. 10 is a diagram illustrating an example of deadlock in a unidirectional ring network.
FIG. 11 is a block diagram illustrating a configuration example of a four-node bidirectional ring network according to the related art.
FIG. 12 is a diagram illustrating an example of a directed graph showing a dependency relationship between links in a four-node bidirectional ring network according to a conventional technique.
FIG. 13 is a diagram showing an example of a directed graph showing dependency relationships between links when deadlock avoidance due to routing direction restriction is performed in a four-node bidirectional ring network according to the prior art.
FIG. 14 is a diagram showing an example of routing setting when deadlock avoidance due to routing restriction is performed in a four-node bidirectional ring network according to the prior art.
[Explanation of symbols]
101,101a ... Node device
102 ... Cut point recording register
103 ... Destination recording register
104… Node number recording register
105,105a ... Route decision means
106,107 ... subtractor
108,110,113… Input buffer section
109,111,112… Output control unit
114,116,119… Input port
115,117,118… Output port
301 (0) -301 (5) ... Node equipment
C1-C12 ... link
601 ... Node number recording register
602 ... Adder
1001 (0) to 1001 (3) ... Node device
1002 (0) to 1002 (3) ... Buffers that make up the loop
1003 (0) to 1003 (3) ... Processing equipment
1004 (0) to 1004 (3) ... Buffer that receives input from the processing unit
1005 (0) to 1005 (3) ... packet
1101 (0) to 1101 (3) ... Node device
1102 (0) to 1102 (3) ... Processing equipment
1103 (0) to 1103 (3) ... the buffers that make up the forward loop
1104 (0) to 1104 (3) ... the buffers that make up the reverse loop
1105 (0) to 1105 (3) ... buffer that receives input from the processing unit

Claims (19)

複数のノード装置がリング状に双方向のリンクによって接続され、さらに前記各ノード装置にそれぞれ異なる処理装置が接続され、処理装置からのパケットをノード装置間で送受信しつつ目的の処理装置に到達させる双方向リングネットワークに於いて、
前記各ノード装置には、リングに沿って順にノード番号が付されており、且つ、
前記各ノード装置が、
自ノード装置に接続されている処理装置からのパケットを保持して到着順にサービスする入力バッファと、
デッドロック回避のための切断点とするノード装置のノード番号を記録する書き換え可能な切断点記録レジスタと、
前記入力バッファに保持されているパケットの出力先に関し、前記双方向のリンクの内のどちらに送出すべきかを判定するルート決定手段であって、前記切断点記録レジスタの値によって示される切断点のノード装置が自ノード装置である場合、および前記入力バッファに保持されているパケットの送信先のノード装置である場合は、パケットの送出方向を任意と判定し、それ以外の場合は、自ノード装置と前記切断点のノード装置との間の所定方向のホップ数と、前記パケットの送信先のノード装置と前記切断点のノード装置との間の前記所定方向のホップ数とに基づいてパケットの送出方向を決定するルート決定手段と、
を有することを特徴とする双方向リングネットワーク。
A plurality of node devices are connected in a ring shape by bi-directional links, and different processing devices are connected to the respective node devices, and packets from the processing devices are transmitted and received between the node devices to reach the target processing device. In a bidirectional ring network,
Each node device is given a node number in order along the ring, and
Each of the node devices
An input buffer that holds packets from the processing devices connected to its own node device and services them in the order of arrival;
A rewritable cutting point recording register for recording a node number of a node device as a cutting point for avoiding deadlock;
And about the output destination of the packet held in the input buffer, pre-Symbol a route determination means for determining whether to be sent to either of the bi-directional link, indicated by the value of the breakpoint recorded register When the node device at the disconnection point is the own node device and the node device that is the transmission destination of the packet held in the input buffer, the packet transmission direction is determined to be arbitrary, otherwise Based on the number of hops in a predetermined direction between the own node device and the node device at the disconnection point, and the number of hops in the predetermined direction between the node device to which the packet is transmitted and the node device at the disconnection point Route determining means for determining the packet sending direction,
A bidirectional ring network characterized by comprising:
請求項1記載の双方向リングネットワークにおいて、
前記各ノード装置が、
自ノード装置のノード番号から前記切断点記録レジスタに記録されているノード番号を減算し、結果を符号付整数で出力する第一の減算器と、
前記入力バッファに保持されているパケットの送信先のノード装置のノード番号から前記切断点記録レジスタに記録されているノード番号を減算し、結果を符号付整数で出力する第二の減算器とを有し、
前記ルート決定手段が、
前記第一の減算器の出力が0である場合は、パケットの送出方向を任意と判定する第一のステップと、
前記第二の減算器の出力が0である場合は、パケットの送出方向を任意と判定する第二のステップと、
前記第一の減算器の出力値と前記第二の減算器の出力値とを符号なし整数として比較し、前者の方が大きい場合にはパケットの送出方向をノード番号が降順となる逆方向に、後者の方が大きい場合にはパケットの送出方向をノード番号が昇順となる順方向に決定する第三のステップとを行う構成を有することを特徴とする双方向リングネットワーク。
The bidirectional ring network according to claim 1, wherein
Each of the node devices
A first subtractor for subtracting the node number recorded in the cut point recording register from the node number of the own node device and outputting the result as a signed integer;
A second subtracter that subtracts the node number recorded in the cut point recording register from the node number of the node device that is the transmission destination of the packet held in the input buffer, and outputs the result as a signed integer. Have
The route determination means is
If the output of the first subtractor is 0, a first step of determining the packet transmission direction as arbitrary;
If the output of the second subtractor is 0, a second step of determining the packet transmission direction as arbitrary;
Compare the output value of the first subtractor and the output value of the second subtractor as an unsigned integer, and if the former is larger, the packet transmission direction will be the reverse direction where the node number is in descending order When the latter is larger, the bidirectional ring network has a configuration for performing a third step of determining a packet transmission direction as a forward direction in which the node numbers are in ascending order.
請求項1記載の双方向リングネットワークにおいて、
前記切断点記録レジスタには、順方向ループの切断点にするノード装置のノード番号が記録され、且つ、
前記ルート決定手段が、
前記切断点記録レジスタの値によって示される順方向ループの切断点とするノード装置が、自ノード装置である場合は、パケットの送出方向を任意と判定し、
前記順方向ループの切断点のノード装置よりも順方向ループに沿って1つ先のノード装置が、自ノード装置である場合は、パケットの送出方向を任意と判定し、
それ以外の場合は、自ノード装置と前記順方向ループの切断点のノード装置との間の所定方向のホップ数と、パケットの送信先のノード装置と前記順方向ループの切断点のノード装置との間の前記所定方向のホップ数とに基づいて、パケットの送出方向を決定する構成を有することを特徴とする双方向リングネットワーク。
The bidirectional ring network according to claim 1, wherein
In the cutting point recording register, the node number of the node device to be the cutting point of the forward loop is recorded, and
The route determination means is
If the node device that is the cut point of the forward loop indicated by the value of the cut point recording register is its own node device, it determines that the packet sending direction is arbitrary,
If one node device ahead along the forward loop from the node device at the cut point of the forward loop is its own node device, it determines that the packet transmission direction is arbitrary,
Otherwise, the number of hops in a predetermined direction between the own node device and the node device at the cut-off point of the forward loop, the node device that is the packet transmission destination, and the node device at the cut-off point of the forward loop A bidirectional ring network having a configuration for determining a packet transmission direction based on the number of hops in a predetermined direction between the two.
請求項1記載の双方向リングネットワークにおいて、
前記切断点記録レジスタには、順方向ループの切断点とするノード装置のノード番号が記録され、
前記各ノード装置が、
自ノード装置のノード番号から前記切断点記録レジスタに記録されているノード番号を減算し、結果を符号付整数で出力する第一の減算器と、
前記入力バッファに保持されているパケットの送信先のノード装置のノード番号から前記切断点記録レジスタに記録されているノード番号を減算し、結果を符号付整数で出力する第二の減算器とを有し、
前記ルート決定手段が、
前記第一の減算器の出力が0である場合は、パケットの送出方向を任意と判定する第一のステップと、
前記第一の減算器の出力が1である場合は、パケットの送出方向を任意と判定する第二のステップと、
前記切断点記録レジスタの値が0であり、且つ自ノード装置固有のノード番号が双方向リングネットワーク中で最大の値である場合は、パケットの送出方向を任意と判定する第三のステップと、
前記第二の減算器の出力が0である場合は、パケットの送出方向をノード番号が昇順となる順方向に決定する第四のステップと、
前記第一の減算器の出力値と前記第二の減算器の出力値とを符号なし整数として比較し、前者の方が大きい場合はパケットの送出方向をノード番号が降順になる逆方向に、後者の方が大きい場合はパケットの送出方向をノード番号が昇順になる順方向に決定する第五のステップとを行う構成を有することを特徴とする双方向リングネットワーク。
The bidirectional ring network according to claim 1, wherein
In the cutting point recording register, the node number of the node device as the cutting point of the forward loop is recorded,
Each of the node devices
A first subtractor for subtracting the node number recorded in the cut point recording register from the node number of the own node device and outputting the result as a signed integer;
A second subtracter that subtracts the node number recorded in the cut point recording register from the node number of the node device that is the transmission destination of the packet held in the input buffer, and outputs the result as a signed integer. Have
The route determination means is
If the output of the first subtractor is 0, a first step of determining the packet transmission direction as arbitrary;
If the output of the first subtractor is 1, the second step of determining the packet transmission direction as arbitrary;
When the value of the cut point recording register is 0 and the node number unique to the own node device is the maximum value in the bidirectional ring network, a third step of determining the packet transmission direction as arbitrary;
If the output of the second subtractor is 0, a fourth step of determining the packet sending direction as a forward direction in which the node numbers are in ascending order;
Compare the output value of the first subtractor and the output value of the second subtractor as an unsigned integer, and if the former is larger, the packet sending direction is in the reverse direction in which the node numbers are in descending order, A bidirectional ring network characterized in that, if the latter is larger, a fifth step of determining a packet transmission direction in a forward direction in which node numbers are in ascending order is performed.
複数のノード装置がリング状に双方向のリンクによって接続され、さらに前記各ノード装置にそれぞれ異なる処理装置が接続され、処理装置からのパケットをノード装置間で送受信しつつ目的の処理装置に到達させる双方向リングネットワークに於いて、
前記各ノード装置には、リングに沿って順にノード番号が付されており、且つ、
前記各ノード装置が、
自ノード装置に接続されている処理装置からのパケットを保持して到着順にサービスする入力バッファと、
デッドロック回避のための切断点とするノード装置のノード番号を記録する書き換え可能な切断点記録レジスタと、
前記入力バッファに保持されているパケットの出力先に関し、前記切断点記録レジスタの値から、前記双方向のリンクの内のどちらに送出すべきかを判定するルート決定手段と、
切断点記録レジスタに記録されているノード番号の変更を指示する制御用特殊パケットが、自ノード装置に接続されている処理装置、もしくは隣接するノード装置から到着した場合、前記制御用特殊パケットに先行するパケットの処理が完了してから自ノード装置内の切断点記録レジスタの値を前記制御用特殊パケットの指示に従って更新する構成を有することを特徴とする双方向リングネットワーク。
A plurality of node devices are connected in a ring shape by bi-directional links, and different processing devices are connected to the respective node devices, and packets from the processing devices are transmitted and received between the node devices to reach the target processing device. In a bidirectional ring network,
Each node device is given a node number in order along the ring, and
Each of the node devices
An input buffer that holds packets from the processing devices connected to its own node device and services them in the order of arrival;
A rewritable cutting point recording register for recording a node number of a node device as a cutting point for avoiding deadlock;
Route determination means for determining which of the two-way links should be sent from the value of the cut point recording register regarding the output destination of the packet held in the input buffer;
When a control special packet instructing to change the node number recorded in the cut point recording register arrives from a processing device connected to the own node device or an adjacent node device, the control special packet precedes the control special packet. A bidirectional ring network comprising: a configuration in which a value of a cut point recording register in the own node device is updated in accordance with an instruction of the special packet for control after processing of a packet to be performed is completed .
請求項記載の双方向リングネットワークにおいて、
前記各ノード装置が、
自ノード装置に接続されている処理装置から到着した、前記切断点記録レジスタに記録されているノード番号の変更を指示する制御用特殊パケットを隣接するノード装置の内の一方のノード装置へ送出する構成を有すると共に、隣接する一方のノード装置から到着した制御用特殊パケットを隣接する他方のノード装置へ送出する構成を有することを特徴とする双方向リングネットワーク。
The bidirectional ring network according to claim 5 , wherein
Each of the node devices
A special packet for control instructing to change the node number recorded in the cut point recording register, which arrives from the processing device connected to the own node device, is sent to one of the adjacent node devices. A bidirectional ring network characterized by having a configuration and sending a control special packet arriving from one adjacent node device to the other adjacent node device.
請求項記載の双方向リングネットワークにおいて、
前記各ノード装置が、
自ノード装置に接続されている処理装置から制御用特殊パケットが到着した場合、該制御用特殊パケットの内容と現時点の順方向ループの切断点のノード装置とに基づいて切断点の双方向リングネットワーク上での移動方向を判断し、前記制御用特殊パケットが流れる方向が前記切断点の移動方向とは反対の方向になるように、前記制御用特殊パケットを隣接するノード装置の内の何れか一方のノード装置へ送出する構成を有することを特徴とする双方向リングネットワーク。
The bidirectional ring network according to claim 6 , wherein
Each of the node devices
When a special packet for control arrives from a processing device connected to its own node device, a bi-directional ring network at the cut point based on the content of the special packet for control and the node device at the current forward loop cut point One of the adjacent node devices for judging the control special packet so that the direction in which the control special packet flows is opposite to the direction of movement of the cutting point. A bidirectional ring network characterized by having a configuration for sending to a node device.
請求項記載の双方向リングネットワークに於いて、
前記ルート決定手段が、
前記第一のステップにおいて送出方向を任意と判定した場合にはパケットの送出方向をノード番号が降順となる方向に決定し、前記第二もしくは第三のステップにおいて送出方向を任意と判定した場合にはノード番号が昇順となる方向にパケットの送出方向を決定する構成を有することを特徴とする双方向リングネットワーク。
The bidirectional ring network according to claim 4 , wherein
The route determination means is
If the sending direction is determined to be arbitrary in the first step, the sending direction of the packet is determined to be the direction in which the node number is descending, and if the sending direction is determined to be arbitrary in the second or third step Is a bidirectional ring network characterized by having a configuration for determining a packet transmission direction in a direction in which node numbers are in ascending order.
自ノード装置に接続される処理装置からのパケットを保持して到着順にサービスする入力バッファと、
デッドロック回避のための切断点とするノード装置のノード番号を記録する書き換え可能な切断点記録レジスタと、
前記入力バッファに保持されているパケットの出力先に関し、自ノード装置に接続される双方向のリンクの内のどちらに送出すべきかを判定するルート決定手段であって、前記切断点記録レジスタの値によって示される切断点のノード装置が自ノード装置である場合、および前記入力バッファに保持されているパケットの送信先のノード装置である場合は、パケットの送出方向を任意と判定し、それ以外の場合は、自ノード装置と前記切断点のノード装置との間の所定方向のホップ数と、前記パケットの送信先のノード装置と前記切断点のノード装置との間の前記所定方向のホップ数とに基づいてパケットの送出方向を決定するルート決定手段と、
を有することを特徴とするノード装置。
An input buffer that holds packets from the processing devices connected to the node device and services them in the order of arrival;
A rewritable cutting point recording register for recording a node number of a node device as a cutting point for avoiding deadlock;
Aforementioned about the output destination of the packet held in the input buffer, a route determining means for determining whether to be sent to either of the bidirectional link connected to the own node device, the cutting point recording If the node device at the disconnection point indicated by the value of the register is its own node device, and if it is the node device that is the transmission destination of the packet held in the input buffer, the packet transmission direction is determined as arbitrary, In other cases, the number of hops in a predetermined direction between the own node device and the node device at the disconnection point, and the predetermined direction between the node device that is the transmission destination of the packet and the node device at the disconnection point. Route determining means for determining the packet transmission direction based on the number of hops ;
A node device comprising:
請求項記載のノード装置において、
自ノード装置のノード番号から前記切断点記録レジスタに記録されているノード番号を減算し、結果を符号付整数で出力する第一の減算器と、
前記入力バッファに保持されているパケットの送信先のノード装置のノード番号から前記切断点記録レジスタに記録されているノード番号を減算し、結果を符号付整数で出力する第二の減算器とを有し、且つ、
前記ルート決定手段が、
前記第一の減算器の出力が0である場合は、前記パケットの送出方向を任意と判定する第一のステップと、
前記第二の減算器の出力が0である場合は、前記パケットの送出方向を任意と判定する第二のステップと、
前記第一の減算器の出力値と前記第二の減算器の出力値とを符号なし整数として比較し、前者の方が大きい場合にはパケットの送出方向をノード番号が降順となる逆方向に、後者の方が大きい場合にはパケットの送出方向をノード番号が昇順となる順方向に決定する第三のステップとを行う構成を有することを特徴とするノード装置。
The node device according to claim 9 , wherein
A first subtractor for subtracting the node number recorded in the cut point recording register from the node number of the own node device and outputting the result as a signed integer;
A second subtracter that subtracts the node number recorded in the cut point recording register from the node number of the node device that is the transmission destination of the packet held in the input buffer, and outputs the result as a signed integer. Have and
The route determination means is
If the output of the first subtractor is 0, a first step of determining the packet transmission direction as arbitrary;
If the output of the second subtractor is 0, a second step of determining the packet transmission direction as arbitrary;
Compare the output value of the first subtractor and the output value of the second subtractor as an unsigned integer, and if the former is larger, the packet transmission direction will be the reverse direction where the node number is in descending order A node device characterized by comprising a third step of determining, in the latter case, the packet transmission direction as a forward direction in which the node numbers are in ascending order.
請求項記載のノード装置において、
前記切断点記録レジスタには、順方向ループの切断点にするノード装置のノード番号が記録され、
前記ルート決定手段が、
前記切断点記録レジスタの値によって示される順方向ループの切断点とするノード装置が自ノード装置である場合は、パケットの送出方向を任意と判定し、
前記順方向ループの切断点のノード装置よりも順方向ループに沿って1つ先のノード装置が自ノード装置である場合は、パケットの送出方向を任意と判定し、
それ以外の場合は、自ノード装置と前記順方向ループの切断点のノード装置との間の所定方向のホップ数と、前記パケットの送信先のノード装置と前記順方向ループの切断点のノード装置との間の前記所定方向のホップ数とに基づいてパケットの送出方向を決定する構成を有することを特徴とするノード装置。
The node device according to claim 9 , wherein
In the cutting point recording register, the node number of the node device to be the cutting point of the forward loop is recorded,
The route determination means is
When the node device that is the cut point of the forward loop indicated by the value of the cut point recording register is its own node device, it determines that the packet sending direction is arbitrary,
If the node device that is one node ahead along the forward loop from the node device at the cut-off point of the forward loop is the own node device, the packet transmission direction is determined as arbitrary,
In other cases, the number of hops in a predetermined direction between the own node device and the node device at the cut-off point of the forward loop, the node device that is the transmission destination of the packet, and the node device at the cut-off point of the forward loop A node device having a configuration for determining a packet transmission direction based on the number of hops in a predetermined direction between the first node and the second node.
請求項記載のノード装置において、
前記切断点記録レジスタには、順方向ループの切断点とするノード装置のノード番号が記録され、且つ、
自ノード装置のノード番号から前記切断点記録レジスタに記録されているノード番号を減算し、結果を符号付整数で出力する第一の減算器と、
前記入力バッファに保持されているパケットの送信先のノード装置のノード番号から前記切断点記録レジスタに記録されているノード番号を減算し、結果を符号付整数で出力する第二の減算器とを有し、且つ、
前記ルート決定手段が、
前記第一の減算器の出力が0である場合は、パケットの送出方向を任意と判定する第一のステップと、
前記第一の減算器の出力が1である場合は、パケットの送出方向を任意と判定する第二のステップと、
前記切断点記録レジスタの値が0であり、且つ自ノード装置固有のノード番号が双方向リングネットワーク中で最大の値である場合は、パケットの送出方向を任意と判定する第三のステップと、
前記第二の減算器の出力が0である場合は、パケットの送出方向をノード番号が昇順となる順方向に決定する第四のステップと、
前記第一の減算器の出力値と前記第二の減算器の出力値とを符号なし整数として比較し、前者の方が大きい場合はパケットの送出方向をノード番号が降順となる逆方向に、後者の方が大きい場合はパケットの送出方向をノード番号が昇順となる順方向に決定する第五のステップとを行う構成を有することを特徴とするノード装置。
The node device according to claim 9 , wherein
In the cutting point recording register, the node number of the node device as the cutting point of the forward loop is recorded, and
A first subtractor for subtracting the node number recorded in the cut point recording register from the node number of the own node device and outputting the result as a signed integer;
A second subtracter that subtracts the node number recorded in the cut point recording register from the node number of the node device that is the transmission destination of the packet held in the input buffer, and outputs the result as a signed integer. Have and
The route determination means is
If the output of the first subtractor is 0, a first step of determining the packet transmission direction as arbitrary;
If the output of the first subtractor is 1, the second step of determining the packet transmission direction as arbitrary;
When the value of the cut point recording register is 0 and the node number unique to the own node device is the maximum value in the bidirectional ring network, a third step of determining the packet transmission direction as arbitrary;
If the output of the second subtractor is 0, a fourth step of determining the packet sending direction as a forward direction in which the node numbers are in ascending order;
Compare the output value of the first subtractor and the output value of the second subtractor as an unsigned integer, and if the former is larger, the packet sending direction is in the reverse direction in which the node number is in descending order, And a fifth step of determining a packet transmission direction in a forward direction in which the node numbers are in ascending order when the latter is larger.
自ノード装置に接続される処理装置からのパケットを保持して到着順にサービスする入力バッファと、
デッドロック回避のための切断点とするノード装置のノード番号を記録する書き換え可能な切断点記録レジスタと、
前記入力バッファに保持されているパケットの出力先に関し、前記切断点記録レジスタの値から、自ノード装置に接続される双方向のリンクの内のどちらに送出すべきかを判定するルート決定手段と、
切断点記録レジスタに記録されているノード番号の変更を指示する制御用特殊パケットが、自ノード装置に接続される処理装置、もしくは自ノード装置に双方向のリンクによって接続される隣接ノード装置から到着した場合、前記制御用特殊パケットに先行するパケットの処理が完了してから自ノード装置内の切断点記録レジスタの値を前記制御用特殊パケットの指示に従って更新する構成を有することを特徴とするノード装置。
An input buffer that holds packets from the processing devices connected to the node device and services them in the order of arrival;
A rewritable cutting point recording register for recording a node number of a node device as a cutting point for avoiding deadlock;
Route determining means for determining which of the two-way links connected to the own node device should be sent from the value of the cut point recording register with respect to the output destination of the packet held in the input buffer; ,
A special packet for control instructing to change the node number recorded in the disconnection point recording register arrives from a processing device connected to the own node device or an adjacent node device connected to the own node device by a bidirectional link In this case, the node has a configuration in which after the processing of the packet preceding the control special packet is completed , the value of the disconnection point recording register in the own node device is updated according to the instruction of the control special packet. apparatus.
請求項13記載のノード装置において、
自ノード装置に接続される処理装置から到着した、切断点記録レジスタに記録されているノード番号の変更を指示する制御用特殊パケットを、隣接するノード装置の内の一方のノード装置へ送出する構成を有すると共に、隣接する一方のノード装置から到着した制御用特殊パケットを隣接する他方のノード装置へ送出する構成を有することを特徴とするノード装置。
The node device according to claim 13 , wherein
A configuration in which a special packet for control instructing the change of the node number recorded in the cut point recording register, which arrives from the processing device connected to the own node device, is sent to one of the adjacent node devices. And having a configuration for sending a control special packet arriving from one adjacent node device to the other adjacent node device.
請求項14記載のノード装置に於いて、
自ノード装置に接続される処理装置から制御用特殊パケットが到着した場合、該制御用特殊パケットの内容と前記切断点記録レジスタの内容とに基づいて切断点の双方向リングネットワーク上での移動方向を判断し、前記制御用特殊パケットが流れる方向が前記切断点の移動方向とは反対の方向になるように、前記制御用特殊パケットを隣接するノード装置の内の一方のノード装置へ送出する構成を有することを特徴とするノード装置。
The node device according to claim 14 , wherein
When a control special packet arrives from a processing device connected to the own node device, the movement direction of the cut point on the bidirectional ring network based on the content of the control special packet and the content of the cut point recording register And transmitting the control special packet to one of the adjacent node devices so that the direction in which the control special packet flows is opposite to the moving direction of the cutting point. A node device comprising:
請求項12記載のノード装置に於いて、
前記ルート決定手段が、
前記第一のステップにおいて送出方向を任意と判定した場合には、パケットの送出方向をノード番号が降順となる逆方向に決定し、前記第二もしくは第三のステップにおいて送出方向を任意と判定した場合には、パケットの送出方向をノード番号が昇順となる順方向に決定する構成を有することを特徴とするノード装置。
The node device according to claim 12 , wherein
The route determination means is
If the sending direction is determined to be arbitrary in the first step, the sending direction of the packet is determined as the reverse direction in which the node number is descending, and the sending direction is determined to be arbitrary in the second or third step. In this case, the node apparatus has a configuration in which the packet transmission direction is determined to be a forward direction in which the node numbers are in ascending order.
複数のノード装置がリング状に双方向のリンクによって接続され、さらに前記各ノード装置にそれぞれ異なる処理装置が接続され、処理装置からのパケットをノード装置間で送受信しつつ目的の処理装置に到達させる双方向リングネットワークであって、
前記各ノード装置には、リングに沿って順にノード番号が付されており、且つ、
前記各ノード装置が、
自ノード装置に接続されている処理装置からのパケットを保持して到着順にサービスする入力バッファと、
デッドロック回避のための切断点とするノード装置のノード番号を記録する書き換え可能な切断点記録レジスタと、
前記入力バッファに保持されているパケットの出力先に関し、前記切断点記録レジスタの値から、前記双方向のリンクの内のどちらに送出すべきかを判定するルート決定手段と、
を有する双方向リングネットワークを制御する双方向リングネットワーク制御方法であって、
自ノード装置に接続されている処理装置もしくはリングを形成している隣接したノード装置から切断点記録レジスタに記録されているノード番号の変更を指示する制御用特殊パケットが到着した場合、前記制御用特殊パケットに先行するパケットの処理が完了してから前記制御用特殊パケットによって、自ノード装置内の切断点記録レジスタの値が更新されることを特徴とする双方向リングネットワーク制御方法。
A plurality of node devices are connected in a ring shape by bi-directional links, and different processing devices are connected to the respective node devices, and packets from the processing devices are transmitted and received between the node devices to reach the target processing device. A bi-directional ring network,
Each node device is given a node number in order along the ring, and
Each of the node devices
An input buffer that holds packets from the processing devices connected to its own node device and services them in the order of arrival;
A rewritable cutting point recording register for recording a node number of a node device as a cutting point for avoiding deadlock;
Route determination means for determining which of the two-way links should be sent from the value of the cut point recording register regarding the output destination of the packet held in the input buffer;
A bi-directional ring network control method for controlling a bidirectional ring network with,
When the control for the special packet instructing a change of the node number stored in the adjacent node device or al switching Danten recording register to form a processing apparatus or the ring is connected to the node device has arrived, the A bidirectional ring network control method, characterized in that a value of a cut point recording register in the own node device is updated by the control special packet after processing of a packet preceding the control special packet is completed .
請求項17記載の双方向リングネットワーク制御方法において、
前記処理装置から到着した制御用特殊パケットが、
前記処理装置に接続されているノード装置内の切断点記録レジスタの値を更新し、
さらにリングネットワーク上を各ノード装置の前記切断点記録レジスタの内容を更新しつつ一周することにより、
デッドロックを回避するための依存関係の切断点を双方向リングネットワーク上で移動させることを特徴とする双方向リングネットワーク制御方法。
The bidirectional ring network control method according to claim 17 ,
A special packet for control arriving from the processing device is
Update the value of the breakpoint recording register in the node device connected to the processing device,
Furthermore, by making a round while updating the contents of the cutting point recording register of each node device on the ring network,
A bidirectional ring network control method, characterized by moving a cut point of a dependency relationship to avoid a deadlock on a bidirectional ring network.
請求項18記載の双方向リングネットワーク制御方法において、
前記制御用特殊パケットは、
デッドロックを回避するための依存関係の切断点を双方向リングネットワーク上で移動させる方向とは逆の回転方向にリングネットワーク上を一周することを特徴とする双方向リングネットワーク制御方法。
The bidirectional ring network control method according to claim 18 , wherein
The control special packet is:
A bidirectional ring network control method comprising: making a round on a ring network in a direction opposite to a direction in which a cut point of a dependency relationship for avoiding deadlock is moved on the bidirectional ring network.
JP2001150590A 2001-05-21 2001-05-21 Bidirectional ring network, node device, and bidirectional ring network control method Expired - Fee Related JP3758523B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001150590A JP3758523B2 (en) 2001-05-21 2001-05-21 Bidirectional ring network, node device, and bidirectional ring network control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001150590A JP3758523B2 (en) 2001-05-21 2001-05-21 Bidirectional ring network, node device, and bidirectional ring network control method

Publications (2)

Publication Number Publication Date
JP2002344463A JP2002344463A (en) 2002-11-29
JP3758523B2 true JP3758523B2 (en) 2006-03-22

Family

ID=18995579

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001150590A Expired - Fee Related JP3758523B2 (en) 2001-05-21 2001-05-21 Bidirectional ring network, node device, and bidirectional ring network control method

Country Status (1)

Country Link
JP (1) JP3758523B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4129023B2 (en) * 2003-06-02 2008-07-30 富士通株式会社 Node device and RPR network
US7765385B2 (en) * 2007-04-18 2010-07-27 International Business Machines Corporation Fault recovery on a parallel computer system with a torus network
JP4639223B2 (en) 2007-12-27 2011-02-23 株式会社日立製作所 Storage subsystem
JP5233553B2 (en) * 2008-09-29 2013-07-10 沖電気工業株式会社 Network route setting system, network route setting method, and network setting server

Also Published As

Publication number Publication date
JP2002344463A (en) 2002-11-29

Similar Documents

Publication Publication Date Title
JP5895202B2 (en) Repeater, repeater control method, and computer program
JP4808513B2 (en) System-on-chip global asynchronous communication architecture
US6728205B1 (en) Method and apparatus for automatic protection switching
CN100461751C (en) Label-switched path network with alternate routing control
US7809006B2 (en) Routing with virtual channels
JP4959792B2 (en) Method for routing virtual links in a frame switched network with a description of guaranteed determinism
JPH0888627A (en) Grouping of nodes in network and data transfer method
Waleed et al. Demonstration of single link failure recovery using Bellman Ford and Dijikstra algorithm in SDN
Kentis et al. Effects of port congestion in the gate control list scheduling of time sensitive networks
US6545977B2 (en) Methods and apparatus for routing signals in a ring network
CN104125149A (en) A method and a device for optimizing a configuration system of a network element of a software-defined network
Oh et al. RT-SDN: adaptive routing and priority ordering for software-defined real-time networking
Kurbanov et al. Deadlock-free routing in spacewire onboard network
JP3758523B2 (en) Bidirectional ring network, node device, and bidirectional ring network control method
CN116915708A (en) Method for routing data packets, processor and readable storage medium
JP2002359634A (en) Method and device for designing communication path and program
KR20050087838A (en) Return path derivation in packet-switched networks
CN115118677A (en) Routing node scheduling method of network on chip in FPGA
CN116418492A (en) Route establishment method, system and quantum cryptography network
CN109600431B (en) Content increment transmission method facing mobile communication network and mobile communication system
JP3821377B2 (en) Bidirectional ring network, node apparatus, and routing information configuration method for bidirectional ring network
CN117135110B (en) Self-adaptive routing method, device, system, equipment and storage medium
JP2003234764A (en) Optical burst signal routing system
He et al. Enhancing Throughput for TTEthernet via Co-optimizing Routing and Scheduling: An Online Time-Varying Graph-based Method
Ben Abdallah et al. Multicore SoC On-Chip Interconnection Networks

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050913

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051111

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051213

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051226

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100113

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees