IP Library Granted Patent US 10,389,646
Granted Patent B2
US 10,389,646 · App. 15/432,962 · Granted Aug 20, 2019

Evading congestion spreading for victim flows

Inventors: Vladimir Zdornov (Kfar Saba, IL); Eitan Zahavi (Zichron Yaakov, IL)
Assignee: MELLANOX TECHNOLOGIES TLV LTD.
H04L47/31H04L47/621H04L47/39
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,389,646
App. No.
15/432,962
Granted
Aug 20, 2019
Kind
B2
Abstract

A network switch includes switching circuitry and multiple ports. The multiple ports are connected to a communication network. The switching circuitry is configured to receive via the ports packets that are assigned respective Virtual Lanes (VLs), and forward each packet for transmission via a respective selected port, to queue the packets pending for transmission via a given port in multiple VL-dedicated queues, in accordance with the VLs assigned to the packets, to mark an outbound packet, pending for transmission via the given port, with multiple congestion indications that are indicative of respective congestion states of the multiple VL-dedicated queues of the given port, and to transmit the marked outbound packet via the given port.

Claims (20)

1. A network adapter, comprising:

one or more ports connected to a communication network; and

circuitry, configured to:

transmit via the ports packets that are assigned a given Virtual Lane (VL) from the network adapter to a destination node via a route having multiple switches, wherein the destination node is coupled to the communication network downstream to a source node comprising the network adapter;

receive from the destination node, via the ports, a packet that was sent by the destination node using upstream transmission, and that is marked with multiple congestion indications that are indicative of respective congestion states corresponding to multiple respective VLs that are available for assigning to packets sent from the network adapter to the destination node using downstream transmission via the route, wherein the multiple congestion indications in the packet are based on congestion indications in a downstream packet produced by at least a switch from among the switches downstream on the route, by combining, by the switch, congestion indications relating to VL-dedicated queues of the switches, with respective congestion indications with which the downstream packet was already marked when received at the switch;

make a classification of the packets transmitted via the route using the given VL, based on the multiple congestion indications, as belonging to a contributor flow when routed via a root-of-congestion port in at least one switch along the route, or to a victim flow when routed via at least one victim port along the route;

select, based on the multiple congestion indications and on the classification, a VL for downstream transmission of subsequent packets that originate from the network adapter and are destined to the destination node via the route, so that victim flows do not share VLs with contributor flows; and

assign the selected VL to the subsequent packets, and schedule downstream transmission of the subsequent packets to the destination node over the communication network via the route using the assigned VL.

2. The network adapter according to claim 1 , wherein, the circuitry is configured to determine, based on the multiple congestion indications, that the route comprises at least one root-of-congestion switch, and to select the VL to be uniquely shared by flows routed through root-of-congestion switches.

3. The network adapter according to claim 1 , wherein, in response to determining that the route comprises one or more congested switches that are not root-of-congestion switches, the circuitry is configured to select the VL from among one or more VLs that are not used by flows routed through a congested switch along the route.

4. The network adapter according to claim 1 , wherein, in response to determining that all the switches along the route are non-congested, the circuitry is configured to assign the selected VL unchanged.

5. A method, comprising:

in a network adapter of a source node that connects to a communication network using one or more ports, transmitting via the ports packets that are assigned a given Virtual Lane (VL) from the network adapter to a destination node via a route having multiple switches, wherein the destination node is coupled to the communication network downstream to the source node;

receiving from the destination node, via the ports, a packet that was sent by the destination node using upstream transmission, and that is marked with multiple congestion indications that are indicative of respective congestion states corresponding to multiple respective VLs that are available for assigning to packets sent from the network adapter to the destination node using downstream transmission via the route, wherein the multiple congestion indications in the packet are based on congestion indications in a downstream packet produced by at least a switch from among the switches downstream on the route, by combining, by the switch, congestion indications relating to VL-dedicated queues of the switches, with respective congestion indications with which the downstream packet was already marked when received at the switch;

making a classification of the packets transmitted via the route using the given VL, based on the multiple congestion indications, as belonging to a contributor flow when routed via a root-of-congestion port in at least one switch along the route, or to a victim flow when routed via at least one victim port along the route;

selecting, based on the multiple congestion indications and on the classification, a VL for downstream transmission of subsequent packets that originate from the network adapter and are destined to the destination node via the route, so that victim flows do not share VLs with contributor flows; and

assigning the selected VL to the subsequent packets, and scheduling downstream transmission of the subsequent packets to the destination node over the communication network via the route using the assigned VL.

6. The method according to claim 5 , wherein selecting the VL comprises determining, based on the multiple congestion indications, that the route comprises at least one root-of-congestion switch, and selecting the VL to be uniquely shared by flows routed through root-of-congestion switches.

7. The method according to claim 5 , wherein selecting the VL comprises, in response to determining that the route comprises one or more congested switches that are not root-of-congestion switches, selecting the VL from among one or more VLs that are not used by flows routed through a congested switch along the route.

8. The method according to claim 5 , wherein assigning the selected VL comprises, in response to determining that all the switches along the route are non-congested, assigning the selected VL unchanged.

Assignments (2)
MERGER Recorded Dec 15, 2021
From: MELLANOX TECHNOLOGIES TLV LTD.
To: MELLANOX TECHNOLOGIES, LTD.
Reel/Frame 058517/0564 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 15, 2017
From: ZDORNOV, VLADIMIR; ZAHAVI, EITAN
To: MELLANOX TECHNOLOGIES TLV LTD.
Reel/Frame 041258/0238 →
Continuity (1)
Related Publication 20180234343A1 · Aug 16, 2018
Cited By (2)
US 12,328,251 US 12,647,361