JP2008294586A - ルータおよび並列分散システム - Google Patents

ルータおよび並列分散システム Download PDF

Info

Publication number
JP2008294586A
JP2008294586A JP2007135940A JP2007135940A JP2008294586A JP 2008294586 A JP2008294586 A JP 2008294586A JP 2007135940 A JP2007135940 A JP 2007135940A JP 2007135940 A JP2007135940 A JP 2007135940A JP 2008294586 A JP2008294586 A JP 2008294586A
Authority
JP
Japan
Prior art keywords
packet
router
prediction
route
predicted
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.)
Withdrawn
Application number
JP2007135940A
Other languages
English (en)
Inventor
Michihiro Koibuchi
道紘 鯉渕
Tsutomu Yoshinaga
努 吉永
Shojiro Kamakura
正司郎 鎌倉
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.)
University of Electro Communications NUC
Research Organization of Information and Systems
Original Assignee
University of Electro Communications NUC
Research Organization of Information and Systems
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 University of Electro Communications NUC, Research Organization of Information and Systems filed Critical University of Electro Communications NUC
Priority to JP2007135940A priority Critical patent/JP2008294586A/ja
Publication of JP2008294586A publication Critical patent/JP2008294586A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】予測機構を有するルータ装置における予測ミスによって生じたパケットを検出して処理し、ネットワークのレイテンシ、スループットを向上させるルータ装置および並列分散システムを提供する。
【解決手段】予測器(112)で予測された経路に基づき、パケットを少なくとも1つの入力ポートから複数の出力ポートの1つへ転送するようにスイッチ(140)を制御する制御器(110)と、パケットに含まれる目的地関連情報および予測器(112)により予測された経路情報とを比較し、予測が正しいか否かを判定する予測成否判定器(150)とを具え、制御器(110)は、予測が正しくない場合、パケットの宛先アドレスに基づく通常の経路計算処理を行って求めた経路に基づき、パケットを少なくとも1つの入力ポートから複数の出力ポートの1つへ転送するようにスイッチ(140)を制御することを特徴とする。
【選択図】図1

Description

本発明は、ルータおよび並列分散システムに関し、特に、レイテンシ、スループットを向上させたルータおよび並列分散システムに関する。
オンチップマルチプロセッサ、PCクラスタ、並列計算機などの並列分散システムでは、ネットワークでパケットの破棄が生じないロスレスネットワークが用いられている。このようなロスレスネットワークでは、スイッチング技術として、各ルータがパケット全体を格納できるチャネルバッファを有し、パケット全体をチャネルバッファに受けとってから順に次のルータに渡していくストア・アンド・フォワード(Store−and−Forward:SF)方式ではなく、ワームホール方式、あるいはバーチャルカットスルー方式を採用し、ルータ間におけるパケットのバッファオーバフローを防いでいる。ワームホール方式では、各ルータが基本的に1フリット分を格納できるチャネルバッファを有し、パケットの先頭フリット(ヘッダフリット)は、送り先のフリットバッファが空いている限り、次々と先のルータへ進んでいく。パケットは複数のルータのチャネルバッファの列にまたがって格納され、全体が、ワーム(いも虫)のように前進する。先頭フリットが進もうとするバッファが、他のパケットによって使われていた場合、パケットの進行はそこでストップし、チャネルバッファが空くのを待って前進を再開する。バーチャルカットスルー方式では、SF方式と同様に、各ルータはパケット全体を格納することのできるチャネルバッファを有するが、ワームホール方式と同様に、パケットの先頭フリットは、パケット本体の到着を待つことなく次々と先のルータへ進んでいく。パケットの先頭フリットが他のパケットによってブロックされた場合は、パケット本体の転送は停止されずに、先頭フリットのあるルータのチャネルバッファに格納される。ロスレスネットワークでは、パケットの転送を開始する場合、専用のハンドシェーク線を使ってハンドシェークを取るが、転送を開始した後は、クロックに同期して1フリットごとに転送を行っていく。この場合、ワームホール方式では、受信バッファのオーバフローを抑えるために、先頭フリットがブロックされていないか、専用のハードウェアで監視している。一方SF方式では、パケットを受けとりつつ次のルータには送らないため、受信バッファのオーバフローが生じず、ソフトウェア処理が可能である。
前述したようにロスレスネットワークでは、ネットワーク内においてパケットの廃棄が許されていないため、メッシュトポロジなどにおいてパケット間の循環依存によるデッドロックが生じうる。従って通常は、デッドロックフリー方式、場合によってはデッドロックリカバリー方式を採用して経路を管理し、デッドロックを防いでいる。これらのネットワークのルータは、高クロック、高スループットを実現するために、パケット処理を複数に細分化して、パイプライン方式を採用している。その場合、パケットは複数のクロックサイクルを経て、入力ポートから出力ポートへ転送される。すなわち、パイプライン処理の1ステージは、1クロックサイクル以上かけて処理される。例えば、非特許文献2に記載されている典型的なルータでは、図20に示す典型的なルータによるパイプライン処理P2のように、パケット処理を以下のステージに分割している。
(1)入力パケットの入力仮想チャネルでのバッファリング(Input Bufferring:IB)
(2)入力ポートにおける、パケットヘッダからの出力ポート情報の解読、または、ルータの制御ユニットからの出力ポート情報の取得(ルーティング計算、Routing Computation:RC)
(3)出力ポートの設定(出力仮想チャネルの割当て、Virtual−Channel Allocation:VA)
(4)その出力ポートへのクロスバーの設定(Switch Allocation:SA)
(5)パケット転送(スイッチ転送、Switch Transfer:ST)
従って、入力ポートに入力されたパケットは、5クロックサイクル以上かかって出力ポートへ転送される。最近の並列分散システムのルータでは、これらのステージをさらに細分化し、数段から十数段のパイプラインと、物理的な転送および配送遅延を吸収するためのバッファリングステージなどで処理される場合が多い。また、パケットが他のパケットによりブロックされた場合、このパイプラインは、CPUでのパイプライン処理のようにストール(停止)される。そして、ブロックされた他のパケットは、占有されたルータ資源が開放され次第、処理が再開される。
ロスレスネットワークは、ルータ間のリンク長がmm〜数mオーダと短いため、リンク通過遅延ではなく、パケットのルータ遅延が、ネットワークの転送遅延の支配的な要因となる。従って、このパイプライン処理時間を隠蔽するために、パケットが到着する前に、そのパケットの出力ポートを予測する予測機構を設けて、ルータ内転送の設定をその予測機構の予測に基づいて投機的に実行する手法が、例えば非特許文献2〜4に提案されている。この、予測機構によるパイプライン処理の一例を、図20の予測機構によるパイプライン処理P1に示す。予測機構は、入力ポートの通信履歴を参照して次の出力ポートを予測し、予測された出力ポートに利用可能な仮想チャネルがある場合、VAステージを実行する。VAステージまでを前処理しておくことで、パケットのヘッダフリットが入力ポートに到着すると、図の予測機構によるパイプライン処理P1のように、IBステージと同時にSAステージの実行が可能となり、RCおよびVAステージの遅延なしにSTステージを実行できる。すなわち、この手法では、予測が成功した場合(すなわち、ルータが予測した出力ポートと、パケットの宛先アドレスに対する適切な出力ポートが一致した場合)、パケットが、入力ポートに到着した直後に出力ポートにただちに転送される。この予測に基づくSTを、PST(Predictive Switch Traversal)と呼ぶ。現在、ポートを多数持つ高次元ルータにおけるSAステージ、多数のバッファを持つルータにおけるVCステージでは、実際には1ステージの処理に多くのサイクルが必要になることから、予測が成功すればパケットを高速に処理することができ、予測機構の効果はさらに大きくなる。
なお、パケットが到着する前に、上述のRC,VA,SAステージを予め投機的に行う予測処理(PST)は、予測した出力ポートへの(データ)パスが空いている場合にのみ実現することができ、他のパケットにより使用されている出力ポートに対しては、事前の予測に基づくパイプライン処理を実行することはできない。
ロスレスネットワークは、並列科学技術計算のアプリケーションなどの、アクセス局所性の生じる可能性が高い通信トラフィックを扱うものであるため、前述の予測機構によるパケットの出力ポートの予測は、高い精度で当たることが分かっている。従って、予測機構の付加により、各パケットの転送処理が早く進み、パケットがネットワークに滞在する時間が減るため、ヘッド・オブ・ライン(Head−Of−Line:HOL)ブロッキングが減り、パケットの平均レイテンシのみならず、スループットが向上する。
なお、スループットを向上させるためのルータ遅延低減方法の関連研究には、以下のものがある。
<スペキュレイティブ・ルータ(Speculative Router)>
Dallyらは、ルータ内のパケット処理遅延を削減するために、Speculative Routerを提案している。Speculative Routerは、ルータのパケットのパイプライン処理の順番を入れ換え、さらに複数のパイプラインステージを1つに統合することで、パイプラインの段数を削減している。しかし、実際には、その制御機構が複雑になるため、一部のパイプラインステージを統合するに留めた設計が多く、予測機構を持つルータのように、生じる遅延をスイッチ内の転送遅延のみに留めてパケット処理を行うことは難しい。
<ルックアヘッド(Lookahead)法>
スーパーコンピュータBlueGene/Lで採用されているルックアヘッド(Lookahead)法は、ルータのパイプライン処理の順番を変更し、RCステージを最後に行うものである。これにより、ルータ内においてRCステージに複数クロックサイクルが必要になる場合でも、RCステージのオーバヘッドが隠蔽される。すなわちルックアヘッド法では、次のルータにおけるRC処理をそれ以前のルータで行うことで、そのパケットが隣接ルータに到着した後ただちに、VA,SA等のステージ処理を行うことができる。このルックアヘッド法も、パイプライン処理の順番を交換することが特徴であり、VA,SA等のステージ処理は行うため、予測機構付きルータのように、VA,SA等の遅延を完全に隠蔽することは難しい。
<マッドポストマンスイッチング>
マッドポストマンスイッチングは、メッシュトポロジにおいて、ソースルーティング実装を用いた次元順ルーティングを対象として、同一方向へパケットを投機的に連続転送するものである。しかしながら、この手法はシリアル転送を対象にしており、ルーティング情報を複数フリットに分割して格納する必要がある。さらに、この手法によるルータは、予測機構を持たず、1つのパケット処理のパイプラインでルータ内でパケットの複製を作成せずに、経路を間違えた場合は必ず異なるルータで破棄させるものである。
W.J.Dally and B.Towles:Principles and Practices of Interconnection Networks, Morgan Kaufmann(2003) 鎌倉正司郎、西村康彦、吉永努、鯉渕道紘:2Dトーラスネットワークにおける通信方向予測ルーティング、情報処理学会全国大会(2006) Yoshinaga.T,Kamakura.S,and Koibuchi.M:Predictive Switching in 2D Torus Routers, Preproceedings of International Workshop on Innovative Architecture for Future Generation High−Performance Processors and Systems (IWIA),(2006) 鎌倉正司郎、吉永努、鯉渕道紘:2Dトーラスネットワークにおける動的予測ルーティング、情報処理学会技術研究報告[計算機アーキテクチャ],(2006)
ただし、現状の予測機構では以下のような問題点があり、予測機構の効果を低減させている。
(a)予測処理によって転送されたパケットは、予測の成否が判明するまで出力ポートに留まる。よって、予測ミスが判明したときには、既にパケットはルータ内の間違った出力ポートに転送されてしまっており、このミスパケットは、ルータ内におけるクロスバスイッチや出力ポート、論理チャネル等のルータ資源を消費/占有し、他のパケットの通過を阻害する。これによって、ネットワーク資源の使用効率が落り、他のパケットの遅延が増大する。
(b)パケットは、正しい出力ポートに転送された場合でも、予測の成否が判明するまで(RCステージの処理が終了するまで)、当該出力ポートに留まり、隣接ルータへ送出されない。従って、ルータ全体のルーティングテーブルに対してパケットのエントリ数が多い等の理由で、RCステージの処理に時間がかかる場合には、出力ポートにおいてパケットヘッダの待ち時間(遅延)が生じる。例えば、RCステージに10サイクル、VA,SA,STステージに各1サイクルかかる場合、予測が成功しても、ルータ遅延は13サイクルから10サイクルに短縮されるのみであり、ヘッダフリットの通過遅延の削減効果が小さくなってしまう。
(c)予測が不成功である場合は、予測を行わない通常のパイプライン処理を行うため、既存のルータと同様の遅延が生じる。
まとめると、上述の問題点(a)は、他のパケットをブロックして、ルータのスループット、ひいてはシステム全体のスループットを低下させる可能性があることを示し、(b)、(c)は、パケットのルータ通過遅延の削減効果が限定される場合があることをを示している。
上述した課題について、図を用いて説明する。図18は、従来の並列分散システムにおいて用いられている、予測機構を有するルータの構成を示す概略的なブロック図である。ルータ200は、入力ポートIN1,IN2を含む入力部120、出力ポートOUT1,OUT2を含む出力部130、制御部110、ならびにクロスバユニット(クロスバスイッチ)140を具える既存の典型的なルータにおいて、制御部110に予測部112を付加した構成となっている。このルータ200において、到着したパケットは、上述したように大きく5つのステージに分けられ、パイプライン方式で処理される。この、ルータ200内でのパケットの処理を、図19、図20を用いて説明する。図19は、各ステージでのパケットの流れ、図20は、上述したように、予測機構によるパイプライン処理P1および典型的なパイプライン(ここでは5ステージとする)処理P2を示している。まず、パケットが入力ポートIN1に到着すると、入力チャネル(仮想チャネル)にパケットがバッファリングされる(IB)。入力ポートIN1においてパケットのヘッダから出力ポート情報が解読(デコード)され、出力候補となるポートが計算される(RC、ステップS30)。なお、出力ポート情報は制御部110が取得してもよい。このRCステージと同時に、制御部110は、矢印A30のように、予測部112が予め予測した出力ポートOUT2へ、IBステージで入力チャネルに格納されているパケットを転送する(PST、ステップS31)。なお予測部112による予測には、既知の予測アルゴリズムを用いることができ、それらについては後述する。RCステージが終了して予測が成功している場合には、パケットの先頭部分(ヘッダフリット)は、1サイクルで出力ポートに転送される。しかしながら、予測が外れた場合(予測ミスの場合)は、RCステージに続いて、矢印A31のように、正しい出力ポート(図の例では、出力ポートOUT1)の設定(VA、ステップS32)、正しい出力ポートOUT1へのクロスバスイッチの設定(SA、ステップS33)、パケットの転送(ST、ステップS34)の一連の処理を経て、パケットが出力ポートOUT1へ転送される。なお、図18において制御部は入力部と別になっているが、入力部の中に統合されているルータアーキテクチャにおいてもパケット処理は同様であり、以下に述べる問題点も同様に生じる。その問題にも、本発明の解決法を同様に適用することができる。
さらに、図20において典型的なパイプライン処理P2における処理順番、各ステージの処理内容が異なるルータアーキテクチャにおいてもパケット処理に複数ステージ必要な場合は、同様の問題点が生じる。その場合にも、本発明の解決法を同様に適用することができる。
このルータ200の問題点を再度述べる。まず、入力ポートにおいて、次に到着するパケットの出力ポートの予測ミスが生じた場合、ルータ200内でのパケットのヘッダフリットの通過遅延が、予測が成功した場合に比べて、VA,SA,STの処理の分だけ大きくなる。さらに、RCステージの期間、予測ミスのパケットは、予測した出力ポート(この例ではOUT2)を占有して、他のパケットの通過を阻害するため、ネットワークの使用効率、すなわちスループットが低下し、遅延が大きくなる。また、正しい出力ポートに再送するためにパケットヘッダから一部分をルータ内の仮想チャネルに格納する必要があり、ルータ資源を浪費する。さらに、パケットのルーティング計算処理(RC、ステップS30)時間が大きい場合(図20ではRCを1サイクルで示したが、これが数サイクルかかる場合)は、ルータにおいて予測成否の判定に時間がかかる。そのため、予測が成功した場合においても、隣接ルータへパケットを送出するまでに待ち時間(遅延)が生じる。なお、予測機構ルータは、予測が成功した場合、入力ポートから出力ポートへの転送のみでルータを通過するが、ルックアヘッドルーティング法のようにRCステージの順番を変更しても、そのRC処理遅延が大きい場合には、遅延を完全に隠蔽することはできない。
よって、本発明の目的は、上述の問題を克服し、予測機構を有するルータ装置における予測ミスによって生じたパケットを検出して処理し、ルータ資源を浪費させず、結果としてネットワークのスループットを向上させる技法(ルータ装置およびそのルータを含む並列分散システム)を提供することである。
上述した諸課題を解決すべく、第1の発明によるルータは、
パケットを受ける前にパケットの経路を予測する予測器と、前記パケットを受ける少なくとも1つの入力ポートと、前記パケットを受け、隣接するノード(ルータなど)に転送する複数の出力ポートと、前記少なくとも1つの入力ポートで受けたパケットが転送されるべき出力ポートを設定するスイッチ(クロスバスイッチなど)とを持つルータであって、
前記予測器で予測された経路に基づき、前記パケットを前記少なくとも1つの入力ポートから前記複数の出力ポートの1つへ転送するように前記スイッチを制御する制御器と、
前記入力ポートで受けたパケットに含まれる当該パケットの目的地関連情報、および、前記予測器により予測された経路情報とを比較し、前記予測器による予測が正しいか否かを判定する予測成否判定器とを具え、
前記制御器は、
前記予測成否判定器により予測が正しくないと判定された場合、前記予測された経路を用いずに、前記入力ポートで受けたパケットの宛先アドレスに基づく通常の経路計算処理(例えば、経路計算処理のステージおよびその他のステージを含むパイプライン処理)を行って、前記通常の経路計算処理で求めた経路に基づき、前記パケットを前記少なくとも1つの入力ポートから前記複数の出力ポートの1つへ転送するように前記スイッチを制御する、
ことを特徴とする。
第2の発明によるルータは、
前記制御器が、
前記予測器により予測された経路に基づき、前記パケットの経路を設定して1ステージで前記パケットを隣接するノードに転送するように前記スイッチおよび前記複数の出力ポートの1つを制御し、
前記予測された経路に基づき設定された経路と、通常の経路計算処理で求めた経路とが異なる場合(即ち、予測が外れた場合)には、前記通常の経路計算処理で求めた経路に基づいて、前記パケットの転送処理をさらに行うように前記スイッチを制御する、
ことを特徴とする。
さらに、第3の発明によるルータは、
パケットを受ける前にパケットの経路を予測する予測器と、
前記パケットを受ける少なくとも1つの入力ポートと、前記パケットを受け、隣接するノード(ルータなど)に転送する複数の出力ポートと、前記少なくとも1つの入力ポートで受けたパケットが転送されるべき出力ポートを設定するスイッチ(クロスバスイッチなど)とを持つルータであって、
前記予測器により予測された経路に基づき、前記パケットが前記少なくとも1つの入力ポートから前記複数の出力ポートの1つへ転送されるように前記パケットの経路を仮想チャネルに設定して、1ステージで前記パケットを隣接するノードに転送するように前記スイッチおよび前記複数の出力ポートの1つを制御し、前記予測された経路に基づき設定された経路と、通常の経路計算処理で求めた経路とが異なる場合(即ち、予測が外れた場合)には、前記通常の経路計算処理で求めた経路に基づいて、前記パケットの転送処理をさらに行うように前記スイッチを制御する制御器、
を具えることを特徴とする。
第4の発明によるルータは、
前記制御器が、
特定の入力ポートから特定の出力ポートに転送されると予測されたパケットに対しては、予測の成否に関わらず、前記予測された経路に基づき設定された経路に基づいて前記パケットの転送処理を行うように前記スイッチを制御する、
ことを特徴とする。
また、本発明の別の実施態様によるルータは、
パケットを受ける前にパケットの経路を予測する予測器と、
前記パケットを受ける少なくとも1つの入力ポートと、前記パケットを受け、隣接するノード(ルータなど)に転送する複数の出力ポートと、前記少なくとも1つの入力ポートで受けたパケットが転送されるべき出力ポートを設定するスイッチ(クロスバスイッチなど)とを持つルータであって、
前記予測器により予測された経路に基づき、前記パケットが前記少なくとも1つの入力ポートから前記複数の出力ポートの1つへ転送されるように前記パケットの経路を設定して、1ステージで前記パケットを隣接するノードに転送するように前記スイッチおよび前記複数の出力ポートの1つを制御し、前記予測された経路に基づき設定された経路と、通常の経路計算処理で求めた経路とが異なる場合(即ち、予測が外れた場合)には、前記通常の経路計算処理で求めた経路に基づいて、前記パケットの転送処理をさらに行うように前記スイッチを制御する制御器、
を具えることを特徴とする。
上述したように本発明の解決手段を装置として説明してきたが、本発明はこれらの装置を含むシステムとしても実現し得るものであり、本発明の範囲にはこれらも包含されるものと理解されたい。例えば、本発明を実現した並列分散システムは、
前記ルータを少なくとも1つ含む並列分散システムであって、
前記ルータから送出された(0または1以上のノードを経た)パケットを受け、当該パケットの目的地までの経路が存在しない場合は(即ち、予測ミスで転送されたパケットであるとき)、当該パケットを廃棄する少なくとも1つの予測ミス検出ルータ、
を具えることを特徴とする。
さらに、本発明を実現した別の並列分散システムは、ネットワークトポロジにおいて、ハミルトニアン閉路、またはすべてのプロセッサノードを接続しているルータを通過する閉路上に前記特定の入力ポートおよび特定の出力ポートがあるように配置し、前記ルータから送出されたパケットを受け、当該パケットの目的地までの経路が存在しない場合は、当該パケットを廃棄する少なくとも1つの予測ミス検出ルータを具える、
ことを特徴とする。
上述の発明により、予測機構を有するルータ装置におけるルータ資源を浪費せず、ネットワークのスループットを向上させることができる。
以降、諸図面を参照しながら、本発明の実施態様を詳細に説明する。図1に、本発明によるルータの概略的なブロック図を示す。ルータ100は、上述した予測機構を具える既存のルータ200に、新たに予測成否判定部150を具えるものである。予測成否判定部150は、目的地情報格納部DIR、予測結果格納部PT、および比較器CMPを具える。制御部110、予測部112、入力部120、出力部130、およびクロスバスイッチ140は、ルータ200と同様であり、同一の符号を付す。
(第1の実施の形態)
第1の実施の形態では、予測成否判定部150は、パケットのヘッダに含まれる目的地関連情報(目的地に関する数ビットの情報であり、以降、「ヒントビット」と称する。)に基づき、予測部112が予め予測した出力ポートが、パケットの目的地に対して適切なポートであるか否かを、パケットの到着時に数ビットの比較器を用いて高速に判定する。ヒントビットに格納される目的地に関する情報としては、例えば目的地の方向を示す情報とすることができ、パケットの出発地で挿入される。このヒントビットの具体例を以下に示す。図4は、2次元メッシュトポロジのネットワークを示す図である。図4では、それぞれR0〜R15の符号を付した16個のルータが、各コンピュータノードとともに示してある。図のような2次元メッシュトポロジでは、出発地において、目的地は北東(NE)、東南(SE)、南西(SW)および北西(NW)の4象限に大雑把に大別される。従ってこれらを識別すべく、2ビットのヒントビットをパケットヘッダに挿入すればよい。図示しないが、ツリー系のトポロジの場合は、パケットのルートの通過の有無を1ビットのヒントビットとして用いることができる。
以下に、本発明による予測成否判定部150を具えるルータのパケット処理を、図を用いて説明する。図3は、予測が不成功の場合のパイプライン処理を示す図であり、予測機構による処理P1および典型的なパイプライン処理P2を示している。図2は、図3のパイプライン処理に対応するルータ100におけるパケットの流れを示す図である。図2に示すように、ルータ100で受信したパケットヘッダに含まれるヒントビットは、矢印A10のように予測成否判定部150に送られ、目的地情報格納部DIRに格納される。予測成否判定部150では、比較器CMPが、予測結果格納部PTに格納されている予測部112が予め予測した結果と、目的地情報格納部DIRに格納されているヒントビットとを比較して、予測部112の予測が適当か否か、すなわち、ヒントビットの目的地の方向に、予測した出力ポートの方向が含まれているか否かを判定する(ステップS10)。予測部112の予測が適当でない場合、すなわち、比較器CMPからの判定結果がPST不可であった場合(ステップS11)、制御部110は、矢印A11に示すようにパケットを転送する。すなわち、入力ポートIN1にてRCステージを実行し(ステップS12)、取得した出力ポートの情報に基づいて出力ポートを割り当てるVAステージを実行し(ステップS13)、クロスバスイッチ140の設定(SAステージ、ステップS14)、パケット転送(STステージ、ステップS15)を実行する。
図3に示すように、予測成否判定部150における予測結果の判定は、PSTおよびRCステージの実行前、すなわち、パイプライン処理P1およびP2の開始前に行われて、予測が不成功の場合にはPSTが実行されないため、出力ポートの占有や仮想チャネル割当などの、「外れるであろう予測に基づく無駄な動作」が実行されず、ネットワーク資源の浪費を防ぐことができる。ここで、図20の、予測成否判定部150を具えない既存の予測機構によるルータのパイプライン処理P1と、図3とを比較し、予測成否判定部150の効果を述べる。いま、図ではRCステージを1サイクルで示してあるが、このRCステージに複数サイクル必要である場合、RCステージが終了するまで、図20の場合、予測機構による処理P1では、PSTによって出力ポートが占有されてしまう。一方、本発明では、予測正否判定部を設けることによって、予測が外れたことがPSTの実行前に判明するため、予測機構による処理P1、すなわち、予測による無駄な動作(PST、出力ポート占有、仮想チャネル割当など)を行わずに済み、誤って予測された出力ポートへの他のパケットの通過をブロックすることがなくなり、結果としてルータ全体としてのスループットが向上するものである。
図4を用いて、本発明によるルータ100を含むネットワークでのパケットの流れを説明する。図において、パケットはノードNSを有するルータR9を出発して、ノードNDを有するルータR0を目的地とする。ルータR9を出発するパケットのパケットヘッダには、ノードNSにて、目的地が北西(NW)方向であるという情報がヒントビットとして挿入される。ルータR8では、予め予測部112によって、出力方向が南方向であると予測されていたとする。しかしながら、ルータR9から矢印D10のようにルータR8に進んだパケットは、予測成否判定部150によって北西(NW)方向のヒントビットに基づき、ルータ8の予測部112の予測が不成功であると判定される。その後、ルータR8での通常のRC,VA,SAおよびSTステージにより、パケットは矢印D12のようにルータR4の方向に送出される。ルータR8にてPSTステージを行わないため、例えばルータR8からルータR12へ矢印D11のように進む他のパケットに対して、出力ポートを使用させることができる。
なお、予測が成功した場合は、そのパケットはルータ内をPSTの1ステージで移動していくため、ルックアヘッド法によるルーティングのように、ルーティング情報(すなわちヒントビット)を各ルータで更新していくことは難しい。従って、出発地において挿入されたヒントビットは、経由する他のルータにて更新しなくてもよい。なお、予測成否判定部150における比較は、数ビットの単純な比較で非常に軽量であるため、RCステージに含めた実装も可能であり、また、RCステージの前に転送遅延やタイミング制御を行うためのバッファリングのサイクルを用いているルータの場合は、このバッファリングサイクルにおいて実施することができる。また、予測成否判定部150は、ネットワークを構成するルータの一部、またはネットワークを構成する全てのルータに設置してもよい。
(第2の実施の形態)
第2の実施の形態では、ルータ100または200の制御部110は、予測部112による予測の成否の判定前、すなわち、制御部110は、RCステージが終了する前に、予測部112による予測に基づいてPSTステージにおいて転送された出力ポートから、パケットを隣接ルータへ送出する。なお、従来の予測機構を具えるルータでは、RCステージの終了後にパケットが転送される構成である。これは、予測機構によるパケット転送の影響をルータ内にとどめ、パケットのルーティング経路に影響を与えないためである。一方、本第2の実施の形態では以下に述べる通り、予測機構がパケットのルーティング経路に影響を与えうるが、パケットの目的地への経路の存在は常に保証される。本実施の形態では、入力ポートで受信したパケットは、RCステージが終了して、予測が不成功(予測ミス)であった場合、通常のRC,VA,SAおよびSTステージによるパイプライン処理を通して、正しい出力ポートへ別途転送される。これにより、RCステージの処理時間が大きい場合、すなわち予測成否の判定を含むRCステージに複数のクロックサイクルが必要となる場合に、予測成功時のルータ遅延を、既存の予測機構を具えるルータと比べて削減することができる。
この機構を具えたルータでは、予測が成功した場合には1ステージ、かつ、出力ポートにおいて遅延することなくパケットを転送すること可能となる。従って、当該ルータは、1ステージにかかる処理時間(クロックサイクル)でパケットを転送することができる。そこで、このような機構を具えたルータを、本明細書では、1ステージルータと呼ぶこととする。なお、1ステージルータには、第1の実施の形態で述べた予測成否判定部150を含めても、含めなくともよい。すなわち、1ステージルータとしては、図18のルータ200または図1のルータ100において、制御部110に上述した機構を持たせたものとすることができる。なお、予測ミスによってネットワークに生じた予測ミスパケットをルーティングする場合、予測ミスパケットの存在は予め考慮されていないため、通常のパイプライン処理におけるRCステージにおいて、適切な出力ポートが見つからない場合が起こり得る。この場合は、そのパケットの処理はRCステージで強制的に終了させてもよい。さらに、1ステージルータには隣接ルータとの接続に用いられているポートの中から特定の入力ポートおよび出力ポートを設けて、この特定の入力ポートから特定の出力ポートに転送されると予測されたパケットに対しては、PSTステージのみを行う。すなわち、特定の出力ポートに転送されたパケットに対しては、RC,VA,SAおよびSTステージ全てを行わない。さらに、図4のように、この1ステージルータに計算ノード(即ち、当該ルータに結合されたプロセッサ)が接続されている場合、図21に示したように、この特定の入力ポート間から計算ノード乃至ノード160が接続されている出力ポートへのクロスバスイッチ140等の、ルータ内部のデータパスをバイパスする専用のリンク170を設ける。そして、特定の入力ポートから特定の出力ポートにPSTステージを用いて転送されたパケットを、計算ノード160へもこのバイパスする専用のリンク170を通って送出させるようにする。このバイパス処理により、特定の入力ポートに到着した、この計算ノード宛のパケットが、予測ミスにより間違って特定の出力ポートに転送された場合でも、この計算ノードにパケットが配送される。その他のパケットは、このバイパスする専用のリンクを使った転送を行わない。なお、図21においては、予測成否判定器150を具えるルータを示しているが、前述したように、1ステージルータには、予測成否判定部150を含めても、含めなくともよい。
第2の実施の形態による1ステージルータを含む並列分散システムでは、予測ミスパケットがネットワーク上に生じ得る。デッドロックフリー方式によるルーティングのアルゴリズムでは、ルータにおけるパケットの転送方向に制限があり、この制限によって、予測ミスパケットは目的地まで到達できなくなる可能性がある。従って、ネットワーク上の適当な位置に、検出ルータを配置する。この検出ルータは、受信したパケットが目的地まで到達できるか否かを判定して、1つ以上前のルータにおける予測ミスにより目的地までの経路が存在しなくなった場合に、その予測ミスパケットを破棄するものである。検出ルータにおける目的地までの経路の検出は、ターンモデル(Turn Model)(例えば、C. J. Glass and L. M. Ni, “The Turn Model for Adaptive Routing, Proceedings of International Symposium on Computer Architecture,” pp. 278-287, 1992を参照されたい。)等の並列分散システムにおいて一般的に使われているN×N→C型のデッドロックフリールーティングアルゴリズムの場合、目的地と現在地の位置を比較することで、簡単に識別することができる。なお、検出ルータとしては、上述した条件を満足する機能を有すれば、アーキテクチャに関する制限はなく、既存の予測機構を具えるルータまたはスペキュレイティブ・ルータ等にすることができる。
1ステージルータおよび検出ルータは、以下で述べるようにネットワーク上に配置して、パケットのネットワーク遅延を削減する。まず、規則性を有するネットワークトポロジの場合は、予測ミスパケットを廃棄できるように検出ルータをネットワーク上に配置し、その他のルータは、全て1ステージルータとする。ただし、1ステージルータは、ハミルトニアン閉路、またはすべてのプロセッサノードを接続しているルータを通過する閉路上に特定の出力ポートがあるように配置する。任意のネットワークトポロジの場合においても、以下のアルゴリズムにより検出ルータを配置し、その他のルータは1ステージルータとすることが可能である。
ステップ1:各ルータをノードとして、ノード集合N、チャネル集合Cから構成されるネットワークグラフG(N,C)を作成する。
ステップ2:G(N,C)において、各ノードから、各目的地まで、予測ミスにより転送されうる隣接ノードを訪問する。
ステップ3:目的地に到達するまで、到達先のノードにて予測ミスにより転送されうる出力ポートが存在する限り、深さ優先探索により訪問を続ける。
ステップ4:訪問先のノードにて、転送されうる出力ポートが存在しない場合、そのノードを検出ルータとする。そして、直前のノードに戻り、ステップ3に従って探索を続ける。
図5に、ハミルトニアン閉路を含めない場合の、1ステージルータおよび検出ルータの簡単な配置例を示す。図において、検出ルータは、R0〜R3,R7,R11およびR15であり、それ以外のルータは1ステージルータである。パケットは、ノードNSを有するルータR9を出発して、ノードNDを有するルータR6を目的地とする。2次元トーラスにおける次元順ルーティングの場合、出発地のルータR9(ノードNS)から、目的地のルータR6(ノードNS)へのパケット転送時に、ルータR9から矢印D20で示す方向に進む予測ミス1、矢印D21で示す方向に進む予測ミス2の、最大2個のミスパケットが生じ得るが、これらは検出ルータR1およびR11にてそれぞれ廃棄される。
次に、図6に、ハミルトニアン閉路を含む場合の配置例を示す。図には、ハミルトニアン閉路D30、上述したアルゴリズムに基づいて配置された検出ルータR0,R5,R10およびR15が示されている。また、図に示すように、ハミルトニアン閉路D30上に、黒点で示す1ステージルータの特定の出力ポートが配置されている。図6では、複数の仮想チャネルおよびターンモデルルーティングアルゴリズムを用いている。すなわち、デッドロックフリーを保証するために、パケットの経路切り換えの禁止パターン(禁止ターン)を行う場合は、仮想チャネル番号を増加させ、ハミルトニアン閉路D30またはすべてのルータを通過する閉路上の1ステージルータの出力ポート(特定の出力ポート)を通過するパケットは、ルータでの予測の成否を確認せずに、PSTステージで転送された出力ポートからそのまま転送される。しかしながら、すべてのルータを通過するハミルトニアン閉路の特性により、目的地に到着することが保証される。このことを、図6を用いて説明する。図において、パケットはルータR5(ノードNS)を出発地、ルータR11(ノードND)を目的地としており、最短経路は矢印D31で示す経路となる。ここで、図のルータR6の予測部が南方向を予測した場合、南方向はPSTのみで転送される出力ポートであるため、パケットはルータR6から矢印D32の方向に送出される。よって図に示すように、パケットの転送経路が矢印D32に変更され、パケットのホップ数は増加するが、ハミルトニアン閉路上に特定の出力ポートを配置していることにより、目的地へのパケットの配送が補償される。この場合、ホップ数が増加するデメリットに比べて、ネットワーク遅延の支配的な要素であるルータ内の遅延を削減した効果の方が大きいため、結果として、パケットのネットワーク転送遅延を低減することができる。
なお、ルータでの予測において、デッドロックフリールーティングアルゴリズムを満たす出力ポートの中から1つのポートが選択される。よって、予測成功の成否に関わらず、(ハミルトニアン閉路を含めた)隣接ルータへ転送されるパケットは、デッドロックフリー転送の条件を満たすことになり、本ネットワークはデッドロックフリーである。また、デッドロックフリーを保証しつつ、目的地への経路を保証するようにルーティングを設定する場合、最短経路を迂回できる回数は制限される。そのため、目的地へのパケットの転送が保証され、本ネットワークではライブロックは生じない。さらに、予測ミスにより生じる、デッドロックフリーは満たすが目的地までの経路を失ったパケットは、検出ルータにより廃棄され、予測ミスが発生したルータにおいて、別途正しい方向へパケットが複製・転送される。よって、目的地へのパケットの配送が保証される。
これ以降に、本発明による予測成否判定部を具えるルータを配置した並列分散システム、および、上述したアルゴリズムに基づき1ステージルータおよび検出ルータを配置した並列分散システムをシミュレーションした結果を示す。シミュレータとしては、非特許文献1に記載のシミュレータブックシム(Booksim)を、予測機構に対応させたものを用いている。ネットワークは、8×8,16×16の2次元トーラスとして構成し、デッドロックフリールーティングアルゴリズムには次元順ルーティング(DOR)を用いている。その他のシミュレーション条件は、以下の通りである。
ネットワーク:k−ary 2−cube (k=8,16,32)
予測アルゴリズム:静的直進予測アルゴリズムSS(入力パケットが常に同一次元を直進すると予測する。例えば、NORTHポートに入力されたパケットはSOUTHポートに出力されると予測し、WESTポートに入力されたパケットはEASTポートに出力されると予測する。)、直前ポート予測アルゴリズムLP(入力パケットが1つ前のパケットと同一の出力ポートを選択すると予測する。)、およびパターンマッチ予測アルゴリズムSPM(パターンマッチングに基づくユニバーサル予測アルゴリズムに、系列の長さ制限等の制約条件を付け、過去の通信履歴から繰り返しパターンを検索することによって、並列プログラムが有する通信の規則性を抽出する。)の3種類とする。
通信パターン:ユニフォームランダム、ビット列逆順およびNAS並列ベンチマークのLU分解(サイズW)で生じるMPIメッセージトレースから作成した3種類とする。
パケット長:ユニフォーム、ビット列逆順において8フリットとする。LU分解で生じるトラフィックはアプリケーションメッセージに応じた可変長とする。
スイッチング:バーチャルカットスルー方式とする。
ルータ間ケーブル遅延:2サイクルとする。
ルーティング:X−Y次元順ルーティング(DOR)とする。
仮想チャネル(VC)数:物理チャネル当たり2本のVC(各8フリット分)を実装し、各次元ともデータライン(dateline)を越えないパケットはVC0を使用し、データラインを越えるパケットはVC1を使用する。
パイプライン:予測に基づかない場合は5ステージ、予測に基づく場合は2ステージで動作する。ただし、RCは3サイクル、他のステージは1サイクルで動作すると仮定する(1フリットのSTによる転送は1サイクルとする。)。
特定の出力ポートの配置:X,Yの各次元の特定の出力ポートを、それぞれk=2だけ離れた2つの行と列に配置する。
SSの実験条件:予測値取得の遅延は特に考慮せず、潜在的に全パケットが予測スイッチング(PST)可能と仮定する。
LPの実験条件:入力ポート毎の通信履歴長は、直前のパケットの出力ポートを記憶する1×3ビットとし、予測処理における遅延は発生せず、全パケットについて通信履歴の値を参照可能とする。
SPMの実験条件:パラメータα=1とし、入力ポート毎の通信履歴長は512×3ビットとする。また、予測器はルータ当たり1つとし、入力ポートまたは注入ポートが通信履歴を更新してから、当該ポートに対する次パケットの出力ポートを予測するのに、4サイクルかかると仮定する。他の入力ポートの予測処理待ちの間に到着したパケットに対してはPSTを行わないものとする。
データ収集方法:ユニフォームトラフィック、ビット列逆順トラフィックではネットワークをウォームアップした後、約12,000パケットを受信するまでのスループット、平均遅延を測定する。LU分解ではアプリケーションの開始から終了までに生じた通信メッセージのについて同様に測定する。
図7〜図12に、本発明の第1の実施の形態における予測成否判定部の有無によるネットワークの特性への影響を、上述の条件において測定した結果を示す。図における(a)、(b)は、各予測アルゴリズムSS,LP,SPMについて、平均遅延(レイテンシ)およびスループットをそれぞれシミュレーションした結果である。図7〜図9、図10〜図12は、それぞれ、ネットワークのサイズを16−ary 2−cubeとした場合、および32−ary 2−cubeとした場合である。各図において、横軸はネットワークへのパケット注入負荷である。なお、ネットワークの性能は、平均遅延が小さいものほど、またスループットが大きいものほど優れたものとなる。これらの図より、パケットヘッダにヒントビットを、および、ルータに予測成否判定部を具えることにより、いずれの場合においても、スループット、レイテンシが改善され、ネットワークが飽和していないパケット注入負荷において、レイテンシを最大で7%削減できていることが分かる。これらの結果からも、本発明による予測成否判定部が、並列分散システムのネットワークにおいて有効であることが分かる。
図13〜図17に、本発明による1ステージルータと検出ルータの配置方法(予測ミスペナルティ削減方法)に基づいて、上述の条件で構成したネットワークへのパケットの注入負荷を変化させた場合の、各予測アルゴリズムによるパケット平均遅延をシミュレーションした結果を示す。各図は、通信パターンおよびネットワークの大きさが異なっている。各図において、横軸はネットワークへのパケット注入負荷、縦軸はパケット平均遅延であり、破線で示すnormalは、予測機構(予測部112)のない既存のルータでネットワークを構成した場合をシミュレーションしたものである。なお、RCステージの実行に多数のクロックサイクルが必要な場合は、上述したように、既存の予測機構を有するルータでの予測による遅延削減効果は極めて小さくなる。つまり、予測機構を有するルータの性能は、予測機構のないルータ(normal)の性能に近づく。
図13および図14は、ユニフォームランダム通信における、それぞれ16−ary 2−cube、32−ary 2−cubeでのシミュレーション結果である。図より、本発明による1ステージルータと検出ルータの配置方法は、いずれの予測アルゴリズムを用いた場合においても、既存のルータ(予測機構のないルータ)でネットワークを構成した場合(凡例normal)に対して平均遅延が低下し、ひいてはネットワーク全体のスループットが向上している。
図15および図16は、ビット逆順通信における、それぞれ16−ary 2−cube、32−ary 2−cubeでのシミュレーション結果である。この通信パターンは、2進数で表した送信元ノード番地から宛先ノードに、パケットの送信を繰り返すもので、通信の規則性を有する。図15の16−ary 2−cubeのパケット注入負荷0.05では、SSの平均遅延がnormalよりも大きな値となっているが、これは、SSの予測ヒット率が低く、ビット逆順通信が高負荷時にホットスポットを形成する通信パターンであるため、予測ミスパケットが輻輳を悪化させたことによる。しかしながら、全体として、本発明による1ステージルータと検出ルータの配置方法を採用した並列分散システムの性能が向上していることが分かる。
図17は、8−ary 2−cubeにLU分解で発生する通信パターンを与えた場合のシミュレーション結果を示す。この通信パターンは、全て隣接ノード間通信で構成され、パケット平均遅延は、SPMの場合、PSTステージによるパイプライン処理で転送する最短時間に近くなる。これら上述のシミュレーション結果からも、本発明による1ステージルータと検出ルータの配置方法の有効性を確認することができる。
本発明を諸図面や実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。従って、これらの変形や修正は本発明の範囲に含まれることに留意されたい。例えば、各手段、各部、各ステップなどに含まれる機能などは論理的に矛盾しないように再配置可能であり、複数の手段やステップなどを1つに組み合わせたり、あるいは分割したりすることが可能である。
本発明に係るルータ装置の概略的なブロック図である。 本発明に係るルータ装置におけるパケットの流れを示す図である。 本発明に係るパケットのパイプライン処理を示す図である。 2次元メッシュトポロジのネットワークを示す図である。 ハミルトニアン閉路を含めない場合の、1ステージルータおよび検出ルータの簡単な配置例を示す図である。 ハミルトニアン閉路を含む場合の1ステージルータおよび検出ルータの簡単な配置例を示す図である。 本発明の第1の実施の形態における予測成否判定部の有無による、ネットワークのサイズ16−ary 2−cube、予測アルゴリズムSSでの平均遅延のシミュレーション結果である。 本発明の第1の実施の形態における予測成否判定部の有無による、ネットワークのサイズ16−ary 2−cube、予測アルゴリズムSSでのスループットのシミュレーション結果である。 本発明の第1の実施の形態における予測成否判定部の有無による、ネットワークのサイズ16−ary 2−cube、予測アルゴリズムLPでの平均遅延のシミュレーション結果である。 本発明の第1の実施の形態における予測成否判定部の有無による、ネットワークのサイズ16−ary 2−cube、予測アルゴリズムLPでのスループットのシミュレーション結果である。 本発明の第1の実施の形態における予測成否判定部の有無による、ネットワークのサイズ16−ary 2−cube、予測アルゴリズムSPMでの平均遅延のシミュレーション結果である。 本発明の第1の実施の形態における予測成否判定部の有無による、ネットワークのサイズ16−ary 2−cube、予測アルゴリズムSPMでのスループットのシミュレーション結果である。 本発明の第1の実施の形態における予測成否判定部の有無による、ネットワークのサイズ32−ary 2−cube、予測アルゴリズムSSでの平均遅延のシミュレーション結果である。 本発明の第1の実施の形態における予測成否判定部の有無による、ネットワークのサイズ32−ary 2−cube、予測アルゴリズムSSでのスループットのシミュレーション結果である。 本発明の第1の実施の形態における予測成否判定部の有無による、ネットワークのサイズ32−ary 2−cube、予測アルゴリズムLPでの平均遅延のシミュレーション結果である。 本発明の第1の実施の形態における予測成否判定部の有無による、ネットワークのサイズ32−ary 2−cube、予測アルゴリズムLPでのスループットのシミュレーション結果である。 本発明の第1の実施の形態における予測成否判定部の有無による、ネットワークのサイズ32−ary 2−cube、予測アルゴリズムSPMでの平均遅延のシミュレーション結果である。 本発明の第1の実施の形態における予測成否判定部の有無による、ネットワークのサイズ32−ary 2−cube、予測アルゴリズムSPMでのスループットのシミュレーション結果である。 本発明の第3の実施の形態における並列分散ネットワークの、ユニフォームランダム通信における16−ary 2−cubeでの平均遅延のシミュレーション結果である。 本発明の第3の実施の形態における並列分散ネットワークの、ユニフォームランダム通信における32−ary 2−cubeでの平均遅延のシミュレーション結果である。 本発明の第3の実施の形態における並列分散ネットワークの、ビット逆順通信における16−ary 2−cubeでの平均遅延のシミュレーション結果である。 本発明の第3の実施の形態における並列分散ネットワークの、ビット逆順通信における32−ary 2−cubeでの平均遅延のシミュレーション結果である。 本発明の第3の実施の形態における並列分散ネットワークの、ユニフォームランダム通信における8−ary 2−cubeでの平均遅延のシミュレーション結果である。 従来の並列分散システムにおいて用いられている、予測機構を有するルータの構成を示す概略的なブロック図である。 ルータ内部でのパケットの流れを示す図である。 予測機構および典型的なパイプライン処理を示す図である。 図4の2次元メッシュトポロジにおける1ステージルータの一例を示す図である。
符号の説明
100 ルータ
110 制御部
112 予測部
120 入力部
130 出力部
140 クロスバスイッチ
150 予測成否判定部
160 ノード
170 ルータ内部のデータパスをバイパスする専用のリンク
200 ルータ
A10,A11 矢印
A30,A31 矢印
CMP 比較器
P1 予測機構によるパイプライン処理
P2 典型的なパイプライン処理
D10〜D12 矢印
D30 ハミルトニアン閉路
D31 最短経路を示す矢印
D32 変更後の経路を示す矢印
DIR 目的地情報格納部
IN1,IN2 入力ポート
OUT1,OUT2 出力ポート
ND 目的地ノード
NS 出発地ノード
PT 予測結果格納部
R0〜R15 ルータ

Claims (5)

  1. パケットを受ける前にパケットの経路を予測する予測器と、前記パケットを受ける少なくとも1つの入力ポートと、前記パケットを受け、隣接するノードに転送する複数の出力ポートと、前記少なくとも1つの入力ポートで受けたパケットが転送されるべき出力ポートを設定するスイッチとを持つルータであって、
    前記予測器で予測された経路に基づき、前記パケットを前記少なくとも1つの入力ポートから前記複数の出力ポートの1つへ転送するように前記スイッチを制御する制御器と、
    前記入力ポートで受けたパケットに含まれる当該パケットの目的地関連情報と、前記予測器により予測された経路情報とを比較し、前記予測器による予測が正しいか否かを判定する予測成否判定器とを具え、
    前記制御器は、
    前記予測成否判定器により予測が正しくないと判定された場合、前記予測された経路を用いずに、前記入力ポートで受けたパケットの宛先アドレスに基づく通常の経路計算処理を行って、前記通常の経路計算処理で求めた経路に基づき、前記パケットを前記少なくとも1つの入力ポートから前記複数の出力ポートの1つへ転送するように前記スイッチを制御する、
    ことを特徴とするルータ。
  2. 請求項1に記載のルータにおいて、
    前記制御器が、
    前記予測器により予測された経路に基づき、前記パケットの経路を設定して1ステージで前記パケットを隣接するノードに転送するように前記スイッチおよび前記複数の出力ポートの1つを制御し、
    前記予測された経路に基づき設定された経路と、通常の経路計算処理で求めた経路とが異なる場合には、前記通常の経路計算処理で求めた経路に基づいて、前記パケットの転送処理をさらに行うように前記スイッチを制御する、
    ことを特徴とするルータ。
  3. 請求項1に記載のルータにおいて、
    前記制御器が、
    特定の入力ポートから特定の出力ポートに転送されると予測されたパケットに対しては、予測の成否に関わらず、前記予測された経路に基づき設定された経路に基づいて前記パケットの転送処理を行うように前記スイッチを制御する、
    ことを特徴とするルータ。
  4. 請求項1または2に記載のルータを少なくとも1つ含み、前記ルータから送出されたパケットを受け、当該パケットの目的地までの経路が存在しない場合は、当該パケットを廃棄する少なくとも1つの予測ミス検出ルータ、
    を具えることを特徴とする並列分散システム。
  5. 請求項3に記載のルータを少なくとも1つ含む並列分散システムであって、前記並列分散システムのネットワークトポロジにおいてハミルトニアン閉路、またはプロセッサノードを接続しているすべてのルータを通過する閉路上に特定の入力ポートおよび出力ポートがあるように配置し、前記ルータから送出されたパケットを受け、当該パケットの目的地までの経路が存在しない場合は、当該パケットを廃棄する少なくとも1つの予測ミス検出ルータ、
    を具えることを特徴とする並列分散システム。
JP2007135940A 2007-05-22 2007-05-22 ルータおよび並列分散システム Withdrawn JP2008294586A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007135940A JP2008294586A (ja) 2007-05-22 2007-05-22 ルータおよび並列分散システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007135940A JP2008294586A (ja) 2007-05-22 2007-05-22 ルータおよび並列分散システム

Publications (1)

Publication Number Publication Date
JP2008294586A true JP2008294586A (ja) 2008-12-04

Family

ID=40168895

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007135940A Withdrawn JP2008294586A (ja) 2007-05-22 2007-05-22 ルータおよび並列分散システム

Country Status (1)

Country Link
JP (1) JP2008294586A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011139413A (ja) * 2009-12-28 2011-07-14 Emprie Technology Development LLC オンチップネットワーク内のパケットルーティング
JP2013005080A (ja) * 2011-06-14 2013-01-07 Nippon Telegr & Teleph Corp <Ntt> ルータおよび転送方法
US9135215B1 (en) * 2009-09-21 2015-09-15 Tilera Corporation Route prediction in packet switched networks
US9294402B2 (en) 2011-03-28 2016-03-22 Panasonic Intellectual Property Management Co., Ltd. Router, method for controlling router, and program
US9426099B2 (en) 2011-03-09 2016-08-23 Panasonic Intellectual Property Management Co., Ltd. Router, method for controlling router, and program

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9135215B1 (en) * 2009-09-21 2015-09-15 Tilera Corporation Route prediction in packet switched networks
JP2011139413A (ja) * 2009-12-28 2011-07-14 Emprie Technology Development LLC オンチップネットワーク内のパケットルーティング
US8559307B2 (en) 2009-12-28 2013-10-15 Empire Technology Development Llc Routing packets in on-chip networks
US9191341B2 (en) 2009-12-28 2015-11-17 Empire Technology Development Llc Packet routing within an on-chip network
US9426099B2 (en) 2011-03-09 2016-08-23 Panasonic Intellectual Property Management Co., Ltd. Router, method for controlling router, and program
US9294402B2 (en) 2011-03-28 2016-03-22 Panasonic Intellectual Property Management Co., Ltd. Router, method for controlling router, and program
US9444740B2 (en) 2011-03-28 2016-09-13 Panasonic Intellectual Property Management Co., Ltd. Router, method for controlling router, and program
JP2013005080A (ja) * 2011-06-14 2013-01-07 Nippon Telegr & Teleph Corp <Ntt> ルータおよび転送方法

Similar Documents

Publication Publication Date Title
US7877401B1 (en) Pattern matching
Ausavarungnirun et al. Design and evaluation of hierarchical rings with deflection routing
JP2011139413A (ja) オンチップネットワーク内のパケットルーティング
US11294841B1 (en) Dynamically configurable pipeline
JP2008294586A (ja) ルータおよび並列分散システム
US10038571B2 (en) Method for reading and writing forwarding information base, and network processor
Iordanou et al. Hermes: Architecting a top-performing fault-tolerant routing algorithm for Networks-on-Chips
Ausavarungnirun et al. A case for hierarchical rings with deflection routing: An energy-efficient on-chip communication substrate
Ruia et al. Flowcache: A cache-based approach for improving SDN scalability
Rahmati et al. A method for calculating hard qos guarantees for networks-on-chip
Miura et al. An adaptive routing algorithm of 2-D torus network based on turn model: The communication performance
Bose et al. Switching at flit level: A congestion efficient flow control strategy for network-on-chip
Palesi et al. Bandwidth-aware routing algorithms for networks-on-chip platforms
CN110198268A (zh) 高维度Torus网络架构及自适应路由方法
JP2004531783A (ja) 並列演算及び並列メモリーアクセスのためのスケーラブルなインターコネクト構造
He et al. Predict-more router: A low latency NoC router with more route predictions
Lysne et al. A methodology for developing dynamic network reconfiguration processes
Yoshinaga et al. Predictive switching in 2-D torus routers
Daf et al. Performance and Evaluation of Loopback Virtual Channel Router with Heterogeneous Router for On-Chip Network
Fu et al. A new multiple-round dimension-order routing for networks-on-chip
Chang et al. Overview of high-efficiency ant colony optimization (ACO)-based adaptive routings for traffic balancing in network-on-chip systems
Ausavarungnirun et al. Improving energy efficiency of hierarchical rings via deflection routing
JP2009123050A (ja) 情報検索装置、及び情報検索装置へのエントリ情報の登録方法
John et al. A novel energy efficient source routing for mesh NoCs
Kang et al. Multicast routing with dynamic packet fragmentation

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100803