JPWO2011125889A1 - 半導体集積回路システム及び半導体集積回路におけるパケット伝送制御方法 - Google Patents

半導体集積回路システム及び半導体集積回路におけるパケット伝送制御方法 Download PDF

Info

Publication number
JPWO2011125889A1
JPWO2011125889A1 JP2012509601A JP2012509601A JPWO2011125889A1 JP WO2011125889 A1 JPWO2011125889 A1 JP WO2011125889A1 JP 2012509601 A JP2012509601 A JP 2012509601A JP 2012509601 A JP2012509601 A JP 2012509601A JP WO2011125889 A1 JPWO2011125889 A1 JP WO2011125889A1
Authority
JP
Japan
Prior art keywords
packet
router
semiconductor integrated
integrated circuit
path
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
JP2012509601A
Other languages
English (en)
Inventor
浩明 井上
浩明 井上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2011125889A1 publication Critical patent/JPWO2011125889A1/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7825Globally asynchronous, locally synchronous, e.g. network on chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

半導体集積回路は、相互結合網を介して互いに接続された複数のコアと、相互結合網上に配置された複数のルータとを備える。各ルータは転送テーブルを備え、転送テーブルの各エントリは、マッチ条件にマッチするパケットの出力先を指定する。各ルータは、パケットを受け取ると転送テーブルの検索を行い、受信パケットにマッチするヒットエントリが転送テーブルに有れば、当該ヒットエントリで指定される出力先に受信パケットを転送する。経路制御回路は、送信元コアから宛先コアへのパケットの伝送経路を動的に決定し、且つ、当該決定経路上の各ルータに対して、当該決定経路に沿ってパケット伝送が行われるように転送テーブルを設定するよう指示する。

Description

本発明は、相互結合網を介して互いに接続された複数のコアを備える半導体集積回路におけるパケット伝送制御技術に関する。
相互結合網を介して互いに接続された複数のコアを備える半導体集積回路が知られている(例えば、特許文献1(特開平5−342184号公報)、特許文献2(特表2007−505383号公報)、特許文献3(特開2009−116872号公報)を参照)。相互結合網の場合、バス方式の場合とは異なり、ルータと呼ばれるスイッチ装置を用いることにより、コア間のパケット伝送が実現される。コア間のパケット伝送経路は予め決定され、固定されてしまうことが多い。その場合、ルータは、当該予め決定された固定経路に従って、パケット転送を行う。
特開平5−342184号公報 特表2007−505383号公報 特開2009−116872号公報
相互結合網においてパケット伝送経路が予め固定されてしまうと、相互結合網の能力を十分に生かすことができない。相互結合網の能力を十分に生かすためには、パケット伝送経路が動的に、柔軟に制御可能であることが望ましい。
本発明の1つの目的は、相互結合網を介して互いに接続された複数のコアを備える半導体集積回路において、パケット伝送経路を動的に制御することができる有用な技術を提供することにある。
本発明の1つの観点において、半導体集積回路システムが提供される。その半導体集積回路システムは、半導体集積回路と、経路制御回路と、を具備する。半導体集積回路は、相互結合網を介して互いに接続された複数のコアと、相互結合網上に配置された複数のルータと、を備える。複数のルータの各々は、転送テーブルを備え、その転送テーブルの各エントリは、マッチ条件にマッチするパケットの出力先を指定する。各ルータは、受信パケットを受け取ると転送テーブルの検索を行い、受信パケットにマッチするヒットエントリが転送テーブルに有る場合、当該ヒットエントリで指定される出力先に受信パケットを転送する。複数のコアは、送信元コア及び宛先コアを含む。経路制御回路は、送信元コアから宛先コアへのパケットの伝送経路を動的に決定し、且つ、当該決定された伝送経路上の各ルータに対して、当該決定された伝送経路に沿ってパケット伝送が行われるように転送テーブルを設定するよう指示する。
本発明の他の観点において、半導体集積回路におけるパケット伝送制御方法が提供される。半導体集積回路は、相互結合網を介して互いに接続された複数のコアと、相互結合網上に配置された複数のルータと、を備える。複数のルータの各々は、転送テーブルを備え、その転送テーブルの各エントリは、マッチ条件にマッチするパケットの出力先を指定する。各ルータは、受信パケットを受け取ると転送テーブルの検索を行い、受信パケットにマッチするヒットエントリが転送テーブルに有る場合、当該ヒットエントリで指定される出力先に受信パケットを転送する。複数のコアは、送信元コア及び宛先コアを含む。本発明に係るパケット伝送方法は、(A)送信元コアから宛先コアへのパケットの伝送経路を動的に決定するステップと、(B)決定された伝送経路上の各ルータに対して、決定された伝送経路に沿ってパケット伝送が行われるように転送テーブルを設定するよう指示するステップと、(C)各ルータが転送テーブルに従ってパケット転送を行うステップと、を含む。
本発明によれば、相互結合網を介して互いに接続された複数のコアを備える半導体集積回路において、パケット伝送経路を動的に制御することが可能となる。
上記及び他の目的、長所、特徴は、次の図面と共に説明される本発明の実施の形態により明らかになるであろう。
図1は、本発明の実施の形態に係る半導体集積回路システムの構成を概略的に示すブロック図である。 図2は、本発明の実施の形態に係る半導体集積回路システムの動作を示すフローチャートである。 図3は、本発明の第1の実施の形態に係る半導体集積回路システムの構成例を示すブロック図である。 図4は、第1の実施の形態におけるパケットの構成例を示す概念図である。 図5は、第1の実施の形態におけるルータの構成例を示すブロック図である。 図6は、第1の実施の形態における転送テーブルの一例を示す概念図である。 図7は、第1の実施の形態における経路制御回路の構成例を示すブロック図である。 図8は、第1の実施の形態における設定エントリテーブルの一例を示す概念図である。 図9は、第1の実施の形態におけるルータの動作の一例を概念的に示している。 図10は、第1の実施の形態におけるルータの動作の他の例を概念的に示している。 図11は、第1の実施の形態におけるルータの動作の更に他の例を概念的に示している。 図12は、第1の実施の形態における半導体集積回路システムの動作の一例を概念的に示している。 図13は、第1の実施の形態における半導体集積回路システムの動作の他の例を概念的に示している。 図14は、本発明の第2の実施の形態に係る半導体集積回路システムの構成例を示すブロック図である。 図15は、第2の実施の形態における転送テーブルの一例を示す概念図である。
添付図面を参照して、本発明の実施の形態を説明する。
1.概要
図1は、本発明の実施の形態に係る半導体集積回路システム1の構成を概略的に示している。半導体集積回路システム1は、半導体集積回路10及び経路制御回路100を備えている。半導体集積回路10は、ひと固まりの半導体チップあるいは半導体パッケージである。経路制御回路100は、半導体集積回路10内部でのパケット伝送経路を動的に制御する。この経路制御回路100は、半導体集積回路10の内部に組み込まれていてもよいし、半導体集積回路10とは別に設けられていてもよい。
より詳細には、半導体集積回路10は、相互結合網NET、複数のコア20、及び複数のルータ30を備えている。複数のコア20は、相互結合網NETを介して互いに接続されている。複数のルータ30は、相互結合網NET上に配置されている。各ルータ30は、リンクを介して、隣接ルータ30やコア20に接続されている。
コア20は、CPU(Central Processing Unit)、演算回路、メモリ制御回路、メモリ、I/O制御回路、I/O、チップ内メモリ制御回路、チップ内メモリ、電源・クロック制御回路などの機能回路である。
各ルータ30は、受信したパケットを転送する機能を有している。より詳細には、各ルータ30は、転送テーブルTBLを備えている。転送テーブルTBLは、0以上の転送エントリを有する。各転送エントリは、「マッチ条件」と「出力リンク」との対応関係を示す。「マッチ条件」は、パケットを識別するためのパケット識別情報を含む。例えば、パケット識別情報は、パケット送信元の情報、パケット宛先の情報、パケットの種別などを含む。「出力リンク」は、「マッチ条件」にマッチするパケットが出力されるべきリンク(出力先)を示す。すなわち、各転送エントリは、マッチ条件にマッチするパケットの出力先を指定している。ルータ30は、パケットを受け取ると、受信パケットの情報を検索キーとして用いることにより、転送テーブルTBLの検索を行う。受信パケットにマッチする転送エントリ(ヒットエントリ)が転送テーブルTBLに有る場合、ルータ30は、当該ヒットエントリで指定される出力先に受信パケットを転送する。このように、ルータ30は、自身の転送テーブルTBLに従って、パケット転送処理を行うことができる。
本実施の形態において、相互結合網NETにおけるパケット伝送経路は、固定的ではなく、動的及び柔軟に設定され得る。そのため、各ルータ30の転送テーブルTBLは書き換え可能であり、その内容は動的及び柔軟に設定される。そのような転送テーブルTBLの内容の設計・設定を行うのが、経路制御回路100である。経路制御回路100は、全ルータ30の転送テーブルTBLを集中的に管理する。そして、経路制御回路100は、各ルータ30の転送テーブルTBLの内容を、状況に応じて動的に設定することができる。
以下、本実施の形態に係る半導体集積回路システム1の動作の概要を説明する。図1において、送信元コア20Aから宛先コア20Bへのパケット伝送を考える。送信元コア20Aはパケットの送信元であり、宛先コア20Bは当該パケットの送信先である。図2は、本実施の形態に係る半導体集積回路システム1の動作を示すフローチャートである。
送信元コア20Aは、宛先コア20Bに向けて第1パケットを送信する。相互結合網NET中のあるルータ30(以下、「第1ルータ」と参照される)が、その第1パケットを受け取る(ステップS10)。第1ルータ30は、受け取った第1パケットの情報を検索キーとして用いることにより、転送テーブルTBLの検索を行う(ステップS20)。
第1パケットにマッチするヒットエントリが転送テーブルTBLに有る場合(ステップS30;Yes)、第1ルータ30は、パケット転送処理を行う(ステップS40)。具体的には、第1ルータ30は、当該ヒットエントリで指定される出力先に第1パケットを転送する。
一方、第1パケットにマッチするヒットエントリが転送テーブルTBLに未だ無い場合(ステップS30;No)、第1ルータ30は、「経路設定要求REQ」を経路制御回路100に向けて送信する(ステップS50)。経路設定要求REQは、第1パケットそのもの、あるいは、第1パケットに含まれるパケット識別情報を含んでいる。その後、処理は、経路制御回路100による処理(ステップS100)に進む。
まず、経路制御回路100は、第1ルータ30から送出された経路設定要求REQを受信する(ステップS110)。その経路設定要求REQに応答して、経路制御回路100は、第1パケットの伝送経路を決定する(ステップS120)。このとき、経路制御回路100は、相互結合網NET全体の状況や第1パケットの特性に応じて、当該第1パケットの伝送経路を柔軟に決定することができる。
続いて、経路制御回路100は、決定された伝送経路を相互結合網NETに反映させる。すなわち、経路制御回路100は、決定された伝送経路に沿ったパケット伝送が実現されるように、必要なルータ30の転送テーブル30を制御する。このときに転送テーブル30に追加されるべき新エントリは、以下「第1転送エントリ」と参照される。第1転送エントリの「マッチ条件」は、経路設定要求REQに含まれる第1パケットのパケット識別情報に基いて、第1パケットにマッチするように設定される。一方、第1転送エントリの「出力リンク」は、決定された伝送経路に沿って第1パケットが転送されるように設定される。そして、経路制御回路100は、第1転送エントリを転送テーブルTBLに設定するよう指示する「経路設定指示SET」を、当該伝送経路上の設定対象ルータ30に向けて送信する(ステップS130)。設定対象ルータ30は、少なくとも第1ルータ30を含む。設定対象ルータ30は、上記決定された伝送経路上の全てのルータ30であってもよい。
設定対象ルータ30は、経路設定指示SETを受け取る。そして、設定対象ルータ30は、受け取った経路設定指示SETに従って、第1転送エントリを自身の転送テーブルTBLに設定する(ステップS60)。その後は、この第1転送エントリが、第1パケットにマッチするヒットエントリとなる。従って、設定対象ルータ30は、経路制御回路100に経路設定要求REQを送信することなく、転送テーブルTBLに従ってパケット転送処理を実施する。
以上に説明されたように、本実施の形態によれば、経路制御回路100が、送信元コア20Aから宛先コア20Bへのパケット伝送経路を決定する。そして、経路制御回路100は、決定された伝送経路上の各ルータ30に対して、当該伝送経路に沿ってパケット伝送が行われるように転送テーブルTBLを設定するよう指示する。これにより、決定されたパケット伝送経路が、相互結合網NETに反映される。このように、相互結合網NETにおけるパケット伝送経路は、固定的ではなく、経路制御回路100によって動的及び柔軟に制御され得る。例えば、経路制御回路100は、パケットを送信するアプリケーションの特性(例:QoSやSecureといった種別)に応じて、パケット伝送経路を適切に決定することができる。その結果、QoSの向上や安全性の向上など、アプリケーションの特性を大きく引き出すことが可能となる。
また、本実施の形態では、ルータ30がパケット伝送経路の探索・決定を行うわけではない。パケット伝送経路の決定は、それぞれのルータ30によって個別に実施されるわけではなく、1つの経路制御回路100によって集中的に行われる。このような集中制御により、回路面積は大幅に削減され、また、回路構成が単純化される。このことは、インターネット等の大規模ネットワークとは異なり面積制約が厳しい半導体集積回路10内での相互結合網NETにとって、特に好適である。本実施の形態では、回路面積や回路複雑度を抑制しながら、パケット伝送経路を動的に制御することが可能であると言える。
尚、経路制御回路100は、典型的には、半導体集積回路10(半導体チップ、半導体パッケージ)内に組み込まれる。但し、経路制御回路100を、半導体集積回路10の外部に設けることも可能である。その場合、外部の経路制御回路100は、半導体集積回路10と通信可能に接続され、半導体集積回路10内の各ルータ30と上述の経路設定要求REQ及び経路設定指示SETをやりとりする。
2.第1の実施の形態
2−1.全体構成
図3は、第1の実施の形態に係る半導体集積回路システム1の構成例を示すブロック図である。図3に示されるように、本実施の形態では、ルータ30−00〜30−33がマトリックス状に配置され、相互結合網NETが構成されている。ルータ30−00〜30−33(ルータ30−30を除く)には、それぞれ、コア20−00〜20−33(コア20−30を除く)が接続されている。経路制御回路100は、ルータ30−30に接続されている。尚、図3に示される構成はあくまで一例であり、コア数、ルータ数、相互結合網のトポロジーは任意である。
図4は、半導体集積回路10内の相互結合網NETで伝送されるパケットの典型的な構成を示している。パケットは、制御情報としての「ヘッダ」、宛先コアに対するアクセス情報としての「ボディ」、及び当該パケットの正当性を保証する「テイラ」の3パートに区分される。各パートは更に、フリットと呼ばれるより細かい単位に分割され得る。例えば、「ヘッダ」は、「宛先ノード」、「パケットサイズ」、「送信元ノード」、「パケット種別」等をフリットとして含む。「パケット種別」は、QoS重視型やセキュア型といったアプリケーションパケットの特性を示す情報である。宛先コア20Bがアクセスアドレスで指定可能な領域を有する場合、例えば、宛先コア20Bがメモリである場合、「ボディ」は、「アクセスアドレス」、「アクセス種別(リード/ライト)」、「書き込みデータ」等をフリットとして含む。「テイラ」は、例えば、パケット全体の「CRC(Cyclic Redundancy Code)」をフリットとして含む。
2−2.ルータ30
図5は、本実施の形態に係るルータ30の構成例を示すブロック図である。ルータ30は、複数のリンク入力部31、複数のリンク出力部32、スイッチ部33、及びスイッチ制御部34を備えている。
リンク入力部31は、外部リンクと接続された入力ポートであり、隣接ノード(隣接コア20や隣接ルータ30)からデータを受け取る。リンク出力部32は、外部リンクと接続された出力ポートであり、隣接ノードにデータを出力する。図5の例では、リンク入力部31i及びリンク出力部32i(i=A,B,C,D)が隣接ルータ30−iに接続されており、リンク入力部31E及びリンク出力部32Eがコア20に接続されている。
スイッチ部33は、全てのリンク入力部31及びリンク出力部32と接続されている。このスイッチ部33は、指定されたリンク入力部31とリンク出力部32とを互いに接続し、当該リンク入力部31から当該リンク出力部32にパケットを転送する。その指定を行うのが、スイッチ制御部34である。
スイッチ制御部34は、上述の転送テーブルTBLを保持している。あるリンク入力部31にパケットが入力されると、スイッチ制御部34は、そのパケットを受け取る。そして、スイッチ制御部34は、当該受信パケットの情報を検索キーとして用いることにより、転送テーブルTBLの検索を行う(ステップS20)。受信パケットにマッチするヒットエントリが転送テーブルTBLに有る場合(ステップS30;Yes)、スイッチ制御部34は、当該ヒットエントリで指定されるリンク出力部32に、上記パケットが入力されたリンク入力部31を接続する。その結果、当該受信パケットが、指定されたリンク出力部32に転送される(ステップS40)。一方、ヒットエントリが転送テーブルTBLに無い場合(ステップS30;No)、スイッチ制御部34は、経路設定要求REQを経路制御回路100に向けて送出する(ステップS50)。また、経路設定指示SETを受け取った場合、スイッチ制御部34は、受け取った経路設定指示SETに従って転送テーブルTBLの設定を行う(ステップS60)。
図6は、本実施の形態における転送テーブルTBLの一例を示している。図6の例において、マッチ条件は、「送信元コアID(送信元コア20Aの識別子)」、「アプリID(送信元コア20A上のパケット送信元であるアプリケーションの識別子)」、「アクセス種別(リード/ライト)」、「宛先コアID(宛先コア20Bの識別子)」、「アドレスグループ」、及び「パケット種別」を含んでいる。
「アドレスグループ」は、グループ化された所定の範囲のアクセスアドレスである。アクセスアドレスは、例えば宛先コア20Bがメモリの場合に、パケット内で指定される(図4参照)。このようなアクセスアドレスは、インターネットの場合とは異なる半導体集積回路10の相互結合網ならではの情報である。但し、メモリアクセスアドレスの数は膨大であるため、図6に示されるように、所定の範囲のアクセスアドレスが“グループ化”されている。これにより、情報量が削減され、メモリ資源がセーブされる。
「パケット種別」は、QoS重視型やセキュア型といったアプリケーションパケットの特性を示す情報である(図4参照)。転送テーブルTBLのマッチ条件にこのようなパケット種別が含まれていることは、アプリケーションの特性に応じてパケット伝送経路が決定されていることを意味する(後述される)。
また、本実施の形態において、各ルータ30の転送テーブルTBLは、上述の経路設定要求REQ及び経路設定指示SETを転送するための「デフォルトエントリ」を有している。より詳細には、第1デフォルトエントリENT−DEF1は、経路設定要求REQにマッチし、経路設定要求REQを転送するために用いられる。各ルータ30において、この第1デフォルトエントリENT−DEF1は、経路設定要求REQを経路制御回路100に向けて転送するように設定されている。これにより、あるルータ30から送出された経路設定要求REQが経路制御回路100に届くようになる。一方、第2デフォルトエントリENT−DEF2は、経路設定指示SETにマッチし、経路設定指示SETを転送するために用いられる。各ルータ30において、この第2デフォルトエントリENT−DEF2は、経路設定指示SETを所定のルータ30に向けて転送するように設定されている。これにより、経路制御回路100から送出された経路設定指示SETが所望のルータ30に届くようになる。尚、これらデフォルトエントリは、相互結合網NET上の全ルータ30に対してあらかじめ設定されているとよい。
2−3.経路制御回路100
図7は、本実施の形態に係る経路制御回路100の構成例を示すブロック図である。経路制御回路100は、受信部110、経路決定部120、送信部130、及び記憶部(記憶装置)140を備えている。記憶部140には、設定エントリテーブル150が格納されている。
受信部110は、経路設定要求REQを受け取り、その経路設定要求REQを経路決定部120にわたす(ステップS110)。その経路設定要求REQに応答して、経路決定部120は、パケット伝送経路を決定し、また、それに応じて設定対象ルータ30に設定すべき転送エントリを設計する(ステップS120)。更に、経路決定部120は、その転送エントリの設定を指示する経路設定指示SETを作成し、その経路設定指示SETを送信部130にわたす。送信部130は、経路設定指示SETを設定対象ルータ30に向けて送信する(ステップS130)。
また、経路決定部120は、設計した転送エントリを、記憶部140中の設定エントリテーブル150に格納する。図8は、設定エントリテーブル150の一例を示している。図8に示されるように、設定エントリテーブル150は、図6で示されたルータ30の転送テーブルTBLと同様の情報を有している。但し、転送エントリが設定されるルータ30の識別子(ルータID)が追加されている。また、デフォルトエントリENT−DEF1、END−DEF2は省略されてもよい。
図6及び図8に示されるように、本実施の形態によれば、宛先コア20Bにおけるアクセスアドレス(例:メモリアクセスアドレス)が、マッチ条件の一部として用いられる。但し、経路決定部120は、パケット伝送経路を決定する際、所定の範囲のアクセスアドレスをグループ化し、グループ化されたアクセスアドレスを「アドレスグループ」としてマッチ条件に組み込む。それは、半導体集積回路10におけるアクセスアドレスの数は膨大であり、そのまま用いると情報量の爆発が起こってしまうためである。アドレスグループに縮約することにより、情報量が削減され、メモリ資源がセーブされる。
また、本実施の形態によれば、経路決定部120は、パケットを送信するアプリケーションの特性(QoSやSecureといったパケット種別)に応じて、パケット伝送経路を適切に決定する。その結果、QoSの向上、安全性の向上、リアルタイム性の向上など、アプリケーションの特性を大きく引き出すことが可能となる。
2−4.動作例
図9は、ヒットエントリが転送テーブルTBLに有る場合のルータ30の動作の一例を概念的に示している。リンク入力部31Aは、隣接ルータ30−Aからパケットを受信する。リンク入力部31Aは、その受信パケットを、スイッチ部33及びスイッチ制御部34に送る。スイッチ制御部34は、転送テーブルTBLの検索を行い、受信パケットにマッチするヒットエントリを見つける。例えば、図6中の第1エントリENT1がヒットエントリであるとする。この第1エントリENT1は、リンク出力部32Bを出力先として指定している。この場合、スイッチ制御部34は、指定されたリンク出力部32Bにリンク入力部31Aを接続するよう、スイッチ部33を制御する。スイッチ部33は、リンク入力部31Aから受け取ったパケットを、リンク出力部32Bに出力する。当該パケットは、リンク出力部32Bから隣接ルータ30−Bに出力される。
図10は、ヒットエントリが転送テーブルTBLに有る場合のルータ30の動作の他の例を、概念的に示している。リンク入力部31Aは、隣接ルータ30−Aからパケットを受信する。リンク入力部31Aは、その受信パケットを、スイッチ部33及びスイッチ制御部34に送る。スイッチ制御部34は、転送テーブルTBLの検索を行い、受信パケットにマッチするヒットエントリを見つける。本例では、ヒットエントリは、コア20につながるリンク出力部32Eを出力先として指定している。この場合、スイッチ制御部34は、指定されたリンク出力部32Eにリンク入力部31Aを接続するよう、スイッチ部33を制御する。スイッチ部33は、リンク入力部31Aから受け取ったパケットを、リンク出力部32Eに出力する。当該パケットは、リンク出力部32Eからコア20に出力される。
図11は、ヒットエントリが転送テーブルTBLに無い場合のルータ30の動作の一例を概念的に示している。リンク入力部31Aは、隣接ルータ30−Aからパケットを受信する。リンク入力部31Aは、その受信パケットを、スイッチ部33及びスイッチ制御部34に送る。スイッチ制御部34は、転送テーブルTBLの検索を行うが、ヒットエントリが無いため、経路設定要求REQを出力する。その経路設定要求REQは、例えば、リンク出力部32Dを通して隣接ルータ30−Dに出力される。
ルータ30−Dは、経路設定要求REQを受け取ると、第1デフォルトエントリENT−DEF1に従って、その経路設定要求REQを転送する。同様の転送処理が繰り返されることにより、経路設定要求REQはリレーされ、最終的には経路制御回路100に到達する。その経路設定要求REQに応答して、経路制御回路100は、パケット伝送経路を決定し、経路設定指示SETを隣接ルータ30に送出する。経路設定指示SETを受け取ったルータ30は、第2デフォルトエントリENT−DEF2に従って、その経路設定指示SETを転送する。同様の転送処理が繰り返されることにより、経路設定指示SETは、最初に経路設定要求REQを送出したルータ30に到達する。
例えば、図11に示されるように、経路設定指示SETがリンク入力部31Dに入力される。リンク入力部31Dは、受け取った経路設定指示SETをスイッチ制御部34に送る。スイッチ制御部34は、その経路設定指示SETに従って、転送テーブルTBLの設定を行う。その後は、既出の図9や図10で示された場合と同様に、経路制御回路100への問い合わせを行うことなく、パケット転送が行われる。
図12は、送信元コア20−00から宛先コア20−33へパケットPKT1が伝送される場合の一例を示している。図12の例では、パケットPKT1を受け取った各ルータ30が、逐一、経路制御回路100へ問い合わせを行う。例えば、ルータ30−32がパケットPKT1を最初に受け取った際、そのパケットPKT1にヒットするヒットエントリはルータ30−32には未だ設定されていない。従って、ルータ30−32は、経路設定要求REQを経路制御回路100に向けて送信する。その経路設定要求REQは、ルータ30−31及び30−30を経由して、経路制御回路100に到達する。その経路設定要求REQに応答する経路設定指示SETは、ルータ30−30及び30−31を経由して、ルータ30−32に到達する。ルータ30−32は、その経路設定指示SETに従って、パケットPKT1に関する転送エントリを自身の転送テーブルTBLに設定する。他のルータ30に関しても同様である。このようにして、送信元コア20−00から送出されるパケットPKT1が、ルータ30−00、30−10、30−11、30−21、30−22、30−32及び30−33を経由して、宛先コア20−33に到達する。このパケット伝送経路は、固定的ではなく、経路制御回路100によってパケットPKT1の種別等に応じて柔軟に決定されている。
図13は、送信元コア20−00から宛先コア20−33へパケットPKT1が伝送される場合の他の例を示している。図13の例では、転送テーブルTBLの設定が、パケットPKT1の伝送経路上の全てのルータ30に対して一括して実施される。具体的には、まず、ルータ30−00が送信元コア20−00からパケットPKT1を受け取る。ヒットエントリが無いため、ルータ30−00は、経路設定要求REQを経路制御回路100に向けて送信する。その経路設定要求REQは、ルータ30−10、30−20及び30−30を経由して、経路制御回路100に到達する。経路制御回路100は、ルータ30−00から宛先コア20−33までのパケット伝送経路を決定する。本例では、経路制御回路100は、決定したパケット伝送経路上の全てのルータ30−00、30−10、30−11、30−21、30−22、30−32及び30−33を「設定対象ルータ」とする。そして、経路制御回路100は、それら設定対象ルータ30のそれぞれに対して、経路設定指示SETを一括して送信する。それぞれの経路設定指示SETは、それぞれの返信経路を経由して設定対象ルータ30に到達する。設定対象ルータ30の各々は、受け取った経路設定指示SETに従って、パケットPKT1に関する転送エントリを自身の転送テーブルTBLに設定する。本例は、経路制御回路100による経路設定処理が一回で済むため、経路制御回路100やネットワークの負荷が軽減され、好適である。
3.第2の実施の形態
図14は、第2の実施の形態に係る半導体集積回路システム1の構成例を示すブロック図である。既出の第1の実施の形態と重複する説明は省略される。本実施の形態によれば、経路制御回路100は、専用の制御リンク5を介して、ルータ30−00〜30−33のそれぞれと直接接続されている。この場合、上述の経路設定要求REQは、各ルータ30から経路制御回路100に制御リンク5を介して直接送られる。また、上述の経路設定指示SETは、経路制御回路100から設定対象ルータ30に制御リンク5を介して直接送られる。
従って、本実施の形態では、図15に示されるように、転送テーブルTBLからデフォルトエントリENT−DEF1、ENT−DEF2を省くことが可能となる。これにより、各ルータ30の転送テーブルTBLのサイズが縮小される。また、経路設定要求REQや経路設定指示SETの転送が不要となるため、各ルータ30にかかる処理負荷も軽減される。尚、このような構成が実現可能なのは、大規模インターネットの場合とは異なり、半導体集積回路10の場合は配線コストが少ないためである。
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
半導体集積回路と、
経路制御回路と
を具備し、
前記半導体集積回路は、
相互結合網を介して互いに接続された複数のコアと、
前記相互結合網上に配置された複数のルータと
を備え、
前記複数のルータの各々は、転送テーブルを備え、
前記転送テーブルの各エントリは、マッチ条件にマッチするパケットの出力先を指定し、
前記各ルータは、受信パケットを受け取ると前記転送テーブルの検索を行い、前記受信パケットにマッチするヒットエントリが前記転送テーブルに有る場合、前記ヒットエントリで指定される前記出力先に前記受信パケットを転送し、
前記複数のコアは、送信元コア及び宛先コアを含み、
前記経路制御回路は、前記送信元コアから前記宛先コアへのパケットの伝送経路を動的に決定し、且つ、前記決定された伝送経路上の各ルータに対して、前記決定された伝送経路に沿ってパケット伝送が行われるように前記転送テーブルを設定するよう指示する
半導体集積回路システム。
(付記2)
付記1に記載の半導体集積回路システムであって、
前記経路制御回路は、前記送信元コアから前記宛先コアへパケットを送信するアプリケーションの特性に応じて前記伝送経路を決定し、
前記転送テーブルの前記マッチ条件は、前記アプリケーションの特性を含む
半導体集積回路システム。
(付記3)
付記1又は2に記載の半導体集積回路システムであって、
前記宛先コアは、アクセスアドレスで指定可能な領域を有し、
前記経路制御回路は、前記伝送経路を決定する際に、所定の範囲の前記アクセスアドレスをグループ化し、
前記転送テーブルの前記マッチ条件は、前記グループ化されたアクセスアドレスを含む
半導体集積回路システム。
(付記4)
付記1乃至3のいずれか一項に記載の半導体集積回路システムであって、
前記経路制御回路は、前記半導体集積回路の内部に組み込まれている
半導体集積回路システム。
(付記5)
付記1乃至4のいずれか一項に記載の半導体集積回路システムであって、
前記送信元コアから前記宛先コアに第1パケットの伝送が行われる際、
前記経路制御回路は、前記第1パケットの前記伝送経路を決定し、前記決定された伝送経路上の設定対象ルータに対して第1転送エントリを前記転送テーブルに設定するよう指示し、
前記第1転送エントリの前記マッチ条件は、前記第1パケットにマッチするように設定され、
前記第1転送エントリの前記出力先は、前記決定された伝送経路に沿って前記第1パケットが転送されるように設定される
半導体集積回路システム。
(付記6)
付記5に記載の半導体集積回路システムであって、
前記複数のルータのうち第1ルータは、前記第1パケットを受け取ると前記転送テーブルの検索を行い、
前記第1パケットにマッチするヒットエントリが前記転送テーブルに未だ無い場合、前記第1ルータは、前記第1パケットの情報を含む経路設定要求を前記経路制御回路に向けて送信し、
前記経路制御回路は、前記経路設定要求に応答して、前記第1パケットの前記伝送経路を決定し、前記第1転送エントリの設定を指示する経路設定指示を前記設定対象ルータに向けて送信し、
前記設定対象ルータに含まれる前記第1ルータは、前記経路設定指示に従って、前記第1転送エントリを前記転送テーブルに設定する
半導体集積回路システム。
(付記7)
付記6に記載の半導体集積回路システムであって、
前記設定対象ルータは、前記決定された伝送経路上の全てのルータであり、
前記経路制御回路は、前記設定対象ルータに対して、前記経路設定指示を一括して送信し、
前記設定対象ルータの各々は、前記経路設定指示に従って、前記第1転送エントリを前記転送テーブルに設定する
半導体集積回路システム。
(付記8)
付記6又は7に記載の半導体集積回路システムであって、
前記経路制御回路は、前記複数のルータのそれぞれと制御リンクを介して直接接続されており、
前記経路設定要求及び前記経路設定指示は、前記制御リンクを介して伝送される
半導体集積回路システム。
(付記9)
付記6又は7に記載の半導体集積回路システムであって、
前記各ルータの前記転送テーブルは、
前記経路設定要求にマッチし、前記経路設定要求を前記経路制御回路に向けて転送するような第1デフォルトエントリと、
前記経路設定指示にマッチし、前記経路設定指示を所定のルータに向けて転送するような第2デフォルトエントリと
を有し、
前記各ルータは、前記経路設定要求を受け取ると、前記第1デフォルトエントリで指定される前記出力先に前記経路設定要求を転送し、
前記各ルータは、前記経路設定指示を受け取ると、前記第2デフォルトエントリで指定される前記出力先に前記経路設定指示を転送する
半導体集積回路システム。
(付記10)
半導体集積回路におけるパケット伝送制御方法であって、
前記半導体集積回路は、
相互結合網を介して互いに接続された複数のコアと、
前記相互結合網上に配置された複数のルータと
を備え、
前記複数のルータの各々は、転送テーブルを備え、
前記転送テーブルの各エントリは、マッチ条件にマッチするパケットの出力先を指定し、
前記各ルータは、受信パケットを受け取ると前記転送テーブルの検索を行い、前記受信パケットにマッチするヒットエントリが前記転送テーブルに有る場合、前記ヒットエントリで指定される前記出力先に前記受信パケットを転送し、
前記複数のコアは、送信元コア及び宛先コアを含み、
前記パケット伝送方法は、
前記送信元コアから前記宛先コアへのパケットの伝送経路を動的に決定するステップと、
前記決定された伝送経路上の各ルータに対して、前記決定された伝送経路に沿ってパケット伝送が行われるように前記転送テーブルを設定するよう指示するステップと、
前記各ルータが前記転送テーブルに従ってパケット転送を行うステップと
を含む
半導体集積回路におけるパケット伝送制御方法。
本出願は、2010年4月6日に出願された日本国特許出願2010−087876を基礎とする優先権を主張し、その開示の全てをここに取り込む。

Claims (10)

  1. 半導体集積回路と、
    経路制御回路と
    を具備し、
    前記半導体集積回路は、
    相互結合網を介して互いに接続された複数のコアと、
    前記相互結合網上に配置された複数のルータと
    を備え、
    前記複数のルータの各々は、転送テーブルを備え、
    前記転送テーブルの各エントリは、マッチ条件にマッチするパケットの出力先を指定し、
    前記各ルータは、受信パケットを受け取ると前記転送テーブルの検索を行い、前記受信パケットにマッチするヒットエントリが前記転送テーブルに有る場合、前記ヒットエントリで指定される前記出力先に前記受信パケットを転送し、
    前記複数のコアは、送信元コア及び宛先コアを含み、
    前記経路制御回路は、前記送信元コアから前記宛先コアへのパケットの伝送経路を動的に決定し、且つ、前記決定された伝送経路上の各ルータに対して、前記決定された伝送経路に沿ってパケット伝送が行われるように前記転送テーブルを設定するよう指示する
    半導体集積回路システム。
  2. 請求項1に記載の半導体集積回路システムであって、
    前記経路制御回路は、前記送信元コアから前記宛先コアへパケットを送信するアプリケーションの特性に応じて前記伝送経路を決定し、
    前記転送テーブルの前記マッチ条件は、前記アプリケーションの特性を含む
    半導体集積回路システム。
  3. 請求項1又は2に記載の半導体集積回路システムであって、
    前記宛先コアは、アクセスアドレスで指定可能な領域を有し、
    前記経路制御回路は、前記伝送経路を決定する際に、所定の範囲の前記アクセスアドレスをグループ化し、
    前記転送テーブルの前記マッチ条件は、前記グループ化されたアクセスアドレスを含む
    半導体集積回路システム。
  4. 請求項1乃至3のいずれか一項に記載の半導体集積回路システムであって、
    前記経路制御回路は、前記半導体集積回路の内部に組み込まれている
    半導体集積回路システム。
  5. 請求項1乃至4のいずれか一項に記載の半導体集積回路システムであって、
    前記送信元コアから前記宛先コアに第1パケットの伝送が行われる際、
    前記経路制御回路は、前記第1パケットの前記伝送経路を決定し、前記決定された伝送経路上の設定対象ルータに対して第1転送エントリを前記転送テーブルに設定するよう指示し、
    前記第1転送エントリの前記マッチ条件は、前記第1パケットにマッチするように設定され、
    前記第1転送エントリの前記出力先は、前記決定された伝送経路に沿って前記第1パケットが転送されるように設定される
    半導体集積回路システム。
  6. 請求項5に記載の半導体集積回路システムであって、
    前記複数のルータのうち第1ルータは、前記第1パケットを受け取ると前記転送テーブルの検索を行い、
    前記第1パケットにマッチするヒットエントリが前記転送テーブルに未だ無い場合、前記第1ルータは、前記第1パケットの情報を含む経路設定要求を前記経路制御回路に向けて送信し、
    前記経路制御回路は、前記経路設定要求に応答して、前記第1パケットの前記伝送経路を決定し、前記第1転送エントリの設定を指示する経路設定指示を前記設定対象ルータに向けて送信し、
    前記設定対象ルータに含まれる前記第1ルータは、前記経路設定指示に従って、前記第1転送エントリを前記転送テーブルに設定する
    半導体集積回路システム。
  7. 請求項6に記載の半導体集積回路システムであって、
    前記設定対象ルータは、前記決定された伝送経路上の全てのルータであり、
    前記経路制御回路は、前記設定対象ルータに対して、前記経路設定指示を一括して送信し、
    前記設定対象ルータの各々は、前記経路設定指示に従って、前記第1転送エントリを前記転送テーブルに設定する
    半導体集積回路システム。
  8. 請求項6又は7に記載の半導体集積回路システムであって、
    前記経路制御回路は、前記複数のルータのそれぞれと制御リンクを介して直接接続されており、
    前記経路設定要求及び前記経路設定指示は、前記制御リンクを介して伝送される
    半導体集積回路システム。
  9. 請求項6又は7に記載の半導体集積回路システムであって、
    前記各ルータの前記転送テーブルは、
    前記経路設定要求にマッチし、前記経路設定要求を前記経路制御回路に向けて転送するような第1デフォルトエントリと、
    前記経路設定指示にマッチし、前記経路設定指示を所定のルータに向けて転送するような第2デフォルトエントリと
    を有し、
    前記各ルータは、前記経路設定要求を受け取ると、前記第1デフォルトエントリで指定される前記出力先に前記経路設定要求を転送し、
    前記各ルータは、前記経路設定指示を受け取ると、前記第2デフォルトエントリで指定される前記出力先に前記経路設定指示を転送する
    半導体集積回路システム。
  10. 半導体集積回路におけるパケット伝送制御方法であって、
    前記半導体集積回路は、
    相互結合網を介して互いに接続された複数のコアと、
    前記相互結合網上に配置された複数のルータと
    を備え、
    前記複数のルータの各々は、転送テーブルを備え、
    前記転送テーブルの各エントリは、マッチ条件にマッチするパケットの出力先を指定し、
    前記各ルータは、受信パケットを受け取ると前記転送テーブルの検索を行い、前記受信パケットにマッチするヒットエントリが前記転送テーブルに有る場合、前記ヒットエントリで指定される前記出力先に前記受信パケットを転送し、
    前記複数のコアは、送信元コア及び宛先コアを含み、
    前記パケット伝送方法は、
    前記送信元コアから前記宛先コアへのパケットの伝送経路を動的に決定するステップと、
    前記決定された伝送経路上の各ルータに対して、前記決定された伝送経路に沿ってパケット伝送が行われるように前記転送テーブルを設定するよう指示するステップと、
    前記各ルータが前記転送テーブルに従ってパケット転送を行うステップと
    を含む
    半導体集積回路におけるパケット伝送制御方法。
JP2012509601A 2010-04-06 2011-03-31 半導体集積回路システム及び半導体集積回路におけるパケット伝送制御方法 Withdrawn JPWO2011125889A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010087876 2010-04-06
JP2010087876 2010-04-06
PCT/JP2011/058314 WO2011125889A1 (ja) 2010-04-06 2011-03-31 半導体集積回路システム及び半導体集積回路におけるパケット伝送制御方法

Publications (1)

Publication Number Publication Date
JPWO2011125889A1 true JPWO2011125889A1 (ja) 2013-07-11

Family

ID=44762827

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012509601A Withdrawn JPWO2011125889A1 (ja) 2010-04-06 2011-03-31 半導体集積回路システム及び半導体集積回路におけるパケット伝送制御方法

Country Status (3)

Country Link
US (1) US20110280250A1 (ja)
JP (1) JPWO2011125889A1 (ja)
WO (1) WO2011125889A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012146201A (ja) * 2011-01-13 2012-08-02 Toshiba Corp オンチップルータ及びそれを用いたマルチコアシステム
US8787388B1 (en) * 2011-08-29 2014-07-22 Big Switch Networks, Inc. System and methods for forwarding packets through a network
EP2597827B1 (en) * 2011-11-25 2018-01-10 Alcatel Lucent Method of promoting a quick data flow of data packets in a communication network, communication network and data processing unit
US10652353B2 (en) 2015-09-24 2020-05-12 Intel Corporation Technologies for automatic processor core association management and communication using direct data placement in private caches

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7418536B2 (en) * 2001-07-30 2008-08-26 Cisco Technology, Inc. Processor having systolic array pipeline for processing data packets
DE602006007992D1 (de) * 2005-05-23 2009-09-03 Nxp Bv Integrierte schaltung mit internem kommunikationsnetz
US8412867B2 (en) * 2007-06-08 2013-04-02 Nec Corporation Semiconductor integrated circuit and filter and informational delivery method using same
WO2008149783A1 (ja) * 2007-06-08 2008-12-11 Nec Corporation 半導体集積回路及びフィルタ制御方法
JP5439808B2 (ja) * 2008-12-25 2014-03-12 富士通セミコンダクター株式会社 複数バスを有するシステムlsi
US8559307B2 (en) * 2009-12-28 2013-10-15 Empire Technology Development Llc Routing packets in on-chip networks

Also Published As

Publication number Publication date
WO2011125889A1 (ja) 2011-10-13
US20110280250A1 (en) 2011-11-17

Similar Documents

Publication Publication Date Title
JP5610247B2 (ja) ネットワークシステム、及びポリシー経路設定方法
US8971342B2 (en) Switch and flow table controlling method
JP5962808B2 (ja) スイッチシステム、スイッチ制御方法、及び記憶媒体
JP5594552B2 (ja) ネットワークシステム、及び経路制御方法
US9025495B1 (en) Flexible routing engine for a PCI express switch and method of use
JP4998469B2 (ja) インターコネクション用スイッチおよびシステム
JP5862706B2 (ja) ネットワークシステム、及びネットワークフロー追跡方法
KR101476940B1 (ko) 스위치 시스템, 및 데이터 전송 방법
US20140064093A1 (en) Hashing-based routing table management
JP5928087B2 (ja) スイッチ、情報処理装置および通信制御方法
CN108123901B (zh) 一种报文传输方法和装置
JP7403635B2 (ja) Srネットワークでパケットを転送するための方法、装置、及びシステム
US20220263760A1 (en) Method, apparatus, and device for load balancing in bit index explicit replication network
JP2018535616A (ja) ソフトウェア定義ネットワークのエントリ生成およびパケット転送
JP2018518925A (ja) パケット転送
WO2011125889A1 (ja) 半導体集積回路システム及び半導体集積回路におけるパケット伝送制御方法
JP5961745B2 (ja) 通信装置またはパケット転送方法
US11595293B2 (en) File control for data packet routers using consensus and inter-planetary file system (IPFS)
JP6586374B2 (ja) 通信装置、経路管理サーバ、通信方法、および仮想ポート割当方法
CN108933720B (zh) 环形***的信息处理方法、装置、***及存储介质
CN113411257B (zh) 传输报文的方法、装置、计算设备和存储介质
JP6148546B2 (ja) パケット転送装置及びプログラム
EP4064625A1 (en) Message forwarding method and apparatus, and distributed device
KR100596385B1 (ko) 라우터에서 가상근거리통신망에 설정된 포워딩정보 처리방법

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