JP4679601B2 - パケット制御回路、パケット処理装置、および、パケット処理方法 - Google Patents

パケット制御回路、パケット処理装置、および、パケット処理方法 Download PDF

Info

Publication number
JP4679601B2
JP4679601B2 JP2008107114A JP2008107114A JP4679601B2 JP 4679601 B2 JP4679601 B2 JP 4679601B2 JP 2008107114 A JP2008107114 A JP 2008107114A JP 2008107114 A JP2008107114 A JP 2008107114A JP 4679601 B2 JP4679601 B2 JP 4679601B2
Authority
JP
Japan
Prior art keywords
packet
output
control information
request
arbitration
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.)
Expired - Fee Related
Application number
JP2008107114A
Other languages
English (en)
Other versions
JP2009260645A (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 Computertechno Ltd
Original Assignee
NEC Computertechno Ltd
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 Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP2008107114A priority Critical patent/JP4679601B2/ja
Publication of JP2009260645A publication Critical patent/JP2009260645A/ja
Application granted granted Critical
Publication of JP4679601B2 publication Critical patent/JP4679601B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、パケット制御回路、パケット処理装置、および、パケット処理方法に関する。
データ転送のレイテンシ性能を向上させる技術の1例が特許文献1に記載されている。この技術は、リクエスト信号をリクエスタ毎に2本設け、クロスバが一方のリクエスト信号に対するGrant信号出力と同時に他のリクエスト信号の調停処理を行うものである。
また、特許文献2記載には、ネットワークルータ内で、同一の宛先のネットワーク・パケットを合体させる技術が記載されている。
特開2003−337807号公報 特表2008−504609号公報
上述した特許文献1記載の技術は、パケットの数を減らす処理は実施していないので、調停の回数が減らず、データ転送のレイテンシ性能の向上が低いという課題を持つ。
上述した特許文献2記載の技術は、複数のネットワーク・パケットをそのまま合体させるので、転送データ量が減少せず、性能の向上が少ないという課題を持つ。
本発明の目的は、上記課題を解決するパケット制御回路、パケット処理装置、および、パケット処理方法を提供することである。
本発明のパケット制御回路は、転送先が同一の複数のパケットを同時に受け付けた場合に、調停の結果、後に出力するパケットの一部を先に出力するパケットに設定して出力する。
本発明のパケット制御方法は、転送先が同一の複数のパケットを同時に受け付けた場合に、調停の結果、後に出力するパケットの一部を先に出力するパケットに設定して出力する。
本発明は、調停の回数が減り、パケット転送のレイテンシ性能を向上できるという効果を持つ。
次に、本発明の第1の実施の形態について図面を参照して詳細に説明する。図1は、本実施の形態の構成を示すブロック図である。
図1(a)を参照すると、本実施の形態のパケット制御回路800は、転送先が同一の複数のパケットを同時に受け付けた場合に、調停の結果、後に出力するパケットの一部を先に出力するパケットに設定して出力する。
ここで、本実施の形態のパケット制御回路800は、パケット(データの転送のためのリクエストパケット、あるいは、リクエストパケットに対する処理に対する通知である制御情報通知パケット)を入力する構成をとってもよい。たとえば、「リクエストパケットに対する処理に対する通知」とは、正常終了・異常終了を示す完了(completion)通知情報、処理の中断を示す中断通知情報等である(これらには限定されない)。また、制御情報通知パケットは、必ず、有効な制御情報を含む。完了通知情報は、パケットの一部である。
パケット制御回路800は、同一の転送先を含む複数のパケットを同時に受け付けた場合に以下の動作を行う。パケット制御回路800は、調停を行い、「調停の結果、先に出力するパケットが、制御情報通知パケットでなく、かつ、有効な制御情報を含まない」という第1の条件が満たされるかどうかを調べる。さらに、パケット制御回路800は、「調停の結果、後に出力するパケットが制御情報通知パケットである、あるいは、リクエストパケットであり有効な制御情報を含む」という第2の条件が満たされるかどうかを調べる。
次に、パケット制御回路800は、第1の条件、第2の条件が両方とも満たされると、先に出力するパケットに後に出力するパケット内の制御情報を設定して出力する。パケット制御回路800を、パケットの処理を行うクロスバ、切り替え回路等に適用することが可能である。また、パケット制御回路800をLSI(Large Scale Integration)で構成することが可能である。
また、パケット制御回路800は、先に出力するパケットに後に出力するパケット内の制御情報を設定して出力した場合に、以下の制御を行う機能を持つことが可能である。パケット制御回路800は、後に出力するパケットが制御情報通知パケットであれば、後に出力するパケットを破棄し、制御情報を含むリクエストパケットであれば、制御情報を無効にする。
また、図1(b)に示すように、パケット制御回路800を複数段接続するパケット処理装置900が構成可能である。
本実施の形態は、先に出力するパケットに後に出力するパケット内の制御情報を設定して出力する構成により、後に出力する制御情報通知パケットを破棄できるか、あるいは、後に出力するリクエストパケット内の制御情報を無効にできる。したがって、本実施の形態のパケット制御回路800は、制御情報通知パケットの数、および量が減少する、または、制御情報が、速く転送され、パケットにおけるレイテンシが向上するという効果を持つ。また、本実施の形態は、パケットの調停の回数が減るという効果を持つ。
次に、本発明の第2の実施の形態について説明する。本実施の形態は、第1の実施の形態のパケット制御回路800をパケットの転送経路上のLSIの1種であるクロスバ内に含む構成をとる。また、本実施の形態は、LSI間のデータ転送および制御情報の転送を、パケットを用いて転送するコンピュータシステム(パケット転送装置の1種。コンピュータシステムではない、制御システムでもよい)である。
コンピュータシステムは、複数のLSIで構成される。パケットの転送経路上のLSIは、複数のパケットの制御情報を、1つのパケットに合成する機能を持つ。また、コンピュータシステムは、合成されたパケットに制御情報を取り込まれたパケットを破棄する、または、合成されたパケットに転送情報を取り込まれたパケット内の制御情報を無効にする機能を持つ。
コンピュータシステムは、コンピュータシステム内のCPU(Central processing unit)間で一般的に行われている「送信−応答シーケンス」を、「リクエスト要求−処理完了通知シーケンス」として処理する。リクエスト要求には、リクエストパケットが使用され、処理完了通知には完了通知パケットが使用される。また、リクエストパケットは、パケットヘッダと、転送データとを含む。転送データは、たとえば、読み出し・書き込み等の処理内容を示すコマンド、転送される書き込みデータ、転送先CPUに接続されるメモリのアドレス等を含む。
パケットヘッダは、大量の情報を含むことが可能である。完了通知パケットは、少量の情報のみをパケットヘッダに含むことが可能である。
なお、本実施の形態では、説明のし易さから、他のパケットの制御情報を取り込む(設定する)フィールドを専用のフィールドとしているが、特に専用のフィールドではなくてもよい。他のパケットの制御情報をパケットの空きフィールドに取り込む構成も、可能である。
次に、本実施の形態について図面を参照して詳細に説明する。
図2は、本実施の形態におけるパケットヘッダのフォーマットを示す説明図である。図2を参照すると、パケットヘッダは、パケット種別フィールドF10、ルーティング情報フィールドF20、パケットIDフィールドF30、完了通知情報フィールドF40を含む。
パケット種別フィールドF10は、リクエストパケットや、完了通知パケット等のパケット種別を示す。ルーティング情報フィールドF20は、パケットの転送先であるCPUを示す。パケットIDフィールドF30は、パケット毎にユニークに設定される識別情報を示す。完了通知情報フィールドF40は、以前に処理されたパケットに対する完了通知情報を示す。
図2には、その他のフィールドは記載されてないが、リクエストパケットは、この他に、完了通知パケットでは使用されない情報を含むフィールドを含むことが可能である。
説明のし易さから、本実施の形態においては、パケット種別フィールドF10のパケット種別は、リクエストと完了通知の2種類だけ定義される。本フィールドは、パケットを生成するCPUで設定され、クロスバにおいて参照される。また、本フィールドは、リクエストパケットであるのか、完了通知パケットであるのかの判別が一意に決定できる値またはコード(パケット種別)が設定される。
ルーティング情報フィールドF20には、転送先のCPUを示す値(ルーティング情報)が設定される。本フィールドは、クロスバにおいて参照され、転送先のCPUへの出力ポートを決定することを可能とする。また、本フィールドが同じ値であるパケットは、転送先のCPUが同じであることを示し、クロスバの出力調停部における転送先の一致の確認に使用される。
パケットIDフィールドF30には、転送元のCPUにより、パケットを一意に識別するための識別情報(パケットID)が設定される。また、本フィールド内のパケットIDは、条件が成立すると完了通知情報フィールドF40にも転載(設定)される。有効な完了通知情報を受信したCPUが、転載されたパケットIDを基に、何れのリクエストパケットの完了通知であるかを判別する。
完了通知情報フィールドF40は、完了通知有効・無効情報F41、終了ステータスF42、および、パケットIDF43が設定される。完了通知有効・無効情報F41は、完了通知情報フィールドF40が有効であるのか無効であるのかを示す。
終了ステータスF42は、対応するパケットの処理が正常終了なのか異常終了なのかを示す。パケットIDF43は、元々リクエストパケットのパケットIDフィールドF30に含まれていたパケットIDを示す(すなわち、どのリクエストパケットに対する完了通知情報であるのかを)示す。
完了通知有効・無効情報F41を1ビットのフラグとし、‘0’を無効、‘1’を有効として定義することが可能である。このとき、このフラグが‘0’であると、完了通知情報フィールドF40内の他のフィールドの値(終了ステータスF42、および、パケットIDF43)も無効と見なされる。このフラグが‘1’であると、完了通知情報フィールドF40内の他のフィールドの値も有効と見なされる。また、完了通知パケットの完了通知情報は、必ず有効である。
図3は、本実施の形態において、CPUが生成するリクエストパケットおよび完了通知パケットのパケットヘッダの内容を示す説明図である。図3には、パケット種別ごとの内容が示されている。
次に、本実施の形態の構成について図面を参照して説明する。
図4は、本実施の形態のコンピュータシステム500の構成を示すブロック図である。図4を参照すると、コンピュータシステム500は、複数のLSIで構成される。コンピュータシステム500は、CPU100、CPU101、CPU110、CPU111、CPU120、CPU121、CPU130、CPU131を含む。
さらに、コンピュータシステム500は、各CPU100〜131にそれぞれ接続されるメモリ104、メモリ105、メモリ114、メモリ115、メモリ124、メモリ125、メモリ134、メモリ135を含む。さらに、コンピュータシステム500は、パケットの通過する経路となるクロスバXB10、クロスバXB11、クロスバXB12、クロスバXB13を含む。クロスバXB10〜XB13は、同期式制御(クロックが使用される)で動作する。
メモリ104〜145は、CPU100〜131で共有される。CPU100〜131は、パケット転送に関し、少なくとも同等の機能を持つ。クロスバXB10〜XB13は、パケット転送に関し、少なくとも同等の機能を持つ。CPU100、CPU101は、双方向の接続インタフェースを介してクロスバXB10と接続される。
CPU100は、他のCPU101〜131に接続されるメモリ105〜135に対するリクエストパケットをクロスバXB10へ出力する。同様に、CPU101は、他のCPU100、CPU110〜131に接続されるメモリ104、メモリ114〜135に対するリクエストパケットをクロスバXB10へ出力する。
また、CPU100は、他のCPU101〜131からのリクエストパケットを入力し、そのリクエストパケットを処理する。そして、CPU100は、リクエストパケット転送元のCPU101〜131に対する処理の結果を示す完了通知パケットを、クロスバXB10に出力する。
CPU101は、他のCPU100、CPU110〜131からのリクエストパケットを入力し、そのリクエストパケットを処理する。そして、CPU101は、リクエストパケット転送元のCPU100、CPU110〜131に対する処理の結果を示す完了通知パケットをクロスバXB10に出力する。
CPU110、CPU111は、双方向の接続インタフェースを介してクロスバXB11と接続される。CPU120、CPU121は、双方向の接続インタフェースを介してクロスバXB12と接続される。CPU130、CPU131は双方向の接続インタフェースを介してクロスバXB13と接続される。
ここで、双方向の接続インタフェースは、たとえば、単方向の接続インタフェースを転送方向毎の2本で束ねたものである。
CPU100〜131は、それぞれ、他のCPU100〜131に接続されているメモリ104〜135にアクセスする際に、対応する(転送先)CPU100〜131へのリクエストパケットを生成し、接続されるクロスバXB10〜XB13に出力する。このとき、CPU100〜131は、リクエストパケットのパケットヘッダに転送先CPU100〜131を示すルーティング情報を設定する。CPU100〜131は、完了通知パケットをリクエストパケットの転送元CPU100〜131へ送出する際も、転送先CPU100〜131を示すルーティング情報を設定する。
クロスバXB10は、CPU100、101、および、クロスバXB11、XB12と双方向の接続インタフェースを介して接続される。クロスバXB11は、CPU110、111、および、クロスバXB10、XB13と双方向の接続インタフェースを介して接続される。
クロスバXB12は、CPU120、121、および、クロスバXB10、XB13と双方向の接続インタフェースを介して接続される。クロスバXB13は、CPU130、131、および、クロスバXB11、XB12と双方向の接続インタフェースを介して接続される。クロスバXB10〜XB13は、接続インタフェースのポート(ポート0、1、2、3)毎にパケット受信部および出力調停部を含む。
次に、クロスバXB10〜XB13の詳細について図面を参照して説明する。
クロスバXB10〜XB13を代表したクロスバXB20に関して説明する。図5は、クロスバXB20の構成を示すブロック図である。なお、図5には、説明のし易さのため、ポート0パケット受信部210、ポート1パケット受信部220、ポート2出力調停部230のみが記載されている(図4の構成とはポート数が異なっている)。
図5を参照すると、クロスバXB20内のポート0パケット受信部210は、接続インタフェース0と接続され、受信バッファ211、および、転送先解析部212を含む。
受信バッファ211は、接続インタフェース0から受信したパケットを一旦保持し、最も早く転送するパケット(以下、転送中パケットと呼ぶ)をポート2出力調停部230のパケット送信部233に出力している。この転送中パケットのパケットヘッダ内のルーティング情報、完了通知情報はポート2出力調停部230の完了通知調停部232にも取り込まれる。
転送先解析部212は、受信バッファ211に格納された転送中パケットのパケットヘッダ内のルーティング情報を解析し、出力ポートを決定し、たとえば、決定した出力ポート2出力調停部230に対し調停リクエストを出力する。
ポート1パケット受信部220は、接続インタフェース1と接続され、受信バッファ221、および、転送先解析部222を含み、ポート0パケット受信部210と同等の機能を持つ。
ポート0パケット受信部210、ポート1パケット受信部220は、それぞれ、ポート2出力調停部230からパケットGNT(Grant信号)を入力すると、「ポート2出力調停部230により転送中パケットが受け取られた」と認識し、次のサイクルにおいて、転送中パケットを受信バッファ211、221から削除する。そして、ポート0パケット受信部210、ポート1パケット受信部220は、格納している次のパケットを新たな転送中パケットとし、ポート2出力調停部230に出力する。
ポート0パケット受信部210、ポート1パケット受信部220は、ポート2出力調停部230から完了通知取込ストローブを入力すると、パケットGNTを入力していなくても、転送中パケットのパケットヘッダ中に存在する完了通知情報フィールドF40の完了通知有効・無効情報F41を無効に更新する。また、ポート0パケット受信部210、ポート1パケット受信部220は、ポート2出力調停部230から完了通知取込ストローブを受信した時の転送中パケットが完了通知パケットであった場合は、その完了通知パケットを受信バッファ221、211から破棄する。
ポート2出力調停部230は、接続インタフェース2、および、ポート0パケット受信部210、ポート1パケット受信部220と接続される。ポート2出力調停部230は、パケット調停部231、完了通知調停部232、および、パケット送信部233を含む。
パケット調停部231は、ポート0パケット受信部210、ポート1パケット受信部220から調停リクエストを受信し、ポート0パケット受信部210、ポート1パケット受信部220のどちらに、ポート2への1パケット分のパケット転送許可を与えるかを決定する調停を行う。
また、パケット調停部231は、調停の結果、ポート0パケット受信部210、ポート1パケット受信部220のうち、パケット転送許可を与える方(先に出力する方)に、「1パケット分の出力許可を意味するパケットGNT」を出力する。そして、パケット調停部231は、パケット送信部233、および、パケット送信部233に、パケット出力ストローブを出力する。調停のアルゴリズムは、事前に決定されている。
また、パケット調停部231は、ポート0パケット受信部210、ポート1パケット受信部220からのパケットのうち、パケット転送許可を与えた方からのパケットを選択させるパケット選択指示(信号)を、完了通知調停部232、パケット送信部233に出力する。
完了通知調停部232は、ポート0パケット受信部210、ポート1パケット受信部220の両方からパケット送信部233に出力されるパケットのうち、完了通知情報、および、ルーティング情報を取り込む。そして、完了通知調停部232は、パケット出力ストローブを入力すると、パケット選択指示、完了通知情報、および、ルーティング情報に基づいて以下の条件の成立を調べる。
条件(1)両方のパケットのルーティング情報が同一。
条件(2)選択された方のパケットがリクエストパケットであり有効な完了通知情報を含んでいない。すなわち、パケット選択指示で選択された方のパケットの完了通知情報が無効。
条件(3)選択されない方のパケットが完了通知パケットであるか、または、リクエストパケットであり有効な完了通知情報を含んでいる。すなわち、パケット選択指示で選択されない方のパケットの完了通知情報が有効。
以上の条件(1)、(2)、(3)がすべて成立すると、完了通知調停部232は、以下の処理を行う。完了通知調停部232は、「パケット選択指示で選択されない方の完了通知情報を、選択された方のパケットの完了通知情報として設定する」こと指示する完了通知取込ストローブを、パケット送信部233に出力する。同時に、完了通知調停部232は、完了通知取込ストローブをポート0パケット受信部210、ポート1パケット受信部220のうち、選択されない方に出力する。
パケット送信部233は、パケット出力ストローブを入力すると、パケット選択指示で指示された方のパケットを選択し接続インタフェース2を介して出力する。ただし、パケット送信部233は、完了通知取込ストローブを入力していると、選択しない方のパケットのパケットヘッダの完了通知情報フィールドF40の内容を、選択した方のパケットのパケットヘッダの完了通知情報フィールドF40に設定し(すなわち、置き換え)、選択した方のパケットを出力する。
次に、本実施の形態の動作について図面を参照して詳細に説明する。
図4を参照して説明する。ここで、図4のクロスバXB10が、図5のクロスバXB20の構成であるとして説明する。
まず、第1のケースについて説明する。
第1のケースは、CPU100から発行されたリクエストパケットが、CPU101から発行された完了通知パケットとクロスバXB10のポート2出力調停部230で競合したケースである。
CPU100は、CPU120へのリクエストパケットを生成し、クロスバXB10へ送出する。この際、CPU100は、リクエストパケットに図3の項番1で示される設定値を対応するフィールドに設定する。
CPU101は、CPU120への完了通知パケットを生成し、クロスバXB10へ送出する。この際、CPU101は、完了通知パケットに図3の項番2で示される設定値を対応するフィールドに設定する。
クロスバXB10のポート0パケット受信部210がCPU100からのパケットを入力し、同時に、ポート1パケット受信部220がCPU101からのパケットを入力する。そして、クロスバXB10のポート0パケット受信部210の転送先解析部212は、受信したパケットのパケットヘッダ内のルーティング情報を参照し、出力先はポート2と判断し、クロスバXB10のポート2出力調停部230に対して、パケット、および、調停リクエストを出力する。ポート1パケット受信部220の転送先解析部222も同様にパケット、および、調停リクエストを出力する。
クロスバXB10のポート2出力調停部230は、クロスバXB10のポート0パケット受信部210とクロスバXB10のポート1パケット受信部220とから同時に調停リクエストを入力する。クロスバXB10のポート2出力調停部230のパケット調停部231は、リクエストの調停を実施し、たとえば、ポート0パケット受信部210に対してパケットGNTを出力する。そして、パケット調停部231は、パケット出力ストローブ、パケット選択指示を、完了通知調停部232、および、パケット送信部233に出力する。
ポート0パケット受信部210は、パケットGNTを入力すると、次のサイクルで、調停リクエストに対応するパケットを受信バッファ211から削除する。
ポート2出力調停部230の完了通知調停部232は、パケット出力ストローブを入力すると、パケット選択指示、2つのパケットのルーティング情報、完了通知情報を調べる。完了通知調停部232は、ポート0パケット受信部210からのリクエストパケットのルーティング情報とポート1パケット受信部220からの完了通知パケットのルーティング情報とが同一であると認識する。
また、完了通知調停部232は、ポート0パケット受信部210からのリクエストパケットの完了通知有効・無効情報F41が無効を示していると認識する。また、完了通知調停部232は、ポート1パケット受信部220からのパケットの完了通知有効・無効情報F41が有効を示していると認識する。したがって、完了通知調停部232は、上記条件(1)、(2)、(3)が、すべて成立していると認識する。そして、完了通知調停部232は、完了通知取込ストローブを、パケット送信部233、および、ポート1パケット受信部220に出力する。
ポート2出力調停部230のパケット送信部233は、パケット出力ストローブを入力すると、パケット選択指示、完了通知取込ストローブを調べる。パケット送信部233は、完了通知取込ストローブが有効であると、パケット選択指示で選択されていない方のパケット(ポート1側)のパケットヘッダの完了通知情報をパケット選択指示で選択されている方のパケット(ポート0側)のパケットヘッダの完了通知情報フィールドF40に設定する。そして、パケット送信部233は、パケット選択指示で選択されている方のパケット(ポート0側)を接続インタフェースを介して出力する。
パケット送信部233は、完了通知取込ストローブが有効でないと、パケット選択指示で選択されている方のパケット(ポート0側)をそのまま接続インタフェースを介して出力する。
ポート1パケット受信部220は、ポート2出力調停部230の完了通知調停部232から完了通知取込ストローブを受信すると、受信バッファ221から対応するパケットを破棄する。
次に、第2のケースについて説明する。
第2のケースは、あるリクエストパケット(完了通知情報が無効)が、別のリクエストパケット(完了通知情報が有効)と競合するケースである。
第2のケースは、第1のケースと比べ、完了通知取込ストローブを入力したポートnパケット受信部が、対応するリクエストパケット(完了通知情報が有効)を破棄せず、そのパケットヘッダ内の完了通知情報を無効とする点が異なっている。すなわち、ポートnパケット受信部は、完了通知有効・無効情報F41を無効を示すように変更し、リクエストパケット自体を存続させる。
次に、図面を参照して、制御のタイミングについて詳細に説明する。
図6は、上述の第1のケースの制御のタイミングを示すタイムチャートである。図6を参照すると、サイクルT0において、ポート0パケット受信部210が、調停リクエスト、リクエストパケット(A1)を出力し、ポート1パケット受信部220が、調停リクエスト、完了通知パケット(B1)を出力する。ポート2出力調停部230は、調停を行い、パケットGNTをポート0パケット受信部210に出力する。
そして、ポート2出力調停部230は、完了通知取込ストローブをポート1パケット受信部220に出力する。次に、ポート2出力調停部230は、サイクルT1において、完了通知パケット(B1)の完了通知情報を設定したリクエストパケット(A1)を、接続インタフェースに出力する。
ポート0パケット受信部210は、パケットGNTを入力すると、サイクルT1において、調停リクエストを落とし、リクエストパケット(A1)を削除する。また、ポート1パケット受信部220は、完了通知取込ストローブを入力すると、サイクルT1において、調停リクエストを落とし、リクエストパケット(B1)を破棄する。
次に、本実施の形態の効果について説明する。
本実施の形態のコンピュータシステム500は、先に出力するパケットに前記後に出力するパケット内の制御情報を設定して出力する構成により、後に出力する制御情報通知パケットを破棄できるか、あるいは、後に出力するリクエストパケット内の制御情報を無効にできる。したがって、本実施の形態は、制御情報通知パケットの数が減少する、または、制御情報が速く転送され、パケットにおけるレイテンシが向上するという効果を持つ。
図7は、本実施の形態のスループット性能の改善効果を、本実施の形態を適用しない構成と比較した説明図である。図7を参照すると、ポート0からのリクエストパケット3個(1、2、3)と、ポート1からの完了通知パケット1個(1)、リクエストパケット1個(2)との計5個のパケットが、ポート2から出力される様子が比較されている。
本実施の形態を適用しない構成では、リクエストパケットと完了通知パケットを合成(すなわち、完了通知情報を他のパケットに設定)することがないので、5個のパケットがポート2から出力されるには、5Tの時間を要している。これに対し、本実施の形態は、リクエストパケット1と完了通知パケット1を1つのパケットとして転送し、完了通知パケット1を破棄する。したがって、各ポートから転送される5個のパケットがポート2から出力されるには4Tの時間しか要せず、破棄された完了通知パケット1の分のスループットが改善される。
図8は、本実施の形態の完了通知情報の転送レイテンシの改善の効果を、本実施の形態を適用しない構成と比較した説明図である。図8を参照すると、4個のポート(ポート0、1、2、3)からのリクエストパケット(1、2、3、4)がポート2へ出力される際の出力競合が発生したケースである。ポート3からのリクエストパケットのみが有効な完了通知情報を含む。ここで、ラウンドロビン等の優先度が最も低いポート3からの有効な完了通知情報を含むリクエストパケット4の完了通知情報が出力されるタイミングが比較される。
本実施の形態を適用しない構成では、リクエストパケット4の有効な完了通知情報は、リクエストパケット4が出力されないと、転送されないので、4Tの時間を要している。これに対し、本実施の形態では、リクエストパケット4の完了通知情報がリクエストパケット1に取り込まれ(設定され)、リクエストパケット1の出力と同時に出力されるので、3Tのレイテンシが改善されたことになる。
次に、本発明の第3の実施の形態について説明する。
本発明の第3の実施の形態は、1つのパケットのパケットヘッダ内に、n個(nは、2以上)の完了通知情報フィールドF40を設ける。そして、本実施の形態は、1つのリクエストパケットに、最大n個の他のパケットの完了通知情報を取り込み可能な構成をとる。この構成により、最大n個の完了通知情報の転送のレイテンシが改善される。
本発明の第1の実施の形態の構成を示すブロック図。 パケットヘッダのフォーマットを示す説明図。 リクエストパケットおよび完了通知パケットのパケットヘッダの内容を示す説明図。 本発明の第2の実施の形態の構成を示すブロック図。 クロスバの構成を示すブロック図。 制御のタイミングを示すタイムチャート。 本発明の効果を示す説明図。 本発明の効果を示す説明図。
符号の説明
800 パケット制御回路
900 パケット処理装置
F10 パケット種別フィールド
F20 ルーティング情報フィールド
F30 パケットIDフィールド
F40 完了通知情報フィールド
F41 完了通知有効・無効情報
F42 終了ステータス
F43 パケットID
500 コンピュータシステム
100、101 CPU
110、111 CPU
120、121 CPU
130、131 CPU
XB10 クロスバ
XB11 クロスバ
XB12 クロスバ
XB13 クロスバ
104、105 メモリ
114、115 メモリ
124、125 メモリ
134、135 メモリ
XB20 クロスバ
210 ポート0パケット受信部
211 受信バッファ
212 転送先解析部
220 ポート1パケット受信部
221 受信バッファ
222 転送先解析部
230 ポート2出力調停部
231 パケット調停部
232 完了通知調停部
233 パケット送信部

Claims (11)

  1. 転送先が同一の複数のパケットを同時に受け付けた場合に、調停の結果、
    先に出力するパケットが制御情報通知パケットでなく、かつ、有効な制御情報を含まず、
    後に出力するパケットが制御情報通知パケットであるか、あるいは、リクエストパケットであり有効な制御情報を含むと、
    前記先に出力するパケットのパケットヘッダ内の制御情報の部分に前記後に出力するパケットのパケットヘッダ内の制御情報を設定し、
    前記後に出力するパケットが制御情報通知パケットであれば、前記後に出力するパケットを破棄し、制御情報を含むリクエストパケットであれば、制御情報を無効にする
    ことを特徴とするパケット制御回路。
  2. 制御情報は、制御情報自身が有効であるか無効であるかどうかを示す有効・無効情報と、パケットの転送先でパケットの処理が正常終了したのか異常終了したのかを示す終了ステータスと、どのパケットに対する制御情報であるかどうかを示すパケットIDとを含むことを特徴とする請求項1記載のパケット制御回路。
  3. パケットヘッダは、制御情報通知パケット、リクエストパケットの種別を示すパケット種別、パケットの転送先を示すルーティング情報、または、パケットを識別するパケットIDを含むことを特徴とする請求項1または2記載のパケット制御回路。
  4. 入力ポート対応のパケット受信部、および、出力ポート対応の出力調停部を備え、前記パケット受信部は、前記入力ポートからパケットを受け付けパケットを出力する前記出力ポートを決定し対応する前記調停リクエスト部に調停リクエストを出力し、
    前記出力調停部は、複数の調停リクエストを同時に入力すると調停を行い、調停により先に出力するパケットが制御情報を含まず、後に出力するパケットが制御情報通知パケットであるか、あるいは、リクエストパケットであり有効な制御情報を含むと、前記先に出力するパケットに前記後に出力するパケット内の制御情報を設定して前記出力ポートに出力する請求項1ないし3のいずれかに記載のパケット制御回路。
  5. 制御情報は、リクエストパケットの正常終了・異常終了を示す完了通知情報であり、制御情報通知パケットは、リクエストパケットの正常終了・異常終了を通知するパケットであることを特徴とする請求項1ないし4のいずれかに記載のパケット制御回路。
  6. 請求項1ないし5のいずれかに記載の前記パケット制御回路を複数段接続したことを特徴とするパケット処理装置。
  7. 転送先が同一の複数のパケットを同時に受け付けた場合に、調停の結果、
    転送先が同一の複数のパケットを同時に受け付けた場合に、調停により先に出力するパケットが情報を含まず、後に出力するパケットが制御情報通知パケットであるか、あるいは、リクエストパケットであり有効な制御情報を含むと、前記先に出力するパケットに前記後に出力するパケット内の制御情報を設定して出力し、
    前記先に出力するパケットに前記後に出力するパケット内の制御情報を設定する場合に、前記先に出力するパケットのパケットヘッダ内の制御情報の部分に前記後に出力するパケットのパケットヘッダ内の制御情報を設定し、
    前記先に出力するパケットに前記後に出力するパケット内の制御情報を設定して出力した場合に、前記後に出力するパケットが制御情報通知パケットであれば、前記後に出力するパケットを破棄し、制御情報を含むリクエストパケットであれば、制御情報を無効にすることを特徴とするパケット制御方法。
  8. 制御情報は、制御情報自身が有効であるか無効であるかどうかを示す有効・無効情報と、パケットの転送先でパケットの処理が正常終了したのか異常終了したのかを示す終了ステータスと、どのパケットに対する制御情報であるかどうかを示すパケットIDとを含むことを特徴とする請求項7記載のパケット制御方法。
  9. パケットヘッダは、制御情報通知パケット、リクエストパケットの種別を示すパケット種別、パケットの転送先を示すルーティング情報、または、パケットを識別するパケットIDを含むことを特徴とする請求項7または8記載のパケット制御方法。
  10. 入力ポート対応のパケット受信部、および、出力ポート対応の出力調停部を備えるパケット制御回路におけるパケット制御方法であって、前記パケット受信部は、前記入力ポートからパケットを受け付けパケットを出力する前記出力ポートを決定し対応する前記調停リクエスト部に調停リクエストを出力し、
    前記出力調停部は、複数の調停リクエストを同時に入力すると調停を行い、調停により先に出力するパケットが情報を含まず、後に出力するパケットが制御情報通知パケットであるか、あるいは、リクエストパケットであり有効な制御情報を含むと、前記先に出力するパケットに前記後に出力するパケット内の制御情報を設定して前記出力ポートに出力する請求項7ないし9のいずれかに記載のパケット制御方法。
  11. 制御情報は、リクエストパケットの正常終了・異常終了を示す完了通知情報であり、制御情報通知パケットは、リクエストパケットの正常終了・異常終了を通知するパケットであることを特徴とする請求項7ないし10のいずれかに記載のパケット制御方法。
JP2008107114A 2008-04-16 2008-04-16 パケット制御回路、パケット処理装置、および、パケット処理方法 Expired - Fee Related JP4679601B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008107114A JP4679601B2 (ja) 2008-04-16 2008-04-16 パケット制御回路、パケット処理装置、および、パケット処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008107114A JP4679601B2 (ja) 2008-04-16 2008-04-16 パケット制御回路、パケット処理装置、および、パケット処理方法

Publications (2)

Publication Number Publication Date
JP2009260645A JP2009260645A (ja) 2009-11-05
JP4679601B2 true JP4679601B2 (ja) 2011-04-27

Family

ID=41387501

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008107114A Expired - Fee Related JP4679601B2 (ja) 2008-04-16 2008-04-16 パケット制御回路、パケット処理装置、および、パケット処理方法

Country Status (1)

Country Link
JP (1) JP4679601B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10269190A (ja) * 1997-03-26 1998-10-09 Hitachi Ltd 論理回路接続装置
JP2003337807A (ja) * 2002-05-21 2003-11-28 Nec Corp クロスバの高速化方法及びクロスバの高速化方式
JP2008504609A (ja) * 2004-06-30 2008-02-14 インテル コーポレイション 相互接続ネットワーク・ルータ内のパケットを合体する装置及び方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10269190A (ja) * 1997-03-26 1998-10-09 Hitachi Ltd 論理回路接続装置
JP2003337807A (ja) * 2002-05-21 2003-11-28 Nec Corp クロスバの高速化方法及びクロスバの高速化方式
JP2008504609A (ja) * 2004-06-30 2008-02-14 インテル コーポレイション 相互接続ネットワーク・ルータ内のパケットを合体する装置及び方法

Also Published As

Publication number Publication date
JP2009260645A (ja) 2009-11-05

Similar Documents

Publication Publication Date Title
US8638665B2 (en) Router, information processing device having said router, and packet routing method
KR100689006B1 (ko) 데이터 전송 장치
US7613849B2 (en) Integrated circuit and method for transaction abortion
EP2312457B1 (en) Data processing apparatus, data processing method and computer-readable medium
JP2006333438A (ja) ゲートウェイ装置及びルーティング方法
JP3919765B2 (ja) アービトレーションを管理する方法およびプロセッサ
US9306844B2 (en) Zero-cycle router for networks on-chip
KR100905802B1 (ko) 컴퓨터 시스템의 입력/출력 노드에서 태깅 및 중재 매카니즘
US6721816B1 (en) Selecting independently of tag values a given command belonging to a second virtual channel and having a flag set among commands belonging to a posted virtual and the second virtual channels
US20140304450A1 (en) Switching device, packet control method, and data communication system
US8040907B2 (en) Switching method
US7218638B2 (en) Switch operation scheduling mechanism with concurrent connection and queue scheduling
JP4679601B2 (ja) パケット制御回路、パケット処理装置、および、パケット処理方法
JP2009194510A (ja) 優先調停システム及び優先調停方法
US7272151B2 (en) Centralized switching fabric scheduler supporting simultaneous updates
CN112468392B (zh) 一种处理多播流量死锁问题的片上网络及方法
JP5239769B2 (ja) リクエスト順序制御システム、リクエスト順序制御方法およびリクエスト順序制御プログラム
US7254658B2 (en) Write transaction interleaving
JP4669174B2 (ja) チューナブルブロードキャスト/ポイントツーポイントパケットアービトレーション
US9548947B2 (en) PPI de-allocate CPP bus command
JP3747020B2 (ja) クロスバー調停システム
CN113900978B (zh) 数据传输方法、装置和芯片
JP2882304B2 (ja) マルチプロセッサシステム
US9413665B2 (en) CPP bus transaction value having a PAM/LAM selection code field
JPWO2007096983A1 (ja) データ入出力制御装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101022

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110105

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140210

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees