JP4630262B2 - キャッシュシステム、キャッシュ装置、パケット処理装置、キャッシュ方法、パケット処理方法、キャッシュプログラム、およびパケット処理プログラム - Google Patents
キャッシュシステム、キャッシュ装置、パケット処理装置、キャッシュ方法、パケット処理方法、キャッシュプログラム、およびパケット処理プログラム Download PDFInfo
- Publication number
- JP4630262B2 JP4630262B2 JP2006314237A JP2006314237A JP4630262B2 JP 4630262 B2 JP4630262 B2 JP 4630262B2 JP 2006314237 A JP2006314237 A JP 2006314237A JP 2006314237 A JP2006314237 A JP 2006314237A JP 4630262 B2 JP4630262 B2 JP 4630262B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- cache
- packet processing
- processing device
- identifier
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
W. Shi, et al., "Load Balancing for Parallel Forwarding," IEEE/ACM Transaction on Networking, pp.790−801, 2005
本発明の目的は、同一のフローに属するプロセッサを複数のプロセッサで処理し、負荷分散を実現するキャッシュシステム、キャッシュ装置、パケット処理装置、キャッシュ方法、パケット処理方法、キャッシュプログラム、およびパケット処理プログラムを提供することにある。
パケットの処理データを格納するキャッシュと、フローごとのパケットの到着順序をFIFOのキューで記録する順序データベースと、パケットを処理させるパケット処理装置を決定するアルゴリズムを記録したアルゴリズムテーブルと、パケットのフロー識別子から前記キャッシュのエントリを探すためのキャッシュ検索手段と、パケットを処理してもらうパケット処理装置を決定するパケット分配手段と、前記パケット処理装置から受信したキャッシュデータを前記キャッシュに記録するキャッシュアップデート手段と、前記パケット処理装置での処理が終了したパケットをパケットの到着順にソートするソート手段と、を備え、
前記キャッシュ検索手段は、パケットからフロー識別子を調べ、前記キャッシュの中に該フロー識別子に対応するキャッシュのデータが存在するか否か調べ、存在するならば該キャッシュデータをパケット処理用の情報に追加し、存在しなければ、前記順序データベースに該フロー識別子に対するエントリが存在するか否か調べ、存在するならば対応するキャッシュデータが到着するまで待機し、存在しなければ前記キャッシュに書き込まれるデータの処理を前記パケット処理装置に指示する情報をパケット処理用の情報に追記し、
前記パケット分配手段は、パケットを処理させるパケット処理装置を前記アルゴリズムテーブルに存在するアルゴリズムに従って決定し、決定したパケット処理装置の識別子を前記順序データベースに存在するフロー識別子に対するFIFOのキューに入力し、
前記キャッシュアップデート手段は、前記パケット処理装置から送られてきたキャッシュデータを前記キャッシュに追記し、データが前記キャッシュの容量を超えると前記キャッシュからデータを削除し、
前記ソート手段は、前記パケット処理装置からパケット処理用の情報が送られてくると、パケット処理装置の識別子と、パケットのフロー識別子を確認し、前記順序データベースにおけるフロー識別子に対応するFIFOキューの先頭の識別子とパケット処理装置の識別子を比較し、異なればパケットをバッファに格納し、同じであればパケットを送信し、前記FIFOキューの先頭の識別子を削除し、バッファに格納しているパケットの存在を確認し、もし存在すれば、バッファに格納されたパケットを処理したパケット処理装置の識別子と前記FIFOキューの先頭の識別子とを比較し、異なればパケットをバッファに格納し、同じであれば前記パケットを送信する処理からの動作を繰り返す。
キャッシュ装置1は、図2に示すように、プロセッサ11と記憶媒体16からなる。記憶媒体16には、フローIDごとにキャッシュされたデータを格納するキャッシュ17と、パケットを処理させるパケット処理装置2を決定するア分配アルゴリズムが格納されているデータベースである分配アルゴリズム18と、フローごとの転送装置への到着順序をFIFOのキューで記録する順序データベース19とが含まれる。プロセッサ11には、パケット処理装置2から受信した、パケット処理装置2で処理されたキャッシュデータをキャッシュ17に記録するキャッシュアップデート部12と、キャッシュ17のなかに調査対象のパケットのフローID用のキャッシュデータが存在する否かを、パケットのフロー識別子から検索するキャッシュ検索部13と、パケットを処理してもらうパケット処理装置2を決定するとともに、パケットをパケット処理装置2に送るときに送る順序を順序データベース19に記録するパケット分配部14と、パケット処理装置2での処理が終了したパケットを転送装置の到着順にソートするソーター15とが含まれる。
2,21〜24 パケット処理装置
11 プロセッサ
12 キャッシュアップデート部
13 キャッシュ検索部
14 パケット分配部
15 ソーター
16 記憶媒体
17 キャッシュ
18 分配アルゴリズム
19 順序データベース
21 キャッシュ有無判定部
22 キャッシュ対象データ処理部
23 キャッシュアップデート部
24 パケット処理部
25 記憶媒体
101〜113,201〜208,301〜308 ステップ
Claims (5)
- パケットの処理データを格納するキャッシュと、フローごとのパケットの到着順序をFIFOのキューで記録する順序データベースと、パケットを処理させるパケット処理装置を決定するアルゴリズムを記録したアルゴリズムテーブルと、パケットのフロー識別子から前記キャッシュのエントリを探すためのキャッシュ検索手段と、パケットを処理してもらうパケット処理装置を決定するパケット分配手段と、前記パケット処理装置から受信したキャッシュデータを前記キャッシュに記録するキャッシュアップデート手段と、前記パケット処理装置での処理が終了したパケットをパケットの到着順にソートするソート手段と、を備え、
前記キャッシュ検索手段は、パケットからフロー識別子を調べ、前記キャッシュの中に該フロー識別子に対応するキャッシュのデータが存在するか否か調べ、存在するならば該キャッシュデータをパケット処理用の情報に追加し、存在しなければ、前記順序データベースに該フロー識別子に対するエントリが存在するか否か調べ、存在するならば対応するキャッシュデータが到着するまで待機し、存在しなければ前記キャッシュに書き込まれるデータの処理を前記パケット処理装置に指示する情報をパケット処理用の情報に追記し、
前記パケット分配手段は、パケットを処理させるパケット処理装置を前記アルゴリズムテーブルに存在するアルゴリズムに従って決定し、決定したパケット処理装置の識別子を前記順序データベースに存在するフロー識別子に対するFIFOのキューに入力し、
前記キャッシュアップデート手段は、前記パケット処理装置から送られてきたキャッシュデータを前記キャッシュに追記し、データが前記キャッシュの容量を超えると前記キャッシュからデータを削除し、
前記ソート手段は、前記パケット処理装置からパケット処理用の情報が送られてくると、パケット処理装置の識別子と、パケットのフロー識別子を確認し、前記順序データベースにおけるフロー識別子に対応するFIFOキューの先頭の識別子とパケット処理装置の識別子を比較し、異なればパケットをバッファに格納し、同じであればパケットを送信し、前記FIFOキューの先頭の識別子を削除し、バッファに格納しているパケットの存在を確認し、もし存在すれば、バッファに格納されたパケットを処理したパケット処理装置の識別子と前記FIFOキューの先頭の識別子とを比較し、異なればパケットをバッファに格納し、同じであれば前記パケットを送信する処理からの動作を繰り返すキャッシュ装置。 - 前記パケット分配手段は、前記キャッシュの中に受信パケットが属するフローに対応するデータが存在せず、かつ該フローに対応する前記順序データベースのFIFOキューにパケット処理装置の識別子が存在するときに、パケットを待機させずに、処理を行っているパケット処理装置とキャッシュを共有できるパケット処理装置を、受信パケットを処理する装置として決定する、請求項1に記載のキャッシュ装置。
- パケットの処理データを格納するキャッシュと、フローごとのパケットの到着順序をFIFOのキューで記録する順序データベースと、パケットを処理させるパケット処理装置を決定するアルゴリズムを記録したアルゴリズムテーブルと、パケットのフロー識別子から前記キャッシュのエントリを探すためのキャッシュ検索手段と、パケットを処理してもらうパケット処理装置を決定するパケット分配手段と、前記パケット処理装置から受信したキャッシュデータを前記キャッシュに記録するキャッシュアップデート手段と、前記パケット処理装置での処理が終了したパケットをパケットの到着順にソートするソート手段と、を備えたキャッシュ装置で行われるキャッシュ方法であって、
前記キャッシュ検索手段が、パケットからフロー識別子を調べ、前記キャッシュの中に該フロー識別子に対応するキャッシュのデータが存在するか否か調べ、存在するならば該キャッシュデータをパケット処理用の情報に追加し、存在しなければ、前記順序データベースに該フロー識別子に対するエントリが存在するか否か調べ、存在するならば対応するキャッシュデータが到着するまで待機し、存在しなければ前記キャッシュに書き込まれるデータの処理を前記パケット処理装置に指示する情報をパケット処理用の情報に追記するステップと、
前記パケット分配手段が、パケットを処理させるパケット処理装置を前記アルゴリズムテーブルに存在するアルゴリズムに従って決定し、決定したパケット処理装置の識別子を前記順序データベースに存在するフロー識別子に対するFIFOのキューに入力するステップと、
前記キャッシュアップデート手段が、前記パケット処理装置から送られてきたキャッシュデータを前記キャッシュに追記し、データが前記キャッシュの容量を超えると前記キャッシュからデータを削除するステップと、
前記ソート手段が、前記パケット処理装置からパケット処理用の情報が送られてくると、パケット処理装置の識別子と、パケットのフロー識別子を確認し、前記順序データベースにおけるフロー識別子に対応するFIFOキューの先頭の識別子とパケット処理装置の識別子を比較し、異なればパケットをバッファに格納し、同じであればパケットを送信し、前記FIFOキューの先頭の識別子を削除し、バッファに格納しているパケットの存在を確認し、もし存在すれば、バッファに格納されたパケットを処理したパケット処理装置の識別子と前記FIFOキューの先頭の識別子とを比較し、異なればパケットをバッファに格納し、同じであれば前記パケットを送信する処理からの動作を繰り返すステップと、を有するキャッシュ方法。 - 前記パケット分配手段が、前記キャッシュの中に受信パケットが属するフローに対応するデータが存在せず、かつ該フローに対応する前記順序データベースのFIFOキューにパケット処理装置の識別子が存在するときに、パケットを待機させずに、処理を行っているパケット処理装置とキャッシュを共有できるパケット処理装置を、受信パケットを処理する装置として決定するステップをさらに有する、請求項3に記載のキャッシュ方法。
- 請求項1または2に記載のキャッシュ装置をコンピュータとして機能させるためのキャッシュプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006314237A JP4630262B2 (ja) | 2006-11-21 | 2006-11-21 | キャッシュシステム、キャッシュ装置、パケット処理装置、キャッシュ方法、パケット処理方法、キャッシュプログラム、およびパケット処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006314237A JP4630262B2 (ja) | 2006-11-21 | 2006-11-21 | キャッシュシステム、キャッシュ装置、パケット処理装置、キャッシュ方法、パケット処理方法、キャッシュプログラム、およびパケット処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008131351A JP2008131351A (ja) | 2008-06-05 |
JP4630262B2 true JP4630262B2 (ja) | 2011-02-09 |
Family
ID=39556767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006314237A Expired - Fee Related JP4630262B2 (ja) | 2006-11-21 | 2006-11-21 | キャッシュシステム、キャッシュ装置、パケット処理装置、キャッシュ方法、パケット処理方法、キャッシュプログラム、およびパケット処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4630262B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9124540B2 (en) | 2013-01-14 | 2015-09-01 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Caching of look-up rules based on flow heuristics to enable high speed look-up |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004158903A (ja) * | 2002-11-01 | 2004-06-03 | Fujitsu Ltd | パケット処理装置 |
JP2004260532A (ja) * | 2003-02-26 | 2004-09-16 | Hitachi Ltd | ネットワークプロセッサ |
JP2005117206A (ja) * | 2003-10-06 | 2005-04-28 | Hitachi Ltd | ネットワークプロセッサアクセラレータ |
JP2005519530A (ja) * | 2002-03-05 | 2005-06-30 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ネットワーク処理手段によるパケット・フローの順序付き動的分散のための方法およびシステム |
JP2006135572A (ja) * | 2004-11-05 | 2006-05-25 | Hitachi Ltd | ネットワーク装置におけるトラフィック制御及びその方法 |
-
2006
- 2006-11-21 JP JP2006314237A patent/JP4630262B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005519530A (ja) * | 2002-03-05 | 2005-06-30 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ネットワーク処理手段によるパケット・フローの順序付き動的分散のための方法およびシステム |
JP2004158903A (ja) * | 2002-11-01 | 2004-06-03 | Fujitsu Ltd | パケット処理装置 |
JP2004260532A (ja) * | 2003-02-26 | 2004-09-16 | Hitachi Ltd | ネットワークプロセッサ |
JP2005117206A (ja) * | 2003-10-06 | 2005-04-28 | Hitachi Ltd | ネットワークプロセッサアクセラレータ |
JP2006135572A (ja) * | 2004-11-05 | 2006-05-25 | Hitachi Ltd | ネットワーク装置におけるトラフィック制御及びその方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2008131351A (ja) | 2008-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6854117B1 (en) | Parallel network processor array | |
US7715428B2 (en) | Multicore communication processing | |
US7813342B2 (en) | Method and apparatus for writing network packets into computer memory | |
JP3935880B2 (ja) | ネットワーク・プロセッサおよびコンピュータ・システム用ハイブリッド・サーチ・メモリ | |
US8244911B2 (en) | Method and apparatus for concurrent and stateful decompression of multiple compressed data streams | |
US9356844B2 (en) | Efficient application recognition in network traffic | |
US20130066977A1 (en) | Message queue behavior optimizations | |
JP2009529183A (ja) | 応答出力キャッシュに対するマルチキャッシュ協調 | |
US10002023B2 (en) | Method and apparatus for managing one or more tasks of a many-core system using one or more task descriptor entries | |
JP5672199B2 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
JP2005513895A5 (ja) | ||
US11502967B2 (en) | Methods and apparatuses for packet scheduling for software-defined networking in edge computing environment | |
US20160241482A1 (en) | Packet communication apparatus and packet communication method | |
JP2008517565A (ja) | Rxfifoバッファを用いて高速ネットワークアプリケーションにてrxパケットを処理するシステムおよび方法 | |
Islam et al. | SOR-HDFS: a SEDA-based approach to maximize overlapping in RDMA-enhanced HDFS | |
JP6359111B2 (ja) | 並列プロトコル・スタック・インスタンスに基づいてデータパケットを処理する方法および装置 | |
US20060029088A1 (en) | Reducing latency in a channel adapter by accelerated I/O control block processing | |
JP4630262B2 (ja) | キャッシュシステム、キャッシュ装置、パケット処理装置、キャッシュ方法、パケット処理方法、キャッシュプログラム、およびパケット処理プログラム | |
Pan et al. | Nb-cache: Non-blocking in-network caching for high-performance content routers | |
JP4648290B2 (ja) | パケット転送装置、パケット分配方法、グループ所属プロセッサ変更方法、およびコンピュータプログラム | |
US9996468B1 (en) | Scalable dynamic memory management in a network device | |
CN113259274B (zh) | 多核模式下处理网络报文乱序和负载均衡的方法及存储介质 | |
US20150220872A1 (en) | Method and an apparatus for work packet queuing, scheduling, and ordering with conflict queuing | |
US20130179533A1 (en) | Data storage control system, data storage control method, and data storage control program | |
US9736080B2 (en) | Determination method, device and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081225 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100806 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100818 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100921 |
|
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: 20101020 |
|
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: 20101112 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131119 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |