Switch-originated congestion messages
Examples described herein relate to a switch circuitry that includes circuitry to determine if a received packet comprises a control packet; circuitry to determine congestion metrics based on receipt of at least one control packet, wherein the at least one control packet comprises a Request To Send (RTS) or Clear To Send (CTS); and circuitry to transmit at least one of the congestion metrics in at least one packet to a sender and/or receiver network interface device.
1 . A method comprising:
tracking, at a switch circuitry, congestion and bandwidth metrics to respectively represent both (a) a level of congestion at an egress port or egress queue of the switch circuitry and (b) available bandwidth at the egress port or the egress queue, wherein the available bandwidth at the egress port is based on a link speed of the egress port and transmit rates of packets from egress queues allocated to the egress port and
in response to receipt of a control packet, causing transmission, by the switch circuitry, of the congestion and bandwidth metrics to sender and/or receiver devices, wherein the causing transmission, by the switch circuitry, of the congestion and bandwidth metrics to sender and/or receiver devices causes determination of bandwidth of the egress queue and adjustment by the sender device of a packet transmit rate to the egress queue of the switch circuitry.
2 . The method of claim 1 , wherein the congestion and bandwidth metrics comprise per-egress port congestion and bandwidth metrics and comprise a port identifier and one or more of: transmit rate, available bandwidth, traffic arrival rate, incast ratio, or number of received flows.
3 . The method of claim 1 , wherein the congestion and bandwidth metrics comprise per-queue congestion and bandwidth metrics and comprise a queue identifier and one or more of: transmit rate, available bandwidth, traffic arrival rate, incast ratio, or number of received flows.
4 . The method of claim 1 , wherein the control packet comprises a Message Passing Interface (MPI) Request To Send (RTS) or Clear To Send (CTS).
5 . The method of claim 1 , wherein the adjustment by the sender device of a packet transmit rate to the egress queue of the switch circuitry comprises: based on higher priority traffic in the egress queue, reducing available bandwidth of the egress queue.
6 . An apparatus comprising:
a switch circuitry comprising:
at least one interface to an ingress port;
at least one interface to an egress port; and
circuitry to track congestion and bandwidth metrics to represent both (a) a level of congestion at an egress port or egress queue of the switch circuitry and (b) available bandwidth at the egress port or egress queue of the switch circuitry, wherein the available bandwidth at the egress port is based on a link speed of the egress port and transmit rates of packets from egress queues allocated to the egress port and
in response to receipt of a control packet, cause transmission of at least one of the congestion and bandwidth metrics to sender and/or receiver devices, wherein the cause transmission of at least one of the congestion and bandwidth metrics to sender and/or receiver devices is to cause determination of bandwidth of the egress queue and adjustment by the sender device of a packet transmit rate to the egress port or the egress queue of the switch circuitry.
7 . The apparatus of claim 6 , wherein the congestion and bandwidth metrics comprise per-egress port congestion and bandwidth metrics and comprise a port identifier and one or more of: transmit rate, available bandwidth, traffic arrival rate, incast ratio, or number of received flows.
8 . The apparatus of claim 6 , wherein the congestion and bandwidth metrics comprise per-queue congestion and bandwidth metrics and comprise a queue identifier and one or more of: transmit rate, available bandwidth, traffic arrival rate, incast ratio, or number of received flows.
9 . The apparatus of claim 6 , comprising one or more of: network interface controller (NIC), SmartNIC, router, forwarding element, infrastructure processing unit (IPU), or data processing unit (DPU).
10 . The apparatus of claim 6 , wherein the control packet comprises a Message Passing Interface (MPI) Request To Send (RTS) or Clear To Send (CTS).
11 . At least one non-transitory computer-readable medium comprising instructions stored thereon, that if executed by one or more processors, cause the one or more processors to:
configure circuitry of a switch to:
track congestion and bandwidth metrics to represent both (a) a level of congestion at an egress port or egress queue of the circuitry of the switch and (b) available bandwidth at the egress port or egress queue of the circuitry of the switch, wherein the available bandwidth at the egress port is based on a link speed of the egress port and transmit rates of packets from egress queues allocated to the egress port and
in response to receipt of a control packet, cause transmission of at least one of the congestion and bandwidth metrics to sender and/or receiver devices, wherein the cause transmission of at least one of the congestion and bandwidth metrics to sender and/or receiver devices is to cause determination of bandwidth of the egress queue and adjustment by the sender device of a packet transmit rate to the egress port or the egress queue of the switch.
12 . The computer-readable medium of claim 11 , wherein the congestion and bandwidth metrics comprise per-egress port congestion and bandwidth metrics and comprise a port identifier and one or more of: transmit rate, available bandwidth, traffic arrival rate, incast ratio, or number of received flows.
13 . The computer-readable medium of claim 11 , wherein the congestion and bandwidth metrics comprise per-queue congestion and bandwidth metrics and comprise a queue identifier and one or more of: transmit rate, available bandwidth, traffic arrival rate, incast ratio, or number of received flows.
14 . The computer-readable medium of claim 11 , wherein the switch comprises one or more of: network interface controller (NIC), SmartNIC, router, forwarding element, infrastructure processing unit (IPU), or data processing unit (DPU).
15 . The computer-readable medium of claim 11 , wherein the control packet comprises a Message Passing Interface (MPI) Request To Send (RTS) or Clear To Send (CTS).