NIC Packet Scheduling With Timing Wheel Reordering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network interface devices introduce jitter and packet reordering due to temporary congestion, internal cache misses, and packet processing directives, leading to connection instability and potential packet drops, which compromises quality of service (QoS) for time-sensitive applications.
Innovation Solution
Implementing a timing wheel (TW) to reorder packets based on transmit timestamps and egress queues, ensuring packets are transmitted in their scheduled order, with per-port timing wheels associating packets with transmit time slots and using egress selection circuitry to restore original packet transmission order.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If packets are processed by transmit pipeline with congestion control and packet processing directives, then packet processing capability is improved, but jitter and packet reordering occur
Solution Approach 1:
The patent applies preliminary action by scheduling packets for transmission at predetermined times before actual transmission occurs. The scheduler assigns time slots to packets in advance, and the timing wheel ensures packets are transmitted in the correct sequence. This pre-scheduling mechanism prevents reordering and reduces jitter by establishing transmission timing before congestion or processing delays can disrupt the sequence.
Solution Approach 2:
The timing wheel acts as an intermediary mechanism between the packet scheduler and the actual transmission process. It receives packets with assigned time slots from the scheduler and manages their transmission order, ensuring packets are sent according to their scheduled times rather than in the order they arrive or are processed. This intermediary structure decouples the scheduling logic from the transmission execution, preventing reordering while maintaining processing efficiency.
2Reliability
If timing wheel reorders packets based on timestamps, then packet transmission order is improved, but device complexity increases
Solution Approach 1:
The timing wheel mechanism segments the transmission process into discrete time slots, each capable of holding one or more packets. By dividing the transmission timeline into manageable segments (time slots), the system can efficiently track and manage packet transmission order without requiring complex real-time calculations. Each time slot is an independent unit that can be processed separately, simplifying the overall control logic while ensuring correct packet sequencing.
Solution Approach 2:
The timing wheel operates using periodic action by cycling through time slots in a repeating sequence. Instead of requiring complex one-time calculations for each packet, the system uses a periodic timer that advances through predefined time slots. This periodic mechanism simplifies the control logic to a simple counter that increments through slots, making the system easier to implement while maintaining reliable packet ordering through the cyclic nature of the time slot progression.
Data Source
AI summary
Examples described herein relate to a network interface device comprising a host interface; a direct memory access (DMA) circuitry; a network interface; and circuitry to: based on at least partial processing of packets by a transmit packet processing pipeline, perform reordering of the packets based on associated egress time stamps, wherein the partial processing of the packets by the transmit packet processing pipeline comprises at least packet parsing and provide the packets for egress from a port based on the associated egress time stamps.


