JP5081847B2 - マルチプロセッサによるパケット処理装置およびパケット処理方法 - Google Patents
マルチプロセッサによるパケット処理装置およびパケット処理方法 Download PDFInfo
- Publication number
- JP5081847B2 JP5081847B2 JP2009037933A JP2009037933A JP5081847B2 JP 5081847 B2 JP5081847 B2 JP 5081847B2 JP 2009037933 A JP2009037933 A JP 2009037933A JP 2009037933 A JP2009037933 A JP 2009037933A JP 5081847 B2 JP5081847 B2 JP 5081847B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- information
- network
- packet processing
- program
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Description
policy-group to_ppe1 list 10 ………(2)
flow filter user617 in list 100 any any action policy_group to_ppe1 ………(3)
111A〜111C パケット処理ボード(PPB)
112A〜112F ネットワーク処理ユニット(NPU)
113A〜113C 仮想環境−NPUディスパッチ表(NDT)
141、1013 制御ボード(CB)
142 CPU
143 メモリ
151A〜151C ネットワーク・インタフェース(NIF)
152A〜152C 仮想環境−ボード・ディスパッチ表(BDT)
181、1012 スイッチ・ファブリック
202 I/O制御装置
203 仮想環境−コア・ディスパッチ表(CDT)
211 汎用処理コア(GPC)
221 パケット処理コア(PPC)
231 スタティック・ランダム・アクセス・メモリ(SRAM)
241 メモリ制御装置
242 ダイナミック・ランダム・アクセス・メモリ(DRAM)
251 バス
261 スイッチ
271 キャッシュ
401 コアわりあて表
Claims (16)
- ネットワークに接続されるパケット処理装置であって、
前記パケット処理装置は、
複数のプロセッサ・コアと、前記複数のプロセッサ・コアに接続されるメモリと、を備え、
属性情報に対応するパケットのアドレスの変換または削除を定める情報を保持し、
プログラムのロード要求を受信すると、前記複数のプロセッサ・コアのうち、まだプログラムがロードされていないプロセッサ・コアを選択し、
前記選択されたプロセッサ・コアに前記プログラムをロードし、
前記ロード要求によって指定された属性情報と、前記プログラムがロードされたプロセッサ・コアと、を対応付ける第1の対応付け情報を保持し、
パケットを受信すると、前記受信したパケットに対応する属性情報を特定し、
前記特定された属性情報および前記アドレスの変換または削除を定める情報に基づいて、前記受信したパケットのアドレスを変換または削除した後、前記受信したパケットを、前記特定された属性情報に対応するプロセッサ・コアに転送することを特徴とするパケット処理装置。 - 前記パケット処理装置は、前記第1の対応付け情報に基づいて、前記まだプログラムがロードされていないプロセッサ・コアを選択することを特徴とする請求項1に記載のパケット処理装置。
- 前記パケット処理装置は、
アドレス、ユーザの識別子およびサービスの識別子の少なくとも一つと、前記属性情報と、を対応付ける第2の対応付け情報を保持し、
前記パケットを受信すると、前記第2の対応付け情報に基づいて、前記受信したパケットに含まれるアドレス、ユーザの識別子およびサービスの識別子の少なくとも一つに対応する前記属性情報を特定することを特徴とする請求項1に記載のパケット処理装置。 - ネットワークに接続されるパケット処理装置であって、
前記パケット処理装置は、複数のプロセッサ・コアと、前記複数のプロセッサ・コアに接続されるメモリと、パケットを転送するスイッチと、前記スイッチに接続される複数のパケット処理モジュールと、前記スイッチおよび前記ネットワークに接続される複数のネットワーク・インタフェースと、前記パケット処理装置を制御する制御部と、を備え、
前記各パケット処理モジュールは、複数のネットワーク処理ユニットを備え、
前記各ネットワーク処理ユニットは、複数の前記プロセッサ・コアを備え、
前記パケット処理装置は、
プログラムのロード要求を受信すると、前記複数のプロセッサ・コアのうち、まだプログラムがロードされていないプロセッサ・コアを選択し、
前記選択されたプロセッサ・コアに前記プログラムをロードし、
前記ロード要求によって指定された属性情報と、前記プログラムがロードされたプロセッサ・コアと、を対応付ける第1の対応付け情報を保持し、
パケットを受信すると、前記受信したパケットに対応する属性情報を特定し、
前記第1の対応付け情報は、第3の対応付け情報、第4の対応付け情報、第5の対応付け情報および第6の対応付け情報を含み、
前記第3の対応付け情報は、前記制御部によって保持され、前記属性情報と、前記プロセッサ・コアの識別情報と、前記プロセッサ・コアを含む前記ネットワーク処理ユニットの識別情報と、前記ネットワーク処理ユニットを含む前記パケット処理モジュールの識別情報と、を対応付け、
前記第4の対応付け情報は、前記第3の対応付け情報のうち、少なくとも、前記属性情報と、前記プロセッサ・コアの識別情報とを対応付ける情報と同一の情報を含み、
前記第5の対応付け情報は、前記第3の対応付け情報のうち、少なくとも、前記属性情報と、前記ネットワーク処理ユニットの識別情報とを対応付ける情報と同一の情報を含み、
前記第6の対応付け情報は、前記第3の対応付け情報のうち、少なくとも、前記属性情報と、前記パケット処理モジュールの識別情報とを対応付ける情報と同一の情報を含み、
前記各ネットワーク・インタフェースは、
前記第6の対応付け情報を保持し、
前記ネットワークから前記パケットを受信すると、前記第6の対応付け情報に基づいて、前記特定された属性情報に対応する前記パケット処理モジュールに、前記受信したパケットを転送し、
前記各パケット処理モジュールは、
前記第5の対応付け情報を保持し、
前記パケットを受信すると、前記第5の対応情報に基づいて、前記特定された属性情報に対応する前記ネットワーク処理ユニットに、前記受信したパケットを転送し、
前記各ネットワーク処理ユニットは、
前記第4の対応付け情報を保持し、
前記パケットを受信すると、前記第4の対応情報に基づいて、前記特定された属性情報に対応する前記プロセッサ・コアに、前記受信したパケットを転送することを特徴とするパケット処理装置。 - 前記各ネットワーク・インタフェースは、
属性情報に対応する前記パケットのアドレスの変換または削除を定める情報をさらに保持し、
前記ネットワークから前記パケットを受信すると、前記特定された属性情報および前記アドレスの変換または削除を定める情報に基づいて、前記受信したパケットのアドレスを変換または削除し、
前記変換されたアドレスを含むパケットまたは前記アドレスを削除されたパケットを前記パケット処理モジュールに転送することを特徴とする請求項4に記載のパケット処理装置。 - ネットワークに接続されるパケット処理装置であって、
前記パケット処理装置は、複数のプロセッサ・コアと、前記複数のプロセッサ・コアに接続されるメモリと、前記ネットワークに接続され、パケットを転送するスイッチと、前記スイッチに接続される複数のパケット処理モジュールと、前記パケット処理装置を制御する制御部と、を備え、
前記各パケット処理モジュールは、複数のネットワーク処理ユニットを備え、
前記各ネットワーク処理ユニットは、複数の前記プロセッサ・コアを備え、
前記パケット処理装置は、
プログラムのロード要求を受信すると、前記複数のプロセッサ・コアのうち、まだプログラムがロードされていないプロセッサ・コアを選択し、
前記選択されたプロセッサ・コアに前記プログラムをロードし、
前記ロード要求によって指定された属性情報と、前記プログラムがロードされたプロセッサ・コアと、を対応付ける第1の対応付け情報を保持し、
パケットを受信すると、前記受信したパケットに対応する属性情報を特定し、
前記第1の対応付け情報は、第3の対応付け情報、第4の対応付け情報および第5の対応付け情報を含み、
前記第3の対応付け情報は、前記制御部によって保持され、前記属性情報と、前記プロセッサ・コアの識別情報と、前記プロセッサ・コアを含む前記ネットワーク処理ユニットの識別情報と、前記ネットワーク処理ユニットを含む前記パケット処理モジュールの識別情報と、を対応付け、
前記第4の対応付け情報は、前記第3の対応付け情報のうち、少なくとも、前記属性情報と、前記プロセッサ・コアの識別情報とを対応付ける情報と同一の情報を含み、
前記第5の対応付け情報は、前記第3の対応付け情報のうち、少なくとも、前記属性情報と、前記ネットワーク処理ユニットの識別情報とを対応付ける情報と同一の情報を含み、
前記制御部は、前記第3の対応付け情報に基づいて、前記特定された属性情報と、前記パケット処理モジュールとを対応付けるコマンドを前記スイッチに転送し、
前記スイッチは、前記ネットワークから前記パケットを受信すると、前記コマンドに基づいて、前記特定された属性情報に対応する前記パケット処理モジュールに、前記受信したパケットを転送し、
前記各パケット処理モジュールは、
前記第5の対応付け情報を保持し、
前記パケットを受信すると、前記第5の対応情報に基づいて、前記特定された属性情報に対応する前記ネットワーク処理ユニットに、前記受信したパケットを転送し、
前記各ネットワーク処理ユニットは、
前記第4の対応付け情報を保持し、
前記パケットを受信すると、前記第4の対応情報に基づいて、前記特定された属性情報に対応する前記プロセッサ・コアに、前記受信したパケットを転送することを特徴とするパケット処理装置。 - ネットワークに接続されるパケット処理装置であって、
前記パケット処理装置は、複数のプロセッサ・コアと、前記複数のプロセッサ・コアに接続されるメモリと、第1のネットワーク処理ユニットと、第2のネットワーク処理ユニットと、を備え、
第1のネットワーク処理ユニット及び第2のネットワーク処理ユニットは、それぞれ、複数の前記プロセッサ・コアを備え、
前記パケット処理装置は、
プログラムのロード要求を受信すると、前記複数のプロセッサ・コアのうち、まだプログラムがロードされていないプロセッサ・コアを選択し、
前記第1のネットワーク処理ユニットが備える前記複数のプロセッサ・コアの少なくとも一つに既にプログラムがロードされ、別の少なくとも一つにまだプログラムがロードされておらず、前記第2のネットワーク処理ユニットが備えるいずれの前記プロセッサ・コアにもまだプログラムがロードされていない時点で、プログラムのロード要求を受信すると、前記第1のネットワーク処理ユニットが備える複数の前記プロセッサ・コアの少なくとも一つにロードされているプログラムを、前記第2のネットワーク処理ユニットが備える前記複数のプロセッサ・コアの少なくとも一つにロードし、
さらに、前記受信したロード要求によって指定されたプログラムを、前記第2のネットワーク処理ユニットが備える前記複数のプロセッサ・コアのうち、まだプログラムがロードされていないプロセッサ・コアにロードし、
前記ロード要求によって指定された属性情報と、前記プログラムがロードされたプロセッサ・コアと、を対応付ける第1の対応付け情報を保持し、
パケットを受信すると、前記受信したパケットに対応する属性情報を特定し、
前記受信したパケットを、前記特定された属性情報に対応するプロセッサ・コアに転送することを特徴とするパケット処理装置。 - ネットワークに接続されるパケット処理装置であって、
前記パケット処理装置は、複数のプロセッサ・コアと、前記複数のプロセッサ・コアに接続されるメモリと、パケットを転送するスイッチと、前記スイッチに接続される複数のパケット処理モジュールと、前記スイッチおよび前記ネットワークに接続される複数のネットワーク・インタフェースと、前記パケット処理装置を制御する制御部と、を備え、
前記各パケット処理モジュールは、ネットワーク処理ユニットを備え、
前記各ネットワーク処理ユニットは、複数の前記プロセッサ・コアを備え、
前記パケット処理装置は、
プログラムのロード要求を受信すると、前記複数のプロセッサ・コアのうち、まだプログラムがロードされていないプロセッサ・コアを選択し、
前記選択されたプロセッサ・コアに前記プログラムをロードし、
前記ロード要求によって指定された属性情報と、前記プログラムがロードされたプロセッサ・コアと、を対応付ける第1の対応付け情報を保持し、
パケットを受信すると、前記受信したパケットに対応する属性情報を特定し、
前記第1の対応付け情報は、第3の対応付け情報、第4の対応付け情報、及び第5の対応付け情報を含み、
前記第3の対応付け情報は、前記制御部によって保持され、前記属性情報と、前記プロセッサ・コアの識別情報と、前記プロセッサ・コアを含む前記ネットワーク処理ユニットの識別情報と、前記ネットワーク処理ユニットを含む前記パケット処理モジュールの識別情報と、を対応付け、
前記第4の対応付け情報は、前記第3の対応付け情報のうち、少なくとも、前記属性情報と、前記プロセッサ・コアの識別情報とを対応付ける情報と同一の情報を含み、
前記第5の対応付け情報は、前記第3の対応付け情報のうち、少なくとも、前記属性情報と、前記パケット処理モジュールの識別情報とを対応付ける情報と同一の情報を含み、
前記各ネットワーク・インタフェースは、
前記第5の対応付け情報を保持し、
前記ネットワークから前記パケットを受信すると、前記第5の対応付け情報に基づいて、前記特定された属性情報に対応する前記パケット処理モジュールに、前記受信したパケットを転送し、
前記各パケット処理モジュールは、
前記ネットワーク処理ユニットに、前記受信したパケットを転送し、
前記ネットワーク処理ユニットは、
前記第4の対応付け情報を保持し、
前記パケットを受信すると、前記第4の対応情報に基づいて、前記特定された属性情報に対応する前記プロセッサ・コアに、前記受信したパケットを転送することを特徴とするパケット処理装置。 - ネットワークに接続されるパケット処理装置が実行するパケット処理方法であって、
前記パケット処理装置は、
複数のプロセッサ・コアと、前記複数のプロセッサ・コアに接続されるメモリと、を備え、
属性情報に対応するパケットのアドレスの変換または削除を定める情報を保持し、
前記パケット処理方法は、
プログラムのロード要求を受信すると、前記複数のプロセッサ・コアのうち、まだプログラムがロードされていないプロセッサ・コアを選択する第1手順と、
前記選択されたプロセッサ・コアに前記プログラムをロードする第2手順と、
前記ロード要求によって指定された属性情報と、前記プログラムがロードされたプロセッサ・コアと、を対応付ける第1の対応付け情報を保持する第3手順と、
パケットを受信すると、前記受信したパケットに対応する属性情報を特定する第4手順と、
前記受信したパケットを、前記特定された属性情報に対応するプロセッサ・コアに転送する第5手順と、を含み、
前記第5手順は、前記受信したパケットを前記特定された属性情報に対応するプロセッサ・コアに転送する前に、前記特定された属性情報および前記アドレスの変換または削除を定める情報に基づいて、前記受信したパケットのアドレスを変換または削除する手順を含むことを特徴とするパケット処理方法。 - 前記第1手順は、前記第1の対応付け情報に基づいて、前記まだプログラムがロードされていないプロセッサ・コアを選択する手順を含むことを特徴とする請求項9に記載のパケット処理方法。
- 前記パケット処理装置は、アドレス、ユーザの識別子およびサービスの識別子の少なくとも一つと、前記属性情報と、を対応付ける第2の対応付け情報を保持し、
前記第4手順は、前記第2の対応付け情報に基づいて、前記受信したパケットに含まれるアドレス、ユーザの識別子およびサービスの識別子の少なくとも一つに対応する前記属性情報を特定する手順を含むことを特徴とする請求項9に記載のパケット処理方法。 - ネットワークに接続されるパケット処理装置が実行するパケット処理方法であって、
前記パケット処理装置は、複数のプロセッサ・コアと、前記複数のプロセッサ・コアに接続されるメモリと、パケットを転送するスイッチと、前記スイッチに接続される複数のパケット処理モジュールと、前記スイッチおよび前記ネットワークに接続される複数のネットワーク・インタフェースと、前記パケット処理装置を制御する制御部と、を備え、
前記各パケット処理モジュールは、複数のネットワーク処理ユニットを備え、
前記各ネットワーク処理ユニットは、複数の前記プロセッサ・コアを備え、
前記パケット処理方法は、
プログラムのロード要求を受信すると、前記複数のプロセッサ・コアのうち、まだプログラムがロードされていないプロセッサ・コアを選択する第1手順と、
前記選択されたプロセッサ・コアに前記プログラムをロードする第2手順と、
前記ロード要求によって指定された属性情報と、前記プログラムがロードされたプロセッサ・コアと、を対応付ける第1の対応付け情報を保持する第3手順と、
パケットを受信すると、前記受信したパケットに対応する属性情報を特定する第4手順と、
前記受信したパケットを、前記特定された属性情報に対応するプロセッサ・コアに転送する第5手順と、を含み、
前記第1の対応付け情報は、第3の対応付け情報、第4の対応付け情報、第5の対応付け情報および第6の対応付け情報を含み、
前記第3の対応付け情報は、前記制御部によって保持され、前記属性情報と、前記プロセッサ・コアの識別情報と、前記プロセッサ・コアを含む前記ネットワーク処理ユニットの識別情報と、前記ネットワーク処理ユニットを含む前記パケット処理モジュールの識別情報と、を対応付け、
前記第4の対応付け情報は、前記第3の対応付け情報のうち、少なくとも、前記属性情報と、前記プロセッサ・コアの識別情報とを対応付ける情報と同一の情報を含み、
前記第5の対応付け情報は、前記第3の対応付け情報のうち、少なくとも、前記属性情報と、前記ネットワーク処理ユニットの識別情報とを対応付ける情報と同一の情報を含み、
前記第6の対応付け情報は、前記第3の対応付け情報のうち、少なくとも、前記属性情報と、前記パケット処理モジュールの識別情報とを対応付ける情報と同一の情報を含み、
前記各ネットワーク処理ユニットは、前記第4の対応付け情報を保持し、
前記各パケット処理モジュールは、前記第5の対応付け情報を保持し、
前記各ネットワーク・インタフェースは、前記第6の対応付け情報を保持し、
前記第5手順は、
前記各ネットワーク・インタフェースが、前記ネットワークから前記パケットを受信すると、前記第6の対応付け情報に基づいて、前記特定された属性情報に対応する前記パケット処理モジュールに、前記受信したパケットを転送する第6手順と、
前記各パケット処理モジュールが、前記パケットを受信すると、前記第5の対応情報に基づいて、前記特定された属性情報に対応する前記ネットワーク処理ユニットに、前記受信したパケットを転送する第7手順と、
前記各ネットワーク処理ユニットが、前記パケットを受信すると、前記第4の対応情報に基づいて、前記特定された属性情報に対応する前記プロセッサ・コアに、前記受信したパケットを転送する第8手順と、を含むことを特徴とするパケット処理方法。 - 前記各ネットワーク・インタフェースは、属性情報に対応する前記パケットのアドレスの変換または削除を定める情報をさらに保持し、
前記第6手順は、前記各ネットワーク・インタフェースが、前記ネットワークから前記パケットを受信すると、前記特定された属性情報および前記アドレスの変換または削除を定める情報に基づいて、前記受信したパケットのアドレスを変換または削除し、前記変換されたアドレスを含むパケットまたは前記アドレスを削除されたパケットを前記パケット処理モジュールに転送する手順を含むことを特徴とする請求項12に記載のパケット処理方法。 - ネットワークに接続されるパケット処理装置が実行するパケット処理方法であって、
前記パケット処理装置は、複数のプロセッサ・コアと、前記複数のプロセッサ・コアに接続されるメモリと、前記ネットワークに接続され、パケットを転送するスイッチと、前記スイッチに接続される複数のパケット処理モジュールと、前記パケット処理装置を制御する制御部と、を備え、
前記各パケット処理モジュールは、複数のネットワーク処理ユニットを備え、
前記各ネットワーク処理ユニットは、複数の前記プロセッサ・コアを備え、
前記パケット処理方法は、
プログラムのロード要求を受信すると、前記複数のプロセッサ・コアのうち、まだプログラムがロードされていないプロセッサ・コアを選択する第1手順と、
前記選択されたプロセッサ・コアに前記プログラムをロードする第2手順と、
前記ロード要求によって指定された属性情報と、前記プログラムがロードされたプロセッサ・コアと、を対応付ける第1の対応付け情報を保持する第3手順と、
パケットを受信すると、前記受信したパケットに対応する属性情報を特定する第4手順と、
前記受信したパケットを、前記特定された属性情報に対応するプロセッサ・コアに転送する第5手順と、を含み、
前記第1の対応付け情報は、第3の対応付け情報、第4の対応付け情報および第5の対応付け情報を含み、
前記第3の対応付け情報は、前記制御部によって保持され、前記属性情報と、前記プロセッサ・コアの識別情報と、前記プロセッサ・コアを含む前記ネットワーク処理ユニットの識別情報と、前記ネットワーク処理ユニットを含む前記パケット処理モジュールの識別情報と、を対応付け、
前記第4の対応付け情報は、前記第3の対応付け情報のうち、少なくとも、前記属性情報と、前記プロセッサ・コアの識別情報とを対応付ける情報と同一の情報を含み、
前記第5の対応付け情報は、前記第3の対応付け情報のうち、少なくとも、前記属性情報と、前記ネットワーク処理ユニットの識別情報とを対応付ける情報と同一の情報を含み、
前記各ネットワーク処理ユニットは、前記第4の対応付け情報を保持し、
前記各パケット処理モジュールは、前記第5の対応付け情報を保持し、
前記方法は、さらに、前記制御部が、前記第3の対応付け情報に基づいて、前記特定された属性情報と、前記パケット処理モジュールとを対応付けるコマンドを前記スイッチに転送する手順を含み、
前記第5手順は、
前記スイッチが、前記ネットワークから前記パケットを受信すると、前記コマンドに基づいて、前記特定された属性情報に対応する前記パケット処理モジュールに、前記受信したパケットを転送する手順と、
前記各パケット処理モジュールが、前記パケットを受信すると、前記第5の対応情報に基づいて、前記特定された属性情報に対応する前記ネットワーク処理ユニットに、前記受信したパケットを転送する手順と、
前記各ネットワーク処理ユニットが、前記パケットを受信すると、前記第4の対応情報に基づいて、前記特定された属性情報に対応する前記プロセッサ・コアに、前記受信したパケットを転送する手順と、を含むことを特徴とするパケット処理方法。 - ネットワークに接続されるパケット処理装置が実行するパケット処理方法であって、
前記パケット処理装置は、複数のプロセッサ・コアと、前記複数のプロセッサ・コアに接続されるメモリと、第1のネットワーク処理ユニットと、第2のネットワーク処理ユニットと、を備え、
第1のネットワーク処理ユニット及び第2のネットワーク処理ユニットは、それぞれ、複数の前記プロセッサ・コアを備え、
前記パケット処理方法は、
プログラムのロード要求を受信すると、前記複数のプロセッサ・コアのうち、まだプログラムがロードされていないプロセッサ・コアを選択する第1手順と、
前記選択されたプロセッサ・コアに前記プログラムをロードする第2手順と、
前記ロード要求によって指定された属性情報と、前記プログラムがロードされたプロセッサ・コアと、を対応付ける第1の対応付け情報を保持する第3手順と、
パケットを受信すると、前記受信したパケットに対応する属性情報を特定する第4手順と、
前記受信したパケットを、前記特定された属性情報に対応するプロセッサ・コアに転送する第5手順と、を含み、
前記第2手順は、
前記第1のネットワーク処理ユニットが備える前記複数のプロセッサ・コアの少なくとも一つに既にプログラムがロードされ、別の少なくとも一つにまだプログラムがロードされておらず、前記第2のネットワーク処理ユニットが備えるいずれの前記プロセッサ・コアにもまだプログラムがロードされていない場合、前記第1のネットワーク処理ユニットが備える複数の前記プロセッサ・コアの少なくとも一つにロードされているプログラムを、前記第2のネットワーク処理ユニットが備える前記複数のプロセッサ・コアの少なくとも一つにロードする手順と、
前記受信したロード要求によって指定されたプログラムを、前記第2のネットワーク処理ユニットが備える前記複数のプロセッサ・コアのうち、まだプログラムがロードされていないプロセッサ・コアにロードする手順と、を含むことを特徴とするパケット処理方法。 - ネットワークに接続されるパケット処理装置が実行するパケット処理方法であって、
前記パケット処理装置は、複数のプロセッサ・コアと、前記複数のプロセッサ・コアに接続されるメモリと、パケットを転送するスイッチと、前記スイッチに接続される複数のパケット処理モジュールと、前記スイッチおよび前記ネットワークに接続される複数のネットワーク・インタフェースと、前記パケット処理装置を制御する制御部と、を備え、
前記各パケット処理モジュールは、ネットワーク処理ユニットを備え、
前記各ネットワーク処理ユニットは、複数の前記プロセッサ・コアを備え、
前記パケット処理方法は、
プログラムのロード要求を受信すると、前記複数のプロセッサ・コアのうち、まだプログラムがロードされていないプロセッサ・コアを選択する第1手順と、
前記選択されたプロセッサ・コアに前記プログラムをロードする第2手順と、
前記ロード要求によって指定された属性情報と、前記プログラムがロードされたプロセッサ・コアと、を対応付ける第1の対応付け情報を保持する第3手順と、
パケットを受信すると、前記受信したパケットに対応する属性情報を特定する第4手順と、
前記受信したパケットを、前記特定された属性情報に対応するプロセッサ・コアに転送する第5手順と、を含み、
前記第1の対応付け情報は、第3の対応付け情報、第4の対応付け情報、および第5の対応付け情報を含み、
前記第3の対応付け情報は、前記制御部によって保持され、前記属性情報と、前記プロセッサ・コアの識別情報と、前記プロセッサ・コアを含む前記ネットワーク処理ユニットの識別情報と、前記ネットワーク処理ユニットを含む前記パケット処理モジュールの識別情報と、を対応付け、
前記第4の対応付け情報は、前記第3の対応付け情報のうち、少なくとも、前記属性情報と、前記プロセッサ・コアの識別情報とを対応付ける情報と同一の情報を含み、
前記第5の対応付け情報は、前記第3の対応付け情報のうち、少なくとも、前記属性情報と、前記パケット処理モジュールの識別情報とを対応付ける情報と同一の情報を含み、
前記各ネットワーク処理ユニットは、前記第4の対応付け情報を保持し、
前記各ネットワーク・インタフェースは、前記第5の対応付け情報を保持し、
前記第5手順は、
前記各ネットワーク・インタフェースが、前記ネットワークから前記パケットを受信すると、前記第5の対応付け情報に基づいて、前記特定された属性情報に対応する前記パケット処理モジュールに、前記受信したパケットを転送する第6手順と、
前記各パケット処理モジュールが、前記パケットを受信すると、前記ネットワーク処理ユニットに、前記受信したパケットを転送する第7手順と、
前記各ネットワーク処理ユニットが、前記パケットを受信すると、前記第4の対応情報に基づいて、前記特定された属性情報に対応する前記プロセッサ・コアに、前記受信したパケットを転送する第8手順と、を含むことを特徴とするパケット処理方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009037933A JP5081847B2 (ja) | 2009-02-20 | 2009-02-20 | マルチプロセッサによるパケット処理装置およびパケット処理方法 |
CN2010101178200A CN101847106B (zh) | 2009-02-20 | 2010-02-12 | 基于多处理器的数据包处理装置以及数据包处理方法 |
EP20100001536 EP2221721A1 (en) | 2009-02-20 | 2010-02-15 | Packet processing by multiple processor cores |
US12/708,136 US8199675B2 (en) | 2009-02-20 | 2010-02-18 | Packet processing device by multiple processor cores and packet processing method by the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009037933A JP5081847B2 (ja) | 2009-02-20 | 2009-02-20 | マルチプロセッサによるパケット処理装置およびパケット処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010193366A JP2010193366A (ja) | 2010-09-02 |
JP5081847B2 true JP5081847B2 (ja) | 2012-11-28 |
Family
ID=42226659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009037933A Expired - Fee Related JP5081847B2 (ja) | 2009-02-20 | 2009-02-20 | マルチプロセッサによるパケット処理装置およびパケット処理方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8199675B2 (ja) |
EP (1) | EP2221721A1 (ja) |
JP (1) | JP5081847B2 (ja) |
CN (1) | CN101847106B (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8874888B1 (en) | 2011-01-13 | 2014-10-28 | Google Inc. | Managed boot in a cloud system |
US9135037B1 (en) | 2011-01-13 | 2015-09-15 | Google Inc. | Virtual network protocol |
US8533796B1 (en) | 2011-03-16 | 2013-09-10 | Google Inc. | Providing application programs with access to secured resources |
US9237087B1 (en) | 2011-03-16 | 2016-01-12 | Google Inc. | Virtual machine name resolution |
US9075979B1 (en) | 2011-08-11 | 2015-07-07 | Google Inc. | Authentication based on proximity to mobile device |
US8966198B1 (en) | 2011-09-01 | 2015-02-24 | Google Inc. | Providing snapshots of virtual storage devices |
JP5704567B2 (ja) * | 2011-09-13 | 2015-04-22 | 株式会社日立製作所 | ノード装置、システム、及び、パケット処理方法 |
US8958293B1 (en) * | 2011-12-06 | 2015-02-17 | Google Inc. | Transparent load-balancing for cloud computing services |
US8800009B1 (en) | 2011-12-30 | 2014-08-05 | Google Inc. | Virtual machine service access |
US8983860B1 (en) | 2012-01-30 | 2015-03-17 | Google Inc. | Advertising auction system |
US8996887B2 (en) | 2012-02-24 | 2015-03-31 | Google Inc. | Log structured volume encryption for virtual machines |
US8677449B1 (en) | 2012-03-19 | 2014-03-18 | Google Inc. | Exposing data to virtual machines |
CN104040966B (zh) * | 2012-11-09 | 2017-04-26 | 华为技术有限公司 | 处理报文的方法、转发面装置及网络设备 |
CN104168199B (zh) * | 2013-05-15 | 2019-07-16 | 中兴通讯股份有限公司 | 包处理方法及装置 |
JP2016010017A (ja) * | 2014-06-25 | 2016-01-18 | 株式会社日立製作所 | 通信装置、及び、通信方法 |
GB2527798A (en) * | 2014-07-02 | 2016-01-06 | Ibm | Synchronizing operations between regions when a network connection fails |
CN105959161B (zh) * | 2016-07-08 | 2019-04-26 | 中国人民解放军国防科学技术大学 | 一种高速数据包构造和分发控制方法及设备 |
CN109271267B (zh) * | 2018-08-27 | 2022-11-22 | 北京达佳互联信息技术有限公司 | 路由数据处理方法、装置、电子设备及存储介质 |
CN112667554A (zh) * | 2019-10-16 | 2021-04-16 | 中兴通讯股份有限公司 | 数据包处理方法、装置、通信设备及存储介质 |
CN113312605A (zh) * | 2021-04-15 | 2021-08-27 | 北京交通大学 | 一种数据传输方法、装置、电子设备及存储介质 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6351775B1 (en) * | 1997-05-30 | 2002-02-26 | International Business Machines Corporation | Loading balancing across servers in a computer network |
US6668317B1 (en) * | 1999-08-31 | 2003-12-23 | Intel Corporation | Microengine for parallel processor architecture |
GB2362064A (en) * | 2000-05-04 | 2001-11-07 | Marconi Comm Ltd | Switching of software in a communications system |
US7283538B2 (en) * | 2001-10-12 | 2007-10-16 | Vormetric, Inc. | Load balanced scalable network gateway processor architecture |
US7248585B2 (en) * | 2001-10-22 | 2007-07-24 | Sun Microsystems, Inc. | Method and apparatus for a packet classifier |
JP3809873B2 (ja) * | 2002-03-05 | 2006-08-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ネットワーク処理手段によるパケット・フローの順序付き動的分散のための方法およびシステム |
US7088718B1 (en) * | 2002-03-19 | 2006-08-08 | Cisco Technology, Inc. | Server load balancing using IP option field approach to identify route to selected server |
US7254639B1 (en) * | 2002-05-20 | 2007-08-07 | Cisco Technology, Inc. | Methods and apparatus for directing packets among a group of processors |
US20030235194A1 (en) * | 2002-06-04 | 2003-12-25 | Mike Morrison | Network processor with multiple multi-threaded packet-type specific engines |
US7039914B2 (en) * | 2003-03-07 | 2006-05-02 | Cisco Technology, Inc. | Message processing in network forwarding engine by tracking order of assigned thread in order group |
US20060069828A1 (en) | 2004-06-30 | 2006-03-30 | Goldsmith Michael A | Sharing a physical device among multiple clients |
US7564847B2 (en) * | 2004-12-13 | 2009-07-21 | Intel Corporation | Flow assignment |
US7672236B1 (en) * | 2005-12-16 | 2010-03-02 | Nortel Networks Limited | Method and architecture for a scalable application and security switch using multi-level load balancing |
JP2007288711A (ja) * | 2006-04-20 | 2007-11-01 | Nec Corp | ゲートウェイ装置、設定コントローラ、ゲートウェイ装置の負荷分散方法及びプログラム |
US7870551B2 (en) * | 2006-05-18 | 2011-01-11 | International Business Machines Corporation | Optimization of thread wake up for shared processor partitions |
-
2009
- 2009-02-20 JP JP2009037933A patent/JP5081847B2/ja not_active Expired - Fee Related
-
2010
- 2010-02-12 CN CN2010101178200A patent/CN101847106B/zh not_active Expired - Fee Related
- 2010-02-15 EP EP20100001536 patent/EP2221721A1/en not_active Withdrawn
- 2010-02-18 US US12/708,136 patent/US8199675B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20100215050A1 (en) | 2010-08-26 |
US8199675B2 (en) | 2012-06-12 |
CN101847106A (zh) | 2010-09-29 |
CN101847106B (zh) | 2013-09-18 |
EP2221721A1 (en) | 2010-08-25 |
JP2010193366A (ja) | 2010-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5081847B2 (ja) | マルチプロセッサによるパケット処理装置およびパケット処理方法 | |
CN111885075B (zh) | 容器通信方法、装置、网络设备及存储介质 | |
US10171567B2 (en) | Load balancing computer device, system, and method | |
US20170353394A1 (en) | Resource placement templates for virtual networks | |
KR100992050B1 (ko) | 가상화된 네트워크 환경에서 입력/출력 공유를 가지는프로토콜 오프로드 및 다이렉트 입력/출력을 위한 방법 및시스템 | |
JP6129928B2 (ja) | アジャイルデータセンタネットワークアーキテクチャ | |
US8725898B1 (en) | Scalable port address translations | |
US10063470B2 (en) | Data center network system based on software-defined network and packet forwarding method, address resolution method, routing controller thereof | |
CN109937401B (zh) | 经由业务旁路进行的负载均衡虚拟机的实时迁移 | |
KR101912073B1 (ko) | 가상화된 네트워크와 비-가상화된 네트워크 간 가상화 게이트웨이 | |
CN101442493B (zh) | Ip报文分发方法、集群系统和负载均衡器 | |
CN109937400A (zh) | 用于虚拟机的实时迁移的流状态传送 | |
US11509581B2 (en) | Flow-based local egress in a multisite datacenter | |
KR20130060291A (ko) | 컴퓨터 시스템 및 컴퓨터 시스템에 있어서의 통신 방법 | |
JP6574054B2 (ja) | パケット転送 | |
JP6437692B2 (ja) | パケット転送 | |
CN115686729A (zh) | 容器集群网络系统、数据处理方法、设备及计算机程序产品 | |
CN107547247B (zh) | 智能弹性架构中的三层管理网ip地址分配方法和装置 | |
JP2018515053A (ja) | パケット転送 | |
KR101794719B1 (ko) | Sdn 기반 네트워크 가상화 플랫폼에서의 ip 주소 가상화 방법 및 시스템 | |
CN111294316B (zh) | 基于用户态协议栈虚拟路由器的网络隔离方法和装置 | |
US9413654B2 (en) | System, relay device, method, and medium | |
US11347597B2 (en) | I/O to unpinned memory supporting memory overcommit and live migration of virtual machines | |
Koerner et al. | Optimizing openflow load-balancing with l2 direct server return | |
JP6162831B2 (ja) | パケット通信システム、sdn制御装置、パケット通信方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110502 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120309 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120523 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120605 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120801 |
|
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: 20120821 |
|
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: 20120903 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150907 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |