JP6923510B2 - サーバオンチップにおけるフロー・ピンニング - Google Patents
サーバオンチップにおけるフロー・ピンニング Download PDFInfo
- Publication number
- JP6923510B2 JP6923510B2 JP2018503554A JP2018503554A JP6923510B2 JP 6923510 B2 JP6923510 B2 JP 6923510B2 JP 2018503554 A JP2018503554 A JP 2018503554A JP 2018503554 A JP2018503554 A JP 2018503554A JP 6923510 B2 JP6923510 B2 JP 6923510B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- queue
- core
- descriptor message
- metadata
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/621—Individual queue per connection or flow, e.g. per VC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
Description
別の例示的な実施形態において、サーバオンチップは、パケットからメタデータストリングを抽出する手段と、メタデータストリングに基づいて、パケットをマルチプロセッサのそれぞれのコアに関連付けるための手段と、を備える。サーバオンチップは、パケットをプロセッサに関連付けられたキューに割り当てるための手段を含むことができる。
102 サーバオンチップ(SoC)
104 イーサネットインタフェース
106 フロー・ピンニング・コンポーネント
108 キューマネージャ
112、114、116、118 キュー
200 システム
202 フロー・ピンニング・コンポーネント
204 AVL探索木
206 パトリシア・ツリー
300 システム
302 パケットヘッダ
304 パトリシア・ツリー
306 パケットヘッダ
400 システム
404 パケット
406 パケットヘッダ
410 AVL探索木
412 イーサネットDMAエンジン
414 結果データベース
416 メモリ
418、420、422、424 バッファプール
500 システム
504 メモリ
506 フロー・ピンニング・コンポーネント
508 キューマネージャ
512、514、516、518 キュー
1000 コンピューティングシステム環境
1010 コンピュータ
1020 処理ユニット
1021 システムバス
1030 システムメモリ
1070 リモートコンピュータ
1071 ネットワーク
1110、1112 コンピューティングオブジェクト
1120、1122、1128 コンピューティングデバイス
1124、1126 オブジェクト
1142 通信ネットワーク
Claims (10)
- サーバオンチップであって、
パケットからメタデータストリングを抽出するように構成されかつ前記メタデータストリングに基づいて前記パケットを結果データベースに関連付けるように構成され、具体的には、第1のパケットから第1のメタデータストリングを抽出するように構成されかつ前記第1のメタデータストリングに基づいて前記第1のパケットを結果データベースに関連付けるように構成された、フロー・ピンニング・コンポーネントと、
前記関連付けられた結果データベースに基づいて複数のキューのそれぞれのキューに各前記パケットを割り当てるように構成され、かつ前記パケットのためのデスクリプタメッセージを送信するように構成され、具体的には前記関連付けられた結果データベースに基づいて第1のキューに前記第1のパケットを割り当て、かつ前記第1のパケットのための第1のデスクリプタメッセージを送信するように構成されたイーサネット・ダイレクト・メモリ・アクセス・エンジンであって、ここで前記複数のキューのそれぞれはマルチプロセッサのそれぞれのコアと専用のキューとして関連付けられ、具体的には前記第1のキューは前記マルチプロセッサの第1のコアに関連付けられ、各デスクリプタメッセージは前記それぞれのパケットの存在と前記サーバオンチップのメモリ内の前記それぞれのパケットの位置とを示すデータを含み、具体的には前記第1のデスクリプタメッセージは前記第1のパケットの存在と前記メモリ内の前記第1のパケットの位置とを示すデータを含む、イーサネット・ダイレクト・メモリ・アクセス・エンジンと、
前記イーサネット・ダイレクト・メモリ・アクセス・エンジンから前記デスクリプタメッセージを受信し、前記キュー内の前記デスクリプタメッセージを並列にエンキューし、および前記マルチプロセッサの前記コアに割り込みを発生するように構成され、具体的には前記イーサネット・ダイレクト・メモリ・アクセス・エンジンから前記第1のデスクリプタメッセージを受信し、前記第1のキュー内の前記第1のデスクリプタメッセージを並列にエンキューし、および前記マルチプロセッサの前記第1のコアに割り込みを発生するように構成された、キューマネージャと、を含み、
前記デスクリプタメッセージは、前記マルチプロセッサが前記キューマネージャから前記割り込みを受信する時、前記メモリに格納されたパケットの前記位置に関する情報を提供する、
サーバオンチップ。 - 前記フロー・ピンニング・コンポーネントが、パトリシア・ツリーとAVL探索木を含む、請求項1に記載のサーバオンチップ。
- 前記メタデータストリングがそれぞれ、送信元インターネット・プロトコル・アドレス、宛先インターネット・プロトコル・アドレス、送信元ポート、および宛先ポートを含む、請求項1に記載のサーバオンチップ。
- 前記メタデータストリングがそれぞれ、4つの情報項目を含む12バイト長の文字列である、請求項1に記載のサーバオンチップ。
- 前記フロー・ピンニング・コンポーネントが、複数のパケットから複数のメタデータストリングを抽出し、検索テーブルを前記メタデータストリングで索引付けすることに基づいて、前記パケットを前記関連付けられた結果データベースに関連付けるように構成された、請求項1に記載のサーバオンチップ。
- 前記イーサネット・ダイレクト・メモリ・アクセス・エンジンは、前記関連付けられた結果データベースに基づいて、空きバッファプールに各前記パケットをコピーするようにさらに構成された、
請求項1に記載のサーバオンチップ。 - マルチプロセッサのコアへのパケットストリームのフロー・ピンニングを実行するためのコンピュータ実装方法であって、
パケットストリーム内のパケットからメタデータストリングを抽出し、具体的には前記パケットストリーム内の第1のパケットから第1のメタデータストリングを抽出するステップと、
前記それぞれのメタデータストリングに基づいて各前記パケットを結果データベースに関連付け、具体的には前記第1のメタデータストリングに基づいて、前記第1のパケットをそれぞれの結果データベースに関連づけるステップと、
イーサネット・ダイレクト・メモリ・アクセス・エンジンによって、前記関連付けられた結果データベースに基づいて、各前記パケットを複数のキューのそれぞれのキューに割り当て、かつ前記パケットのためのデスクリプタメッセージを送信し、具体的には、前記イーサネット・ダイレクト・メモリ・アクセス・エンジンによって、前記関連付けられた結果データベースに基づいて、前記第1のパケットを第1のキューに割り当て、かつ前記第1のパケットのための第1のデスクリプタメッセージを送信するステップであって、ここで各前記複数のキューはマルチプロセッサのそれぞれのコアに専用のキューとして関連付けられ、具体的には前記第1のキューは前記マルチプロセッサの第1のコアに関連付けられ、各デスクリプタメッセージは前記それぞれのパケットの存在とサーバオンチップのメモリ内の前記それぞれのパケットの位置とを示すデータを含み、具体的には前記第1のデスクリプタメッセージは前記第1のパケットの存在と前記メモリ内の前記第1のパケットの位置とを示すデータを含む、ステップと、
キューマネージャによって、前記イーサネット・ダイレクト・メモリ・アクセス・エンジンから前記デスクリプタメッセージを受信し、キューマネージャによって、前記キュー内の前記デスクリプタメッセージを並列にエンキューし、およびキューマネージャによって、前記マルチプロセッサの前記コアに割り込みを発生するステップであって、具体的にはキューマネージャによって、前記イーサネット・ダイレクト・メモリ・アクセス・エンジンから前記第1のデスクリプタメッセージを受信し、キューマネージャによって、前記第1のキュー内の前記第1のデスクリプタメッセージを並列にエンキューし、およびキューマネージャによって、前記マルチプロセッサの前記第1のコアに割り込みを発生するステップと、を含み、
前記デスクリプタメッセージは、前記マルチプロセッサが前記キューマネージャから前記割り込みを受信する時、前記メモリに格納されたパケットの前記位置に関する情報を提供する、
コンピュータ実装方法。 - 抽出する前記ステップは、パトリシア・ツリーを使用することによって12バイト長のメタデータストリングを抽出するステップをさらに含み、前記ストリングは、送信元インターネット・プロトコル・アドレス、宛先インターネット・プロトコル・アドレス、送信元ポート、および宛先ポートを含む、請求項7に記載のコンピュータ実装方法。
- 前記割り当てられたキューを介してそれぞれの前記コアに割り込みを発行するステップをさらに含み、
抽出する前記ステップが、複数のパケットから複数のメタデータストリングを抽出するステップと、
前記関連付けられた結果データベースに基づいて、空きバッファプールに前記パケットをコピーするステップと、
をさらに含む、
請求項7に記載のコンピュータ実装方法。 - サーバオンチップであって、
パケットストリーム内のパケットからメタデータストリングを抽出し、具体的にはパケットストリーム内の第1のパケットから第1のメタデータストリングを抽出するための手段と、
前記第1のメタデータストリングに基づいて、前記各パケットを結果データベースに関連付け、および前記メタデータストリングに基づいて、前記第1のパケットをマルチプロセッサのそれぞれのコアに関連付けるための手段と、
前記関連付けられた結果データベースに基づいて複数のキューのそれぞれのキューに前記各パケットを割り当て、かつ前記パケットのためのデスクリプタメッセージを送信し、具体的には前記第1のパケットを前記マルチプロセッサの前記それぞれのコアに関連付けられた第1のキューに割り当て、かつ前記第1のパケットのための第1のデスクリプタメッセージを送信するための手段であって、ここで前記複数のキューのそれぞれは前記マルチプロセッサのそれぞれのコアと専用のキューとして関連付けられ、具体的には前記第1のキューは前記マルチプロセッサの第1のコアに関連付けられ、各デスクリプタメッセージは前記それぞれのパケットの存在と前記サーバオンチップのメモリ内の前記それぞれのパケットの位置とを示すデータを含み、具体的には前記第1のデスクリプタメッセージは前記第1のパケットの存在と前記メモリ内の前記第1のパケットの位置とを示すデータを含む、手段と、
前記デスクリプタメッセージを受信し、前記キュー内の前記デスクリプタメッセージを並列にエンキューし、および前記マルチプロセッサの前記コアに割り込みを発生し、具体的には前記第1のデスクリプタメッセージを受信し、前記第1のキュー内の前記第1のデスクリプタメッセージを並列にエンキューし、および前記マルチプロセッサの前記第1のコアに割り込みを発生する、手段と、
を備え、
前記デスクリプタメッセージは、前記マルチプロセッサが前記キューマネージャから前記割り込みを受信する時、前記メモリに格納されたパケットの前記位置に関する情報を提供する、
サーバオンチップ。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2015/041911 WO2017018980A1 (en) | 2015-07-24 | 2015-07-24 | Flow pinning in a server on a chip |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018521596A JP2018521596A (ja) | 2018-08-02 |
JP6923510B2 true JP6923510B2 (ja) | 2021-08-18 |
Family
ID=57884807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018503554A Active JP6923510B2 (ja) | 2015-07-24 | 2015-07-24 | サーバオンチップにおけるフロー・ピンニング |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP3326338B1 (ja) |
JP (1) | JP6923510B2 (ja) |
CN (1) | CN108028808B (ja) |
WO (1) | WO2017018980A1 (ja) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030007489A1 (en) * | 2001-07-09 | 2003-01-09 | Ram Krishnan | Data extraction system for packet analysis |
US7784094B2 (en) * | 2005-06-30 | 2010-08-24 | Intel Corporation | Stateful packet content matching mechanisms |
US7715428B2 (en) * | 2007-01-31 | 2010-05-11 | International Business Machines Corporation | Multicore communication processing |
US8874876B2 (en) * | 2011-03-22 | 2014-10-28 | Texas Instruments Incorporated | Method and apparatus for packet switching |
US8762362B1 (en) * | 2011-10-21 | 2014-06-24 | Applied Micro Circuits Corporation | System and method for updating a data structure |
US8767757B1 (en) * | 2012-02-15 | 2014-07-01 | Applied Micro Circuits Corporation | Packet forwarding system and method using patricia trie configured hardware |
US9588923B2 (en) * | 2014-01-24 | 2017-03-07 | Applied Micro Circuits Corporation | Flow pinning in a server on a chip |
-
2015
- 2015-07-24 WO PCT/US2015/041911 patent/WO2017018980A1/en unknown
- 2015-07-24 CN CN201580082192.8A patent/CN108028808B/zh active Active
- 2015-07-24 EP EP15899782.5A patent/EP3326338B1/en active Active
- 2015-07-24 JP JP2018503554A patent/JP6923510B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
CN108028808A (zh) | 2018-05-11 |
EP3326338B1 (en) | 2021-03-24 |
CN108028808B (zh) | 2022-07-26 |
WO2017018980A1 (en) | 2017-02-02 |
JP2018521596A (ja) | 2018-08-02 |
EP3326338A1 (en) | 2018-05-30 |
EP3326338A4 (en) | 2019-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI392288B (zh) | 用於多核心通訊處理的系統及方法 | |
JP6449872B2 (ja) | ネットワーク環境における効率的なパケット処理モデルおよびパケット処理のための最適化されたバッファ利用をサポートするためのシステムおよび方法 | |
JP6513627B2 (ja) | アプリケーションレベルネットワークキューイング | |
US9910687B2 (en) | Data flow affinity for heterogenous virtual machines | |
US9588923B2 (en) | Flow pinning in a server on a chip | |
US10341264B2 (en) | Technologies for scalable packet reception and transmission | |
CN105511954A (zh) | 一种报文处理方法及装置 | |
US20190196875A1 (en) | Method, system and computer program product for processing computing task | |
WO2017000593A1 (zh) | 报文处理方法及装置 | |
JP5662949B2 (ja) | 仮想ネットワーク環境におけるコピーの迂回 | |
US10212259B2 (en) | Management of transmission control blocks (TCBs) supporting TCP connection requests in multiprocessing environments | |
US10616116B1 (en) | Network traffic load balancing using rotating hash | |
US10623521B2 (en) | Distribution of messages to queues in a distributed computing environment | |
US20130110968A1 (en) | Reducing latency in multicast traffic reception | |
US9894012B2 (en) | Method and system to improve network connection locality on multicore systems | |
JP6923510B2 (ja) | サーバオンチップにおけるフロー・ピンニング | |
WO2022199357A1 (zh) | 数据处理方法及装置、电子设备、计算机可读存储介质 | |
US10284501B2 (en) | Technologies for multi-core wireless network data transmission | |
KR101578246B1 (ko) | 고속 서열 분석을 위한 병렬 Intra-Query 라우팅 알고리즘 | |
WO2017041509A1 (zh) | 一种基于多处理单元的报文采样方法和装置 | |
US20240104045A1 (en) | System and method for ghost bridging | |
JP5359357B2 (ja) | パケット処理装置、該処理装置に用いられるパケット処理順序制御方法及びパケット処理順序制御プログラム | |
CN117955939A (zh) | 用于支持高性能计算的数据类型引擎 | |
KR20160073867A (ko) | 네트워크 인터페이스 가상화 장치, 방법 및 이를 실행하기 위한 컴퓨터 프로그램 | |
Latifi et al. | Increasing the efficiency of IDS systems by hardware implementation of packet capturing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180313 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20180718 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20180725 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180823 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190304 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20190604 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190904 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20190917 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200117 |
|
C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20200117 |
|
C11 | Written invitation by the commissioner to file amendments |
Free format text: JAPANESE INTERMEDIATE CODE: C11 Effective date: 20200127 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20200226 |
|
C21 | Notice of transfer of a case for reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C21 Effective date: 20200302 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20200313 |
|
C211 | Notice of termination of reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C211 Effective date: 20200323 |
|
C22 | Notice of designation (change) of administrative judge |
Free format text: JAPANESE INTERMEDIATE CODE: C22 Effective date: 20201005 |
|
C22 | Notice of designation (change) of administrative judge |
Free format text: JAPANESE INTERMEDIATE CODE: C22 Effective date: 20201207 |
|
C13 | Notice of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: C13 Effective date: 20210201 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210329 |
|
C302 | Record of communication |
Free format text: JAPANESE INTERMEDIATE CODE: C302 Effective date: 20210330 |
|
C23 | Notice of termination of proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C23 Effective date: 20210531 |
|
C03 | Trial/appeal decision taken |
Free format text: JAPANESE INTERMEDIATE CODE: C03 Effective date: 20210705 |
|
C30A | Notification sent |
Free format text: JAPANESE INTERMEDIATE CODE: C3012 Effective date: 20210705 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210729 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6923510 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |