JP2010213183A - 経路選択装置、経路選択方法、およびプログラム - Google Patents

経路選択装置、経路選択方法、およびプログラム Download PDF

Info

Publication number
JP2010213183A
JP2010213183A JP2009059519A JP2009059519A JP2010213183A JP 2010213183 A JP2010213183 A JP 2010213183A JP 2009059519 A JP2009059519 A JP 2009059519A JP 2009059519 A JP2009059519 A JP 2009059519A JP 2010213183 A JP2010213183 A JP 2010213183A
Authority
JP
Japan
Prior art keywords
abnormality
route
bus master
noc
noc router
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.)
Granted
Application number
JP2009059519A
Other languages
English (en)
Other versions
JP4592800B2 (ja
Inventor
Takao Yamaguchi
孝雄 山口
Atsushi Yoshida
篤 吉田
Tomonori Ishii
友規 石井
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.)
Panasonic Corp
Original Assignee
Panasonic 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 Panasonic Corp filed Critical Panasonic Corp
Priority to JP2009059519A priority Critical patent/JP4592800B2/ja
Priority to PCT/JP2010/001686 priority patent/WO2010103818A1/ja
Priority to CN201080003102.9A priority patent/CN102204181B/zh
Priority to EP10750575.2A priority patent/EP2408154B1/en
Priority to US12/994,287 priority patent/US8213298B2/en
Publication of JP2010213183A publication Critical patent/JP2010213183A/ja
Application granted granted Critical
Publication of JP4592800B2 publication Critical patent/JP4592800B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip

Abstract

【課題】NoCにおいて経路の切り替えをすばやく行うことができる最適経路選択装置を提供する。
【解決手段】バスマスター300に含まれる最適経路選択装置であって、バスマスター300からバスマスター400までの複数の経路を示す経路情報を生成する経路情報生成部302と、前記各経路に少なくとも1つずつ定められるNoCルータから、各NoCルータが中継する特定のフローの個数を異常生起確度値として収集し、収集した前記異常生起確度値を用いて各NoCルータにおける異常を予測する経路異常予測部303と、前記NoCルータの1つ以上において異常が予測された場合に、前記複数の経路の中から、前記異常が予測された前記NoCルータを含む経路を除外して、バスマスター300からバスマスター400までの新たな経路を選択する迂回経路選択部304とを備える。
【選択図】図5

Description

本発明は、複数の伝送経路が利用可能な半導体システムのネットワークにおける最適経路選択装置、最適経路選択方法、およびプログラムに関する。
従来から、半導体デバイスの大規模化のバス設計の難しさを、複数のプロセッサ間や、複数のバスマスター間を、ネットワーク技術を用いて解決するアプローチであるNoC(Network-on-Chip)の研究開発が行われている。従来からのクロスバースイッチにより、複数のプロセッサやバスマスターを集中管理的に制御するのではなく、NoCルータ(ルータ)を介して、複数のチップ間や、複数のバスマスター間を相互接続することで、バスをネットワーク化する。これにより、半導体システムでの機能の追加や削除が容易になり、トラヒックの分散化も可能になる。一方、制御も分散化されるため、制御が複雑化する。これに対し、トラヒック制御を自動的に最適化する仕組みを実現することで、バスの利用効率を最大限に高めることができ、これによりバスの動作クロックを下げ、不要な処理を減らすことで低消費電力化を図る。さらに、バスの利用効率を半導体デバイス自身が自律協調的に高めることで、半導体デバイス開発者の開発負担を低減することが可能となる。バスのトラヒック制御の難しさは、処理対象のコンテンツや、ユーザ操作、処理方式の切替えなどにより、トラヒックが変動することに起因する。トラヒック変動の難しさを回避するために、現行の半導体デバイスでは最悪値を想定する。このため、バスの利用効率が低くなり、半導体デバイスの低消費電力化を図りにくい。また、最悪値の見積もりも容易ではない。この課題は、バスが分散化したNoCでは一層、深刻化する。本発明では、バスのトラヒック制御を自動的に最適化し、バスの動作クロックを下げ、不要な処理を減らす機能を新たに設けることで低消費電力化と半導体デバイス開発者の開発負担を低減する。バスの利用効率を高める方法として、バスの分散化により、目的のバスマスター(DSP、プロセッサ、IO、メモリなど半導体デバイスの構成要素である)に対して複数経路ができる。本発明では、伝送品質の高いバスを選択し、経路を切替えることでトラヒック制御の最適化を図る方法を対象とする。
特許文献1では、現在、伝送中のエラーが発生時、エラーに対する応答がない場合に、予め設定された複数経路から、新たな経路を選択し、伝送を継続する技術を開示している。
特許第3816531号公報
しかしながら、従来の技術では、データの伝送に使用している経路に、伝送品質が劣化したこと、または、負荷が上昇するような異常が発生したことを、再送回数の情報を用いて事後に検出している。そのため、経路をすばやく切り替えることができないという第1の課題がある。
また、少ないリソース(例えば、通信量、消費電力、所要時間)で、かつ異常を適時に発見できる経路情報を収集するための好適な方法が開示されていないという第2の課題がある。
例えば、リソースを抑えるために所定のしきい値に達しない程度の異常を示す経路情報は収集しないという単純な方法では、しきい値に応じたリソースの抑制効果と異常を見逃す危険性とが相反する。そのため、好適なしきい値を見出せないことが多い。
本発明は、このような事情に鑑みてなされたものであり、NoCにおいて経路切り替えをすばやく行うことができる経路制御技術の提供を第1の目的とする。
また、経路情報の収集に必要なリソースを抑え、かつ起こり得る異常も見落としにくい経路制御技術の提供を第2の目的とする。
上記の目的を達成するために、本発明のある局面に係る最適経路選択装置は、複数のNoC(Network-on-Chip)ルータを介して送信バスマスターから受信バスマスターまでデータを伝送するための経路を選択する最適経路選択装置であって、前記送信バスマスターから前記受信バスマスターまでデータを伝送するための複数の経路を示す経路情報を生成する経路情報生成部と、前記経路情報で示される各経路に少なくとも1つずつ定められる監視候補となるNoCルータにおいて、同一の送信元から同一の宛て先へ伝送される1つ以上のフリットの列であるフローの個数を、各NoCルータにおける伝送品質の劣化および負荷の上昇を含む異常の発生のしやすさを表す異常生起確度値として収集し、収集した前記異常生起確度値を用いて各NoCルータにおける前記異常を予測する経路異常予測部と、監視候補としての前記NoCルータの1つ以上において前記異常が予測された場合に、前記経路情報によって示される前記複数の経路の中から、前記異常が予測された前記NoCルータを含む経路を除外して、前記送信バスマスターから前記受信バスマスターまでのデータの伝送に用いるべき経路を選択する迂回経路選択部とを備える。
また、前記経路異常予測部は、前記各NoCルータが中継するフローのうち、前記送信バスマスターから前記受信バスマスターへのフロー以外のフローの個数を、前記異常生起確度値として収集してもよい。
また、前記経路異常予測部は、前記各NoCルータが中継するフローのうち、受信のためのネットワークの伝送帯域よりも、送信のためのネットワークの伝送帯域のほうが小さいフローの個数を、前記異常生起確度値として収集してもよい。
また、前記経路異常予測部は、前記監視候補としての前記各NoCルータの異常生起確度値を監視すべき頻度を表す監視頻度値を記憶している監視頻度値記憶部と、前記各NoCルータについて所定の確率値である選択確率値を生成する選択確率値生成部と、前記監視頻度値および前記選択確率値に従って、前記各NoCルータの中から異常生起確度値の監視の対象となるNoCルータを選択する監視対象選択部と、前記監視対象選択部によって選択されたNoCルータから異常生起確度値を取得する異常生起確度値取得部と、前記取得された異常生起確度値を記憶する異常生起確度値記憶部と、前記記憶された異常生起確度値を用いて、前記監視頻度値記憶部に記憶されている前記監視頻度値の妥当性を表す活性度を算出する活性度算出部と、前記活性度に基づき、前記監視頻度値記憶部に記憶されている前記監視頻度値を更新する監視頻度値更新部とを有してもよい。
また、前記迂回経路選択部は、前記監視候補としての前記各NoCルータについて、伝送品質を表す伝送品質値を決定し、決定された前記伝送品質値によって表される伝送品質が予め定められた基準よりも悪いNoCルータを含む経路をさらに除いた経路の中から、前記送信バスマスターから前記受信バスマスターまでのデータの伝送に用いるべき経路を選択してもよい。
また、前記迂回経路選択部は、前記監視候補としての前記各NoCルータから、NoCルータにおける負荷の大きさを表す負荷値を収集し、収集した前記負荷値によって表される負荷の大きさが予め定められた基準よりも小さいNoCルータを含む経路をさらに除いた経路の中から、前記送信バスマスターから前記受信バスマスターまでのデータの伝送に用いるべき経路を選択してもよい。
また、前記迂回経路選択部は、監視候補としての前記NoCルータの1つ以上において前記異常が予測された場合に、前記異常が予測された各NoCルータの周囲で発生している異常の規模を示す異常発生規模情報を取得し、取得された前記異常発生規模情報によって示される異常の規模が予め定められた基準よりも小さいNoCルータを含む経路は、前記送信バスマスターから前記受信バスマスターまでのデータの伝送に用いるべき前記経路の選択対象から除外しなくてもよい。
また、前記最適経路選択装置は、前記送信バスマスターか、または半導体システムを構成する前記複数のNoCルータの1つに設けられていてもよい。
本発明の他の局面に係る最適経路選択装置は、複数のNoCルータを介して送信バスマスターから受信バスマスターまでデータを伝送するための経路を選択する最適経路選択装置であって、各NoCルータは、同一の送信元から同一の宛て先へ伝送される1つ以上のフリットの列であるフローの個数を、各NoCルータにおける伝送品質の劣化および負荷の上昇を含む異常の発生のしやすさを表す異常生起確度値として求め、前記異常生起確度値が予め定められた閾値を超えた場合に、前記最適経路選択装置に前記異常生起確度値を通知する経路異常検出部を備え、前記最適経路選択装置は、前記送信バスマスターから前記受信バスマスターまでデータを伝送するための複数の経路を示す経路情報を生成する経路情報生成部と、前記NoCルータから送信される前記異常生成確度値を用いて、前記NoCルータにおける前記異常を予測し、前記NoCルータの1つ以上において前記異常が予測された場合に、前記経路情報によって示される前記複数の経路の中から、前記異常が予測された前記NoCルータを含む経路を除外して、前記送信バスマスターから前記受信バスマスターまでのデータの伝送に用いるべき経路を選択する迂回経路選択部とを備える。
なお、本発明は、このような特徴的な処理部を備える最適経路選択装置として実現することができるだけでなく、最適経路選択装置に含まれる特徴的な処理部をステップとする最適経路選択方法として実現することができる。また、最適経路選択方法に含まれる特徴的なステップをコンピュータに実行させるプログラムとして実現することもできる。そして、そのようなプログラムは、CD−ROM(Compact Disc−Read Only Memory)等の記録媒体やインターネット等の通信ネットワークを介して流通させることができるのは、言うまでもない。
以上のように、本発明の最適経路選択装置によれば、特定のフローの個数を異常生起確度値として用いてNoCルータの異常を予測し、異常が予測されたNoCルータを含む経路を除外して、新たにデータの伝送に用いるべき経路を選択する。そのため、所定の統計量に反映されるような伝送品質の劣化や負荷の上昇が実際に生じる前に、すばやい迂回処理が可能になる。
また、異常の発生のしやすさに応じた監視頻度に従って確率的に選ばれたNoCルータから異常生起確度値を収集して異常の予測に用いる。そのため、監視コスト(監視フリットの量、消費電力、観測所要時間)を抑え、かつ異常の見落としも確率的に回避可能になる。
さらに、トラヒック変動が頻繁に発生する場合、経路の切り替え処理が頻繁に発生するため、発明の効果は高くなり、特に、伝送品質が大きく改善される。
本発明の実施の形態にかかる最適経路選択装置および最適経路選択方法について、図面を参照しながら説明する。
(経路制御の概要)
図1は、本発明の最適経路選択方法に従って伝送経路の制御が行われるNoCの一例を模式的に示す図である。NoCの通信方式として、規定の時間長の伝送スロットを設け、伝送スロットに同期して対象情報を伝送してもよいし、非同期で対象情報を伝送してもよい。また、NoCルータではフリットの廃棄は発生せず、伝送が可能になるまでフリットは保持されるものとする。さらに、フロー制御を導入して、送信するフリット間隔を調整してもよい。なお、本発明では、伝送するデータの単位を、パケット又はフリットとよぶ。
図2には、一例として、映像符号化装置を、NoCで構成した場合の例を模式的に示している。チップ内には、複数のバスマスターがあり、バスマスター毎にNoCルータと結合されている。バスマスターは、DSP、プロセッサ、IO、メモリなど映像符号化処理を行うために必要となる機能要素である。NoCルータは、内部に行き先毎にメモリを備え、受信データを、対象となるメモリへ一時保存し、経路表に基づき、転送先のNoCルータへフリットを転送する。ここでは、映像符号化のチップを例に説明したが、発明の用途はこの例に制限されず、SoC(System on Chip)全体をNoCで構成する用途を想定してもよい。
図1には、一例として、複数のNoCルータをネットワークで相互に接続してなるNoCにおいて、送信バスマスターから受信バスマスターまでの3つの経路(1つの主経路および2つの迂回経路)が示されている。各経路には監視候補としてのNoCルータが少なくとも1つずつ定められる。主経路は現用の経路を示し、迂回経路は待機中の経路を示す。
図1に示すNoCにおいて、監視対象としてのNoCルータに異常が起きると予測された場合に、前記複数の経路の中から、異常が予測されたNoCルータを含む経路を除外して、送信バスマスターから受信バスマスターまでのデータの伝送に用いるべき新たな経路が選択される。典型的には、主経路上のNoCルータに異常が予測された場合に、迂回経路の1つが新たな主経路として選択される。経路の選択基準については、後ほど詳しく説明する。
異常とは、NoCルータが望ましい通信状態から逸脱すること(例えば、伝送品質が劣化すること、および負荷が上昇することを含む)を言う。異常が発生しやすい状況を検出することを、異常を予測すると言う。
本発明では、異常を予測するために、従来の異常検出に用いられるリトライ回数、回線負荷値、トラヒック量などの、異常が実際に生じている事実を反映する統計量は用いていない。その代わりに、NoCルータによって中継される特定のフローの個数を、異常の発生のしやすさを表す異常生起確度値として用いる。フローとは、同一の送信元から同一の宛て先へ伝送される1つ以上のフリットの列を言う。どのようなフローの個数を異常生起確度値として数えるかは、後ほど詳しく説明する。
異常生起確度値は、監視候補の中から所定の監視頻度に従って監視対象に選ばれたNoCルータから、周期的に収集される。この監視頻度は、既に収集されている異常生起確度値を用いて、異常が発生しやすいNoCルータほど高い頻度で監視対象に選ばれ、かつ異常が発生しにくいNoCルータも低い頻度で監視対象に選ばれるように定められる。監視対象になるべきNoCルータは、この監視頻度に選択確率値を加えることで、確率的に選択される。
以上のように実行される経路制御によれば、特定のフローの個数を異常生起確度値として用いて異常を予測する。そのため、所定の統計量に反映されるような伝送品質の劣化や負荷の上昇が実際に生じる前に、主経路における異常を予測して迂回経路への切り替えを行うことができ、すばやい迂回処理が可能になる。
また、異常の発生のしやすさに応じた監視頻度に選択確率値を加えることで、確率的に選ばれたNoCルータから異常生起確度値を収集して異常の予測に用いる。そのため、監視コスト(監視フリットの量、消費電力、観測所要時間)を抑え、かつ異常の見落としも確率的に回避できる。
(交差フロー数および伝送帯域ギャップ数の定義)
異常生起確度値の一例として、交差フロー数および伝送帯域ギャップ数を定義する。異常生起確度値は、前述したように、NoCルータが中継する特定のフローの個数であり、NoCルータにおける異常の発生のしやすさを表す。
まず、交差フロー数の定義について説明する。
図3(A)〜図3(D)は、フローの交差について説明する図である。
フローとは、前述したように、同一の送信バスマスターから同一の受信バスマスターへ伝送される1つ以上のフリットの列を言う。つまり、同一の送信元アドレスおよびポート番号、ならびに、同一の宛て先アドレスおよびポート番号を持った1つ以上のフリットの列を1つのフローと数える。
NoCルータが複数のフローを中継する場合、ある1つのフローを着目するフローとする。これに対して、送信元アドレスおよびポート番号、ならびに、宛て先アドレスおよびポート番号のうちのいずれか1つでも着目するフローとは異なるフローを、着目するフローに対して交差するフローと定義する。
図3(A)には、着目するフローとは送信元アドレスおよび宛て先アドレスのいずれもが異なる2本の交差するフローが模式的に示されている。なお、アドレスの違いは図中でNoCルータからの方向の違いで表現される。
また、図3(B)には、着目するフローとは送信元アドレスおよび宛て先アドレスのいずれもが異なる3本の交差するフローが模式的に示されている。
また、図3(C)には、着目するフローとは送信元アドレスが同一でかつ宛て先アドレスが異なる2本の交差するフローが模式的に示されている。
また、図3(D)には、着目するフローに対して交差するフローが3パターンが模式的に図示されている。1つ目は、着目するフローとは送信元アドレスが異なりかつ宛て先アドレスが同一の交差するフローである。2つ目は、着目するフローとは送信元アドレスおよび宛て先アドレスが逆になっている交差するフローである。そして3つ目は、着目するフローとは送信元アドレスおよび宛て先アドレスが一致するが、送信元ポート番号および宛て先ポート番号の少なくともいずれか一方が異なる交差するフローである。
本発明では、送信バスマスターから受信バスマスターへ流れるフローを着目するフローとし、各NoCルータにおいて、着目するフローに対して交差するフローの個数を交差フロー数と定義する。
交差フロー数が多いほど、NoCルータで中継されるべきトラヒック量が多くなりやすく、かつトラヒック量の変化(例えば、コンテンツの変化、ユーザ操作、方式切替など)に対する安定性の余裕が小さくなりやすい。そのため、NoCルータで異常が発生しやすくなると判断する。
次に、伝送帯域ギャップ数の定義について説明する。
図4(A)、図4(B)は、フローに発生する伝送帯域ギャップについて説明する図である。
ある種の半導体システムのバスは、省電力化のためにバスの動作クロックを段階的に変化させる。NoCルータが中継する1つのフローに関して、受信側と送信側のそれぞれのリンクの伝送帯域は、一般的には独立して変動する。また、一般にシステムLSIでは様々な速度のバスをNoCルータで収容するため、伝送帯域ギャップは設計時点から発生している。
図4(A)には、受信側のリンクの伝送帯域よりも送信側のリンクの伝送帯域のほうが大きい場合が模式的に示されている。
図4(B)には、受信側のリンクの伝送帯域よりも送信側のリンクの伝送帯域のほうが小さい場合が模式的に示されている。
本発明では、フローの受信側のリンクの伝送帯域よりも当該フローの送信側のリンクの伝送帯域のほうが小さい場合を、伝送帯域ギャップが生じていると定義する。そして、NoCルータにおいて、伝送帯域ギャップが生じているフローの個数を伝送帯域ギャップ数と定義する。
伝送帯域ギャップ数が大きいほど、NoCルータ内のバッファで残留するフリットが多くなりやすいため、NoCルータで異常が発生しやすくなると判断する。
(最適経路選択装置を含む半導体システムの構成)
図5は、本実施の形態にかかる最適経路選択装置としてのバスマスター300を含む半導体システム100の構成の一例を示す図である。図5は、異常生起確度値をバスマスター300からNoCルータ200に問い合わせる方式である。
図5に示すように、本実施の形態にかかる半導体システム100は、バスマスター300、バスマスター400を含む複数のバスマスターと複数のNoCルータ200とがネットワークで接続されてなるNoCである。バスマスター300およびバスマスター400は、それぞれ上述の送信バスマスターおよび受信バスマスターに対応する。ここで、一部または全てのバスマスターはNoCルータとしての機能を含んでいてもよい。
半導体システム100を、一般的な半導体システムとして考える場合、具体的に、バスマスター300は、プロセッサや演算処理部に対応し、NoCルータ200はルータやアービターに対応する。
また、半導体システム100を、システムLSIにおけるデータ伝送システムとして考えることもできる。その場合、具体的に、バスマスター300は、CPU、DSP、メモリなどの機能ブロックに対応し、NoCルータ200は、ルータ、アービターなどの機能ブロックに対応する。
図5において、NoCルータ200は、フリット受信部206と、経路制御部207と、フリット送信部208と、異常生起確度値決定部209とを備える。
フリット受信部206は、フリットを受信し、経路制御部207は、受信したフリットの転送先を判定し、フリット送信部208は、決定された転送先へフリットを送信する。また、異常生起確度値決定部209は、交差フロー数および伝送帯域ギャップ数の一方または両方を異常生起確度値として決定する。
バスマスター300は、データ送受信部301と、経路情報生成部302と、経路異常予測部303と、迂回経路選択部304と、通信部305とを備える。データ送受信部301は、データの送受信を行う。経路情報生成部302は、主経路と迂回経路とを示す経路情報を生成する。経路異常予測部303は、Cルータ200から収集した異常生起確度値(交差フロー数および伝送帯域ギャップ数の一方または両方)を用いて、NoCルータの異常を予測する。迂回経路選択部304は、主経路上のNoCルータに異常が予測されたときに迂回経路の1つを新たな主経路として選択する。通信部305は、通信制御を行う。
(最適経路選択装置を含む半導体システムの構成−2)
図6は、本実施の形態にかかる最適経路選択装置としてのバスマスター320を含む半導体システム120の構成の一例を示す図である。図6は、異常生起確度値をNoCルータから自動的にバスマスターに通知する方式である。
図6に示すように、本実施の形態にかかる半導体システム120は、バスマスター320、バスマスター400を含む複数のバスマスターと複数のNoCルータ220がネットワークで接続されてなるNoCである。バスマスター320およびバスマスター400は、それぞれ上述の送信バスマスターおよび受信バスマスターに対応する。ここで、一部または全てのバスマスターはNoCルータとしての機能を含んでいてもよい。
半導体システム120を、一般的な半導体システムとして考える場合、具体的に、バスマスター320は、プロセッサや演算処理部に対応し、NoCルータ220はルータやアービターに対応する。
また、半導体システム120を、システムLSIにおけるデータ伝送システムとして考えることもできる。その場合、具体的に、バスマスター320は、CPU、DSP、メモリなどの機能ブロックに対応し、NoCルータ220は、ルータ、アービターなどの機能ブロックに対応する。
図6において、NoCルータ220は、受信部206と、経路制御部207と、フリット送信部208と、異常生起確度値決定部229とを備える。フリット受信部206は、フリットを受信し、経路制御部207は、受信したフリットの転送先を判定し、フリット送信部208は、決定された転送先へフリットを送信する。また、異常生起確度値決定部229は、交差フロー数および伝送帯域ギャップ数の一方または両方を異常生起確度値として決定する。異常生起確度値決定部229は、図5に示した異常生起確度値決定部209と異なり、異常生起確度値が予め定めた閾値を超えた場合、その異常生起確度値をバスマスター320へ通知する。
バスマスター320は、データ送受信部301と、経路情報生成部302と、迂回経路選択部304と、通信部305とを備える。データ送受信部301は、データの送受信を行い、経路情報生成部302は、主経路と迂回経路とを示す経路情報を生成する。また、迂回経路選択部304は、NoCルータ220から通知された異常生起確度値(交差フロー数および伝送帯域ギャップ数の一方または両方)を用いて、主経路上のNoCルータに異常が起きると予測されたときに迂回経路の1つを新たな主経路として選択する。通信部305は、通信制御を行う。
以下では、NoCルータ200(220)およびバスマスター300(320)のそれぞれの動作の概要を、従来の技術に属する事項を含めて簡略に説明する。その後、NoCルータ200(220)の特徴的な動作、およびバスマスター300(320)の特徴的な構成と動作について詳細に説明する。
図7は、通信部305の構成について説明する図である。
通信部305は、バス受信処理部331と、フリット解釈部332と、コア送信処理部333と、コア受信処理部334と、フリット生成部335と、バス送信処理部336と、バスクロック制御部337とを含む。バス受信処理部331は、バスからのデータを受信し、フリット解釈部332は、受信したフリットの内容を解釈し、一連のデータを再構成し、コア送信処理部333は、データ列に再構成された時点でデータをバスマスターの各処理部に渡す。コア受信処理部334は、バスマスターの各処理部からのデータを受信する。フリット生成部335は、受信したデータ列をフリット単位に分割し、フリットを生成する。バス送信処理部336は、生成されたフリットをバスへ送出する。バスクロック制御部337は、フリットの長さやフリットを送信するタイミングの決定を行なう。バスクロック制御部337は、トラヒックに応じて、自動的にバスの動作クロックを制御することで、半導体システムの低消費電力化を図ってもよい。
(NoCルータの動作の概要)
NoCルータ200(220)の動作の概要について説明する。
図8は、NoCルータ200(220)の動作の一例を示すフローチャートである。
フリット受信部206は、ネットワークで接続されたNoCルータまたはバスマスターからデータを受信する(S101)。
経路制御部207は、経路制御部207が管理する経路情報に基づき、フリットの行き先ごとの送信キューにフリットを格納する(S102)。
フリット送信部208は、各送信キューの残量に基づき、送信キューごとの送信間隔を制御し、フリットを送信する(S103)。
異常生起確度値決定部209(229)は、異常生起確度値としての交差フロー数および伝送帯域ギャップ数の一方または両方の最新値を、後ほど詳しく述べる手順に従って、周期的に決定する(S104)。
異常生起確度値をバスマスター300からNoCルータ200に問い合わせる方式の構成の場合(図5に示すNoCルータ200の場合)、異常生起確度値決定部209は、バスマスター300からの問合せに応じて、決定した異常生起確度値を通知する。異常生起確度値をNoCルータ200から自動的にバスマスター300に通知する方式の構成の場合(図6に示すNoCルータ220の場合)、異常生起確度値が閾値を越えたNoCルータ220は、バスマスター300へ、異常生起確度値と遅延時間、ジッターなどの伝送品質情報とを通知する(S105)。
(バスマスターの動作の概要)
最適経路選択装置としてのバスマスター300の動作の概要について説明する。
図9は、バスマスター300の動作の一例を示すフローチャートである。図9は、異常生起確度値をバスマスター300からNoCルータ200に問い合わせる方式の半導体システム100における、バスマスター300の動作を示す。
経路情報生成部302は、主経路と迂回経路とを示す経路情報を生成し、主経路を示す経路情報を主経路上のNoCルータ200へ通知する(S201)。
データ送受信部301は、テキスト、映像、音声など様々な種類の情報を含むデータを、主経路を介して伝送する(S202)。
通信部305は、主経路および迂回経路のそれぞれにおける各NoCルータ200から、各NoCルータ200の異常生起確度値決定部209にて決定された異常生起確度値を収集する(S203)。
経路異常予測部303は、各NoCルータ200から収集された異常生起確度値に従って異常が発生しやすいNoCルータほど高い頻度で監視対象に選ぶための監視頻度値を決定する。そして、決定された監視頻度値を用いて監視対象になるべきNoCルータを選択する(S204)。
経路異常予測部303は、通信部305を介して、監視対象に選ばれたNoCルータから最新の異常生起確度値を収集する(S205)。
経路異常予測部303によるNoCルータの選択および監視のための構成および処理については、後ほど詳細に説明する。
迂回経路選択部304は、監視対象に選ばれたNoCルータ200について、伝送品質を表す伝送品質値、および負荷の大きさを表す負荷値を取得する(S206)。
経路異常予測部303は、収集された異常生起確度値を用いて、NoCルータの異常を予測する(S207)。例えば、主経路上のNoCルータ200から、予め定められた良判定の上限値を超える異常生起確度値が取得された場合、経路異常予測部303は、主経路上のNoCルータの異常が予測されたことを迂回経路選択部304へ通知する(S207でYES)。
迂回経路選択部304は、前記通知を受けると(S207でYES)、決定された伝送品質値によって表される伝送品質が予め定められた基準よりも悪いNoCルータを含まない迂回経路を新たな主経路として選択する。この迂回路は、典型的には、決定された伝送品質値によって示される伝送品質が最も良い迂回経路である。そして、新たな主経路を示す経路情報を新たな主経路上のNoCルータ200へ通知することにより、新たな主経路を介してデータの伝送を行う(S208)。
迂回経路選択部304による迂回経路選択処理については、後ほど詳細に説明する。
(バスマスターの動作の概要−2)
最適経路選択装置としてのバスマスター320の動作の概要について説明する。
図10は、バスマスター320の動作の一例を示すフローチャートである。図10は、異常生起確度値を、NoCルータから自動的にバスマスター320に通知する方式の半導体システム120におけるバスマスター320の動作を示す。
経路情報生成部302は、主経路と迂回経路とを示す経路情報を生成し、主経路を示す経路情報を主経路上のNoCルータ200へ通知する(S2011)。
データ送受信部301は、テキスト、映像、音声など様々な種類の情報を含むデータを、主経路を介して伝送する(S2021)。
異常生起確度値決定部229から、通信部305を介して、NoCルータ200からバスマスター320へ最新の異常生起確度値を送信する(S2031)。
バスマスター320は、受信した異常生起確度値が、予め決めた閾値を超えた場合(S2041でYes)、閾値が超えてないNoCルータ200を含む経路を、選定し、新たな主経路とする(S2051)。閾値を超えていないNoCルータ200を含む経路が存在しない場合は(S2041でNo)、現状の経路を維持する。
(交差フロー数、伝送帯域ギャップ数の決定処理の詳細)
異常生起確度値決定部209による交差フロー数および伝送帯域ギャップ数の決定処理(図8のS104)について、詳細に説明する。異常生起確度値決定部229も異常生起確度値決定部209と同様の処理を行なう。
まず、異常生起確度値決定部209が交差フロー数を決定し、決定された交差フロー数を異常生起確度値としてバスマスター300へ通知する場合について説明する。
図11(A)は、NoCルータ200で中継されるフローの一例を示す図である。図11(A)の例では、主経路上で伝送される着目するフロー1(アドレスAからアドレスBへのフリットの列)に対して、2つの交差するフロー2およびフロー3(アドレスCからアドレスDへのフリットの列)が示されている。
図11(B)は、異常生起確度値決定部209に設けられるフロー情報テーブルの一例を示す図である。フロー情報テーブルには、NoCルータ200が中継する個々のフローについてフロー情報が記録される。フロー情報は、フローを識別する識別番号、フローを構成するフリットの送信元アドレス、送信元ポート番号、宛て先アドレス、宛て先ポート番号、およびフローが最後に確認された時刻である更新時刻からなる。
図11(B)に示されるフロー情報テーブルの内容例は、図11(A)に対応している。例えば、フロー1について、識別番号が1、送信元アドレスがA、送信元ポート番号が1000、宛て先アドレスがB、宛て先ポート番号が2000、更新時刻がT1であるフロー情報が記録されている。
図12は、異常生起確度値決定部209によって実行される交差フロー数決定処理の一例を示すフローチャートである。交差フロー数決定処理は、例えば、NoCルータ200が1つのフリットを中継するたびに実行される。
経路制御部207は、中継するフリットを解析することにより、フリットのヘッダーから送信元アドレスおよび宛て先アドレスを抽出し、フリットヘッダーから送信元ポート番号および宛て先ポート番号を抽出する(S301)。なお、フリット転送のルーティングの手法として、半導体システム100内で、SoCルータ200(220)間でのフリットの最短経路をX、Y軸の順に求めることにより、フリット転送の最短経路を求める次元順ルーティングを想定する。
異常生起確度値決定部209は、送信元アドレス、宛て先アドレス、送信元ポート番号、および宛て先ポート番号の値が抽出されたそれぞれの値と一致するフロー情報をフロー情報テーブルから検索する。当該フロー情報がフロー情報テーブルに存在すれば、フロー情報テーブルにおける当該フロー情報の更新時刻を現在時刻に変更する。当該フロー情報がフロー情報テーブルに存在しなければ、当該フロー情報を、更新時刻を現在時刻として生成して、フロー情報テーブルへ追加する(S302)。
更新時刻と現在時刻との比較によって一定期間更新されていないことが示されるフロー情報を、フロー情報テーブルから削除する(S303)。
異常生起確度値決定部209は、バスマスター300から異常生起確度値の問合せがあった場合に、フロー情報テーブルに記録されているフロー情報の個数から1減じた数である交差フロー数を異常生起確度値として、バスマスター300へ通知する(S304)。なお、異常生起確度値決定部229の場合には、交差フロー数が所定の閾値を超えた場合に、その交差フロー数を異常生起確度値として、バスマスター320に通知する。
次に、異常生起確度値決定部209が伝送帯域ギャップ数を決定し、決定された伝送帯域ギャップ数を異常生起確度値としてバスマスター300へ通知する場合について説明する。
図13(A)は、NoCルータ200で生じている伝送帯域ギャップの一例を示す図である。図13(A)の例では、主経路上で伝送される着目するフロー1(アドレスAからアドレスBへのフリット列)に対して、2つの交差するフロー2およびフロー3(アドレスCからアドレスDへのフリット列)が示されている。
フロー1について受信側の伝送帯域10Mbpsよりも送信側の伝送帯域5Mbpsのほうが小さく、またフロー2およびフロー3について受信側の伝送帯域10Mbpsよりも送信側の伝送帯域8Mbpsのほうが小さい。つまり、図13(A)の例では、フロー1、フロー2、およびフロー3の全てに伝送帯域ギャップが生じている。
ここでは、このようなフローごとの受信側の伝送帯域を示す情報およびフローごとの送信側の伝送帯域を示す情報は、例えばフリット受信部206およびフリット送信部208でそれぞれ記録されているとする。
図13(B)は、異常生起確度値決定部209によって管理されるフロー情報テーブルの一例を示す図である。フロー情報テーブルには、NoCルータ200において伝送帯域ギャップが生じている個々のフローについて、フロー情報が記録される。フロー情報は、フローを識別する識別番号、フローを構成するフリットの送信元アドレス、送信元ポート番号、宛て先アドレス、宛て先ポート番号、更新時刻からなる。
図13(B)に示されるフロー情報テーブルの内容例は、図13(A)に対応している。例えば、伝送帯域ギャップが生じている識別番号が1のフローについて、送信元アドレスとしてA、送信元ポート番号として1000、宛て先アドレスとしてB、宛て先ポート番号として2000、更新時刻(フロー情報が最後に確認された時刻)としてT1が記録されている。
図14は、異常生起確度値決定部209によって実行される伝送帯域ギャップ数決定処理の一例を示すフローチャートである。伝送帯域ギャップ数決定処理は、例えば、NoCルータ200が1つのフリットを中継するたびに実行される。
経路制御部207は、前述のステップS301と同様にして、中継するフリットから送信元アドレス、送信元ポート番号、宛て先アドレス、および宛て先ポート番号を抽出する(S401)。
異常生起確度値決定部209は、中継するフローの受信側の伝送帯域を示す情報、および送信側の伝送帯域を示す情報を、それぞれフリット受信部206およびフリット送信部208から取得する。
取得された情報によって中継するフローに伝送帯域ギャップが生じていると示される場合に、前述のステップS302と同様にして、中継するフローについてのフロー情報をフロー情報テーブルに追加するか、または当該フロー情報の更新時刻を変更する(S402)。
異常生起確度値決定部209は、更新時刻と現在時刻との比較によって一定期間更新されていないことが示されるフロー情報を、フロー情報テーブルから削除する(S403)。
異常生起確度値決定部209は、バスマスター300から異常生起確度値の問合せがあった場合に、フロー情報テーブルに記録されているフロー情報の個数である伝送帯域ギャップ数を異常生起確度値として、バスマスター300へ通知する(S404)。なお、異常生起確度値決定部229の場合には、伝送帯域ギャップ数が所定の閾値を超えた場合に、その伝送帯域ギャップ数を異常生起確度値として、バスマスター320に通知する。
(経路異常予測部の構成の詳細)
経路異常予測部303の構成について、詳細に説明する。
図15は、経路異常予測部303の機能的な構成の一例を示すブロック図である。
経路異常予測部303は、異常生起確度値取得部106、異常生起確度値記憶部107、活性度算出部109、監視頻度値更新部110、監視頻度値記憶部111、選択確率値生成部112、および監視対象選択部113から構成される。
異常生起確度値取得部106は、監視対象選択部113によって監視対象に選ばれたNoCルータから、異常生起確度値(前述の交差フロー数および伝送帯域ギャップ数)を取得する。
異常生起確度値の取得は、監視対象のNoCルータに対して問合せフリットを発行することによって行われる。異常生起確度値の収集は、一定周期で(例えば、現在時刻が計測予定時刻と一致または超過した時点で)行ってもよく、またその他の時間スケジューリングに従って行ってもよい。
異常生起確度値取得部106は、主経路上のNoCルータから異常生起確度値を取得した場合に、その異常生起確度値が予め定められた良判定の上限値を超えていれば、主経路において異常が発生しやすい状況になっていると判断する。そして、主経路において異常が予測されたことを迂回経路選択部304へ通知する。
異常生起確度値記憶部107は、異常生起確度値取得部106で取得された異常生起確度値をNoCルータごとに記憶する。
活性度算出部109は、異常生起確度値記憶部107で記憶されている各NoCルータの異常生起確度値と、監視頻度値記憶部111で記憶されている各NoCルータの監視頻度値とから、異常生起確度値が大きいNoCルータほど監視頻度値が高いという傾向の強さを表す活性度を算出する。
監視頻度値更新部110は、算出された活性度に基づいて各NoCルータの新たな監視頻度値を算出し、監視頻度値記憶部111が記憶している監視頻度値を新たな監視頻度値で更新する。
監視対象選択部113は、監視頻度値記憶部111で記憶されている各NoCルータの監視頻度値に、選択確率値生成部112が生成する選択確率値を加えることで、監視対象になるNoCルータを確率的に選択する。
監視対象に選ばれたNoCルータは、異常生起確度値取得部106が次に異常生起確度値を取得する対象になるとともに、迂回経路選択部304へ通知され、迂回経路選択部304が伝送品質値および負荷値を決定する対象にもなる。
これら一連の処理が繰り返し実行されることにより、各NoCルータを監視するための頻度に異常の起こりやすさに応じた重み付けを行いつつ、全てのNoCルータへの監視を行き届かせることができる。
(経路異常予測部におけるNoCルータの選択および監視処理の詳細)
上述のように構成される経路異常予測部303におけるNoCルータの選択および監視処理について、さらに詳細に説明する。
まず、各NoCルータの監視精度の考え方について説明する。なお、ここでは、監視精度とは監視頻度の妥当性のことを意味する。
図16および図17は、各NoCルータの監視頻度値と異常生起確度値の一例を示す図である。図16および図17の例では、送信バスマスターから受信バスマスターへの伝送経路として、実線で示される主経路と、点線で示される3つの迂回経路とが示されている。また、主経路および各迂回経路には、それぞれ1つのNoCルータが監視候補として定められている。監視候補であるこれらの4つのNoCルータから監視対象になるNoCルータが確率的に選ばれ、異常生起確度値および伝送品質値が取得される。なお、図16および図17では、送信バスマスター、NoCルータ、受信バスマスターを模式的に示しており、実際の外観構成とは異なる。
ここで、異常生起確度値は、前述の交差フロー数また伝送帯域ギャップ数である。NoCルータ4の異常生起確度値50が、NoCルータ1〜NoCルータ3の異常生起確度値5の10倍であることは、NoCルータ4では、NoCルータ1〜NoCルータ3に比べて異常が発生しやすいことを示している。
また、監視頻度値は、監視対象として各NoCルータが選択される頻度を表す。例えば、NoCルータ1の監視頻度値が0.2であることは、NoCルータ1が、全ての監視回数のうち20%の回数で監視されることを示している。
異常が発生しやすいNoCルータほど高い頻度で監視することは、限られた監視回数の中で異常を的確に予測する上で妥当である。
しかしながら、図16の例では、高頻度で監視されるNoCルータはNoCルータ3である。異常が発生しやすいと考えられるNoCルータ4は、他の異常が発生しにくいと考えられるNoCルータ1およびNoCルータ2と同じ監視頻度値しか与えられていない。
このように異常生起確度値が大きいNoCルータほど監視頻度値が高いという傾向が弱い場合を、監視精度が低い状態であると定義する。
これに対し、図17の例では、他のNoCルータに比べて異常生起確度値が大きいNoCルータ4の監視頻度値が最も高く、その他の3つのNoCルータの監視頻度値はいずれも低い。
このように異常生起確度値が大きいNoCルータほど監視頻度値が高いという傾向が強い場合を、監視精度が高い状態であると定義する。
(異常生起確度値記憶部107)
異常生起確度値記憶部107は、異常生起確度値取得部106で取得された異常生起確度値を、異常生起確度値テーブルを用いて記憶する。
図18は、異常生起確度値テーブルのデータ構造の一例を示す図である。
異常生起確度値テーブルにおいて、第1列に各NoCルータの識別番号、第2列に各NoCルータのアドレス、第3列に各NoCルータから取得された異常生起確度値(交差フロー数または伝送帯域ギャップ数)が記録される。
(監視頻度値記憶部111)
監視頻度値記憶部111は、各NoCルータの監視頻度値を、監視頻度値テーブルを用いて記憶する。
図19は、監視頻度値テーブルのデータ構造の一例を示す図である。
監視頻度値テーブルにおいて、第1列に各NoCルータの識別番号、第2列に各NoCルータのアドレス、第3列に各NoCルータの監視頻度値が記録される。
(活性度算出部109)
活性度算出部109は、前述した監視精度の高さを表す活性度αを算出する。活性度αは、異常が発生しやすいNoCルータほど高い頻度で監視されるという傾向の強さを数値化した指標であり、具体的には、異常生起確度値と監視頻度値との相関の大きさで与えられる。
図20は、活性度算出部109によって実行される処理の一例を示すフローチャートである。
活性度算出部109は、異常生起確度値テーブルから各NoCルータの異常生起確度値liを読み込み(S40)、監視頻度値記憶部111の監視頻度値テーブルから各NoCルータの監視頻度値miを読み込む(S41)。そして、読み込んだ異常生起確度値と監視頻度値とを用いて、式1に従って活性度αの変化分を算出する(S42〜S44)。
Figure 2010213183
式1は活性度αのダイナミクスの定義の一例である。nは監視候補であるNoCルータの台数、liは異常生起確度値テーブルに記録されているNoCルータiの異常生起確度値、miは同NoCルータの監視頻度値、N、δはダイナミクスの変化速度を司る定数を表す。異常生起確度値と監視頻度値の積和演算の項は、これらの相関の大きさを示す。
iおよびmiの上側に付くチルダーは、各値が正規化されていること、つまり、式2、式3の関係にあることを示している。
Figure 2010213183
Figure 2010213183
式1で算出された活性度αの変化分を用いて、式4に従って活性度αを更新する(S45)。ここで、Δtは更新周期によって決定される時間間隔である。
Figure 2010213183
活性度αの変域を、扱い易さのために0から1の閉区間に制限する(S46〜S49)。この制限により、活性度αは0以上1以下の実数値になる。
活性度αが0に近い状態は、監視精度が低い状態に対応し、活性度αが1に近い状態は、監視精度が高い状態に対応する。なぜなら、式4のダイナミクスに従えば、活性度αは、各NoCルータの監視頻度値が異常生起確度値から見て望ましい状態であるほど1に近づき、各NoCルータの監視頻度値が異常生起確度値と乖離しているほど0に近づく挙動を示すからである。
(監視頻度値更新部110)
監視頻度値更新部110は、活性度算出部109によって決定された活性度αの値を基に、監視候補である各NoCルータに対する新たな監視頻度値miを算出する。
図21は、監視頻度値更新部110によって実行される処理の一例を示すフローチャートである。
監視頻度値更新部110は、活性度算出部109から決定された活性度αを読み込み(S50)、監視頻度値記憶部111の監視頻度値テーブルから監視頻度値miを読み込み(S51)、監視頻度値の最大値mmaxを検索する(S52)。読み込んだ活性度α、監視頻度値mi、および監視頻度値の最大値mmaxを用いて、各NoCルータの新たな監視頻度値を算出する(S53〜S56)。
監視頻度値の算出について、さらに説明を続ける。
式5は、監視頻度値miのダイナミクスの定義の一例であり、式中のβ、γ、ψはダイナミクスの変化速度を司る定数である。
Figure 2010213183
更新頻度値が最大になるNoCルータに対するこの非線形常微分方程式の定常解は、式6のようになることが分かっている。
Figure 2010213183
また、その他のNoCルータに対する定常解は式7のようになる。
Figure 2010213183
式5に従って監視頻度値miの変化分を算出し、算出された監視頻度値miの変化分を用いて、式8に従って監視頻度値を更新する。このとき、ΔTは更新周期によって決定される時間間隔である。
Figure 2010213183
監視頻度値更新部110は、監視候補である各NoCルータについて算出された新たな監視頻度値miで、監視頻度値テーブルに記録されている監視頻度値を更新する。
(選択確率値生成部112)
選択確率値生成部112は、監視対象選択部113で監視対象になるNoCルータを確率的に選択する際に用いられる乱数である選択確率値を発生させる。選択確率値は乱数であることが望ましいが、比較的生成が容易な疑似乱数によって代用してもよい。またその場合に用いる確率分布としては、一般的な一様分布やガウス分布等でよい。
選択確率値の変動範囲は、式6および式7から決定することができる。活性度αが0の場合を考えると、解間の距離Dは、式9で与えられる。
Figure 2010213183
これより、選択確率値ηiを式10のように決定する。
Figure 2010213183
Random関数は、規定された範囲内の実数乱数または疑似実数乱数を生成するものであり、κは零以上の値を取る調整係数である。κを大きくすることによって生成される選択確率値の振幅を大きくすることができる。
(監視対象選択部113)
図22は、監視対象選択部113によって実行される処理の一例を示すフローチャートである。
監視対象選択部113は、監視頻度値記憶部111が管理する監視頻度値テーブルから各NoCルータの監視頻度値miを読み出し、式11により示すように選択確率値生成部112によって生成された対応するNoCルータの選択確率値ηiと加算し、監視対象のNoCルータを確率的に選択する(S60〜S64)。
Figure 2010213183
更新された各NoCルータの監視頻度値は確率値になるように式12によって正規化される(S65〜S67)。
Figure 2010213183
図23は、このようにして求められた正規化済監視頻度値を記録する正規化済監視頻度値テーブルのデータ構造の一例を示す図である。
正規化済監視頻度値テーブルにおいて、第1列に各NoCルータの識別番号、第2列に各NoCルータのアドレス、第3列に式12によって算出された正規化済監視頻度値が記録される。
監視対象選択部113は、正規化済監視頻度値を各NoCルータのインデックスに対する確率分布として見ることにより、選択対象のNoCルータのインデックスを確率変数とみなす。そして、この確率変数が取る値によって監視対象のNoCルータを選択する。
以上説明した動作によって、監視頻度値に従って選択されたNoCルータを監視するため、経路上の全てのNoCルータを常時監視する場合と比べて、監視処理に要するリソースが節約され、狭帯域網でも良好な監視処理が実行可能になる。
また、リトライ回数、回線負荷値、トラヒック量などの、異常が実際に生じている事実を反映する統計量を参照して故障を検出する従来の方法に比して、そのような統計量に反映される異常が実際に生じる前に、早期に異常を予測することが可能になる。これは、本実施の形態に記載の発明が、NoCルータで中継される特定のフローの個数を故障生起確度値として用いて故障を予測しているためである。
(迂回経路選択処理の詳細)
次に、迂回経路選択部304による迂回経路選択処理について、詳細に説明する。
図24は、迂回経路選択部304によって実行される処理の一例を示すフローチャートである。この処理は、例えば、経路異常予測部303から主経路において異常が予測されたことを示す通知を受信した場合に実行される。
迂回経路選択部304は、この処理に先立って、経路異常予測部303で監視対象に選ばれたNoCルータについて、伝送品質を表す伝送品質値(例えば、遅延時間、ジッター値など)を測定する。また、迂回経路選択部304は当該NoCルータにおける負荷の大きさを示す負荷値(例えば、バッファ使用率など)を当該NoCルータから取得し、図示しないテーブルを用いて、NoCルータごとに伝送品質値および負荷値を記憶している。
迂回経路選択部304は、経路異常予測部303から主経路において異常が予測されたことを示す通知を受信すると、記憶されている伝送品質値と負荷値とを用いて、新たな主経路になるべき迂回経路を選択する。
具体的には、次のような経路選択処理が実行される。
迂回経路選択部304は、各迂回経路におけるNoCルータについて記憶されている伝送品質値を参照し、伝送品質値によって示される最も伝送品質の良いNoCルータを含む迂回経路を新たな主経路として選択する(S501)。伝送品質が良いNoCルータとは、例えば、伝送遅延が最も低いルータが考えられる。
ただし、最も良い伝送品質が所定の基準を満たさない場合は(S502でNO)、各NoCルータについて記憶されている負荷値を参照し、負荷が低いNoCルータを含む迂回経路を除外して新たな主経路を選びなおす(S503)。ここで、最も良い伝送品質が所定の基準を満たさない場合とは、例えば、最も伝送遅延が所定のしきい値以上である場合が考えられる。また、負荷が低いNoCルータとは、例えば、バッファ使用率が所定のしきい値未満であるNoCルータが考えられる。
なお、上記では、遅延時間、ジッター値などの測定結果を伝送品質値として用いる例を説明したが、迂回経路選択部304は、これらの値を測定せず、前述の異常生起確度値の時間的な変化の大きさを、伝送品質値として用いてもよい。ここで異常生起確度値とは、交差フロー数および伝送帯域ギャップ数のことである。
交差フロー数および伝送帯域ギャップ数が激しく変化するNoCルータでは、伝送品質も大きく変化し、その結果、所望の伝送品質を安定して維持することが難しいと考えられるからである。異常生起確度値の時間的な変化の大きさは、例えば、1つのNoCルータから所定の期間内に取得された複数の異常生起確度値の分散値で表すことができる。
また、上記では、経路異常予測部303にて主経路における異常が予測された際に、迂回経路選択部304にて新たな主経路を1つ選択する例を説明したが、迂回経路選択部304が行うべき処理はこの例に限られない。
例えば、送信バスマスターから受信バスマスターへのマルチパス伝送が行われる半導体システムでは、迂回経路選択部304は、マルチパスを構成する経路ごとに伝送するデータ量の割当てを行ってもよい。例えば、伝送品質が高い経路には伝送品質が低い経路に比べてより多くのデータ量を割当てる事が考えられる。また、経路ごとに伝送するデータの振分け(例えば、伝送品質が最も高い経路を用いて制御信号などの重要度の高いデータを伝送する)を行ってもよい。
(適用例−1)
次に、本発明の最適経路選択方法の適用例について説明する。
図25は、本発明の最適経路選択方法が適用される半導体システムの具体的な構成の一例を示す模式図である。図25では、異常生起確度値をバスマスター300からNoCルータ200に問い合わせる方式を想定している。
図25の例では、送信バスマスターであるプロセッサから、受信バスマスターであるプロセッサまで、1つの主経路と2つの迂回経路とが示されている。また、監視候補であるNoCルータが、各経路に1つずつ示されている。
図25の例では、監視候補である各NoCルータから収集された異常生起確度値によって異常が発生しやすいと示されるNoCルータは、高頻度で監視対象に選ばれ、異常が発生しにくいと示されるNoCルータも低頻度で監視対象に選ばれる。
そして、監視対象に選ばれたNoCルータについて、新たな異常生起確度値および伝送品質値が収集され、収集された異常生起確度値および伝送品質値を用いて、主経路における異常を予測し、新たな主経路になるべき迂回経路を選択する。これにより、異常を未然に回避することが試みられる。
このような処理によって、異常が発生しやすいNoCルータほど高い頻度で監視することは、限られた監視回数の中で異常を的確に予測する上で妥当である。
したがって、監視回数を抑制し、かつ異常を的確に予測することができるため、迂回経路が増えた場合や、監視候補であるNoCルータが数多くある場合でも、少ない量の観測フリットを用いてNoCルータの状態を適正に把握することが可能となる。その結果、省電力化や、観測フリットによる半導体システムのバス負荷の軽減に貢献できる。
なお、特定の条件下では、NoCルータからの異常生起確度値の収集および監視頻度値の更新を停止してもよい。例えば、伝送経路や伝送帯域を予約する通信方式の場合、通信が終了するまで、交差フロー数が変化しないため、NoCルータからの異常生起確度値の収集および監視頻度値の更新を停止し、監視対象とするNoCルータを固定してもよい。
(適用例−2)
次に、本発明の最適経路選択方法の適用例について説明する。
図26は、本発明の最適経路選択方法が適用される半導体システムの具体的な構成の一例を示す模式図である。図26では、異常生起確度値をNoCルータから自動的にバスマスターに通知する方式を想定している。
図26の例では、送信バスマスターであるプロセッサから、受信バスマスターであるプロセッサまで、1つの主経路と2つの迂回経路とが示されている。また、予め定めた異常生起確度値の閾値を越えたNoCルータが、各経路に1つずつ示されている。
図26の例では、異常生起確度値によって異常が発生しやすいと示されるNoCルータは高頻度で異常生起確度値および伝送品質値をバスマスターに通知する。そして、異常が発生しにくいと示されるNoCルータも低頻度で異常生起確度値および伝送品質値をバスマスターに通知する。
そして、通知された異常生起確度値および伝送品質値を用いて、主経路における異常を予測し、新たな主経路になるべき迂回経路を選択することで、異常を未然に回避することが試みられる。
このような処理によって、異常が発生しやすいNoCルータほど高い頻度でNoCルータの状態を通知することは、限られた監視回数の中で異常を的確に予測する上で妥当である。
したがって、通知回数を抑制し、かつ異常を的確に予測することができるため、迂回経路が増えた場合や、NoCルータが数多くある場合でも、少ない量の観測フリットを用いてNoCルータの状態を適正に把握することが可能となる。その結果、省電力化や、観測フリットによる半導体システムのバス負荷の軽減に貢献できる。
(異常の規模に応じて経路制御を行う変形例)
次に、半導体システムにおける異常の規模に応じて経路制御を行う変形例について説明する。
図27は、半導体システムにおける異常の発生の仕方について説明する図である。
異常の発生の仕方には、経路上のNoCルータと隣接の多数のNoCルータとで広域に異常が発生する場合(図27(A))と、経路上のNoCルータのみで局所的に異常が発生する場合(図27(B))とがある。異常が局所的である場合は短時間での回復を期待して迂回処理を行わず、異常が大規模である場合にのみ迂回処理を行うことで、頻繁な迂回処理による伝送性能の劣化を抑制することが可能になる。
異常の規模に応じた経路制御を行う半導体システムについて、図28および図29を参照して詳細に説明する。
図28は、異常の規模を判定し、判定された異常の規模に応じて経路制御を行う半導体システム101の構成の一例を示すブロック図である。
半導体システム101におけるNoCルータ210は、図5の半導体システム100におけるNoCルータ200と比べて、局所異常状態判定部211および広域異常状態判定部212が追加される。
局所異常状態判定部211は、NoCルータ210における輻輳状態の程度を判定し、判定の結果を表す情報を保持している。輻輳状態の程度を表す情報は、例えばNoCルータ210におけるバッファ使用率であり、遅延時間などの測定結果である。
広域異常状態判定部212は、NoCルータ210から所定のホップ数までにある他のNoCルータから輻輳状態の程度に関する情報を収集し、収集された情報を用いて輻輳状態が広域的に発生しているかを判定する。
また、半導体システム101におけるバスマスター310は、図5の半導体システム100におけるバスマスター300と比べて、経路異常予測部303が経路異常予測部313に変更される。
経路異常予測部313は、経路異常予測部303と比べて、異常生起確度値を用いて主経路における異常を予測する点で同様であるが、異常の規模を示す情報をNoCルータから収集し、異常生起確度値と共に迂回の要否判断に用いる点で異なる。
経路異常予測部313は、例えば、主経路上のNoCルータから収集した異常生起確度値から異常が予測された場合、そのNoCルータに対して問合せを行うことにより、異常の規模を示す情報を取得する。そして、取得された異常の規模を示す情報によって異常が小規模であることが示される場合には、迂回処理を抑止する。
このように構成されるNoCルータ210の動作について、前述のNoCルータ200の動作と異なる点について詳細に説明する。
図29は、NoCルータ210によって実行される、異常規模判定処理の一例を示すフローチャートである。なお、NoCルータ210は、上述のNoCルータ200による処理(図8を参照)と同様の処理を実行し、さらに図29に示される処理を実行する。NoCルータ200と同様の処理については、ここでは説明を繰り返さない。
局所異常状態判定部211は、NoCルータ210における輻輳状態に関する情報として、例えば、フリット受信部206およびフリット送信部208におけるフリットの遅延時間などを測定する(S601)。
広域異常状態判定部212は、NoCルータ210から所定のホップ数までにある他のNoCルータで測定された輻輳状態に関する情報を収集する(S602)。
具体的に、広域異常状態判定部212は、他のNoCルータに対して問合せフリットを送ることで、他のNoCルータから通知される情報を収集してもよい。
広域異常状態判定部212は、収集された情報を用いて輻輳状態が広域に発生しているかを判定する(S603)。
広域異常状態判定部212は、一例として、収集された情報によって、遅延時間の劣化(例えば、予め定められたしきい値の超過)が生じていると示されるNoCルータの数を、単純に異常の規模として決定する。
また、広域異常状態判定部212は、遅延時間の劣化が、NoCルータ210から何ホップ目にあるNoCルータまで連続して発生しているかを特定し、特定されたホップ数を異常の規模として決定してもよい。
さらに、広域異常状態判定部212は、収集された各NoCルータの遅延時間の劣化の度合いの合計を異常の強さと定義し、前述のホップ数と異常の強さの積を異常の規模として決定してもよい。収集された各NoCルータの遅延時間の劣化の度合いとして、例えば、予め定められたしきい値からの超過量が考えられる。
広域異常状態判定部212は、バスマスター310からの問合せに応じて、異常の規模を示す情報を通知する(S604)。
バスマスター310における経路異常予測部313は、上述のようにして通知される異常の規模を示す情報を、異常生起確度値とともに用いて迂回の要否判断を行う。
例えば、主経路上のNoCルータから通知される異常の規模を示す情報が、何ホップ目の距離にあるNoCルータまで連続して輻輳状態が発生しているかを示す値であることを考える。このとき、前述の値が、異常が生じていないか、または生じているとしても主経路上のNoCルータのみに限定されることを示す0である場合、経路異常予測部313は、短時間での回復を期待して、迂回経路選択部304に対して迂回処理を指示しない。
他方、前述の値が、主経路上のNoCルータの周囲で広域の異常が生じていることを示す1以上の値である場合、経路異常予測部313は、回復は難しいと判断して、迂回経路選択部304に対して迂回処理を指示する。
なお、主経路上のNoCルータから通知される異常の規模を示す情報は、迂回の要否判断に用いられるのみならず、新たな主経路になるべき迂回経路の選択に用いることもできる。
具体的には、迂回経路選択部304は、例えば、主経路上のNoCルータから通知される異常の規模を示す情報によって、主経路上のNoCルータの周囲で広域の異常が生じていることが示される場合には、迂回経路の中で経路のホップ数が最も大きな1つを選択する。
そのような迂回経路は主経路からの距離が離れている可能性が高いため、主経路上のNoCルータの周囲で生じている異常の影響を受けにくい迂回経路が、新たな主経路として選択されやすくなる。
以上説明したように、本発明の最適経路選択装置によれば、特定のフローの個数を異常生起確度値として用いてNoCルータの異常を予測し、異常が予測されたNoCルータを含む経路を除外して、新たにデータの伝送に用いるべき経路を選択する。そのため、所定の統計量に反映されるような伝送品質の劣化や負荷の上昇が実際に生じる前に、すばやい迂回処理が可能になる。
また、異常の発生のしやすさに応じた監視頻度に従って確率的に選ばれたNoCルータから異常生起確度値を収集して異常の予測に用いるので、監視コスト(監視フリットの量、消費電力、観測所要時間)を抑え、かつ異常の見落としも確率的に回避できる。
以上、本発明の実施の形態に係る最適経路選択装置および最適経路選択方法について説明したが、本発明は、この実施の形態に限定されるものではない。
例えば、上記の各装置を構成する構成要素の一部または全部は、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムであってもよい。RAMには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、各装置は、その機能を達成する。
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、上記メモリは、上記コンピュータプログラムを記憶しており、上記マイクロプロセッサは、上記コンピュータプログラムに従って動作するとしても良い。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
本発明にかかる最適経路選択装置は、システムLSI上のネットワーク伝送システム等に利用できる。
本発明の最適経路選択方法に従って伝送経路の制御が行われるNoCの一例を模式的に示す図である。 NoCにより構成された映像符号化装置の一例を示す図である。 (A)〜(D)フローの交差について説明する図である。 (A)、(B)フローに発生する伝送帯域ギャップについて説明する図である。 本発明の実施の形態にかかる半導体システムの構成の一例を示す図である。 本発明の実施の形態にかかる半導体システムの構成の別の一例を示す図である。 通信部の構成の一例を示す図である。 NoCルータの動作の一例を示すフローチャートである。 バスマスターの動作の一例を示すフローチャートである。 バスマスターの動作の別の一例を示すフローチャートである。 (A)NoCルータで中継されるフローの一例を示す図である。(B)フロー情報テーブルの一例を示す図である。 交差フロー数決定処理の一例を示すフローチャートである。 (A)NoCルータ200で生じている伝送帯域ギャップの一例を示す図である。(B)フロー情報テーブルの一例を示す図である。 伝送帯域ギャップ数決定処理の一例を示すフローチャートである。 経路異常予測部の機能的な構成の一例を示すブロック図である。 各NoCルータの監視頻度値と異常生起確度値の一例を示す図である。 各NoCルータの監視頻度値と異常生起確度値の一例を示す図である。 異常生起確度値テーブルのデータ構造の一例を示す図である。 監視頻度値テーブルのデータ構造の一例を示す図である。 活性度算出部によって実行される処理の一例を示すフローチャートである。 監視頻度値更新部によって実行される処理の一例を示すフローチャートである。 監視対象選択部によって実行される処理の一例を示すフローチャートである。 正規化済監視頻度値テーブルのデータ構造の一例を示す図である。 迂回経路選択処理の一例を示すフローチャートである。 本発明の最適経路選択方法が適用される半導体システムの具体的な構成の一例を示す模式図である。 本発明の最適経路選択方法が適用される半導体システムの具体的な構成の別の一例を示す模式図である。 半導体システムにおける異常の発生の仕方について説明する図である。 本発明の変形例にかかる半導体システムの構成の一例を示す図である。 異常の規模を判定する処理の一例を示すフローチャートである。
100、101 半導体システム
106 異常生起確度値取得部
107 異常生起確度値記憶部
109 活性度算出部
110 監視頻度値更新部
111 監視頻度値記憶部
112 選択確率値生成部
113 監視対象選択部
200、210、220 NoCルータ
206 フリット受信部
207 経路制御部
208 フリット送信部
209、229 異常生起確度値決定部
211 局所異常状態判定部
212 広域異常状態判定部
300、310、320、400 バスマスター
301 データ送受信部
302 経路情報生成部
303 経路異常予測部
304 迂回経路選択部
305 通信部
313 経路異常予測部
331 バス受信処理部
332 フリット解釈部
333 コア送信処理部
334 コア受信処理部
335 フリット生成部
336 バス送信処理部
337 バスクロック制御部

Claims (11)

  1. 複数のNoC(Network-on-Chip)ルータを介して送信バスマスターから受信バスマスターまでデータを伝送するための経路を選択する最適経路選択装置であって、
    前記送信バスマスターから前記受信バスマスターまでデータを伝送するための複数の経路を示す経路情報を生成する経路情報生成部と、
    前記経路情報で示される各経路に少なくとも1つずつ定められる監視候補となるNoCルータにおいて、同一の送信元から同一の宛て先へ伝送される1つ以上のフリットの列であるフローの個数を、各NoCルータにおける伝送品質の劣化および負荷の上昇を含む異常の発生のしやすさを表す異常生起確度値として収集し、収集した前記異常生起確度値を用いて各NoCルータにおける前記異常を予測する経路異常予測部と、
    監視候補としての前記NoCルータの1つ以上において前記異常が予測された場合に、前記経路情報によって示される前記複数の経路の中から、前記異常が予測された前記NoCルータを含む経路を除外して、前記送信バスマスターから前記受信バスマスターまでのデータの伝送に用いるべき経路を選択する迂回経路選択部と
    を備える最適経路選択装置。
  2. 前記経路異常予測部は、前記各NoCルータが中継するフローのうち、前記送信バスマスターから前記受信バスマスターへのフロー以外のフローの個数を、前記異常生起確度値として収集する
    請求項1に記載の最適経路選択装置。
  3. 前記経路異常予測部は、前記各NoCルータが中継するフローのうち、受信のためのネットワークの伝送帯域よりも、送信のためのネットワークの伝送帯域のほうが小さいフローの個数を、前記異常生起確度値として収集する
    請求項1に記載の最適経路選択装置。
  4. 前記経路異常予測部は、
    前記監視候補としての前記各NoCルータの異常生起確度値を監視すべき頻度を表す監視頻度値を記憶している監視頻度値記憶部と、
    前記各NoCルータについて所定の確率値である選択確率値を生成する選択確率値生成部と、
    前記監視頻度値および前記選択確率値に従って、前記各NoCルータの中から異常生起確度値の監視の対象となるNoCルータを選択する監視対象選択部と、
    前記監視対象選択部によって選択されたNoCルータから異常生起確度値を取得する異常生起確度値取得部と、
    前記取得された異常生起確度値を記憶する異常生起確度値記憶部と、
    前記記憶された異常生起確度値を用いて、前記監視頻度値記憶部に記憶されている前記監視頻度値の妥当性を表す活性度を算出する活性度算出部と、
    前記活性度に基づき、前記監視頻度値記憶部に記憶されている前記監視頻度値を更新する監視頻度値更新部と
    を有する請求項1に記載の最適経路選択装置。
  5. 前記迂回経路選択部は、
    前記監視候補としての前記各NoCルータについて、伝送品質を表す伝送品質値を決定し、
    決定された前記伝送品質値によって表される伝送品質が予め定められた基準よりも悪いNoCルータを含む経路をさらに除いた経路の中から、前記送信バスマスターから前記受信バスマスターまでのデータの伝送に用いるべき経路を選択する
    請求項1に記載の最適経路選択装置。
  6. 前記迂回経路選択部は、
    前記監視候補としての前記各NoCルータから、NoCルータにおける負荷の大きさを表す負荷値を収集し、
    収集した前記負荷値によって表される負荷の大きさが予め定められた基準よりも小さいNoCルータを含む経路をさらに除いた経路の中から、前記送信バスマスターから前記受信バスマスターまでのデータの伝送に用いるべき経路を選択する
    請求項5に記載の最適経路選択装置。
  7. 前記迂回経路選択部は、
    監視候補としての前記NoCルータの1つ以上において前記異常が予測された場合に、前記異常が予測された各NoCルータの周囲で発生している異常の規模を示す異常発生規模情報を取得し、
    取得された前記異常発生規模情報によって示される異常の規模が予め定められた基準よりも小さいNoCルータを含む経路は、前記送信バスマスターから前記受信バスマスターまでのデータの伝送に用いるべき前記経路の選択対象から除外しない
    請求項1に記載の最適経路選択装置。
  8. 前記最適経路選択装置は、前記送信バスマスターか、または半導体システムを構成する前記複数のNoCルータの1つに設けられる
    請求項1に記載の最適経路選択装置。
  9. 複数のNoCルータを介して送信バスマスターから受信バスマスターまでデータを伝送するための経路を選択する最適経路選択装置であって、
    各NoCルータは、同一の送信元から同一の宛て先へ伝送される1つ以上のフリットの列であるフローの個数を、各NoCルータにおける伝送品質の劣化および負荷の上昇を含む異常の発生のしやすさを表す異常生起確度値として求め、前記異常生起確度値が予め定められた閾値を超えた場合に、前記最適経路選択装置に前記異常生起確度値を通知する経路異常検出部を備え、
    前記最適経路選択装置は、
    前記送信バスマスターから前記受信バスマスターまでデータを伝送するための複数の経路を示す経路情報を生成する経路情報生成部と、
    前記NoCルータから送信される前記異常生成確度値を用いて、前記NoCルータにおける前記異常を予測し、前記NoCルータの1つ以上において前記異常が予測された場合に、前記経路情報によって示される前記複数の経路の中から、前記異常が予測された前記NoCルータを含む経路を除外して、前記送信バスマスターから前記受信バスマスターまでのデータの伝送に用いるべき経路を選択する迂回経路選択部と
    を備える最適経路選択装置。
  10. 複数のNoCルータをネットワークで相互に接続してなる半導体システムにおいて、前記半導体システムに接続された送信バスマスターから受信バスマスターまでデータを伝送するための経路を選択する最適経路選択方法であって、
    前記送信バスマスターから前記受信バスマスターまでデータを伝送するための複数の経路を示す経路情報を生成する経路情報生成ステップと、
    同一の送信元から同一の宛て先へ伝送される1つ以上のフリットの列を1つのフローと数えるとき、前記経路情報で示される各経路に少なくとも1つずつ定められる監視候補としてのNoCルータから、各NoCルータが中継する特定のフローの個数を、各NoCルータにおける伝送品質の劣化または負荷の上昇を含む異常の発生のしやすさを表す異常生起確度値として収集し、収集した前記異常生起確度値を用いて各NoCルータにおける異常を予測する経路異常予測ステップと、
    監視候補としての前記NoCルータの1つ以上において前記異常が予測された場合に、前記経路情報によって示される前記複数の経路の中から、前記異常が予測された前記NoCルータを含む経路を除外して、前記送信バスマスターから前記受信バスマスターまでのデータの伝送に用いるべき経路を選択する迂回経路選択ステップと
    を含む最適経路選択方法。
  11. 複数のNoCルータをネットワークで相互に接続してなる半導体システムにおいて、前記半導体システムに接続された送信バスマスターから受信バスマスターまでデータを伝送するための経路を選択するためのコンピュータ実行可能なプログラムであって、
    前記送信バスマスターから前記受信バスマスターまでデータを伝送するための複数の経路を示す経路情報を生成する経路情報生成ステップと、
    同一の送信元から同一の宛て先へ伝送される1つ以上のフリットの列を1つのフローと数えるとき、前記経路情報で示される各経路に少なくとも1つずつ定められる監視候補としてのNoCルータから、各NoCルータが中継する特定のフローの個数を、各NoCルータにおける伝送品質の劣化または負荷の上昇を含む異常の発生のしやすさを表す異常生起確度値として収集し、収集した前記異常生起確度値を用いて各NoCルータにおける異常を予測する経路異常予測ステップと、
    監視候補としての前記NoCルータの1つ以上において前記異常が予測された場合に、前記経路情報によって示される前記複数の経路の中から、前記異常が予測された前記NoCルータを含む経路を除外して、前記送信バスマスターから前記受信バスマスターまでのデータの伝送に用いるべき経路を選択する迂回経路選択ステップと
    をコンピュータに実行させるプログラム。
JP2009059519A 2009-03-12 2009-03-12 経路選択装置、経路選択方法、およびプログラム Expired - Fee Related JP4592800B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2009059519A JP4592800B2 (ja) 2009-03-12 2009-03-12 経路選択装置、経路選択方法、およびプログラム
PCT/JP2010/001686 WO2010103818A1 (ja) 2009-03-12 2010-03-10 最適経路選択装置、最適経路選択方法、およびプログラム
CN201080003102.9A CN102204181B (zh) 2009-03-12 2010-03-10 路径选择装置、路径选择方法、以及程序
EP10750575.2A EP2408154B1 (en) 2009-03-12 2010-03-10 Optimal route selection apparatus, optimal route selection method, and program
US12/994,287 US8213298B2 (en) 2009-03-12 2010-03-10 Best path selecting device, best path selecting method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009059519A JP4592800B2 (ja) 2009-03-12 2009-03-12 経路選択装置、経路選択方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2010213183A true JP2010213183A (ja) 2010-09-24
JP4592800B2 JP4592800B2 (ja) 2010-12-08

Family

ID=42728114

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009059519A Expired - Fee Related JP4592800B2 (ja) 2009-03-12 2009-03-12 経路選択装置、経路選択方法、およびプログラム

Country Status (5)

Country Link
US (1) US8213298B2 (ja)
EP (1) EP2408154B1 (ja)
JP (1) JP4592800B2 (ja)
CN (1) CN102204181B (ja)
WO (1) WO2010103818A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013214835A (ja) * 2012-03-30 2013-10-17 Fujitsu Ltd 通信装置、通信システム、負荷分散方法及び負荷分散プログラム
KR101938271B1 (ko) * 2017-10-11 2019-04-11 성균관대학교산학협력단 네트워크-온-칩에서 트래픽 분산을 위한 구역 분할 기반 라우팅 기법

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5895202B2 (ja) * 2011-10-14 2016-03-30 パナソニックIpマネジメント株式会社 中継器、中継器の制御方法、およびコンピュータプログラム
KR102014118B1 (ko) 2012-10-19 2019-08-26 삼성전자주식회사 Axi 기반 네트워크 백본 시스템의 서브채널방식의 채널 관리 방법 및 장치
US9571402B2 (en) * 2013-05-03 2017-02-14 Netspeed Systems Congestion control and QoS in NoC by regulating the injection traffic
CN103729332B (zh) * 2013-12-23 2016-09-14 北京工业大学 一种基于MoT结构的低功耗NoC路由方法
US9762474B2 (en) * 2014-04-07 2017-09-12 Netspeed Systems Systems and methods for selecting a router to connect a bridge in the network on chip (NoC)
US9413668B2 (en) * 2014-04-23 2016-08-09 Dell Products L.P. Systems and methods for load-balancing in a data center
CN105684506B (zh) * 2014-05-22 2019-04-05 华为技术有限公司 片上网络NoC的流量控制方法及装置
US9787571B2 (en) * 2014-12-22 2017-10-10 Intel Corporation Link delay based routing apparatus for a network-on-chip
EP3245762B1 (en) * 2015-01-12 2021-12-29 Telefonaktiebolaget LM Ericsson (publ) Method and apparatus for router maintenance
KR102255334B1 (ko) 2015-03-11 2021-05-24 삼성전자주식회사 전자 장치에서 네트워크 온 칩을 생성하는 장치 및 방법
US10477449B2 (en) * 2016-08-26 2019-11-12 Veniam, Inc. Systems and methods for route selection in a network of moving things, for example including autonomous vehicles
US10666578B2 (en) * 2016-09-06 2020-05-26 Taiwan Semiconductor Manufacturing Company Limited Network-on-chip system and a method of generating the same
US10313269B2 (en) * 2016-12-26 2019-06-04 Netspeed Systems, Inc. System and method for network on chip construction through machine learning
US10944693B2 (en) * 2018-11-13 2021-03-09 Advanced Micro Devices, Inc. Routing flits in a network-on-chip based on operating states of routers
US11108849B2 (en) * 2018-12-03 2021-08-31 At&T Intellectual Property I, L.P. Global internet of things (IOT) quality of service (QOS) realization through collaborative edge gateways
CN114338506B (zh) * 2022-03-15 2022-08-05 之江实验室 一种类脑计算机操作系统的神经任务片内路由方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005143001A (ja) * 2003-11-10 2005-06-02 Oki Electric Ind Co Ltd 通信端末および通信ネットワーク
JP2006050442A (ja) * 2004-08-06 2006-02-16 Nippon Telegr & Teleph Corp <Ntt> トラヒック監視方法及びシステム
WO2008004188A1 (en) * 2006-07-05 2008-01-10 Nxp B.V. Electronic device, system on chip and method for monitoring a data flow
JP2008118242A (ja) * 2006-11-01 2008-05-22 Nippon Telegr & Teleph Corp <Ntt> 異常トラヒック検出方法およびその装置およびプログラム
JP2008211690A (ja) * 2007-02-28 2008-09-11 Nippon Telegr & Teleph Corp <Ntt> ネットワーク制御方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5959995A (en) 1996-02-22 1999-09-28 Fujitsu, Ltd. Asynchronous packet switching
JP2000092124A (ja) 1998-09-14 2000-03-31 Hitachi Ltd パケット切替装置、パケット切替方法、ネットワークおよびネットワークの復旧方法
JP3394476B2 (ja) 1999-09-20 2003-04-07 日本電気通信システム株式会社 方路選択方法及び装置
JP4180758B2 (ja) 1999-11-08 2008-11-12 株式会社日立製作所 無線ネットワーク、その経路制御方法および無線通信制御装置
US8014290B2 (en) * 2003-10-17 2011-09-06 Hewlett-Packard Development Company, L.P. Traffic flow management through a multipath network
US7664032B2 (en) 2003-11-10 2010-02-16 Oki Electric Industry Co., Ltd. Communication terminal and communication network
JP2005347879A (ja) 2004-05-31 2005-12-15 Toyota Motor Corp 無線通信システム
JP4283736B2 (ja) 2004-06-25 2009-06-24 日本電信電話株式会社 トラヒック情報処理方法、トラヒック情報処理プログラム、および、トラヒック情報処理装置
CN101072180B (zh) * 2007-04-03 2011-04-06 中兴通讯股份有限公司 一种下一代通讯网络中加强传送控制层控制的方法及系统
CN101965716A (zh) * 2008-01-10 2011-02-02 惠普开发有限公司 多路对等媒体流传送
US8045463B2 (en) * 2008-07-30 2011-10-25 Microsoft Corporation Path estimation in a wireless mesh network
US8102761B2 (en) * 2008-11-28 2012-01-24 Panasonic Corporation Path control device, path control method, and path control program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005143001A (ja) * 2003-11-10 2005-06-02 Oki Electric Ind Co Ltd 通信端末および通信ネットワーク
JP2006050442A (ja) * 2004-08-06 2006-02-16 Nippon Telegr & Teleph Corp <Ntt> トラヒック監視方法及びシステム
WO2008004188A1 (en) * 2006-07-05 2008-01-10 Nxp B.V. Electronic device, system on chip and method for monitoring a data flow
JP2008118242A (ja) * 2006-11-01 2008-05-22 Nippon Telegr & Teleph Corp <Ntt> 異常トラヒック検出方法およびその装置およびプログラム
JP2008211690A (ja) * 2007-02-28 2008-09-11 Nippon Telegr & Teleph Corp <Ntt> ネットワーク制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013214835A (ja) * 2012-03-30 2013-10-17 Fujitsu Ltd 通信装置、通信システム、負荷分散方法及び負荷分散プログラム
KR101938271B1 (ko) * 2017-10-11 2019-04-11 성균관대학교산학협력단 네트워크-온-칩에서 트래픽 분산을 위한 구역 분할 기반 라우팅 기법

Also Published As

Publication number Publication date
EP2408154B1 (en) 2014-04-30
EP2408154A1 (en) 2012-01-18
US8213298B2 (en) 2012-07-03
EP2408154A4 (en) 2013-06-05
CN102204181B (zh) 2014-05-14
US20110069612A1 (en) 2011-03-24
CN102204181A (zh) 2011-09-28
WO2010103818A1 (ja) 2010-09-16
JP4592800B2 (ja) 2010-12-08

Similar Documents

Publication Publication Date Title
JP4592800B2 (ja) 経路選択装置、経路選択方法、およびプログラム
JP4571235B2 (ja) 経路制御装置、経路異常予測装置、方法、およびプログラム
US20220360502A1 (en) Adaptive stress testing of sd-wan tunnels for what-if scenario model training
Tao et al. Exploring the performance benefits of end-to-end path switching
EP3748923A1 (en) Ensuring backup path performance for predictive routing in sd-wans
US20200379839A1 (en) Partial reroute of traffic onto a backup tunnel using predictive routing
JP2011151752A (ja) パケットトランスポート障害検出機能を含む通信ネットワークシステム
JP5716836B2 (ja) 無線マルチホップネットワークの監視方法
CN110557302B (zh) 网络设备报文观测数据采集方法
JP2006211360A (ja) 通信回線監視装置
US9250689B2 (en) Control server, network control method, and program
Villas et al. Time-space correlation for real-time, accurate, and energy-aware data reporting in wireless sensor networks
US11265237B2 (en) System and method for detecting dropped aggregated traffic metadata packets
CN110572332B (zh) 网络设备报文观测数据采集任务划分方法
JP2006319749A (ja) 輻輳制御方法および輻輳制御装置
JP2008283646A (ja) ルータ装置
JP2014112779A (ja) データ送信制御装置、データ送信制御方法、および、コンピュータ・プログラム
CN117793847A (zh) 多跳网络的快速路由恢复方法、装置和设备
CN110572300B (zh) Tcp流已传输数据量估计方法
Man et al. Inferring available bandwidth of overlay network paths based on inline network measurement
KR20230128953A (ko) 네트워크 관제를 위한 예지보전 장치 및 방법
JPWO2018092748A1 (ja) 計測制御サーバ、通信品質計測システム、計測エージェント、方法および記憶媒体
CN115460131A (zh) 路径选择方法、装置、系统和存储介质
Srikantha End-to-end optimal algorithms for traffic engineering, failure detection and recovery in connectionless networks

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100712

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100712

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20100712

TRDD Decision of grant or rejection written
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20100805

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100817

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100914

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

Free format text: PAYMENT UNTIL: 20130924

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4592800

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees