JP4464969B2 - Rdma完了および再送信システムおよび方法 - Google Patents
Rdma完了および再送信システムおよび方法 Download PDFInfo
- Publication number
- JP4464969B2 JP4464969B2 JP2006542745A JP2006542745A JP4464969B2 JP 4464969 B2 JP4464969 B2 JP 4464969B2 JP 2006542745 A JP2006542745 A JP 2006542745A JP 2006542745 A JP2006542745 A JP 2006542745A JP 4464969 B2 JP4464969 B2 JP 4464969B2
- Authority
- JP
- Japan
- Prior art keywords
- message
- channel
- completion
- sequence number
- requestout
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17331—Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3086—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves the use of self describing data formats, i.e. metadata, markup languages, human readable formats
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- 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
-
- 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/4401—Bootstrapping
- G06F9/4405—Initialisation of multiprocessor systems
-
- 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/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- 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/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/4493—Object persistence
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Library & Information Science (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
・RequestOut−ローカル消費者によって発せられたRDMA要求
・ResponsOut−リモート消費者によって送られた受信RDMA読み出し要求の受信および処理の結果として、RNICによって発せられたRDMA応答
・追加のコピー動作が必要である。
・その様な取り組みを実施するには、より多くのRNICリソースが必要となる(データ/制御はアダプタ・メモリにコピーされる)。
・柔軟性の欠如(アダプタ・メモリは、限られたリソースであり、有線上において未処理となりうるRDMAメッセージの数を制限する。)
・RDMA要求とRDMA応答との間の完了順序付けを実施するのはいっそう困難である。
RDMAプロトコルは、RequestOutチャンネルを介して送信されたメッセージについての完了順序規則を規定する。これらの規則の概要は以下の通りである。
(1)単一のRDMAメッセージ(例えば、送出(Send)、書き込み(Write))からなるRDMA動作。これらの動作では、ローカルからリモート・ホストへデータを転送することになっており、リモートからローカル・ホストへ送られた単一のRDMAメッセージからなる。送出および書き込み動作は、これらのメッセージを備えるすべてのTCPセグメントがTCP接続の他の終点へ確実に送信されるであろうことをRNICが保証できる場合に、完了したものとみなされる。
図1を参照すると、ResponseOutチャンネルとRequestOutチャンネルとの間の順序を保存するための完了および再送信システム10が示されている。完了アルゴリズム24または再送信アルゴリズム26のいずれかを使用して「完了のための要求」または「再送信のための要求」が発行される場合に、順序は維持される。処理を促進するために、システム10は、
(1)RequestOutチャンネル16およびResponseOutチャンネル18について別個の記述子リスト12および14を提供し、
(2)これらの記述子リストからの情報を使用して、送信、完了、および再送信動作を行う。
2.Context[Ch#]::CompletedReadRequestsNum−完了した読み出し要求の数を表すために使用される。
3.Context[Ch#]::ReqOutLastCompletedMsgSn−request outチャンネルにおける最終完了済みメッセージのシーケンス番号(SN)を表すために使用される。
4.Context[Ch#]::ReqOutNextToCompleteMsgSN−request outチャンネルにおける次回完了メッセージのシーケンス番号(SN)を表すために使用される。
5.Context[Ch#]::RespOutLastCompletedMsgSN−response outチャンネルにおける最終完了済みメッセージのシーケンス番号(SN)を表すために使用される。
6.Context[Ch#]::RespOutNextToCompleteMsgSN−response outチャンネルにおける次回完了メッセージのシーケンス番号(SN)を表すために使用される。
7.Context[Ch#]::LastAckedSN−最終受信済みACKのシーケンス番号である。
8.Context[Ch#]::PendingReadRequest−このビットは、完了動作を実行中にRNICがRDMA読み出し要求で停止したため、受信論理によるRDMA読み出し応答の受信および配信を待った上でこの読み出し要求を完了させ、任意の後続のRDMA要求の完了に進まなくてはならないことを示している
9.Context[Ch#]::PendingReadRequestsCount−送信済みで未完了のRDMA読み出し要求の数を表すために使用される値である。
10.Context[Ch#]::PendingReadRequestCompletion−PendingReadRequestビットを使用する必要がある。
11.Context[Ch#]::TotalPostedMsgCount−書き込み済みで未送信のメッセージの数を表す。
12.Context[Ch#]::TotalPendingMsgCount−接続毎に完了を待っている送信済みのメッセージの数を表す。
1.MessageDescriptor::MessageLengthは、メッセージ長またはシーケンス番号のいずれかを搬送するために使用される。
2.MessageDescriptor::SN/MsgLengthBitは、MessageDescriptor::MessageLengthの内容を説明するために使用される。
本発明に係る完了アルゴリズム24は、2つの完了トリガを有する。
(1)TCP肯定応答(Ack)の受信。これは、送信されたデータが接続の他の終点で正常に受信され、かつ、本Ackの範囲であるRDMA動作(送出、書き込み)が完了することを示す。読み出し動作の一部としてのRDMA読み出し応答メッセージは、このメッセージの範囲であるAckが受信されると完了する。
(2)RDMA読み出し応答の受信および配信。これは、対応するRDMA読み出し要求(または保留読み出し動作)が完了することを示す。
受信されたTCP Ackは、RequestOutチャンネル16およびResponseOutチャンネル18に書き込まれたRDMA要求を完了させる。完了処理の主な課題は、ResponseOutチャンネルおよびRequestOutチャンネルからのメッセージが送信された順番に従うということである。この順番を保存するためには、RNICは、更新機構25を使用して、メッセージの最終バイトのシーケンス番号(SN)を搬送する選択されたメッセージのメッセージ記述子を更新する。この更新処理は、「書き戻し(write−back)」とも称され、RNICがメッセージの最終セグメントを送信するときに行われる。RNICは、MessageDescriptor::MessageLengthフィールドを使用して、メッセージ長またはシーケンス番号のいずれかを搬送する。MessageDescriptor::SN/MsgLengthBitは、MessageDescriptor::MessageLengthフィールドの内容を記述する。
完了フローは、ResponseOutチャンネルおよびRequestOutチャンネルの両方について別個に、一連のステップを通じてRNICルーピングによって実施される。この処理を以下に説明する。なお、最終受信済みACKのシーケンス番号は、Context[Ch#]::LasAckedSNに示される。
・Context[Ch#]::LastCompletedMsgSNは、Context[Ch#]::NextToCompleteMsgSNで更新され、
・Context[Ch#]::NextToCompleteMsgSNは、チャンネル内の次のメッセージの最終SNで更新される。次のメッセージの最終SNは、以下のやり方のうちの1つで取り出されることができる。
(1)本フィールドがシーケンス番号を搬送している旨をMessageDescriptor::SN/MsgLengthBitが示している場合には、MessageDescriptor::MessageLength/SNフィールドにおいて明示的に、
(2)MessageDescriptor::MessageLengthをアプリケーションペイロードの大きさとして使用して、プロトコル・ヘッダ、フッタ、および制御情報(DDPヘッダ、マーカ、パディング、CRC)を付加して暗示的に、
(3)チャンネルが次の送信済みメッセージを有していない場合には、無効である。これは、メッセージが全く書き込まれていない場合、およびメッセージは書き込まれたが、完全には送信されていない場合が含まれる。
ステップ5:ステップ1へ戻る。
RNICは、要求の範囲に含むTCP Ackを受信すると、書き込まれたRDMA要求を完了させる。RDMA読み出し要求は、対応RDMA読み出し応答が受信される場合に完了される例外的な場合である。
これは非常に稀な場合であり、完了要求がRDMA読み出し応答を受信するまでに処理されない場合に生じる。よって、RNICは、RDMA読み出し要求に先立つすべての要求をまず完了させる必要がある。この場合は、非ゼロContext[Ch#]::PendingReadRequestCountと、クリアContext[Ch#]::PendingReadRequestビットとによって示される。
RNICは、RDMA読み出し動作の完了を行うが、その詳細は本願には関連しない。
Context[Ch#]::CompletedReadRequestsNum
によって規定された完了したRDMA読み出し要求の数である。
再送信要求の処理は、以下の問題に対処することを含む。
図8に示すように、TCPは、3種類の再送信要求を書き込む。
(1)高速再送信による再送信
(2)タイムアウトによる開始再送信
(3)進行タイムアウト再送信
再送信すべきTCPセグメントの位置特定は、送信されたメッセージを有するRequestOutおよびResponseOutという2つのチャンネルを有することによって、影響を受ける。再送信すべきセグメントの位置特定は、いくつかのステップからなり、その概要を以下に示す。
Claims (15)
- RequestOutチャンネル(16)およびResponseOutチャンネル(18)を有するリモート・データ・メモリ・アクセス(RDMA)環境における完了処理を取り扱うためのシステムであって、
チャンネル毎の記述子リスト(12,14)であって、その各々が、当該チャンネル内のメッセージ毎のメッセージ記述子を含む、各記述子リスト(12,14)と、
チャンネル交換が前記RequestOutチャンネル(16)と前記ResponseOutチャンネル(18)との間で生じる度に、前記メッセージ記述子内のメッセージ長フィールドを前記メッセージ内の最終バイトのシーケンス番号で更新するための更新機構(25)と、
完了コンテキスト(22)内の値を検査して、次回完了メッセージのシーケンス番号と最終受け取りシーケンス番号とを比較して、前記メッセージを完了すべきかどうかを決定する肯定応答(Ack)完了システムと、
読み出し要求の完了を行う読み出し要求完了システムと
を備える、システム。 - 前記肯定応答完了システムは、各前記RequestOutチャンネル(16)および前記ResponseOutチャンネル(18)に別個に提供される一連の反復論理ステップを含む、請求項1に記載のシステム。
- 前記反復論理ステップは、
前記次回完了メッセージの前記シーケンス番号が無効である場合には、前記完了処理の過程が終了したと判断するステップと、
前記次回完了メッセージの前記シーケンス番号が前記最終受け取りシーケンス番号より大きい場合には、前記完了処理の過程が終了したと判断するステップと、
前記次回完了メッセージの前記シーケンス番号が前記受け取りシーケンス番号以下である場合には、前記チャンネル内の前記メッセージを完了させるステップと
を含む、請求項2に記載のシステム。 - 前記反復論理ステップは、前記RequestOutチャンネル(16)が読み出し要求の完了を待っている場合には、前記RequestOutチャンネル(16)における前記完了処理を終了させる更なるステップを含む、請求項3に記載のシステム。
- 前記チャンネル内の前記メッセージを完了させる前記ステップは、
最終完了メッセージのシーケンス番号を前記次回完了メッセージの前記シーケンス番号で更新するステップと、
前記次回完了メッセージの前記シーケンス番号を前記チャンネル内の次のメッセージの最終シーケンス番号で更新するステップと
をさらに含む、請求項3に記載のシステム。 - 前記チャンネル内の前記メッセージを完了させる前記ステップは、
前記完了されたメッセージが読み出し要求メッセージでない場合には、動作の完了を行うステップと、
前記メッセージが読み出し要求メッセージである場合には、完了を行う前に、読み出し応答の受信および配信を待ってから完了を行い、その後、完了コンテキスト内の保留読み出し要求ビットを設定するステップと
をさらに含む、請求項5に記載のシステム。 - 前記読み出し要求完了システムは、
前記読み出し要求に先立つ任意の要求を完了させるステップと、
前記読み出し要求を完了させるステップと、
前記読み出し要求に続く任意の要求を完了させるステップと
を含む第2の一連の論理ステップとを提供する、請求項2に記載のシステム。 - 前記第2の組の論理ステップの最後の2つのステップは、N回繰り返され、ここで、Nは、完了された読み出し要求の数を表す完了コンテキストに記憶された値である、請求項7に記載のシステム。
- 再送信すべきセグメントの位置特定のための第3の一連の論理ステップを含む再送信要求を取り扱うためのシステムをさらに備え、前記ステップは、
保留完了がないことを保証するための完了動作を行うステップと、
前記RequestOutチャンネル(16)および前記ResponseOutチャンネル(18)の両方について、候補メッセージを識別するステップと、
2つの候補メッセージから、送信すべき前記セグメントを搬送するメッセージを選択するステップと、
再送信すべき前記セグメントの開始を示すポインタ記述子の位置を決定するステップとを含む、請求項1に記載のシステム。 - 前記RequestOutチャンネル(16)が保留読み出し要求の完了を待っている場合には、前記RequestOutチャンネル(16)内の前記候補メッセージは、前記RequestOutチャンネル(16)内の最初の未完了メッセージのいずれかを備え、
前記RequestOutチャンネル(16)が保留読み出し要求の完了を待っていない場合には、前記RequestOutチャンネル(16)内の前記候補メッセージは、次回完了(N2C)ポインタによって与えられ、
前記ResponseOutチャンネル(18)内の前記候補メッセージは、次回完了(N2C)ポインタによって与えられる、
請求項9に記載のシステム。 - 送信すべき前記セグメントを搬送する前記メッセージは、前記次回完了メッセージについての最下位のシーケンス番号を有するチャンネルにある候補メッセージである、請求項9に記載のシステム。
- 再送信すべき前記セグメントの前記開始を示す前記ポインタ記述子の前記位置は、
前記RequestOutチャンネル(16)内の最終完了メッセージのシーケンス番号と、
前記ResponseOutチャンネル(18)内の最終完了メッセージのシーケンス番号と
のうちの最大値より1大きい、請求項9に記載のシステム。 - RequestOutチャンネル(16)およびResponseOutチャンネル(18)を有するリモート・データ・メモリ・アクセス(RDMA)環境における完了処理を取り扱うための方法であって、各チャンネルにおける肯定応答完了を、
次回完了メッセージのシーケンス番号が無効である場合には、前記完了処理の過程が終了したと判断するステップと、
前記次回完了メッセージの前記シーケンス番号が最終受け取りシーケンス番号よりも大きい場合には、前記完了処理の前記処理を終了させると判断するステップと、
前記次回完了メッセージの前記シーケンス番号が最終受け取りシーケンス番号以下である場合には、前記チャンネル内の前記メッセージを完了させるステップと、
前記RequestOutチャンネル(16)が読み出し要求の完了を待っている場合に、前記RequestOutチャンネル(16)における前記完了処理を終了させるステップと
を伴って実行するステップを含む、方法。 - RequestOutチャンネル(16)およびResponseOutチャンネル(18)を有するリモート・データ・メモリ・アクセス(RDMA)環境における再送信要求に対して再送信すべきセグメントの位置を特定するための方法であって、
完了動作を行うステップと、
前記RequestOutチャンネル(16)および前記ResponseOutチャンネル(18)の両方について候補メッセージを識別するステップと、
前記2つの候補メッセージから、送信すべき前記セグメントを搬送するメッセージを選択するステップと、
再送信すべき前記セグメントの開始を指すポインタ記述子の位置を決定するステップとを備える、方法。 - RequestOutチャンネル(16)およびResponseOutチャンネル(18)を有するリモート・データ・メモリ・アクセス(RDMA)環境における送信要求を取り扱うためのシステムであって、
チャンネル毎の記述子リスト(12,14)であって、その各々が、チャンネル内のメッセージ毎のメッセージ記述子を含む、記述子リスト(12,14)と、
チャンネル交換が前記RequestOutチャンネル(16)と前記ResponseOutチャンネル(18)との間で生じる度に、前記メッセージ記述子内のメッセージ長フィールドを前記メッセージ内の最終バイトのシーケンス番号で更新するための更新機構(25)と
を備える、システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/725,740 US7543037B2 (en) | 2003-12-02 | 2003-12-02 | RDMA completion and retransmit system and method |
PCT/US2004/040371 WO2005057416A1 (en) | 2003-12-02 | 2004-12-02 | Rdma completion and retransmit system and method |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2007513583A JP2007513583A (ja) | 2007-05-24 |
JP2007513583A5 JP2007513583A5 (ja) | 2007-11-15 |
JP4464969B2 true JP4464969B2 (ja) | 2010-05-19 |
Family
ID=34620335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006542745A Expired - Fee Related JP4464969B2 (ja) | 2003-12-02 | 2004-12-02 | Rdma完了および再送信システムおよび方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7543037B2 (ja) |
EP (1) | EP1692621A4 (ja) |
JP (1) | JP4464969B2 (ja) |
KR (1) | KR100946013B1 (ja) |
CN (1) | CN100412847C (ja) |
WO (1) | WO2005057416A1 (ja) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7539780B2 (en) * | 2003-12-01 | 2009-05-26 | International Business Machines Corporation | Asynchronous completion notification for an RDMA system |
CA2548085C (en) * | 2003-12-11 | 2014-04-29 | International Business Machines Corporation | Data transfer error checking |
US7441006B2 (en) * | 2003-12-11 | 2008-10-21 | International Business Machines Corporation | Reducing number of write operations relative to delivery of out-of-order RDMA send messages by managing reference counter |
US20060067346A1 (en) * | 2004-04-05 | 2006-03-30 | Ammasso, Inc. | System and method for placement of RDMA payload into application memory of a processor system |
GB0408876D0 (en) * | 2004-04-21 | 2004-05-26 | Level 5 Networks Ltd | User-level stack |
ATE483293T1 (de) * | 2005-04-18 | 2010-10-15 | Research In Motion Ltd | System und verfahren für nachrichtenverkehrsoptimierung |
US7610415B2 (en) * | 2005-07-28 | 2009-10-27 | Digi International | System and method for processing data streams |
KR100834431B1 (ko) | 2006-01-02 | 2008-06-04 | 인터내셔널 비지네스 머신즈 코포레이션 | 개시자에 의한 iSCSI 데이터 이동 기능의 RNIC기반 오프로드 |
US20080155571A1 (en) * | 2006-12-21 | 2008-06-26 | Yuval Kenan | Method and System for Host Software Concurrent Processing of a Network Connection Using Multiple Central Processing Units |
US8688799B2 (en) * | 2011-06-30 | 2014-04-01 | Nokia Corporation | Methods, apparatuses and computer program products for reducing memory copy overhead by indicating a location of requested data for direct access |
CN103002046B (zh) * | 2012-12-18 | 2015-07-08 | 无锡众志和达数据计算股份有限公司 | 多系统数据拷贝的rdma装置 |
US11966355B2 (en) * | 2013-03-10 | 2024-04-23 | Mellanox Technologies, Ltd. | Network adapter with a common queue for both networking and data manipulation work requests |
CN103248467B (zh) * | 2013-05-14 | 2015-10-28 | 中国人民解放军国防科学技术大学 | 基于片内连接管理的rdma通信方法 |
CN104065465B (zh) * | 2014-06-06 | 2018-03-16 | 华为技术有限公司 | 一种报文重传的方法、请求端、响应端以及系统 |
US9892071B2 (en) * | 2015-08-03 | 2018-02-13 | Pure Storage, Inc. | Emulating a remote direct memory access (‘RDMA’) link between controllers in a storage array |
JP6740683B2 (ja) * | 2016-04-07 | 2020-08-19 | 富士通株式会社 | 並列処理装置及び通信制御方法 |
CN105893323A (zh) * | 2016-05-23 | 2016-08-24 | 华为技术有限公司 | 一种读数据的方法及设备 |
US10891253B2 (en) * | 2016-09-08 | 2021-01-12 | Microsoft Technology Licensing, Llc | Multicast apparatuses and methods for distributing data to multiple receivers in high-performance computing and cloud-based networks |
US20200007608A1 (en) * | 2018-06-29 | 2020-01-02 | R-Stor Inc. | System and method for performing fast file transfers |
US11019132B2 (en) | 2018-06-29 | 2021-05-25 | R-Stor Inc. | System and method for performing fast file transfers with dynamic bandwidth provisioning |
FR3088744B1 (fr) | 2018-11-15 | 2021-06-18 | Innovative Resources | Dispositif de detection de la presence de personnes a des postes de travail dans une bibliotheque |
CN112559436B (zh) * | 2020-12-16 | 2023-11-03 | 中国科学院计算技术研究所 | 一种rdma通信设备的上下文访问方法及系统 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6493343B1 (en) | 1998-01-07 | 2002-12-10 | Compaq Information Technologies Group | System and method for implementing multi-pathing data transfers in a system area network |
US7281030B1 (en) * | 1999-09-17 | 2007-10-09 | Intel Corporation | Method of reading a remote memory |
US6691178B1 (en) | 2000-02-22 | 2004-02-10 | Stmicroelectronics, Inc. | Fencepost descriptor caching mechanism and method therefor |
US6629166B1 (en) * | 2000-06-29 | 2003-09-30 | Intel Corporation | Methods and systems for efficient connection of I/O devices to a channel-based switched fabric |
KR100434270B1 (ko) | 2001-05-30 | 2004-06-04 | 엘지전자 주식회사 | 가전기기 네트워크 제어시스템 |
US20030061296A1 (en) * | 2001-09-24 | 2003-03-27 | International Business Machines Corporation | Memory semantic storage I/O |
US6912602B2 (en) | 2001-11-20 | 2005-06-28 | Broadcom Corporation | System having two or more packet interfaces, a switch, and a shared packet DMA circuit |
US7263103B2 (en) * | 2002-07-23 | 2007-08-28 | Mellanox Technologies Ltd. | Receive queue descriptor pool |
DE10262080B4 (de) * | 2002-10-25 | 2005-01-27 | Advanced Micro Devices, Inc., Sunnyvale | SMBus-Testgerät und zugehöriges Verfahren |
US20040199660A1 (en) | 2003-02-14 | 2004-10-07 | Nokia Corporation | Method of multiplexing compressed and uncompressed internet protocol packets |
US7610340B2 (en) * | 2003-10-09 | 2009-10-27 | International Business Machines Corporation | Method, system and storage medium for providing interoperability of email and instant messaging services |
US6981074B2 (en) | 2003-10-14 | 2005-12-27 | Broadcom Corporation | Descriptor-based load balancing |
-
2003
- 2003-12-02 US US10/725,740 patent/US7543037B2/en not_active Expired - Fee Related
-
2004
- 2004-12-02 JP JP2006542745A patent/JP4464969B2/ja not_active Expired - Fee Related
- 2004-12-02 KR KR1020067010747A patent/KR100946013B1/ko not_active IP Right Cessation
- 2004-12-02 WO PCT/US2004/040371 patent/WO2005057416A1/en active Search and Examination
- 2004-12-02 EP EP04812810A patent/EP1692621A4/en not_active Withdrawn
- 2004-12-02 CN CNB2004800356881A patent/CN100412847C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR100946013B1 (ko) | 2010-03-09 |
CN1890657A (zh) | 2007-01-03 |
EP1692621A1 (en) | 2006-08-23 |
WO2005057416A1 (en) | 2005-06-23 |
EP1692621A4 (en) | 2007-09-05 |
KR20060123236A (ko) | 2006-12-01 |
US7543037B2 (en) | 2009-06-02 |
CN100412847C (zh) | 2008-08-20 |
JP2007513583A (ja) | 2007-05-24 |
US20050120360A1 (en) | 2005-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4464969B2 (ja) | Rdma完了および再送信システムおよび方法 | |
US10430374B2 (en) | Selective acknowledgement of RDMA packets | |
US7818362B2 (en) | Split socket send queue apparatus and method with efficient queue flow control, retransmission and sack support mechanisms | |
JP4921569B2 (ja) | オフロードユニットを使用したtcp接続のためのデータ処理 | |
US7496690B2 (en) | Method, system, and program for managing memory for data transmission through a network | |
US6615383B1 (en) | System and method for message transmission between network nodes connected by parallel links | |
EP0762705B1 (en) | Method for transmitting data via a network | |
JP4583383B2 (ja) | Tcp再送信プロセス速度の向上方法 | |
US7580406B2 (en) | Remote direct memory access segment generation by a network controller | |
US20110134930A1 (en) | Packet-based networking system | |
JP4508195B2 (ja) | アウト・オブ・オーダのrdma送信メッセージの配信に関する書き込み動作の回数の減少 | |
US9667729B1 (en) | TCP offload send optimization | |
US7213045B2 (en) | Apparatus and method for transmit transport protocol termination | |
US20050141425A1 (en) | Method, system, and program for managing message transmission through a network | |
US20070255866A1 (en) | Method and system for a user space TCP offload engine (TOE) | |
JP2013511884A (ja) | 動的接続された移送サービス | |
JPH11143845A (ja) | ネットワークノード間のメッセージ送信用システム及び方法 | |
US6898638B2 (en) | Method and apparatus for grouping data for transfer according to recipient buffer size | |
CN114520711A (zh) | 数据包的选择性重传 | |
JP4979823B2 (ja) | データ転送エラー検査 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070926 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070926 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100210 |
|
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: 20100216 |
|
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: 20100219 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130226 Year of fee payment: 3 |
|
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: 20130226 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140226 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |