JP5085758B2 - 通信プロトコルにおけるパケット・サイズの削減 - Google Patents
通信プロトコルにおけるパケット・サイズの削減 Download PDFInfo
- Publication number
- JP5085758B2 JP5085758B2 JP2011070696A JP2011070696A JP5085758B2 JP 5085758 B2 JP5085758 B2 JP 5085758B2 JP 2011070696 A JP2011070696 A JP 2011070696A JP 2011070696 A JP2011070696 A JP 2011070696A JP 5085758 B2 JP5085758 B2 JP 5085758B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- data
- processor
- agent
- size
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
Description
110 ノード
112 プロセッサ
114 ローカル・メモリ
115 ポイントツーポイント(PtP)・リンク
120 ネットワーク・インターフェース・コントローラ(NIC)
130 コヒーレンス・ドメイン
150 データ・パケット
210 極小量のデータのメモリ・トランザクションの要求を受信
220 データ量は閾値以下か?
230 メモリ・トランザクション・オペコードを含むトランザクション用パケットを生成
240 メモリ・トランザクション・オペコードおよび極小データ・ペイロードのための特殊オペコードを含むトランザクション用パケットを生成
250 書き込み要求?
260 極小データ・ペイロードを含むパケットを送信
270 パケットが宛先に到着したのち完了を受信
280 パケットを送信
290 極小ペイロードにおいて要求したデータを受信
310 第一のオペランド、第二のオペランドの位置および要求された動作を含む、リモート・エージェントからの原子的メモリ動作のための要求を第一のエージェントにおいて受信
315 メモリ・コントローラは要求された動作を実行する機能があるか?
320 第二のオペランドを得るためにメモリ・コントローラにメモリ・アクセス要求を送る
325 メモリ・コントローラから第二のオペランドを受信
330 第一のエージェントにおいて動作を実行
340 メモリ・アクセス要求、第一のオペランドおよび要求動作をメモリ・コントローラに送る
345 メモリ・コントローラにおいて動作を実行
350 結果をメモリに格納
360 完了メッセージをリモート・エージェントに送る
Claims (16)
- リモート・エージェントから第一のエージェントにおいて原子的メモリ・オペレーションの要求を受信する段階であって、前記要求は第一のオペランド、前記原子的メモリ・オペレーションのためのオペコードおよび第二のオペランドへのアクセスを可能にするアドレスを含む、段階と;
前記要求に応答して、前記第二のオペランドを取得するために、前記第一のエージェントからメモリに結合されたメモリ・コントローラにメモリ・アクセス要求を送る段階と;
前記第一のエージェントおよび前記メモリ・コントローラのうちの一方において前記第一および第二のオペランドに対して前記原子的メモリ・オペレーションのオペコードに応答してオペレーションを実行して結果を得る段階であって、前記第二のオペランドは前記第一のエージェントと前記リモート・エージェントの間のリンクの通信プロトコルに基づくデータ部分のサイズより小さなサイズであり、前記要求は前記通信プロトコルについてのデータ・パケット・サイズよりも小さなサイズをもつデータ・パケットにおいて受領される、段階と;
前記結果を前記メモリに記憶する段階とを含む、
方法。 - 前記結果が前記メモリに記憶されたのち、前記第一のエージェントから前記リモート・エージェントに完了メッセージを送る段階を更に含む、請求項1記載の方法。
- 前記結果が前記リモート・エージェントに通信されない、請求項2記載の方法。
- 前記第二のオペランドが前記リモート・エージェントに通信されない、請求項2記載の方法。
- 請求項1記載の方法であって、当該方法は、前記オペレーションを前記メモリ・コントローラにおいて実行することをさらに含み、前記メモリ・コントローラは前記オペレーションを実行する論理ユニットを含み、当該方法は、前記第一のオペランドおよび前記原子的メモリ・オペレーションのオペコードを前記第一のエージェントから前記メモリ・コントローラに送ることをさらに含み、前記第二のオペランドは前記第一のエージェントと前記リモート・エージェントの間のリンクの通信プロトコルに基づくデータ部分のサイズより小さなサイズであり、前記要求は前記通信プロトコルについてのデータ・パケット・サイズよりも小さなサイズをもつデータ・パケットにおいて受領される、方法。
- プロセッサを有する装置であって、
前記プロセッサは該プロセッサとエージェントの間に結合された、ある通信プロトコルに基づくリンク上での送信のためにデータ・パケットを生成するリンク論理を含み、前記リンク論理はコマンド部分を有する第一のデータ・パケットを生成し、前記コマンド部分は、前記第一のデータ・パケットのトランザクション種別をエンコードする第一のオペレーション・コードおよび前記エージェントに結合された宛先エージェントによって実行されるべきプロセッサ固有オペレーションをエンコードする第二のオペレーション・コードを含み、
前記リンク論理が、前記通信プロトコルに基づくデータ部分のサイズよりも小さなサイズをもつデータ部分をもつ前記第一のデータ・パケットを生成し、前記より小さなサイズのデータ部分を同定するために前記第二のオペレーション・コードを設定する、
装置。 - 前記リンク論理が、前記通信プロトコルに基づくデータ・パケットについてのフロー制御ユニットの数よりも少ない数のフロー制御ユニットをもつ前記第一のデータ・パケットを送信する、請求項6記載の装置。
- 前記第二のオペレーション・コードが前記宛先エージェントに、メモリからデータを取得して、戻りデータ・パケットを介して該データを前記プロセッサに通信することをさせ、前記戻りデータ・パケットは前記通信プロトコルに基づくデータ部分のサイズよりも小さなサイズをもつデータ部分をもつ、請求項6記載の装置。
- 前記第二のオペレーション・コードは、前記宛先エージェントに、前記第一のデータ・パケットのデータ部分のデータを前記宛先エージェントに関連付けられたメモリ中に書き込ませることをさせ、前記データ部分は前記通信プロトコルに基づくデータ部分のサイズよりも小さなサイズをもつ、請求項6記載の装置。
- 前記第二のオペレーション・コードは、前記宛先エージェントに、第二のオペランドを取得するためにメモリ・アクセス要求を、メモリに結合されたメモリ・コントローラに送り、前記第一のデータ・パケットのデータ部分に含まれていた第一のオペランドおよび前記第二のオペランドに対して前記第二のオペレーション・コードに応答してオペレーションを実行して結果を取得し、該結果を前記メモリに記憶することをさせる、請求項6記載の装置。
- 請求項10記載の装置であって、前記第二のオペレーション・コードは、前記宛先エージェントに、前記結果が前記メモリに記憶されたのちに前記プロセッサに完了メッセージを送ることをさせる、装置。
- 前記第一のオペレーション・コードはメモリ・アクセス・トランザクションを指示し、前記第二のオペレーション・コードは前記メモリ・アクセス・トランザクションのデータが前記通信プロトコルに基づくデータ部分のサイズよりも小さなサイズであることを指示する、請求項6記載の装置。
- 請求項12記載の装置であって、前記メモリ・アクセス・トランザクションが非コヒーレント・トランザクションであり、前記宛先エージェントが該非コヒーレント・トランザクションをコヒーレント・トランザクションに変換し、該コヒーレント・トランザクションに応答してコヒーレントな処理を実行する、装置。
- 第一のプロセッサと、第一のNICと、第二のNICと、第二のプロセッサとを有するシステムであって、
前記第一のプロセッサは、前記第一のプロセッサと前記第一のネットワーク・インターフェース・コントローラ(NIC)との間に結合された、ある通信プロトコルに基づく第一のリンク上での送信のためにデータ・パケットを生成するリンク論理を有し、前記リンク論理はコマンド部分を有する第一のデータ・パケットを生成し、前記コマンド部分は、前記第一のデータ・パケットのトランザクション種別をエンコードする第一のオペレーション・コードおよび前記第二のプロセッサによって実行されるべきプロセッサ固有オペレーションをエンコードする第二のオペレーション・コードを含み;
前記第一のNICは前記第一のリンクを介して前記第一のプロセッサに結合されており;
前記第二のNICはファブリックを介して前記第一のNICに結合されており;
前記第二のプロセッサは前記第二のNICに結合されており、前記第一のデータ・パケットを受信して、前記第一および第二のオペレーション・コードに応答して前記プロセッサ固有オペレーションを実行し、
前記リンク論理は、前記通信プロトコルに基づくデータ部分のサイズよりも小さなサイズをもつデータ部分をもつ前記第一のデータ・パケットを生成し、前記より小さなサイズのデータ部分を同定するために前記第二のオペレーション・コードを設定する、
システム。 - 前記第二のオペレーション・コードが前記第二のプロセッサに、メモリからデータを取得して、戻りデータ・パケットを介して該データを前記第一のプロセッサに通信することをさせ、前記戻りデータ・パケットは前記通信プロトコルに基づくデータ部分のサイズよりも小さなサイズをもつデータ部分をもつ、請求項14記載のシステム。
- 前記第二のオペレーション・コードは、前記第二のプロセッサに、第二のオペランドを取得するためにメモリ・アクセス要求を、メモリに結合されたメモリ・コントローラに送り、前記第一のデータ・パケットに含まれていた第一のオペランドおよび前記第二のオペランドに対して前記第二のオペレーション・コードに応答してオペレーションを実行して結果を取得し、該結果を前記メモリに記憶することをさせ、前記第二のプロセッサに、前記結果が前記メモリに記憶されたのち、前記第一のプロセッサに前記第二のオペランドや前記結果を通信することなく、前記第一のプロセッサに完了メッセージを送ることをさせる、請求項14記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/748,644 | 2010-03-29 | ||
US12/748,644 US8473567B2 (en) | 2010-03-29 | 2010-03-29 | Generating a packet including multiple operation codes |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011211711A JP2011211711A (ja) | 2011-10-20 |
JP5085758B2 true JP5085758B2 (ja) | 2012-11-28 |
Family
ID=44657589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011070696A Active JP5085758B2 (ja) | 2010-03-29 | 2011-03-28 | 通信プロトコルにおけるパケット・サイズの削減 |
Country Status (3)
Country | Link |
---|---|
US (2) | US8473567B2 (ja) |
JP (1) | JP5085758B2 (ja) |
CN (1) | CN102209104B (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9390042B2 (en) * | 2012-07-03 | 2016-07-12 | Nvidia Corporation | System and method for sending arbitrary packet types across a data connector |
US9418035B2 (en) | 2012-10-22 | 2016-08-16 | Intel Corporation | High performance interconnect physical layer |
US9325449B2 (en) * | 2013-12-06 | 2016-04-26 | Intel Corporation | Lane error detection and lane removal mechanism to reduce the probability of data corruption |
US9397792B2 (en) | 2013-12-06 | 2016-07-19 | Intel Corporation | Efficient link layer retry protocol utilizing implicit acknowledgements |
US9306863B2 (en) * | 2013-12-06 | 2016-04-05 | Intel Corporation | Link transfer, bit error detection and link retry using flit bundles asynchronous to link fabric packets |
US9628382B2 (en) | 2014-02-05 | 2017-04-18 | Intel Corporation | Reliable transport of ethernet packet data with wire-speed and packet data rate match |
US10250464B2 (en) * | 2014-10-15 | 2019-04-02 | Accedian Networks Inc. | Area efficient traffic generator |
US9900386B2 (en) * | 2015-04-09 | 2018-02-20 | International Business Machines Corporation | Provisioning data to distributed computing systems |
CN105022715A (zh) * | 2015-07-08 | 2015-11-04 | 浪潮(北京)电子信息产业有限公司 | 一种服务器背板互连方法和系统 |
US10389839B2 (en) | 2016-06-01 | 2019-08-20 | Intel Corporation | Method and apparatus for generating data prefetches specifying various sizes to prefetch data from a remote computing node |
US10680976B2 (en) * | 2016-09-09 | 2020-06-09 | Intel Corporation | Technologies for performing switch-based collective operations in distributed architectures |
US9684461B1 (en) | 2016-10-31 | 2017-06-20 | International Business Machines Corporation | Dynamically adjusting read data return sizes based on memory interface bus utilization |
US9892066B1 (en) * | 2016-10-31 | 2018-02-13 | International Business Machines Corporation | Dynamically adjusting read data return sizes based on interconnect bus utilization |
US20190044809A1 (en) * | 2017-08-30 | 2019-02-07 | Intel Corporation | Technologies for managing a flexible host interface of a network interface controller |
US10296459B1 (en) * | 2017-12-29 | 2019-05-21 | Intel Corporation | Remote atomic operations in multi-socket systems |
US11360920B2 (en) | 2020-08-31 | 2022-06-14 | Micron Technology, Inc. | Mapping high-speed, point-to-point interface channels to packet virtual channels |
US11539623B2 (en) | 2020-08-31 | 2022-12-27 | Micron Technology, Inc. | Single field for encoding multiple elements |
US11296995B2 (en) | 2020-08-31 | 2022-04-05 | Micron Technology, Inc. | Reduced sized encoding of packet length field |
US11418455B2 (en) | 2020-08-31 | 2022-08-16 | Micron Technology, Inc. | Transparent packet splitting and recombining |
US11412075B2 (en) | 2020-08-31 | 2022-08-09 | Micron Technology, Inc. | Multiple protocol header processing |
US11784933B2 (en) | 2020-12-08 | 2023-10-10 | Google Llc | Traffic shaping offload on a network interface controller |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0477155A (ja) * | 1990-07-17 | 1992-03-11 | Nec Corp | 並列データ伝送方式 |
JP2737820B2 (ja) * | 1992-09-24 | 1998-04-08 | インターナショナル・ビジネス・マシーンズ・コーポレイション | メモリアクセス方法およびシステム |
US6009488A (en) | 1997-11-07 | 1999-12-28 | Microlinc, Llc | Computer having packet-based interconnect channel |
JP3728448B2 (ja) * | 2002-03-13 | 2005-12-21 | 松下電器産業株式会社 | データ通信システム |
US7043611B2 (en) * | 2002-12-11 | 2006-05-09 | Lsi Logic Corporation | Reconfigurable memory controller |
US7492710B2 (en) * | 2005-03-31 | 2009-02-17 | Intel Corporation | Packet flow control |
US7590805B2 (en) * | 2005-12-29 | 2009-09-15 | Intel Corporation | Monitor implementation in a multicore processor with inclusive LLC |
US8249089B2 (en) | 2006-09-29 | 2012-08-21 | Intel Corporation | Methods for pushing address translations mappings to PCI express endpoints |
US7822921B2 (en) * | 2006-10-31 | 2010-10-26 | Netapp, Inc. | System and method for optimizing write operations in storage systems |
US7707383B2 (en) | 2006-11-21 | 2010-04-27 | Intel Corporation | Address translation performance in virtualized environments |
US8111707B2 (en) * | 2007-12-20 | 2012-02-07 | Packeteer, Inc. | Compression mechanisms for control plane—data plane processing architectures |
US7797503B2 (en) * | 2007-06-26 | 2010-09-14 | International Business Machines Corporation | Configurable memory system and method for providing atomic counting operations in a memory device |
US7734857B2 (en) * | 2007-07-31 | 2010-06-08 | Intel Corporation | Cache coherent switch device |
US8250254B2 (en) | 2007-07-31 | 2012-08-21 | Intel Corporation | Offloading input/output (I/O) virtualization operations to a processor |
US20090089475A1 (en) * | 2007-09-28 | 2009-04-02 | Nagabhushan Chitlur | Low latency interface between device driver and network interface card |
US7779211B2 (en) * | 2007-10-31 | 2010-08-17 | Intel Corporation | Reducing latency in responding to a snoop request |
US7895419B2 (en) * | 2008-01-11 | 2011-02-22 | International Business Machines Corporation | Rotate then operate on selected bits facility and instructions therefore |
US8169850B2 (en) * | 2009-04-27 | 2012-05-01 | Intel Corporation | Forming multiprocessor systems using dual processors |
US9069672B2 (en) * | 2009-06-12 | 2015-06-30 | Intel Corporation | Extended fast memory access in a multiprocessor computer system |
US8510511B2 (en) * | 2009-12-14 | 2013-08-13 | International Business Machines Corporation | Reducing interprocessor communications pursuant to updating of a storage key |
US8930635B2 (en) * | 2009-12-14 | 2015-01-06 | International Business Machines Corporation | Page invalidation processing with setting of storage key to predefined value |
US8918601B2 (en) * | 2009-12-14 | 2014-12-23 | International Business Machines Corporation | Deferred page clearing in a multiprocessor computer system |
US8214598B2 (en) * | 2009-12-22 | 2012-07-03 | Intel Corporation | System, method, and apparatus for a cache flush of a range of pages and TLB invalidation of a range of entries |
-
2010
- 2010-03-29 US US12/748,644 patent/US8473567B2/en active Active
-
2011
- 2011-03-28 JP JP2011070696A patent/JP5085758B2/ja active Active
- 2011-03-29 CN CN201110115952.4A patent/CN102209104B/zh active Active
-
2012
- 2012-12-10 US US13/709,632 patent/US9148485B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US9148485B2 (en) | 2015-09-29 |
CN102209104A (zh) | 2011-10-05 |
CN102209104B (zh) | 2015-05-13 |
US20130103783A1 (en) | 2013-04-25 |
US8473567B2 (en) | 2013-06-25 |
US20110238778A1 (en) | 2011-09-29 |
JP2011211711A (ja) | 2011-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5085758B2 (ja) | 通信プロトコルにおけるパケット・サイズの削減 | |
CN108055214B (zh) | 用于对数据进行通信的装置和系统 | |
TWI610174B (zh) | 計算裝置及計算系統 | |
TWI570565B (zh) | 池式記憶體位址轉譯之技術 | |
CN105718390B (zh) | 共享存储器链路中的低功率进入 | |
JP3836838B2 (ja) | マルチプロセッサ・システムでのプロセッサ相互接続を使用するマイクロプロセッサ通信の方法およびデータ処理システム | |
JP3836840B2 (ja) | マルチプロセッサ・システム | |
US7937532B2 (en) | Method and apparatus for speculative prefetching in a multi-processor/multi-core message-passing machine | |
US9223579B2 (en) | Handling atomic operations for a non-coherent device | |
CN107111576A (zh) | 发布的中断架构 | |
US20230017643A1 (en) | Composable infrastructure enabled by heterogeneous architecture, delivered by cxl based cached switch soc | |
EP3885918B1 (en) | System, apparatus and method for performing a remote atomic operation via an interface | |
CN111752607A (zh) | 用于处理器中的批量寄存器访问的系统、装置和方法 | |
JP3836837B2 (ja) | マルチプロセッサ・システムでのマイクロプロセッサ通信の方法、処理ユニット、およびデータ処理システム | |
JP3836839B2 (ja) | クラスタベースのマルチプロセッサ・システムでのマイクロプロセッサ通信の方法およびデータ処理システム | |
Das Sharma et al. | An Introduction to the Compute Express Link (CXL) Interconnect |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120223 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120306 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120601 |
|
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: 20120807 |
|
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: 20120905 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5085758 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150914 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |