(57)【要約】【課題】故障率を低減することが可能な中継装置、中継方法及び中継システムを提供する。【解決手段】中継装置１０は、複数のノード２０とバスを介して接続される複数の入力ポート１１ａに対応した複数の入力バッファ１１と、複数のノード２０とバスを介して接続される複数の出力ポート１２ａに対応した複数の出力バッファ１２と、複数の入力バッファ１１に格納されたパケットを、パケットの宛先に応じて、複数の出力バッファ１２に転送するスイッチ１３と、複数のノード２０の温度に基づいて、転送される複数のパケットを調停する調停制御部１４と、を備えるものである。【選択図】図１
2016187081.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードとバスを介して接続される複数の入力ポートに対応した複数の入力バッファと、
前記複数のノードとバスを介して接続される複数の出力ポートに対応した複数の出力バッファと、
前記複数の入力バッファに格納されたパケットを、前記パケットの宛先に応じて、前記複数の出力バッファに転送するスイッチと、
前記複数のノードの温度に基づいて、前記転送される複数のパケットを調停する調停制御部と、
を備える、中継装置。
【請求項２】
前記調停制御部は、前記複数のパケットのうち、発行元ノードの温度がより低いパケットの転送を優先させる、
請求項１に記載の中継装置。
【請求項３】
前記調停制御部は、前記発行元ノードの温度が閾値よりも低いパケットの転送を優先させる、
請求項２に記載の中継装置。
【請求項４】
前記調停制御部は、前記発行元ノードの温度と複数の閾値との比較結果に応じて調停を行う、
請求項３に記載の中継装置。
【請求項５】
前記調停制御部は、前記複数のパケットのうち、宛先ノードの温度がより低いパケットの転送を優先させる、
請求項１乃至４のいずれか一項に記載の中継装置。
【請求項６】
前記調停制御部は、前記宛先ノードの温度が閾値よりも低いパケットの転送を優先させる、
請求項５に記載の中継装置。
【請求項７】
前記調停制御部は、前記宛先ノードの温度と複数の閾値との比較結果に応じて調停を行う、
請求項６に記載の中継装置。
【請求項８】
前記調停制御部は、前記複数のパケットのうち、レイテンシがより大きいパケットの転送を優先させる、
請求項１乃至７のいずれか一項に記載の中継装置。
【請求項９】
複数のノードとバスを介して接続される複数の入力ポートに対応した複数の入力バッファと、前記複数のノードとバスを介して接続される複数の出力ポートに対応した複数の出力バッファと、を備えた中継装置における中継方法であって、
前記複数の入力バッファに格納されたパケットを、前記パケットの宛先に応じて、前記複数の出力バッファに転送し、
前記複数のノードの温度に基づいて、前記転送される複数のパケットを調停する、
中継方法。
【請求項１０】
複数のノードと、前記複数のノード間でパケットを中継する中継装置と、と備えた中継システムであって、
前記中継装置は、
前記複数のノードとバスを介して接続される複数の入力ポートに対応した複数の入力バッファと、
前記複数のノードとバスを介して接続される複数の出力ポートに対応した複数の出力バッファと、
前記複数の入力バッファに格納されたパケットを、前記パケットの宛先に応じて、前記複数の出力バッファに転送するスイッチと、
前記複数のノードの温度に基づいて、前記転送される複数のパケットを調停する調停制御部と、
を備える、中継システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置、中継方法及び中継システムに関し、特に、複数のノード間でパケットを中継する中継装置、中継方法及び中継システムに関する。
【背景技術】
【０００２】
近年、半導体技術の進歩に伴い半導体装置（ＬＳＩ：Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎなど）のマルチＣｏｒｅ化が進んでおり、増加するＣｏｒｅ間のバス通信に対応するためネットワークオンチップ（Ｎｅｔｗｏｒｋ  ｏｎ  Ｃｈｉｐ：ＮｏＣ）が注目されている。ＮｏＣでは、各Ｃｏｒｅに接続されるバスの間にパケットを中継するルータが配置され、ルータが中継するパケットの調停を行っている。
【０００３】
一般的なＮｏＣのバスの調停方法として、ラウンドロビン方式が採用されている。また、関連する調停方法として、例えば特許文献１の方法が知られている。特許文献１では、伝送性能の向上を図るためにパケットに締切時刻を示す情報を付与し、ルータはその情報をもとに優先順位を決定している。この締切時刻とは、例えばパケットが宛先までに到着すべき時刻である。なお、その他の関連する技術として、特許文献２や３が知られている。特許文献２は、自ルータの温度を検出するものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１９７７８９号公報
【特許文献２】特開２００６−１７３９３８号公報
【特許文献３】特開２０１３−００５１４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のように、特許文献１のような関連する技術では、リクエスト送出元がパケットに対して、パケットが宛先までに到着すべき時刻である締切時刻情報を付与し、その締切時刻を伝送の順位を決める優先度の決定に用いている。
【０００６】
近年はマルチＣｏｒｅ化に伴いトラヒックが増大しているため、ＮｏＣの回路により高い性能が求められている。関連する技術では、求められている遅延やスループットなどの性能を保証するため、早い時刻（短い時間）に締切時刻が設定されているパケットを優先して伝送する。そうすると、関連する技術では、性能のみを優先してしまうため、一部のＣｏｒｅの動作率が上がるとともに温度が上昇し、ＮｏＣである装置の故障率が高くなる恐れがあるという問題がある。
【０００７】
本発明は、このような課題に鑑み、故障率を低減することが可能な中継装置、中継方法及び中継システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る中継装置は、複数のノードとバスを介して接続される複数の入力ポートに対応した複数の入力バッファと、前記複数のノードとバスを介して接続される複数の出力ポートに対応した複数の出力バッファと、前記複数の入力バッファに格納されたパケットを、前記パケットの宛先に応じて、前記複数の出力バッファに転送するスイッチと、前記複数のノードの温度に基づいて、前記転送される複数のパケットを調停する調停制御部と、を備えるものである。
【０００９】
本発明に係る中継方法は、複数のノードとバスを介して接続される複数の入力ポートに対応した複数の入力バッファと、前記複数のノードとバスを介して接続される複数の出力ポートに対応した複数の出力バッファと、を備えた中継装置における中継方法であって、前記複数の入力バッファに格納されたパケットを、前記パケットの宛先に応じて、前記複数の出力バッファに転送し、前記複数のノードの温度に基づいて、前記転送される複数のパケットを調停するものである。
【００１０】
本発明に係る中継システムは、複数のノードと、前記複数のノード間でパケットを中継する中継装置と、と備えた中継システムであって、前記中継装置は、前記複数のノードとバスを介して接続される複数の入力ポートに対応した複数の入力バッファと、前記複数のノードとバスを介して接続される複数の出力ポートに対応した複数の出力バッファと、前記複数の入力バッファに格納されたパケットを、前記パケットの宛先に応じて、前記複数の出力バッファに転送するスイッチと、前記複数のノードの温度に基づいて、前記転送される複数のパケットを調停する調停制御部と、を備えるものである。
【発明の効果】
【００１１】
本発明によれば、故障率を低減することが可能な中継装置、中継方法及び中継システムを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態に係る中継装置の概要を示す構成図である。
【図２】実施の形態１に係るＮｏＣの構成例を示す構成図である。
【図３】実施の形態１に係るＮｏＣの温度情報収集イメージを示す図である。
【図４】実施の形態１に係るＮｏＣのパケット転送イメージを示す図である。
【図５】実施の形態１に係るルータの構成例を示す構成図である。
【図６】実施の形態１に係る動作例を示すフローチャートである。
【図７】実施の形態１に係る動作例を示すフローチャートである。
【図８】実施の形態２に係るルータの構成例を示す構成図である。
【図９】実施の形態２に係る動作例を示すフローチャートである。
【図１０】実施の形態２に係る動作例を示すフローチャートである。
【図１１】実施の形態３に係るルータの構成例を示す構成図である。
【図１２】実施の形態３に係る動作例を示すフローチャートである。
【図１３】実施の形態３に係る動作例を示すフローチャートである。
【図１４】実施の形態４に係るルータの構成例を示す構成図である。
【図１５】実施の形態４に係る動作例を示すフローチャートである。
【図１６】実施の形態４に係る動作例を示すフローチャートである。
【図１７】参考例のルータの構成例を示す構成図である。
【発明を実施するための形態】
【００１３】
（実施の形態に至る検討）
実施の形態の説明の前に、特許文献１に基づいた参考例について説明する。
【００１４】
図１７は、ＮｏＣにおいてＣｏｒｅ間のパケットを中継する参考例のルータの構成を示している。図１７に示すように、参考例のルータ９００は、隣接するＣｏｒｅからの入力ポートに対応する入力バッファ制御部１−１〜１−５、パケットの調停を行う調停制御部３、クロスバ４、出力レジスタ５−１〜５−５を備えている。
【００１５】
各ポートに対応した入力バッファ制御部１−１〜１−５は、各ポート（Ｃｏｒｅ）から入力されるパケットを格納する。調停制御部３は、各入力バッファのパケット自身が持つ宛先Ｃｏｒｅ情報と締切時刻情報を用いて調停を行う。調停制御部３の優先度の決定により求められている性能（遅延とスループット）を保証するために、締切時刻が小さい（早い）パケットを優先して伝送する。出力レジスタ５−１〜５−５は、調停制御部３の調停により選択されたパケットを格納し、格納したパケットを各出力ポートに発行（出力）する。
【００１６】
締切時刻は、Ｃｏｒｅでの要求の発生時刻とルータのパケット送信時刻の二つの選択が可能である。要求の発生時刻を選択した場合、本来の締切時刻は要求の発生時刻＋許容遅延時間となる。例えば、ＣｏｒｅＣ１（ポートＰ１）が時刻ｔ０に複数パケットの要求を発行し、ＣｏｒｅＣ４（ポートＰ４）が時刻ｔ１（ｔ０＜ｔ１）に１パケットの要求を発行し、各Ｃｏｒｅの許容遅延時間が共通の値ｄのとき、ポートＰ１の複数パケットの締切時刻は全てｔ０＋ｄ、ポートＰ４のパケットの締切時刻はｔ１＋ｄとなる。
【００１７】
優先順位を決定する締切時刻の関係はｔ０＋ｄ＜ｔ１＋ｄとなるため、ポートＰ１の複数パケットが優先され、出力ポートにポートＰ１の複数パケットが全て出力された後で、ポートＰ４のパケットが出力される。このように特定の入力ポートを優先して処理して、他のポートの処理が遅れてしまい、ルータに入力してから出力されるまでの平均遅延が大きくなってしまう場合があった。
【００１８】
これを防ぐために、締切情報をパケットの送信時刻＋許容遅延時間として付与する。例えば、ＣｏｒｅＣ１（ポートＰ１）が時刻ｔ０に複数パケットを要求し、ＣｏｒｅＣ４（ポートＰ４）が時刻ｔ１（ｔ０＜ｔ１）に１パケットの要求を発行したとする。各Ｃｏｒｅからルータに到達するまでにΔｔかかるとする。この場合、ポートＰ１、Ｐ４の各パケットの送信時刻はそれぞれ、時刻ｔ０＋ｎ×Δｔ（１≦ｎ）、時刻ｔ１＋Δｔとなる。つまり、ポートＰ１の１パケット目の時刻は（ｔ０＋Δｔ）、２パケット目の時刻は（ｔ０＋２×Δｔ）、ポートＰ４の１パケットの時刻はｔ１＋Δｔとなる。
【００１９】
そして、ポートＰ１の１パケット目の時刻＜ポートＰ４の１パケットの時刻＜ポートＰ１の２パケット目の時刻という関係が成り立つとき、締切時刻の小さい順に調停されるとポートＰ１の１パケット目、ポートＰ４の１パケット、そしてポートＰ１の２つ目以降のパケットの順に出力ポートに伝送される。このようにしてルータに入力されてから出力されるまでの平均遅延を低減させることができ、伝送性能の向上が見込める。
【００２０】
以上から、特許文献１のような参考例では、締切時刻を遵守しようとパケット間の調停を行うため、伝送性能の向上が見込める。しかしながら、参考例では、性能を優先するために、各Ｃｏｒｅの動作率が上がり、故障率への影響が無視できないほどＬＳＩ温度が高くなる可能性があった。このため、実施の形態では、伝送性能を確保しつつ、故障率が高くならない程度にＬＳＩ温度を保つＮｏＣ回路の提供を可能とする。
【００２１】
（実施の形態の概要）
図１は、実施の形態に係る中継装置の概要を示す構成図である。図１に示すように、実施の形態に係る中継装置１０は、ＮｏＣのルータなどであり、複数の入力バッファ１１、複数の出力バッファ１２、スイッチ１３、調停制御部１４を備えている。
【００２２】
複数の入力バッファ１１は、複数のノード２０とバスを介して接続される複数の入力ポート１１ａに対応している。複数の出力バッファ１２は、複数のノード２０とバスを介して接続される複数の出力ポート１２ａに対応している。スイッチ１３は、複数の入力バッファ１１に格納されたパケットを、パケットの宛先に応じて、複数の出力バッファ１２に転送する。調停制御部１４は、複数のノード２０の温度に基づいて、転送される複数のパケットを調停する。
【００２３】
このように、実施の形態では、Ｃｏｒｅなどの複数のノードの温度に基づいて調停を制御するため、ノードの温度に応じた優先度でパケットを転送できる。これにより、ノードの温度上昇を抑えることができ、ノードを搭載する装置の故障率を低減することができる。
【００２４】
（実施の形態１）
以下、図面を参照して実施の形態１について説明する。本実施の形態は、Ｃｏｒｅ毎に温度センサを実装し、ルータがその温度情報をもとに温度の高いＣｏｒｅから来たパケットより、温度の低いＣｏｒｅから来たパケットを優先して出力することにより、温度の高いＣｏｒｅの処理を遅らせ、動作率を落とし、ＬＳＩの温度を下げることにより、ＬＳＩの故障率を低減させることを特徴とする。
【００２５】
＜実施の形態の構成＞
まず、図２〜図５を用いて実施の形態の構成について説明する。図２は、本実施の形態に係るＮｏＣの構成を示している。
【００２６】
図２に示すように、本実施の形態に係るＮｏＣ（ＬＳＩ）１００は、演算処理を行う１６個のＣｏｒｅＣ０〜Ｃ１５（ＣｏｒｅＣもしくは端にＣｏｒｅとも言う）、各ＣｏｒｅＣ０〜Ｃ１５の温度を観測する温度センサＳ０〜Ｓ１５（温度センサＳもしくは単に温度センサとも言う）、各ＣｏｒｅＣ０〜Ｃ１５間に配置されるパケットを中継するルータＲ０〜Ｒ１５（ルータＲもしくは単にルータとも言う）を備えている。なお、ルータに限らず、ノード間のパケットを中継するその他の中継装置でもよい。
【００２７】
例えば、ＮｏＣ１００は２次元のメッシュトポロジのネットワークを構成するが、その他のトポロジのネットワークを構成してもよい。図２の例では、ルータＲ０〜Ｒ１５は、４行×４列のマトリクス状に配置され、隣接するルータと行方向（横方向）及び列方向（縦方向）にそれぞれバスを介して接続されている。ＣｏｒｅＣ０〜Ｃ１５は、それぞれルータＲ０〜Ｒ１５の近傍に配置され、各ルータＲ０〜Ｒ１５とバスを介して接続されている。温度センサＳ０〜Ｓ１５は、それぞれＣｏｒｅＣ０〜Ｃ１５内（もしくは近傍）に配置され、各ルータＲ０〜Ｒ１５と接続されている。温度センサＳ０〜Ｓ１５とルータＲ０〜Ｒ１５は、ＣｏｒｅＣ０〜Ｃ１５とルータＲ０〜Ｒ１５間のバスを介して接続されてもよいし、その他の配線を介して接続されてもよい。
【００２８】
図３に示すように、本実施の形態に係るルータＲ（例えばＲ５）は、温度センサＳ０〜Ｓ１５から、全てのＣｏｒｅＣ０〜Ｃ１５の温度を取得する。そして、例えば、図４に示すように、ルータＲ５が、ＣｏｒｅＣ０からのパケットＰＫＴ１をルータＲ０を介して受信し、ＣｏｒｅＣ２からのパケットＰＫＴ２をルータＲ２を介して受信し、受信したＰＫＴ１及びＰＫＴ２をルータＲ９へ出力しようとすると、ルータＲ５の出力先でパケットＰＫＴ１及びＰＫＴ２が競合する。本実施の形態では、競合したパケットを、図３のように取得したＣｏｒｅの温度に基づいて調停する。例えば、パケットＰＫＴ１及びＰＫＴ２の発行元のＣｏｒｅＣ０及びＣ２の温度に応じた優先順位でパケットを選択し出力する。
【００２９】
図５は、図２のＮｏＣ１００内のルータＲのうち、例えば、ルータＲ５の構成を示している。なお、ルータＲ０〜Ｒ１５は同様の構成である。
【００３０】
図５に示すように、本実施の形態に係るルータＲ５は、隣接するＣｏｒｅＣからの入力ポートに対応する入力バッファ制御部１−１〜１−５、各ＣｏｒｅＣの温度情報を管理する温度情報管理部２、パケットの調停を行う調停制御部３、クロスバ４、出力レジスタ５−１〜５−５を備えている。
【００３１】
入力バッファ制御部（入力バッファ）１−１〜１−５は、各入力ポートＰ１、Ｐ４、Ｐ６、Ｐ５に対応しており、各ポート（ＣｏｒｅＣ）から入力されるパケットを格納する。入力バッファ制御部１−１は、４つの出力ポートＰ１、Ｐ４、Ｐ６、Ｐ９に対応したそれぞれ１つの出力先レジスタ１−１−２〜１−１−５と、４つのポートと共有する４エントリ可能な共有バッファ１−１−１を有する。入力バッファ制御部１−２〜１−５も入力バッファ制御部１−１と同様の構成である。なお、共有バッファ１−１−１は性能、ＬＳＩサイズ、電力などを考慮して上記以上のエントリ数を持つことが可能である。
【００３２】
クロスバ（切替部）４は、入力バッファ制御部１−１〜１−５と出力レジスタ５−１〜５−５との間で、パケットの宛先に応じてスイッチングするクロスバスイッチである。クロスバ４は、入力バッファ制御部１−１〜１−５の出力先レジスタ１−１−２〜１−１−５のパケットを、調停制御部３の調停にしたがい、出力レジスタ５−１〜５−５へ出力する。
【００３３】
出力レジスタ（出力バッファ）５−１〜５−５は、各出力ポートＰ１、Ｐ４、Ｐ６、Ｐ５に対応しており、調停制御部３の調停により選択されたパケットを格納し、格納したパケットを各出力ポートに発行（出力）する。例えば、入力ポートＰ１、Ｐ４、Ｐ６、Ｐ５と出力ポートＰ１、Ｐ４、Ｐ６、Ｐ５は同じポートであるが、異なるポートでもよい。（入力及び出力）ポートＰ１は、ルータＲ１（ＣｏｒｅＣ１）と接続し、ポートＰ４は、ルータＲ４（ＣｏｒｅＣ４）と接続し、ポートＰ６は、ルータＲ６（ＣｏｒｅＣ６）と接続し、ポートＰ５は、ＣｏｒｅＣ５と接続する。
【００３４】
温度情報管理部（温度取得部または温度判定部）２は、各ＣｏｒｅＣ０〜Ｃ１５の温度情報を収集し、ある閾値の温度を超えたＣｏｒｅの有無を監視しており、閾値を超えたＣｏｒｅの情報を調停制御部３に渡す。なお、温度の閾値は可変に設定可能である。
【００３５】
調停制御部（調停部）３は、温度情報管理部２から入手した閾値を超えたＣｏｒｅ情報と、入力バッファ制御部１−１〜１−５の出力先レジスタ１−１−２〜１−１−５に格納されているパケット自身が持つ発行元Ｃｏｒｅ情報と、仕掛りＴＡＴ情報とを用いて調停を行う。例えば、調停制御部３が調停により優先させるパケットを選択すると、クロスバ４が選択されたパケットを出力レジスタへ出力する。仕掛りＴＡＴ（Turn Around Time）情報は、パケットが送信元から発行されてからのレイテンシを示す。仕掛りＴＡＴ情報は、入力バッファ制御部１−１〜１−５に格納されている間、常にカウントして更新している。すなわち、入力バッファ制御部１−１〜１−５は、仕掛りＴＡＴ情報をカウントするカウンタ（不図示）を備えている。
【００３６】
＜実施の形態の動作＞
具体的な動作について、図５のブロック図を参照しつつ、図６及び図７を用いて説明する。
【００３７】
図６に示すように、本実施の形態に係るルータＲは、各ポート（Ｃｏｒｅ）からのパケットを、各ポートに対応した入力バッファ制御部１−１〜１−５に格納する（Ｓ１０１）。
【００３８】
ルータＲ自身の入力バッファ制御部１−１〜１−５において、出力ポートに対応した出力先レジスタ１−１−２〜１−１−５が空いている場合は、対応する出力先レジスタ１−１−２〜１−１−５にパケットを格納する。対応する出力先レジスタ１−１−２〜１−１−５にパケットが格納されている場合は、共有バッファ１−１−１にパケットを格納する。対応する出力先レジスタ１−１−２〜１−１−５に格納されているパケットが、出力レジスタ５−１〜５−５に出力されて空き状態になると、共有バッファ１−１−１に格納されたパケットを、出力先レジスタ１−１−２〜１−１−５に格納する。
【００３９】
温度情報管理部２は、各ＣｏｒｅＣ０〜Ｃ１５の温度情報を収集し（Ｓ１０２）、温度がある閾値を超えたＣｏｒｅの有無を判定する（Ｓ１０３）。温度情報管理部２は、定期的に温度情報収集及び閾値との比較を繰り返すことで、閾値を超えたＣｏｒｅの有無を監視し、閾値を超えたＣｏｒｅの情報を調停制御部３に渡す。
【００４０】
調停制御部３は、閾値を超えた発行元Ｃｏｒｅと仕掛りＴＡＴ情報に基づいて調停を行う（Ｓ１０４）。すなわち、調停制御部３は、温度情報管理部２から入手した閾値を超えたＣｏｒｅの情報と、入力バッファ制御部１−１〜１−５の出力先レジスタ１−１−２〜１−１−５に格納されているパケットに付与されている発行元Ｃｏｒｅ情報と仕掛りＴＡＴ情報を用いて調停を行う。本実施の形態では、調停制御部３は、複数のパケットのうち発行元ノードの温度がより低いパケットの転送を優先させ、特に、発行元ノードの温度が閾値よりも低いパケットの転送を優先させ、さらに、複数のパケットのうち、レイテンシがより大きいパケットの転送を優先させる。
【００４１】
具体的には、Ｓ１０４では、図７に示すＳ１１１〜Ｓ１１８のように調停を行う。図７に示すように、調停制御部３は、同じ出力ポート（出力レジスタ５−１〜５−５）へ出力される複数のパケットが競合する場合に（Ｓ１１１）、Ｓ１１２以降で調停を行う。
【００４２】
調停制御部３は、複数のパケットのうち一部のパケットの発行元Ｃｏｒｅが閾値を超えているかどうか判定する（Ｓ１１２）。すなわち、同じ出力ポートへの出力先レジスタ（入力バッファ制御部１−１〜１−５の出力先レジスタ１−１−２〜１−１−５のいずれか）に発行元Ｃｏｒｅの温度が閾値を超えているパケットと閾値を超えていない発行元Ｃｏｒｅのパケットが格納されて、競合が発生した場合、調停制御部３は、発行元Ｃｏｒｅが閾値を超えたパケットよりも、発行元Ｃｏｒｅが閾値を超えていないパケットを優先して発行（出力レジスタ５−１〜５−５へ出力）する（Ｓ１１３）。
【００４３】
また、調停制御部３は、発行元Ｃｏｒｅの温度が閾値を超えているパケットについては、仕掛りＴＡＴ情報に基づいて調停を行う（Ｓ１１４）。すなわち、発行元Ｃｏｒｅの温度が閾値を超えているパケットが調停に負け続けて発行元Ｃｏｒｅにてタイムアウトを検出しないように、仕掛りＴＡＴ情報がある値になった場合に優先して発行する。
【００４４】
一方、調停制御部３は、複数のパケットの全ての発行元Ｃｏｒｅが閾値を超えているかどうか判定する（Ｓ１１５）。すなわち、同じ出力ポートへの出力先レジスタ（入力バッファ制御部１−１〜１−５の出力先レジスタ１−１−２〜１−１−５のいずれか）の全てに発行元Ｃｏｒｅの温度が閾値を超えているパケットが格納されている場合、調停制御部３は、仕掛りＴＡＴ情報が大きいパケット、つまり処理に時間がかかっているパケットを優先して発行し、さらに仕掛りＴＡＴ情報が同じときはラウンドロビンにて優先順位を決める（Ｓ１１６）。
【００４５】
他方、調停制御部３は、複数のパケットの全ての発行元Ｃｏｒｅが閾値以下かどうか判定する（Ｓ１１７）。すなわち、同じ出力ポートへの出力先レジスタ（入力バッファ制御部１−１〜１−５の出力先レジスタ１−１−２〜１−１−５のいずれか）の全てに発行元Ｃｏｒｅの温度が閾値を超えていないパケットが格納されている場合、調停制御部３は、仕掛りＴＡＴ情報の大きな値のパケットを優先して発行し、さらに仕掛りＴＡＴ情報が同じときはラウンドロビンにて優先順位を決める（Ｓ１１８）。
【００４６】
一般的にあるＣｏｒｅからのパケットがリードでＣｏｒｅがそのリプライを受け取ってから次の処理を開始する、またはパケットがライトでそれが完了したかどうかを後続のリードで確認するような動作を行うことが多いが、閾値を超えたＣｏｒｅからのパケットの優先順位を落とすと上記動作の完了が遅れ、次の処理が行われるまでの時間がかかり、動作率は低くなり、Ｃｏｒｅの温度も低くなる。このように、温度の高いＣｏｒｅのパケットの処理の優先順位を落とすことにより、ＬＳＩ内の温度が下がり、ＬＳＩの故障率を低減させることを可能とする。
【００４７】
なお、調停制御部３の動作としては、前述の通り発行元Ｃｏｒｅの温度が閾値を超えたパケットの優先順位を落とすだけでなく、発行元Ｃｏｒｅの温度が閾値を超えたパケットはある一定時間発行しない、もしくは発行間隔を空けることにより、さらに早く発行元Ｃｏｒｅの温度を下げることが可能である。また、パケットに付与されている調停に使用する情報は、本案の仕掛りＴＡＴ情報ではなく、関連する技術の締切時間情報などパケット間で優先順位をつけることが可能な情報であれば良い。
【００４８】
＜実施の形態の効果＞
本実施の形態に係るＮｏＣの調停方法によれば、パケットに発行元のＣｏｒｅ情報、Ｃｏｒｅ毎に温度センサ、ルータに各Ｃｏｒｅの温度情報をもとにパケットの優先順位を決める回路を追加し、温度の高いＣｏｒｅのパケットの優先度を下げることにより、Ｃｏｒｅの動作率を落として温度を下げることができる。特に、パケットの発行元Ｃｏｒｅの温度上昇を抑えることができる。したがって、本実施の形態によれば、ＬＳＩの発熱を抑え、ＬＳＩの故障率の低減、つまり、システムの可用性向上が可能となる。
【００４９】
（実施の形態２）
実施の形態２では、その基本的構成は実施の形態１の図２及び図５と同様であるが、ＬＳＩの温度を下げるために、調停制御部３の調停方法について工夫している。
【００５０】
図８は、本実施の形態に係るルータＲ（例えばＲ５）の構成を示している。図８において、実施の形態１の図５と異なる点は調停制御部３がパケットの発行元Ｃｏｒｅ情報ではなく、宛先Ｃｏｒｅ情報を入手し、宛先Ｃｏｒｅの温度状態をもとに調停を行う点である。
【００５１】
図９及び図１０を用いて、本実施の形態の動作について説明する。図９に示すように、実施の形態１と同様に、ルータＲは、各ポートからのパケットを、各ポートに対応した入力バッファ制御部１−１〜１−５に格納し（Ｓ２０１）、温度情報管理部２は、各Ｃｏｒｅの温度情報を収集し（Ｓ２０２）、温度がある閾値を超えたＣｏｒｅの有無を判定する（Ｓ２０３）。
【００５２】
さらに、本実施の形態に係る調停制御部３は、閾値を超えた宛先Ｃｏｒｅと仕掛りＴＡＴ情報に基づいて調停を行う（Ｓ２０４）。すなわち、調停制御部３は、温度情報管理部２から入手した閾値を超えたＣｏｒｅの情報と、入力バッファ制御部１−１〜１−５の出力先レジスタ１−１−２〜１−１−５に格納されているパケットに付与されている宛先Ｃｏｒｅ情報と仕掛りＴＡＴ情報を用いて調停を行う。本実施の形態では、調停制御部３は、複数のパケットのうち宛先ノードの温度がより低いパケットの転送を優先させ、特に、宛先ノードの温度が閾値よりも低いパケットの転送を優先させ、さらに、複数のパケットのうち、レイテンシがより大きいパケットの転送を優先させる。
【００５３】
具体的には、Ｓ２０４では、図１０に示すＳ２１１〜Ｓ２１８のように調停を行う。図１０に示すように、調停制御部３は、同じ出力ポート（出力レジスタ５−１〜５−５）へ出力される複数のパケットが競合する場合に（Ｓ２１１）、Ｓ２１２以降で調停を行う。
【００５４】
調停制御部３は、複数のパケットのうち一部のパケットの宛先Ｃｏｒｅが閾値を超えているかどうか判定する（Ｓ２１２）。すなわち、同じ出力ポートへの出力先レジスタ（入力バッファ制御部１−１〜１−５の出力先レジスタ１−１−２〜１−１−５のいずれか）に宛先Ｃｏｒｅの温度が閾値を超えているパケットと閾値を超えていない宛先Ｃｏｒｅのパケットが格納されて、競合が発生した場合、調停制御部３は、宛先Ｃｏｒｅが閾値を超えたパケットよりも、宛先Ｃｏｒｅが閾値を超えていないパケットを優先して発行する（Ｓ２１３）。
【００５５】
また、調停制御部３は、宛先Ｃｏｒｅの温度が閾値を超えているパケットが調停に負け続けて発行元Ｃｏｒｅにてタイムアウトを検出しないように、仕掛りＴＡＴ情報がある値になった場合は優先して発行する（Ｓ２１４）。
【００５６】
一方、調停制御部３は、複数のパケットの全ての宛先Ｃｏｒｅが閾値を超えているかどうか判定する（Ｓ２１５）。すなわち、同じ出力ポートへの出力先レジスタ（入力バッファ制御部１−１〜１−５の出力先レジスタ１−１−２〜１−１−５のいずれか）の全てに宛先Ｃｏｒｅの温度が閾値を超えているパケットが格納されている場合、調停制御部３は、仕掛りＴＡＴ情報が大きいパケット、つまり処理に時間がかかっているパケットを優先して発行し、さらに仕掛りＴＡＴ情報が同じときはラウンドロビンにて優先順位を決める（Ｓ２１６）。
【００５７】
他方、調停制御部３は、複数のパケットの全ての宛先Ｃｏｒｅが閾値以下かどうか判定する（Ｓ２１７）。すなわち、同じ出力ポートへの出力先レジスタ（入力バッファ制御部１−１〜１−５の出力先レジスタ１−１−２〜１−１−５のいずれか）の全てに宛先Ｃｏｒｅの温度が閾値を超えていないパケットが格納されている場合、調停制御部３は、仕掛りＴＡＴ情報の大きな値のパケットを優先して発行し、さらに仕掛りＴＡＴ情報が同じときはラウンドロビンにて優先順位を決める（Ｓ２１８）。
【００５８】
このように、本実施の形態によれば、閾値を超えた宛先Ｃｏｒｅに対するアクセスを遅らせ、宛先Ｃｏｒｅの動作率を下げ、ＬＳＩ内の温度を下げることにより、実施の形態１と同様にＬＳＩ故障率を低減させることが可能となる。特に、パケットの宛先Ｃｏｒｅの温度上昇を抑えることができる。
【００５９】
（実施の形態３）
実施の形態３では、その基本的構成は実施の形態１の図２及び図５と同様であるが、ＬＳＩの温度を下げるために、調停制御部３の調停方法について工夫している。
【００６０】
図１１は、本実施の形態に係るルータＲ（例えばＲ５）の構成を示している。図１１において、実施の形態１の図５と異なる点は調停制御部３がパケットの発行元Ｃｏｒｅ情報と宛先Ｃｏｒｅ情報を入手し、発行元Ｃｏｒｅと宛先Ｃｏｒｅの両方の温度状態をもとに調停を行う点である。
【００６１】
図１２及び図１３を用いて、本実施の形態の動作について説明する。図１２に示すように、実施の形態１と同様に、ルータＲは、各ポートからのパケットを、各ポートに対応した入力バッファ制御部１−１〜１−５に格納し（Ｓ３０１）、温度情報管理部２は、各Ｃｏｒｅの温度情報を収集し（Ｓ３０２）、温度がある閾値を超えたＣｏｒｅの有無を判定する（Ｓ３０３）。
【００６２】
さらに、本実施の形態に係る調停制御部３は、閾値を超えた発行元Ｃｏｒｅ及び宛先Ｃｏｒｅと仕掛りＴＡＴ情報に基づいて調停を行う（Ｓ３０４）。すなわち、調停制御部３は、温度情報管理部２から入手した閾値を超えたＣｏｒｅの情報と、入力バッファ制御部１−１〜１−５の出力先レジスタ１−１−２〜１−１−５に格納されているパケットに付与されている発行元Ｃｏｒｅ及び宛先Ｃｏｒｅ情報と仕掛りＴＡＴ情報を用いて調停を行う。本実施の形態では、調停制御部３は、複数のパケットのうち発行元ノード及び宛先ノードの温度がより低いパケットの転送を優先させ、特に、発行元ノード及び宛先ノードの温度が閾値よりも低いパケットの転送を優先させ、次に、宛先ノードまたは発行元ノードの温度が閾値よりも低いパケットの転送を優先させ、さらに、複数のパケットのうち、レイテンシがより大きいパケットの転送を優先させる。
【００６３】
具体的には、Ｓ３０４では、図１３に示すＳ３１１〜Ｓ３１８のように調停を行う。図１３に示すように、調停制御部３は、同じ出力ポート（出力レジスタ５−１〜５−５）へ出力される複数のパケットが競合する場合に（Ｓ３１１）、Ｓ３１２以降で調停を行う。
【００６４】
調停制御部３は、複数のパケットのうち一部のパケットの発行元Ｃｏｒｅ及び／または宛先Ｃｏｒｅが閾値を超えているかどうか判定する（Ｓ３１２）。すなわち、同じ出力ポートへの出力先レジスタ（入力バッファ制御部１−１〜１−５の出力先レジスタ１−１−２〜１−１−５のいずれか）に発行元Ｃｏｒｅ及び／または宛先Ｃｏｒｅの温度が閾値を超えているパケットと閾値を超えていない発行元Ｃｏｒｅ及び／または宛先Ｃｏｒｅのパケットが格納されて、競合が発生した場合、調停制御部３は、発行元Ｃｏｒｅ及び／または宛先Ｃｏｒｅが閾値を超えたパケットよりも、発行元Ｃｏｒｅ及び／または宛先Ｃｏｒｅが閾値を超えていないパケットを優先して発行する（Ｓ３１３）。
【００６５】
具体的には、閾値を超えたパケット、閾値以下のパケット間の優先順位を以下のようにして調停を行う。
宛先Ｃｏｒｅと発行元Ｃｏｒｅの両方の温度が閾値を超えたパケット＜宛先Ｃｏｒｅの温度が閾値を超えたパケット＜発行元Ｃｏｒｅの温度が閾値を超えたパケット＜宛先Ｃｏｒｅの温度が閾値以下のパケット＜発行元Ｃｏｒｅの温度が閾値以下のパケット
【００６６】
また、調停制御部３は、発行元Ｃｏｒｅまたは宛先Ｃｏｒｅの温度が閾値を超えているパケットが調停に負け続けて発行元Ｃｏｒｅにてタイムアウトを検出しないように、仕掛りＴＡＴ情報がある値になった場合は優先して発行する（Ｓ３１４）。
【００６７】
一方、調停制御部３は、複数のパケットの全ての発行元Ｃｏｒｅ及び宛先Ｃｏｒｅが閾値を超えているかどうか判定する（Ｓ３１５）。すなわち、同じ出力ポートへの出力先レジスタ（入力バッファ制御部１−１〜１−５の出力先レジスタ１−１−２〜１−１−５のいずれか）の全てに発行元Ｃｏｒｅ及び宛先Ｃｏｒｅの温度が閾値を超えているパケットが格納されている場合、調停制御部３は、仕掛りＴＡＴ情報が大きいパケット、つまり処理に時間がかかっているパケットを優先して発行し、さらに仕掛りＴＡＴ情報が同じときはラウンドロビンにて優先順位を決める（Ｓ３１６）。
【００６８】
他方、調停制御部３は、複数のパケットの全ての発行元Ｃｏｒｅ及び宛先Ｃｏｒｅが閾値以下かどうか判定する（Ｓ３１７）。すなわち、同じ出力ポートへの出力先レジスタ（入力バッファ制御部１−１〜１−５の出力先レジスタ１−１−２〜１−１−５のいずれか）の全てに発行元Ｃｏｒｅ及び宛先Ｃｏｒｅの温度が閾値を超えていないパケットが格納されている場合、調停制御部３は、仕掛りＴＡＴ情報の大きな値のパケットを優先して発行し、さらに仕掛りＴＡＴ情報が同じときはラウンドロビンにて優先順位を決める（Ｓ３１８）。
【００６９】
このように、本実施の形態によれば、閾値を超えた宛先Ｃｏｒｅと発行元Ｃｏｒｅの両方に関係するアクセスを遅らせることにより、更に効率よく宛先Ｃｏｒｅと発行元Ｃｏｒｅの動作率を下げ、ＬＳＩ内の温度を下げることにより、ＬＳＩ故障率を低減させることが可能となる。
【００７０】
（実施の形態４）
実施の形態４では、その基本的構成は実施の形態１の図２及び図５と同様であるが、ＬＳＩの温度を下げるために、温度情報管理部２と調停制御部３について工夫している。
【００７１】
図１４は、本実施の形態に係るルータＲ（例えばＲ５）の構成を示している。図１４において、実施の形態１の図５と異なる点は温度情報管理部２が各Ｃｏｒｅからの温度情報を入手し、そのＣｏｒｅの温度がある閾値を超えたかどうかだけを判断するのではなく、閾値の設定を細分化、例えば閾値１＝４０℃、閾値２＝６０℃、閾値３＝８０℃のように設定し、各Ｃｏｒｅがどの状態にあるかを調停制御部３に渡し、調停制御部３はその情報をもとに優先制御を行う。なお、閾値は３つに限らず、任意の数の閾値を設定してもよい。また、閾値に限らず、温度と優先度を関連付けておき、温度に対応する優先度によって優先制御してもよい。
【００７２】
図１５及び図１６を用いて、本実施の形態の動作について説明する。図１５に示すように、実施の形態１と同様に、ルータＲは、各ポートからのパケットを、各ポートに対応した入力バッファ制御部１−１〜１−５に格納する（Ｓ４０１）。温度情報管理部２は、各Ｃｏｒｅの温度情報を収集し（Ｓ４０２）、温度が閾値１、閾値２、閾値３を超えたＣｏｒｅの有無を判定する（Ｓ４０３）。
【００７３】
さらに、本実施の形態に係る調停制御部３は、閾値１、閾値２、閾値３を超えた発行元Ｃｏｒｅと仕掛りＴＡＴ情報に基づいて調停を行う（Ｓ４０４）。すなわち、調停制御部３は、温度情報管理部２から入手した閾値１、閾値２、閾値３を超えたＣｏｒｅの情報と、入力バッファ制御部１−１〜１−５の出力先レジスタ１−１−２〜１−１−５に格納されているパケットに付与されている発行元Ｃｏｒｅ情報と仕掛りＴＡＴ情報を用いて調停を行う。本実施の形態では、調停制御部３は、複数のパケットのうち発行元ノードの温度がより低いパケットの転送を優先させ、特に、発行元ノードの温度と複数の閾値との比較結果に応じてパケットを調停し、さらに、複数のパケットのうち、レイテンシがより大きいパケットの転送を優先させる。
【００７４】
具体的には、Ｓ４０４では、図１６に示すＳ４１１〜Ｓ４１８のように調停を行う。図１６に示すように、調停制御部３は、同じ出力ポート（出力レジスタ５−１〜５−５）へ出力される複数のパケットが競合する場合に（Ｓ４１１）、Ｓ４１２以降で調停を行う。
【００７５】
調停制御部３は、複数のパケットのうち一部のパケットの発行元Ｃｏｒｅが閾値１、閾値２、または閾値３を超えているかどうか判定する（Ｓ４１２）。すなわち、同じ出力ポートへの出力先レジスタ（入力バッファ制御部１−１〜１−５の出力先レジスタ１−１−２〜１−１−５のいずれか）に発行元Ｃｏｒｅの温度が閾値１、閾値２、または閾値３を超えているパケットと閾値１、閾値２、または閾値３を超えていない発行元Ｃｏｒｅのパケットが格納されて、競合が発生した場合、調停制御部３は、発行元Ｃｏｒｅが閾値１、閾値２、または閾値３を超えたパケットよりも、発行元Ｃｏｒｅが閾値１、閾値２、または閾値３を超えていないパケットを優先して発行する（Ｓ４１３）。
【００７６】
具体的には、閾値１、閾値２、閾値３前後のパケット間の優先順位を以下のようにして調停を行う。
発行元Ｃｏｒｅの温度が閾値３を超えたパケット＜発行元Ｃｏｒｅの温度が閾値２と閾値３の間のパケット＜発行元Ｃｏｒｅの温度が閾値１と閾値２の間のパケット＜発行元Ｃｏｒｅの温度が閾値１より低いパケット
【００７７】
また、調停制御部３は、発行元Ｃｏｒｅの温度が閾値１、閾値２、または閾値３を超えているパケットが調停に負け続けて発行元Ｃｏｒｅにてタイムアウトを検出しないように、仕掛りＴＡＴ情報がある値になった場合は優先して発行する（Ｓ４１４）。
【００７８】
一方、調停制御部３は、複数のパケットの全ての発行元Ｃｏｒｅが全閾値を超えているかどうか判定する（Ｓ４１５）。すなわち、同じ出力ポートへの出力先レジスタ（入力バッファ制御部１−１〜１−５の出力先レジスタ１−１−２〜１−１−５のいずれか）の全てに発行元Ｃｏｒｅの温度が全閾値を超えているパケットが格納されている場合、調停制御部３は、仕掛りＴＡＴ情報が大きいパケット、つまり処理に時間がかかっているパケットを優先して発行し、さらに仕掛りＴＡＴ情報が同じときはラウンドロビンにて優先順位を決める（Ｓ４１６）。
【００７９】
他方、調停制御部３は、複数のパケットの全ての発行元Ｃｏｒｅが全閾値以下かどうか判定する（Ｓ４１７）。すなわち、同じ出力ポートへの出力先レジスタ（入力バッファ制御部１−１〜１−５の出力先レジスタ１−１−２〜１−１−５のいずれか）の全てに発行元Ｃｏｒｅの温度が全閾値を超えていないパケットが格納されている場合、調停制御部３は、仕掛りＴＡＴ情報の大きな値のパケットを優先して発行し、さらに仕掛りＴＡＴ情報が同じときはラウンドロビンにて優先順位を決める（Ｓ４１８）。
【００８０】
このように、本実施の形態によれば、閾値を細分化することにより、温度の高いＣｏｒｅから効率良く温度を下げることが可能となる。なお、実施の形態２及び３についても、本実施の形態を適用し、複数の閾値を使用することができる。
【００８１】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【００８２】
上述の実施形態における各構成は、ハードウェア又はソフトウェア、もしくはその両方によって構成され、１つのハードウェア又はソフトウェアから構成してもよいし、複数のハードウェア又はソフトウェアから構成してもよい。情報処理装置の各機能（各処理）を、ＣＰＵやメモリ等を有するコンピュータにより実現してもよい。例えば、記憶装置に実施形態における調停方法を行うためのプログラムを格納し、各機能を、記憶装置に格納されたプログラムをＣＰＵで実行することにより実現してもよい。
【００８３】
このプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（random access memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【００８４】
１−１〜１−５  入力バッファ制御部
１−１−１  共有バッファ
１−１−２〜１−１−５  出力先レジスタ
２      温度情報管理部
３      調停制御部
４      クロスバ
５−１〜５−５  出力レジスタ
１０    中継装置
１１    入力バッファ
１１ａ  入力ポート
１２    出力バッファ
１２ａ  出力ポート
１３    スイッチ
１４    調停制御部
２０    ノード
Ｃ０〜Ｃ１５  Ｃｏｒｅ
Ｐ１、Ｐ４、Ｐ５、Ｐ６、Ｐ９  ポート（入力ポート／出力ポート）
Ｒ０〜Ｒ１５  ルータ
Ｓ０〜Ｓ１５  温度センサ
【図１】
2016187081.tif 000003
【図２】
2016187081.tif 000004
【図３】
2016187081.tif 000005
【図４】
2016187081.tif 000006
【図５】
2016187081.tif 000007
【図６】
2016187081.tif 000008
【図７】
2016187081.tif 000009
【図８】
2016187081.tif 000010
【図９】
2016187081.tif 000011
【図１０】
2016187081.tif 000012
【図１１】
2016187081.tif 000013
【図１２】
2016187081.tif 000014
【図１３】
2016187081.tif 000015
【図１４】
2016187081.tif 000016
【図１５】
2016187081.tif 000017
【図１６】
2016187081.tif 000018
【図１７】
2016187081.tif 000019