Egress packet scheduling
Examples described herein relate to a network interface device. The network interface device can include circuitry to select a packet for transmission from among at least one time-based queue and at least one priority-based queue based on a departure time stamp value associated with the packet and a current time value. The network interface device can include circuitry to cause transmission of the selected packet. The circuitry can select a packet for transmission from the at least one time-based queue based on the current time value and based on the associated departure time stamp value.
1 . An apparatus comprising:
a network interface device comprising:
a direct memory access (DMA) circuitry;
a network interface;
a host interface; and
circuitry to select a packet for transmission from among at least one time-based queue and at least one priority-based queue based on a departure time stamp value associated with a packet assigned to the at least one time-based queue and a current time value, wherein the circuitry is to prioritize selection of the packet from the at least one time-based queue over selection from the at least one priority-based queue based on the current time value and a departure time stamp value of the packet assigned to the at least one time-based queue and
circuitry to cause transmission of the selected packet.
2 . The apparatus of claim 1 , wherein the circuitry is to select a packet for transmission from the at least one time-based queue based on the current time value and based on the associated departure time stamp value.
3 . The apparatus of claim 2 , wherein the circuitry is to select a packet for transmission from the at least one time-based queue irrespective of pause or priority flow control being associated with the at least one time-based queue.
4 . The apparatus of claim 1 , wherein the network interface device comprises circuitry that is to drop the packet from a time-based queue based on the associated departure time stamp value and the current time value.
5 . The apparatus of claim 1 , wherein to select a packet for transmission from the at least one priority-based queue, the circuitry is to apply one or more of: round robin (RR), Deficit Round Robin (DRR), Deficit Weighted Round Robin (DWRR), Prioritized Elastic Round Robin (PERR), weighted fair queuing (WFQ), or Strict Priority.
6 . The apparatus of claim 1 , comprising a memory that, when operational, is to store packets associated with the at least one time-based queue or the at least one priority-based queue.
7 . The apparatus of claim 1 , wherein the network interface device comprises one or more of: a network interface controller (NIC), a remote direct memory access (RDMA)-enabled NIC, SmartNIC, router, switch, forwarding element, infrastructure processing unit (IPU), data processing unit (DPU), or network-attached appliance.
8 . The apparatus of claim 1 , comprising a server to request transmission of the packet and indicate the associated departure time stamp value.
9 . The apparatus of claim 8 , comprising a datacenter comprising the server and a second server, wherein the network interface device is to pace packet transmission of the selected packet and a plurality of packets to the second server.
10 . 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 a network interface device to:
select a packet for transmission from among at least one time-based queue and at least one priority-based queue based on a departure time stamp value associated with a packet assigned to the at least one time-based queue and a current time value, wherein the network interface device is to prioritize selection of the packet from the at least one time-based queue over selection from the at least one priority-based queue based on the current time value and a departure time stamp value of the packet assigned to the at least one time-based queue.
11 . The at least one computer-readable medium of claim 10 , wherein the network interface device is to select a packet for transmission from the at least one time-based queue irrespective of pause or priority flow control being associated with the at least one time-based queue.
12 . The at least one computer-readable medium of claim 10 , comprising instructions stored thereon, that if executed by one or more processors, cause the one or more processors to:
configure the network interface device to:
drop the packet from a time-based queue based on the departure time stamp value and the current time value.
13 . The at least one computer-readable medium of claim 10 , wherein to select a packet for transmission from the at least one priority-based queue, the network interface device is to apply one or more of: round robin (RR), Deficit Round Robin (DRR), Deficit Weighted Round Robin (DWRR), Prioritized Elastic Round Robin (PERR), weighted fair queuing (WFQ), or Strict Priority.
14 . The at least one computer-readable medium of claim 10 , wherein to select a packet for transmission from the at least one time-based queue based on the departure time stamp value and the current time value, the network interface device is to pace packet transmission.
15 . The at least one computer-readable medium of claim 10 , wherein the network interface device comprises one or more of: a network interface controller (NIC), a remote direct memory access (RDMA)-enabled NIC, SmartNIC, router, switch, forwarding element, infrastructure processing unit (IPU), data processing unit (DPU), or network-attached appliance.
16 . A method comprising:
selecting, at a network interface device, a packet to allocate to a departure time slot from among at least one timestamp-based queue and at least one priority-based queue based on a transmit departure time stamp associated with a packet assigned to the at least one timestamp-based queue and a current time stamp value, wherein the network interface device is to prioritize selection of the packet from the at least one timestamp-based queue over selection from the at least one priority-based queue based on the current time stamp value and a departure time stamp value of the packet assigned to the at least one timestamp-based queue.
17 . The method of claim 16 , wherein the selecting, at the network interface device, the packet to allocate to a departure time slot from the at least one timestamp-based queue comprises selecting the packet for transmission from the at least one timestamp-based queue based on the current time stamp value and the departure time stamp.
18 . The method of claim 16 , wherein the selecting, at the network interface device, the packet to allocate to a transmit time slot from the at least one timestamp-based queue is irrespective of pause or priority flow control being associated with the at least one timestamp-based queue.
19 . The method of claim 16 , comprising:
dropping the packet from a timestamp-based queue based on the departure time stamp and the current time stamp value.
20 . The method of claim 16 , wherein the selecting, at the network interface device, a packet to allocate to a transmit time slot from the at least one priority-based queue is based on one or more of: round robin (RR), Deficit Round Robin (DRR), Deficit Weighted Round Robin (DWRR), Prioritized Elastic Round Robin (PERR), weighted fair queuing (WFQ), or Strict Priority.