Multi-path rdma transmission
US-2020334195-A1 · Oct 22, 2020 · US
US11296988B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11296988-B2 |
| Application number | US-202016986428-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 6, 2020 |
| Priority date | Nov 14, 2019 |
| Publication date | Apr 5, 2022 |
| Grant date | Apr 5, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A network adapter includes a receive (Rx) pipeline, a transmit (Tx) pipeline and congestion management circuitry. The Rx pipeline is configured to receive packets sent over a network by a peer network adapter, and to process the received packets. The Tx pipeline is configured to transmit packets to the peer network adapter over the network. The congestion management circuitry is configured to receive, from the Tx pipeline and from the Rx pipeline, Congestion-Control (CC) events derived from at least some of the packets exchanged with the peer network adapter, to exchange user-programmable congestion control packets with the peer network adapter, and to mitigate a congestion affecting one or more of the packets responsively to the CC events and the user-programmable congestion control packets.
Opening claim text (preview).
The invention claimed is: 1. A network adapter, comprising: a receive (Rx) pipeline, configured to receive packets sent over a network by a peer network adapter, and to process the received packets; a transmit (Tx) pipeline, configured to transmit packets to the peer network adapter over the network; and congestion management circuitry, configured to: receive user-defined Congestion-Control (CC) software code that executes a CC algorithm selected from among multiple different CC algorithms, wherein the selected CC algorithm specifies user-programmable congestion control packets to be exchanged between the congestion management circuitry and peer congestion management circuitry in the peer network adapter; receive, from the Tx pipeline and from the Rx pipeline, CC events derived from at least some of the packets exchanged with the peer network adapter; exchange the user-programmable congestion control packets specified in the selected CC algorithm with the peer congestion management circuitry in the peer network adapter; and mitigate a congestion affecting one or more of the packets responsively to the CC events and the user-programmable congestion control packets, by executing the selected CC algorithm. 2. The network adapter according to claim 1 , wherein the congestion affects the packets transmitted to the peer network adapter, and wherein the congestion management circuitry is configured to throttle, depending on the CC events and the user-programmable congestion control packets, a transmission rate of the packets transmitted by the Tx pipeline. 3. The network adapter according to claim 1 , wherein the congestion affects the packets received from the peer network adapter, and wherein the congestion management circuitry is configured to generate a congestion notification based on the CC events and the user-programmable congestion control packets, and to send the congestion notification to the peer network adapter. 4. The network adapter according to claim 1 , wherein the congestion management circuitry supports an Application Programming Interface (API) for receiving the user-defined Congestion-Control (CC) software code. 5. The network adapter according to claim 1 , wherein the programmable congestion control packets have a format of Management Datagram (MAD) packets. 6. The network adapter according to claim 1 , wherein the congestion management circuitry comprises a hardware congestion-control-circuitry configured to pre-process the CC events, and a user-programmable congestion control processor configured to mitigate the congestion responsively to the pre-processed CC events. 7. The network adapter according to claim 6 , wherein the hardware congestion-control-circuitry is configured to coalesce two or more of the CC events, and to provide the coalesced CC events to the congestion control processor. 8. The network adapter according to claim 1 , wherein the user-programmable congestion control packets have a payload format, which supports user-defined codes that coordinate execution of the selected CC algorithm between the congestion management circuitry and the congestion management circuitry in the peer network adapter. 9. A method for communication, comprising: using a receive (Rx) pipeline of a network adapter, receiving packets sent over a network by a peer network adapter, and processing the received packets; using a transmit (Tx) pipeline of the network adapter, transmitting packets to the peer network adapter over the network; and using congestion management circuitry in the network adapter: receiving user-defined Congestion-Control (CC) software code that executes a CC algorithm selected from among multiple different CC algorithms, wherein the selected CC algorithm specifies user-programmable congestion control packets to be exchanged between the congestion management circuitry and peer congestion management circuitry in the peer network adapter; receiving from the Tx pipeline and from the Rx pipeline CC events derived from at least some of the packets exchanged with the peer network adapter; exchanging the user-programmable congestion control packets specified in the selected CC algorithm with the peer congestion management circuitry in the peer network adapter; and mitigating a congestion affecting one or more of the packets responsively to the CC events and the user-programmable congestion control packets, by executing the selected CC algorithm. 10. The method according to claim 9 , wherein the congestion affects the packets transmitted to the peer network adapter, and wherein mitigating the congestion comprises throttling, depending on the CC events and the user-programmable congestion control packets, a transmission rate of the packets transmitted by the Tx pipeline. 11. The method according to claim 9 , wherein the congestion affects the packets received from the peer network adapter, and wherein mitigating the congestion comprises generating a congestion notification based on the CC events and the user-programmable congestion control packets, and sending the congestion notification to the peer network adapter. 12. The method according to claim 9 , and comprising receiving the user-defined Congestion-Control (CC) software code in the congestion management circuitry using an Application Programming Interface (API). 13. The method according to claim 9 , wherein the programmable congestion control packets have a format of Management Datagram (MAD) packets. 14. The method according to claim 9 , wherein mitigating the congestion comprises pre-processing the CC events using hardware congestion-control-circuitry, and mitigating the congestion responsively to the pre-processed CC events by a user-programmable congestion control processor. 15. The method according to claim 14 , wherein pre-processing the CC events comprises coalescing two or more of the CC events, and providing the coalesced CC events to the congestion control processor. 16. The method according to claim 9 , wherein the user-programmable congestion control packets have a payload format, which supports user-defined codes that coordinate execution of the selected CC algorithm between the congestion management circuitry and the congestion management circuitry in the peer network adapter. 17. A network adapter, comprising: a receive (Rx) pipeline, configured to receive packets sent over a network by a peer network adapter, and to process the received packets; a transmit (Tx) pipeline, configured to transmit packets to the peer network adapter over the network; and management circuitry, configured to: receive user-defined software code that executes a control algorithm selected from among multiple different control algorithms, wherein the selected control algorithm specifies user-programmable control packets to be exchanged between the management circuitry and peer management circuitry in the peer network adapter; receive, from the Tx pipeline and from the Rx pipeline, events derived from at least some of the packets exchanged with the peer network adapter; exchange the user-programmable control packets specified in the selected control algorithm with the peer management circuitry in the peer network adapter, and perform a control operation responsively to the events and the user-programmable control packets, by executing the selected control algorithm. 18. A method for communication, comprising: using a receive (Rx) pipeline of a network adapter, receiving packets sent over a network by a peer network adapter, and processing the received packets; using a transmi
Avoiding congestion; Recovering from congestion · CPC title
sent by the destination endpoint (network streaming of media packets with control of the source by the destination H04L65/613) · CPC title
using explicit feedback to the source, e.g. choke packets · CPC title
with rate being modified by the source upon detecting a change of network conditions · CPC title
Parsing or analysis of headers · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.