JP6197817B2 - 中継装置、中継方法及び中継システム - Google Patents

中継装置、中継方法及び中継システム Download PDF

Info

Publication number
JP6197817B2
JP6197817B2 JP2015065976A JP2015065976A JP6197817B2 JP 6197817 B2 JP6197817 B2 JP 6197817B2 JP 2015065976 A JP2015065976 A JP 2015065976A JP 2015065976 A JP2015065976 A JP 2015065976A JP 6197817 B2 JP6197817 B2 JP 6197817B2
Authority
JP
Japan
Prior art keywords
packet
temperature
core
packets
control unit
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.)
Active
Application number
JP2015065976A
Other languages
English (en)
Other versions
JP2016187081A (ja
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 JP2015065976A priority Critical patent/JP6197817B2/ja
Publication of JP2016187081A publication Critical patent/JP2016187081A/ja
Application granted granted Critical
Publication of JP6197817B2 publication Critical patent/JP6197817B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Description

本発明は、中継装置、中継方法及び中継システムに関し、特に、複数のノード間でパケットを中継する中継装置、中継方法及び中継システムに関する。
近年、半導体技術の進歩に伴い半導体装置(LSI:Large Scale Integrationなど)のマルチCore化が進んでおり、増加するCore間のバス通信に対応するためネットワークオンチップ(Network on Chip:NoC)が注目されている。NoCでは、各Coreに接続されるバスの間にパケットを中継するルータが配置され、ルータが中継するパケットの調停を行っている。
一般的なNoCのバスの調停方法として、ラウンドロビン方式が採用されている。また、関連する調停方法として、例えば特許文献1の方法が知られている。特許文献1では、伝送性能の向上を図るためにパケットに締切時刻を示す情報を付与し、ルータはその情報をもとに優先順位を決定している。この締切時刻とは、例えばパケットが宛先までに到着すべき時刻である。なお、その他の関連する技術として、特許文献2や3が知られている。特許文献2は、自ルータの温度を検出するものである。
特開2014−197789号公報 特開2006−173938号公報 特開2013−005145号公報
上記のように、特許文献1のような関連する技術では、リクエスト送出元がパケットに対して、パケットが宛先までに到着すべき時刻である締切時刻情報を付与し、その締切時刻を伝送の順位を決める優先度の決定に用いている。
近年はマルチCore化に伴いトラヒックが増大しているため、NoCの回路により高い性能が求められている。関連する技術では、求められている遅延やスループットなどの性能を保証するため、早い時刻(短い時間)に締切時刻が設定されているパケットを優先して伝送する。そうすると、関連する技術では、性能のみを優先してしまうため、一部のCoreの動作率が上がるとともに温度が上昇し、NoCである装置の故障率が高くなる恐れがあるという問題がある。
本発明は、このような課題に鑑み、故障率を低減することが可能な中継装置、中継方法及び中継システムを提供することを目的とする。
本発明に係る中継装置は、複数のノードとバスを介して接続される複数の入力ポートに対応した複数の入力バッファと、前記複数のノードとバスを介して接続される複数の出力ポートに対応した複数の出力バッファと、前記複数の入力バッファに格納されたパケットを、前記パケットの宛先に応じて、前記複数の出力バッファに転送するスイッチと、前記複数のノードの温度に基づいて、前記転送される複数のパケットを調停する調停制御部と、を備えるものである。
本発明に係る中継方法は、複数のノードとバスを介して接続される複数の入力ポートに対応した複数の入力バッファと、前記複数のノードとバスを介して接続される複数の出力ポートに対応した複数の出力バッファと、を備えた中継装置における中継方法であって、前記複数の入力バッファに格納されたパケットを、前記パケットの宛先に応じて、前記複数の出力バッファに転送し、前記複数のノードの温度に基づいて、前記転送される複数のパケットを調停するものである。
本発明に係る中継システムは、複数のノードと、前記複数のノード間でパケットを中継する中継装置と、と備えた中継システムであって、前記中継装置は、前記複数のノードとバスを介して接続される複数の入力ポートに対応した複数の入力バッファと、前記複数のノードとバスを介して接続される複数の出力ポートに対応した複数の出力バッファと、前記複数の入力バッファに格納されたパケットを、前記パケットの宛先に応じて、前記複数の出力バッファに転送するスイッチと、前記複数のノードの温度に基づいて、前記転送される複数のパケットを調停する調停制御部と、を備えるものである。
本発明によれば、故障率を低減することが可能な中継装置、中継方法及び中継システムを提供することができる。
実施の形態に係る中継装置の概要を示す構成図である。 実施の形態1に係るNoCの構成例を示す構成図である。 実施の形態1に係るNoCの温度情報収集イメージを示す図である。 実施の形態1に係るNoCのパケット転送イメージを示す図である。 実施の形態1に係るルータの構成例を示す構成図である。 実施の形態1に係る動作例を示すフローチャートである。 実施の形態1に係る動作例を示すフローチャートである。 実施の形態2に係るルータの構成例を示す構成図である。 実施の形態2に係る動作例を示すフローチャートである。 実施の形態2に係る動作例を示すフローチャートである。 実施の形態3に係るルータの構成例を示す構成図である。 実施の形態3に係る動作例を示すフローチャートである。 実施の形態3に係る動作例を示すフローチャートである。 実施の形態4に係るルータの構成例を示す構成図である。 実施の形態4に係る動作例を示すフローチャートである。 実施の形態4に係る動作例を示すフローチャートである。 参考例のルータの構成例を示す構成図である。
(実施の形態に至る検討)
実施の形態の説明の前に、特許文献1に基づいた参考例について説明する。
図17は、NoCにおいてCore間のパケットを中継する参考例のルータの構成を示している。図17に示すように、参考例のルータ900は、隣接するCoreからの入力ポートに対応する入力バッファ制御部1−1〜1−5、パケットの調停を行う調停制御部3、クロスバ4、出力レジスタ5−1〜5−5を備えている。
各ポートに対応した入力バッファ制御部1−1〜1−5は、各ポート(Core)から入力されるパケットを格納する。調停制御部3は、各入力バッファのパケット自身が持つ宛先Core情報と締切時刻情報を用いて調停を行う。調停制御部3の優先度の決定により求められている性能(遅延とスループット)を保証するために、締切時刻が小さい(早い)パケットを優先して伝送する。出力レジスタ5−1〜5−5は、調停制御部3の調停により選択されたパケットを格納し、格納したパケットを各出力ポートに発行(出力)する。
締切時刻は、Coreでの要求の発生時刻とルータのパケット送信時刻の二つの選択が可能である。要求の発生時刻を選択した場合、本来の締切時刻は要求の発生時刻+許容遅延時間となる。例えば、CoreC1(ポートP1)が時刻t0に複数パケットの要求を発行し、CoreC4(ポートP4)が時刻t1(t0<t1)に1パケットの要求を発行し、各Coreの許容遅延時間が共通の値dのとき、ポートP1の複数パケットの締切時刻は全てt0+d、ポートP4のパケットの締切時刻はt1+dとなる。
優先順位を決定する締切時刻の関係はt0+d<t1+dとなるため、ポートP1の複数パケットが優先され、出力ポートにポートP1の複数パケットが全て出力された後で、ポートP4のパケットが出力される。このように特定の入力ポートを優先して処理して、他のポートの処理が遅れてしまい、ルータに入力してから出力されるまでの平均遅延が大きくなってしまう場合があった。
これを防ぐために、締切情報をパケットの送信時刻+許容遅延時間として付与する。例えば、CoreC1(ポートP1)が時刻t0に複数パケットを要求し、CoreC4(ポートP4)が時刻t1(t0<t1)に1パケットの要求を発行したとする。各Coreからルータに到達するまでにΔtかかるとする。この場合、ポートP1、P4の各パケットの送信時刻はそれぞれ、時刻t0+n×Δt(1≦n)、時刻t1+Δtとなる。つまり、ポートP1の1パケット目の時刻は(t0+Δt)、2パケット目の時刻は(t0+2×Δt)、ポートP4の1パケットの時刻はt1+Δtとなる。
そして、ポートP1の1パケット目の時刻<ポートP4の1パケットの時刻<ポートP1の2パケット目の時刻という関係が成り立つとき、締切時刻の小さい順に調停されるとポートP1の1パケット目、ポートP4の1パケット、そしてポートP1の2つ目以降のパケットの順に出力ポートに伝送される。このようにしてルータに入力されてから出力されるまでの平均遅延を低減させることができ、伝送性能の向上が見込める。
以上から、特許文献1のような参考例では、締切時刻を遵守しようとパケット間の調停を行うため、伝送性能の向上が見込める。しかしながら、参考例では、性能を優先するために、各Coreの動作率が上がり、故障率への影響が無視できないほどLSI温度が高くなる可能性があった。このため、実施の形態では、伝送性能を確保しつつ、故障率が高くならない程度にLSI温度を保つNoC回路の提供を可能とする。
(実施の形態の概要)
図1は、実施の形態に係る中継装置の概要を示す構成図である。図1に示すように、実施の形態に係る中継装置10は、NoCのルータなどであり、複数の入力バッファ11、複数の出力バッファ12、スイッチ13、調停制御部14を備えている。
複数の入力バッファ11は、複数のノード20とバスを介して接続される複数の入力ポート11aに対応している。複数の出力バッファ12は、複数のノード20とバスを介して接続される複数の出力ポート12aに対応している。スイッチ13は、複数の入力バッファ11に格納されたパケットを、パケットの宛先に応じて、複数の出力バッファ12に転送する。調停制御部14は、複数のノード20の温度に基づいて、転送される複数のパケットを調停する。
このように、実施の形態では、Coreなどの複数のノードの温度に基づいて調停を制御するため、ノードの温度に応じた優先度でパケットを転送できる。これにより、ノードの温度上昇を抑えることができ、ノードを搭載する装置の故障率を低減することができる。
(実施の形態1)
以下、図面を参照して実施の形態1について説明する。本実施の形態は、Core毎に温度センサを実装し、ルータがその温度情報をもとに温度の高いCoreから来たパケットより、温度の低いCoreから来たパケットを優先して出力することにより、温度の高いCoreの処理を遅らせ、動作率を落とし、LSIの温度を下げることにより、LSIの故障率を低減させることを特徴とする。
<実施の形態の構成>
まず、図2〜図5を用いて実施の形態の構成について説明する。図2は、本実施の形態に係るNoCの構成を示している。
図2に示すように、本実施の形態に係るNoC(LSI)100は、演算処理を行う16個のCoreC0〜C15(CoreCもしくは端にCoreとも言う)、各CoreC0〜C15の温度を観測する温度センサS0〜S15(温度センサSもしくは単に温度センサとも言う)、各CoreC0〜C15間に配置されるパケットを中継するルータR0〜R15(ルータRもしくは単にルータとも言う)を備えている。なお、ルータに限らず、ノード間のパケットを中継するその他の中継装置でもよい。
例えば、NoC100は2次元のメッシュトポロジのネットワークを構成するが、その他のトポロジのネットワークを構成してもよい。図2の例では、ルータR0〜R15は、4行×4列のマトリクス状に配置され、隣接するルータと行方向(横方向)及び列方向(縦方向)にそれぞれバスを介して接続されている。CoreC0〜C15は、それぞれルータR0〜R15の近傍に配置され、各ルータR0〜R15とバスを介して接続されている。温度センサS0〜S15は、それぞれCoreC0〜C15内(もしくは近傍)に配置され、各ルータR0〜R15と接続されている。温度センサS0〜S15とルータR0〜R15は、CoreC0〜C15とルータR0〜R15間のバスを介して接続されてもよいし、その他の配線を介して接続されてもよい。
図3に示すように、本実施の形態に係るルータR(例えばR5)は、温度センサS0〜S15から、全てのCoreC0〜C15の温度を取得する。そして、例えば、図4に示すように、ルータR5が、CoreC0からのパケットPKT1をルータR0を介して受信し、CoreC2からのパケットPKT2をルータR2を介して受信し、受信したPKT1及びPKT2をルータR9へ出力しようとすると、ルータR5の出力先でパケットPKT1及びPKT2が競合する。本実施の形態では、競合したパケットを、図3のように取得したCoreの温度に基づいて調停する。例えば、パケットPKT1及びPKT2の発行元のCoreC0及びC2の温度に応じた優先順位でパケットを選択し出力する。
図5は、図2のNoC100内のルータRのうち、例えば、ルータR5の構成を示している。なお、ルータR0〜R15は同様の構成である。
図5に示すように、本実施の形態に係るルータR5は、隣接するCoreCからの入力ポートに対応する入力バッファ制御部1−1〜1−5、各CoreCの温度情報を管理する温度情報管理部2、パケットの調停を行う調停制御部3、クロスバ4、出力レジスタ5−1〜5−5を備えている。
入力バッファ制御部(入力バッファ)1−1〜1−5は、各入力ポートP1、P4、P6、P5に対応しており、各ポート(CoreC)から入力されるパケットを格納する。入力バッファ制御部1−1は、4つの出力ポートP1、P4、P6、P9に対応したそれぞれ1つの出力先レジスタ1−1−2〜1−1−5と、4つのポートと共有する4エントリ可能な共有バッファ1−1−1を有する。入力バッファ制御部1−2〜1−5も入力バッファ制御部1−1と同様の構成である。なお、共有バッファ1−1−1は性能、LSIサイズ、電力などを考慮して上記以上のエントリ数を持つことが可能である。
クロスバ(切替部)4は、入力バッファ制御部1−1〜1−5と出力レジスタ5−1〜5−5との間で、パケットの宛先に応じてスイッチングするクロスバスイッチである。クロスバ4は、入力バッファ制御部1−1〜1−5の出力先レジスタ1−1−2〜1−1−5のパケットを、調停制御部3の調停にしたがい、出力レジスタ5−1〜5−5へ出力する。
出力レジスタ(出力バッファ)5−1〜5−5は、各出力ポートP1、P4、P6、P5に対応しており、調停制御部3の調停により選択されたパケットを格納し、格納したパケットを各出力ポートに発行(出力)する。例えば、入力ポートP1、P4、P6、P5と出力ポートP1、P4、P6、P5は同じポートであるが、異なるポートでもよい。(入力及び出力)ポートP1は、ルータR1(CoreC1)と接続し、ポートP4は、ルータR4(CoreC4)と接続し、ポートP6は、ルータR6(CoreC6)と接続し、ポートP5は、CoreC5と接続する。
温度情報管理部(温度取得部または温度判定部)2は、各CoreC0〜C15の温度情報を収集し、ある閾値の温度を超えたCoreの有無を監視しており、閾値を超えたCoreの情報を調停制御部3に渡す。なお、温度の閾値は可変に設定可能である。
調停制御部(調停部)3は、温度情報管理部2から入手した閾値を超えたCore情報と、入力バッファ制御部1−1〜1−5の出力先レジスタ1−1−2〜1−1−5に格納されているパケット自身が持つ発行元Core情報と、仕掛りTAT情報とを用いて調停を行う。例えば、調停制御部3が調停により優先させるパケットを選択すると、クロスバ4が選択されたパケットを出力レジスタへ出力する。仕掛りTAT(Turn Around Time)情報は、パケットが送信元から発行されてからのレイテンシを示す。仕掛りTAT情報は、入力バッファ制御部1−1〜1−5に格納されている間、常にカウントして更新している。すなわち、入力バッファ制御部1−1〜1−5は、仕掛りTAT情報をカウントするカウンタ(不図示)を備えている。
<実施の形態の動作>
具体的な動作について、図5のブロック図を参照しつつ、図6及び図7を用いて説明する。
図6に示すように、本実施の形態に係るルータRは、各ポート(Core)からのパケットを、各ポートに対応した入力バッファ制御部1−1〜1−5に格納する(S101)。
ルータR自身の入力バッファ制御部1−1〜1−5において、出力ポートに対応した出力先レジスタ1−1−2〜1−1−5が空いている場合は、対応する出力先レジスタ1−1−2〜1−1−5にパケットを格納する。対応する出力先レジスタ1−1−2〜1−1−5にパケットが格納されている場合は、共有バッファ1−1−1にパケットを格納する。対応する出力先レジスタ1−1−2〜1−1−5に格納されているパケットが、出力レジスタ5−1〜5−5に出力されて空き状態になると、共有バッファ1−1−1に格納されたパケットを、出力先レジスタ1−1−2〜1−1−5に格納する。
温度情報管理部2は、各CoreC0〜C15の温度情報を収集し(S102)、温度がある閾値を超えたCoreの有無を判定する(S103)。温度情報管理部2は、定期的に温度情報収集及び閾値との比較を繰り返すことで、閾値を超えたCoreの有無を監視し、閾値を超えたCoreの情報を調停制御部3に渡す。
調停制御部3は、閾値を超えた発行元Coreと仕掛りTAT情報に基づいて調停を行う(S104)。すなわち、調停制御部3は、温度情報管理部2から入手した閾値を超えたCoreの情報と、入力バッファ制御部1−1〜1−5の出力先レジスタ1−1−2〜1−1−5に格納されているパケットに付与されている発行元Core情報と仕掛りTAT情報を用いて調停を行う。本実施の形態では、調停制御部3は、複数のパケットのうち発行元ノードの温度がより低いパケットの転送を優先させ、特に、発行元ノードの温度が閾値よりも低いパケットの転送を優先させ、さらに、複数のパケットのうち、レイテンシがより大きいパケットの転送を優先させる。
具体的には、S104では、図7に示すS111〜S118のように調停を行う。図7に示すように、調停制御部3は、同じ出力ポート(出力レジスタ5−1〜5−5)へ出力される複数のパケットが競合する場合に(S111)、S112以降で調停を行う。
調停制御部3は、複数のパケットのうち一部のパケットの発行元Coreが閾値を超えているかどうか判定する(S112)。すなわち、同じ出力ポートへの出力先レジスタ(入力バッファ制御部1−1〜1−5の出力先レジスタ1−1−2〜1−1−5のいずれか)に発行元Coreの温度が閾値を超えているパケットと閾値を超えていない発行元Coreのパケットが格納されて、競合が発生した場合、調停制御部3は、発行元Coreが閾値を超えたパケットよりも、発行元Coreが閾値を超えていないパケットを優先して発行(出力レジスタ5−1〜5−5へ出力)する(S113)。
また、調停制御部3は、発行元Coreの温度が閾値を超えているパケットについては、仕掛りTAT情報に基づいて調停を行う(S114)。すなわち、発行元Coreの温度が閾値を超えているパケットが調停に負け続けて発行元Coreにてタイムアウトを検出しないように、仕掛りTAT情報がある値になった場合に優先して発行する。
一方、調停制御部3は、複数のパケットの全ての発行元Coreが閾値を超えているかどうか判定する(S115)。すなわち、同じ出力ポートへの出力先レジスタ(入力バッファ制御部1−1〜1−5の出力先レジスタ1−1−2〜1−1−5のいずれか)の全てに発行元Coreの温度が閾値を超えているパケットが格納されている場合、調停制御部3は、仕掛りTAT情報が大きいパケット、つまり処理に時間がかかっているパケットを優先して発行し、さらに仕掛りTAT情報が同じときはラウンドロビンにて優先順位を決める(S116)。
他方、調停制御部3は、複数のパケットの全ての発行元Coreが閾値以下かどうか判定する(S117)。すなわち、同じ出力ポートへの出力先レジスタ(入力バッファ制御部1−1〜1−5の出力先レジスタ1−1−2〜1−1−5のいずれか)の全てに発行元Coreの温度が閾値を超えていないパケットが格納されている場合、調停制御部3は、仕掛りTAT情報の大きな値のパケットを優先して発行し、さらに仕掛りTAT情報が同じときはラウンドロビンにて優先順位を決める(S118)。
一般的にあるCoreからのパケットがリードでCoreがそのリプライを受け取ってから次の処理を開始する、またはパケットがライトでそれが完了したかどうかを後続のリードで確認するような動作を行うことが多いが、閾値を超えたCoreからのパケットの優先順位を落とすと上記動作の完了が遅れ、次の処理が行われるまでの時間がかかり、動作率は低くなり、Coreの温度も低くなる。このように、温度の高いCoreのパケットの処理の優先順位を落とすことにより、LSI内の温度が下がり、LSIの故障率を低減させることを可能とする。
なお、調停制御部3の動作としては、前述の通り発行元Coreの温度が閾値を超えたパケットの優先順位を落とすだけでなく、発行元Coreの温度が閾値を超えたパケットはある一定時間発行しない、もしくは発行間隔を空けることにより、さらに早く発行元Coreの温度を下げることが可能である。また、パケットに付与されている調停に使用する情報は、本案の仕掛りTAT情報ではなく、関連する技術の締切時間情報などパケット間で優先順位をつけることが可能な情報であれば良い。
<実施の形態の効果>
本実施の形態に係るNoCの調停方法によれば、パケットに発行元のCore情報、Core毎に温度センサ、ルータに各Coreの温度情報をもとにパケットの優先順位を決める回路を追加し、温度の高いCoreのパケットの優先度を下げることにより、Coreの動作率を落として温度を下げることができる。特に、パケットの発行元Coreの温度上昇を抑えることができる。したがって、本実施の形態によれば、LSIの発熱を抑え、LSIの故障率の低減、つまり、システムの可用性向上が可能となる。
(実施の形態2)
実施の形態2では、その基本的構成は実施の形態1の図2及び図5と同様であるが、LSIの温度を下げるために、調停制御部3の調停方法について工夫している。
図8は、本実施の形態に係るルータR(例えばR5)の構成を示している。図8において、実施の形態1の図5と異なる点は調停制御部3がパケットの発行元Core情報ではなく、宛先Core情報を入手し、宛先Coreの温度状態をもとに調停を行う点である。
図9及び図10を用いて、本実施の形態の動作について説明する。図9に示すように、実施の形態1と同様に、ルータRは、各ポートからのパケットを、各ポートに対応した入力バッファ制御部1−1〜1−5に格納し(S201)、温度情報管理部2は、各Coreの温度情報を収集し(S202)、温度がある閾値を超えたCoreの有無を判定する(S203)。
さらに、本実施の形態に係る調停制御部3は、閾値を超えた宛先Coreと仕掛りTAT情報に基づいて調停を行う(S204)。すなわち、調停制御部3は、温度情報管理部2から入手した閾値を超えたCoreの情報と、入力バッファ制御部1−1〜1−5の出力先レジスタ1−1−2〜1−1−5に格納されているパケットに付与されている宛先Core情報と仕掛りTAT情報を用いて調停を行う。本実施の形態では、調停制御部3は、複数のパケットのうち宛先ノードの温度がより低いパケットの転送を優先させ、特に、宛先ノードの温度が閾値よりも低いパケットの転送を優先させ、さらに、複数のパケットのうち、レイテンシがより大きいパケットの転送を優先させる。
具体的には、S204では、図10に示すS211〜S218のように調停を行う。図10に示すように、調停制御部3は、同じ出力ポート(出力レジスタ5−1〜5−5)へ出力される複数のパケットが競合する場合に(S211)、S212以降で調停を行う。
調停制御部3は、複数のパケットのうち一部のパケットの宛先Coreが閾値を超えているかどうか判定する(S212)。すなわち、同じ出力ポートへの出力先レジスタ(入力バッファ制御部1−1〜1−5の出力先レジスタ1−1−2〜1−1−5のいずれか)に宛先Coreの温度が閾値を超えているパケットと閾値を超えていない宛先Coreのパケットが格納されて、競合が発生した場合、調停制御部3は、宛先Coreが閾値を超えたパケットよりも、宛先Coreが閾値を超えていないパケットを優先して発行する(S213)。
また、調停制御部3は、宛先Coreの温度が閾値を超えているパケットが調停に負け続けて発行元Coreにてタイムアウトを検出しないように、仕掛りTAT情報がある値になった場合は優先して発行する(S214)。
一方、調停制御部3は、複数のパケットの全ての宛先Coreが閾値を超えているかどうか判定する(S215)。すなわち、同じ出力ポートへの出力先レジスタ(入力バッファ制御部1−1〜1−5の出力先レジスタ1−1−2〜1−1−5のいずれか)の全てに宛先Coreの温度が閾値を超えているパケットが格納されている場合、調停制御部3は、仕掛りTAT情報が大きいパケット、つまり処理に時間がかかっているパケットを優先して発行し、さらに仕掛りTAT情報が同じときはラウンドロビンにて優先順位を決める(S216)。
他方、調停制御部3は、複数のパケットの全ての宛先Coreが閾値以下かどうか判定する(S217)。すなわち、同じ出力ポートへの出力先レジスタ(入力バッファ制御部1−1〜1−5の出力先レジスタ1−1−2〜1−1−5のいずれか)の全てに宛先Coreの温度が閾値を超えていないパケットが格納されている場合、調停制御部3は、仕掛りTAT情報の大きな値のパケットを優先して発行し、さらに仕掛りTAT情報が同じときはラウンドロビンにて優先順位を決める(S218)。
このように、本実施の形態によれば、閾値を超えた宛先Coreに対するアクセスを遅らせ、宛先Coreの動作率を下げ、LSI内の温度を下げることにより、実施の形態1と同様にLSI故障率を低減させることが可能となる。特に、パケットの宛先Coreの温度上昇を抑えることができる。
(実施の形態3)
実施の形態3では、その基本的構成は実施の形態1の図2及び図5と同様であるが、LSIの温度を下げるために、調停制御部3の調停方法について工夫している。
図11は、本実施の形態に係るルータR(例えばR5)の構成を示している。図11において、実施の形態1の図5と異なる点は調停制御部3がパケットの発行元Core情報と宛先Core情報を入手し、発行元Coreと宛先Coreの両方の温度状態をもとに調停を行う点である。
図12及び図13を用いて、本実施の形態の動作について説明する。図12に示すように、実施の形態1と同様に、ルータRは、各ポートからのパケットを、各ポートに対応した入力バッファ制御部1−1〜1−5に格納し(S301)、温度情報管理部2は、各Coreの温度情報を収集し(S302)、温度がある閾値を超えたCoreの有無を判定する(S303)。
さらに、本実施の形態に係る調停制御部3は、閾値を超えた発行元Core及び宛先Coreと仕掛りTAT情報に基づいて調停を行う(S304)。すなわち、調停制御部3は、温度情報管理部2から入手した閾値を超えたCoreの情報と、入力バッファ制御部1−1〜1−5の出力先レジスタ1−1−2〜1−1−5に格納されているパケットに付与されている発行元Core及び宛先Core情報と仕掛りTAT情報を用いて調停を行う。本実施の形態では、調停制御部3は、複数のパケットのうち発行元ノード及び宛先ノードの温度がより低いパケットの転送を優先させ、特に、発行元ノード及び宛先ノードの温度が閾値よりも低いパケットの転送を優先させ、次に、宛先ノードまたは発行元ノードの温度が閾値よりも低いパケットの転送を優先させ、さらに、複数のパケットのうち、レイテンシがより大きいパケットの転送を優先させる。
具体的には、S304では、図13に示すS311〜S318のように調停を行う。図13に示すように、調停制御部3は、同じ出力ポート(出力レジスタ5−1〜5−5)へ出力される複数のパケットが競合する場合に(S311)、S312以降で調停を行う。
調停制御部3は、複数のパケットのうち一部のパケットの発行元Core及び/または宛先Coreが閾値を超えているかどうか判定する(S312)。すなわち、同じ出力ポートへの出力先レジスタ(入力バッファ制御部1−1〜1−5の出力先レジスタ1−1−2〜1−1−5のいずれか)に発行元Core及び/または宛先Coreの温度が閾値を超えているパケットと閾値を超えていない発行元Core及び/または宛先Coreのパケットが格納されて、競合が発生した場合、調停制御部3は、発行元Core及び/または宛先Coreが閾値を超えたパケットよりも、発行元Core及び/または宛先Coreが閾値を超えていないパケットを優先して発行する(S313)。
具体的には、閾値を超えたパケット、閾値以下のパケット間の優先順位を以下のようにして調停を行う。
宛先Coreと発行元Coreの両方の温度が閾値を超えたパケット<宛先Coreの温度が閾値を超えたパケット<発行元Coreの温度が閾値を超えたパケット<宛先Coreの温度が閾値以下のパケット<発行元Coreの温度が閾値以下のパケット
また、調停制御部3は、発行元Coreまたは宛先Coreの温度が閾値を超えているパケットが調停に負け続けて発行元Coreにてタイムアウトを検出しないように、仕掛りTAT情報がある値になった場合は優先して発行する(S314)。
一方、調停制御部3は、複数のパケットの全ての発行元Core及び宛先Coreが閾値を超えているかどうか判定する(S315)。すなわち、同じ出力ポートへの出力先レジスタ(入力バッファ制御部1−1〜1−5の出力先レジスタ1−1−2〜1−1−5のいずれか)の全てに発行元Core及び宛先Coreの温度が閾値を超えているパケットが格納されている場合、調停制御部3は、仕掛りTAT情報が大きいパケット、つまり処理に時間がかかっているパケットを優先して発行し、さらに仕掛りTAT情報が同じときはラウンドロビンにて優先順位を決める(S316)。
他方、調停制御部3は、複数のパケットの全ての発行元Core及び宛先Coreが閾値以下かどうか判定する(S317)。すなわち、同じ出力ポートへの出力先レジスタ(入力バッファ制御部1−1〜1−5の出力先レジスタ1−1−2〜1−1−5のいずれか)の全てに発行元Core及び宛先Coreの温度が閾値を超えていないパケットが格納されている場合、調停制御部3は、仕掛りTAT情報の大きな値のパケットを優先して発行し、さらに仕掛りTAT情報が同じときはラウンドロビンにて優先順位を決める(S318)。
このように、本実施の形態によれば、閾値を超えた宛先Coreと発行元Coreの両方に関係するアクセスを遅らせることにより、更に効率よく宛先Coreと発行元Coreの動作率を下げ、LSI内の温度を下げることにより、LSI故障率を低減させることが可能となる。
(実施の形態4)
実施の形態4では、その基本的構成は実施の形態1の図2及び図5と同様であるが、LSIの温度を下げるために、温度情報管理部2と調停制御部3について工夫している。
図14は、本実施の形態に係るルータR(例えばR5)の構成を示している。図14において、実施の形態1の図5と異なる点は温度情報管理部2が各Coreからの温度情報を入手し、そのCoreの温度がある閾値を超えたかどうかだけを判断するのではなく、閾値の設定を細分化、例えば閾値1=40℃、閾値2=60℃、閾値3=80℃のように設定し、各Coreがどの状態にあるかを調停制御部3に渡し、調停制御部3はその情報をもとに優先制御を行う。なお、閾値は3つに限らず、任意の数の閾値を設定してもよい。また、閾値に限らず、温度と優先度を関連付けておき、温度に対応する優先度によって優先制御してもよい。
図15及び図16を用いて、本実施の形態の動作について説明する。図15に示すように、実施の形態1と同様に、ルータRは、各ポートからのパケットを、各ポートに対応した入力バッファ制御部1−1〜1−5に格納する(S401)。温度情報管理部2は、各Coreの温度情報を収集し(S402)、温度が閾値1、閾値2、閾値3を超えたCoreの有無を判定する(S403)。
さらに、本実施の形態に係る調停制御部3は、閾値1、閾値2、閾値3を超えた発行元Coreと仕掛りTAT情報に基づいて調停を行う(S404)。すなわち、調停制御部3は、温度情報管理部2から入手した閾値1、閾値2、閾値3を超えたCoreの情報と、入力バッファ制御部1−1〜1−5の出力先レジスタ1−1−2〜1−1−5に格納されているパケットに付与されている発行元Core情報と仕掛りTAT情報を用いて調停を行う。本実施の形態では、調停制御部3は、複数のパケットのうち発行元ノードの温度がより低いパケットの転送を優先させ、特に、発行元ノードの温度と複数の閾値との比較結果に応じてパケットを調停し、さらに、複数のパケットのうち、レイテンシがより大きいパケットの転送を優先させる。
具体的には、S404では、図16に示すS411〜S418のように調停を行う。図16に示すように、調停制御部3は、同じ出力ポート(出力レジスタ5−1〜5−5)へ出力される複数のパケットが競合する場合に(S411)、S412以降で調停を行う。
調停制御部3は、複数のパケットのうち一部のパケットの発行元Coreが閾値1、閾値2、または閾値3を超えているかどうか判定する(S412)。すなわち、同じ出力ポートへの出力先レジスタ(入力バッファ制御部1−1〜1−5の出力先レジスタ1−1−2〜1−1−5のいずれか)に発行元Coreの温度が閾値1、閾値2、または閾値3を超えているパケットと閾値1、閾値2、または閾値3を超えていない発行元Coreのパケットが格納されて、競合が発生した場合、調停制御部3は、発行元Coreが閾値1、閾値2、または閾値3を超えたパケットよりも、発行元Coreが閾値1、閾値2、または閾値3を超えていないパケットを優先して発行する(S413)。
具体的には、閾値1、閾値2、閾値3前後のパケット間の優先順位を以下のようにして調停を行う。
発行元Coreの温度が閾値3を超えたパケット<発行元Coreの温度が閾値2と閾値3の間のパケット<発行元Coreの温度が閾値1と閾値2の間のパケット<発行元Coreの温度が閾値1より低いパケット
また、調停制御部3は、発行元Coreの温度が閾値1、閾値2、または閾値3を超えているパケットが調停に負け続けて発行元Coreにてタイムアウトを検出しないように、仕掛りTAT情報がある値になった場合は優先して発行する(S414)。
一方、調停制御部3は、複数のパケットの全ての発行元Coreが全閾値を超えているかどうか判定する(S415)。すなわち、同じ出力ポートへの出力先レジスタ(入力バッファ制御部1−1〜1−5の出力先レジスタ1−1−2〜1−1−5のいずれか)の全てに発行元Coreの温度が全閾値を超えているパケットが格納されている場合、調停制御部3は、仕掛りTAT情報が大きいパケット、つまり処理に時間がかかっているパケットを優先して発行し、さらに仕掛りTAT情報が同じときはラウンドロビンにて優先順位を決める(S416)。
他方、調停制御部3は、複数のパケットの全ての発行元Coreが全閾値以下かどうか判定する(S417)。すなわち、同じ出力ポートへの出力先レジスタ(入力バッファ制御部1−1〜1−5の出力先レジスタ1−1−2〜1−1−5のいずれか)の全てに発行元Coreの温度が全閾値を超えていないパケットが格納されている場合、調停制御部3は、仕掛りTAT情報の大きな値のパケットを優先して発行し、さらに仕掛りTAT情報が同じときはラウンドロビンにて優先順位を決める(S418)。
このように、本実施の形態によれば、閾値を細分化することにより、温度の高いCoreから効率良く温度を下げることが可能となる。なお、実施の形態2及び3についても、本実施の形態を適用し、複数の閾値を使用することができる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
上述の実施形態における各構成は、ハードウェア又はソフトウェア、もしくはその両方によって構成され、1つのハードウェア又はソフトウェアから構成してもよいし、複数のハードウェア又はソフトウェアから構成してもよい。情報処理装置の各機能(各処理)を、CPUやメモリ等を有するコンピュータにより実現してもよい。例えば、記憶装置に実施形態における調停方法を行うためのプログラムを格納し、各機能を、記憶装置に格納されたプログラムをCPUで実行することにより実現してもよい。
このプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
1−1〜1−5 入力バッファ制御部
1−1−1 共有バッファ
1−1−2〜1−1−5 出力先レジスタ
2 温度情報管理部
3 調停制御部
4 クロスバ
5−1〜5−5 出力レジスタ
10 中継装置
11 入力バッファ
11a 入力ポート
12 出力バッファ
12a 出力ポート
13 スイッチ
14 調停制御部
20 ノード
C0〜C15 Core
P1、P4、P5、P6、P9 ポート(入力ポート/出力ポート)
R0〜R15 ルータ
S0〜S15 温度センサ

Claims (10)

  1. 複数のノードとバスを介して接続される複数の入力ポートに対応した複数の入力バッファと、
    前記複数のノードとバスを介して接続される複数の出力ポートに対応した複数の出力バッファと、
    前記複数の入力バッファに格納されたパケットを、前記パケットの宛先に応じて、前記複数の出力バッファに転送するスイッチと、
    前記複数のノードの温度に基づいて、前記転送される複数のパケットを調停する調停制御部と、
    を備える、中継装置。
  2. 前記調停制御部は、前記複数のパケットのうち、発行元ノードの温度がより低いパケットの転送を優先させる、
    請求項1に記載の中継装置。
  3. 前記調停制御部は、前記発行元ノードの温度が閾値よりも低いパケットの転送を優先させる、
    請求項2に記載の中継装置。
  4. 前記調停制御部は、前記発行元ノードの温度と複数の閾値との比較結果に応じて調停を行う、
    請求項3に記載の中継装置。
  5. 前記調停制御部は、前記複数のパケットのうち、宛先ノードの温度がより低いパケットの転送を優先させる、
    請求項1乃至4のいずれか一項に記載の中継装置。
  6. 前記調停制御部は、前記宛先ノードの温度が閾値よりも低いパケットの転送を優先させる、
    請求項5に記載の中継装置。
  7. 前記調停制御部は、前記宛先ノードの温度と複数の閾値との比較結果に応じて調停を行う、
    請求項6に記載の中継装置。
  8. 前記調停制御部は、前記複数のパケットのうち、レイテンシがより大きいパケットの転送を優先させる、
    請求項1乃至7のいずれか一項に記載の中継装置。
  9. 複数のノードとバスを介して接続される複数の入力ポートに対応した複数の入力バッファと、前記複数のノードとバスを介して接続される複数の出力ポートに対応した複数の出力バッファと、を備えた中継装置における中継方法であって、
    前記複数の入力バッファに格納されたパケットを、前記パケットの宛先に応じて、前記複数の出力バッファに転送し、
    前記複数のノードの温度に基づいて、前記転送される複数のパケットを調停する、
    中継方法。
  10. 複数のノードと、前記複数のノード間でパケットを中継する中継装置と、と備えた中継システムであって、
    前記中継装置は、
    前記複数のノードとバスを介して接続される複数の入力ポートに対応した複数の入力バッファと、
    前記複数のノードとバスを介して接続される複数の出力ポートに対応した複数の出力バッファと、
    前記複数の入力バッファに格納されたパケットを、前記パケットの宛先に応じて、前記複数の出力バッファに転送するスイッチと、
    前記複数のノードの温度に基づいて、前記転送される複数のパケットを調停する調停制御部と、
    を備える、中継システム。
JP2015065976A 2015-03-27 2015-03-27 中継装置、中継方法及び中継システム Active JP6197817B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015065976A JP6197817B2 (ja) 2015-03-27 2015-03-27 中継装置、中継方法及び中継システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015065976A JP6197817B2 (ja) 2015-03-27 2015-03-27 中継装置、中継方法及び中継システム

Publications (2)

Publication Number Publication Date
JP2016187081A JP2016187081A (ja) 2016-10-27
JP6197817B2 true JP6197817B2 (ja) 2017-09-20

Family

ID=57203747

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015065976A Active JP6197817B2 (ja) 2015-03-27 2015-03-27 中継装置、中継方法及び中継システム

Country Status (1)

Country Link
JP (1) JP6197817B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3556495B2 (ja) * 1998-12-15 2004-08-18 株式会社東芝 パケットスイッチ及びパケット交換方法
US8209493B2 (en) * 2008-03-26 2012-06-26 Intel Corporation Systems and methods for scheduling memory requests during memory throttling
JP2013229811A (ja) * 2012-04-26 2013-11-07 Nec Corp 通信装置、経路選択方法および経路選択プログラム

Also Published As

Publication number Publication date
JP2016187081A (ja) 2016-10-27

Similar Documents

Publication Publication Date Title
US9007920B2 (en) QoS in heterogeneous NoC by assigning weights to NoC node channels and using weighted arbitration at NoC nodes
US20120099475A1 (en) NoC SYSTEM AND INPUT SWITCHING DEVICE
US20120042105A1 (en) Bus arbitration apparatus
EP2548127B1 (en) Requests and data handling in a bus architecture
JP5895153B2 (ja) インタフェース装置およびバスシステム
US10009226B2 (en) Software implementation of network switch/router
US9185026B2 (en) Tagging and synchronization for fairness in NOC interconnects
KR100905802B1 (ko) 컴퓨터 시스템의 입력/출력 노드에서 태깅 및 중재 매카니즘
US20130163608A1 (en) Communication control device, parallel computer system, and communication control method
CN103023669A (zh) 基于交换网络的一种广播调度方法
US20140304450A1 (en) Switching device, packet control method, and data communication system
CN109716719B (zh) 数据处理方法及装置、交换设备
JP6197817B2 (ja) 中継装置、中継方法及び中継システム
US9330038B2 (en) Computer arbitration system, bandwidth, allocation apparatus, and method thereof
KR102549085B1 (ko) 버스 제어회로
CN107003982B (zh) 用于使用多个多点总线的装置和方法
JP5677007B2 (ja) バス調停装置、バス調停方法
JP5978849B2 (ja) 並列計算機システム、クロスバスイッチ及び並列計算機システムの制御方法
US10476814B2 (en) Arbiter circuit for crossbar
JP5949312B2 (ja) 並列計算機システム、データ転送装置及び並列計算機システムの制御方法
EP3376719B1 (en) Arbitrating data packets
CN104978289A (zh) 具有共享仲裁单元的服务请求中断路由器
JP2010118020A (ja) リクエスト順序制御システム、リクエスト順序制御方法およびリクエスト順序制御プログラム
JP6361410B2 (ja) 情報処理装置、及び、情報処理方法
JP7292044B2 (ja) 制御装置および制御方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170425

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: 20170725

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170807

R150 Certificate of patent or registration of utility model

Ref document number: 6197817

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150