Multiple Granularity Timing Wheels for Packet Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Scheduling and shaping packets for multiple flows in network applications, such as video streams, is processor-intensive, reducing server capacity due to the need for precise packet transmission timing and hierarchical aggregation, which existing methods like hierarchical timing wheels struggle to manage efficiently.

Innovation Solution

Implementing multiple granularity timing wheels with coarse and fine grain slots, allowing packets to be allocated based on transmit time, with coarse grain slots reused for packets further in the future, reducing the number of time slots needed and offloading processor-intensive tasks to a network interface device.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If hierarchical timing wheels are used for precise packet shaping across multiple flows and hierarchical aggregation stages, then packet transmission timing precision is improved, but processor cycle consumption increases

Engineering Contradiction:
Improvepacket transmission timing precisionVSAvoidprocessor capacity
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The timing wheel is segmented into multiple granularity levels (coarse-grained and fine-grained slots). Coarse-grained slots handle packet scheduling at higher time intervals, while fine-grained slots provide precise timing control for packets requiring strict temporal adherence. This segmentation allows the system to achieve precise packet shaping without requiring all timing operations to use the most resource-intensive fine-grained approach, thereby reducing overall processor cycle consumption while maintaining timing precision where needed.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If multiple hierarchical aggregation stages with parallel shaping are implemented, then packet shaping capability is improved, but device complexity increases

Engineering Contradiction:
Improvepacket shaping capabilityVSAvoidscheduling topology complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The timing wheel structure implements a nested hierarchy where fine-grained timing slots are contained within coarse-grained time intervals. Each coarse-grained slot can contain multiple fine-grained slots, creating a nested structure that enables hierarchical aggregation. This nesting allows packets to be shaped at multiple levels of granularity simultaneously, providing versatile packet shaping capability while organizing the complexity into a manageable hierarchical framework rather than a flat complex structure.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The scheduling system dynamically selects between coarse-grained and fine-grained timing slots based on packet characteristics and QoS requirements. Not all packets require fine-grained timing control, so the system adapts its behavior by using coarse-grained slots for less time-sensitive packets and reserving fine-grained slots for packets requiring precise timing. This dynamic approach enables versatile packet shaping across different scenarios while reducing the operational complexity of managing multiple hierarchical aggregation stages.

Inventive Principle:
Principle #15Dynamics

3Measurement precision

If fine-grained time slots are used for all packets, then transmission timing precision is improved, but memory utilization increases

Engineering Contradiction:
Improvetransmission timing precisionVSAvoidmemory utilization
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The timing wheel assigns different quality levels (granularity) to different packets based on their specific requirements. Packets requiring high timing precision are placed in fine-grained slots, while packets with relaxed timing requirements are placed in coarse-grained slots. This local differentiation of quality ensures that memory resources are allocated efficiently - only the necessary fine-grained slots are created and maintained for packets that truly require them, rather than creating a complete fine-grained structure for all packets. This approach maintains transmission timing precision for critical packets while significantly reducing overall memory utilization.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20230061794A1Packet transmission scheduling
Publication Date: 2023.03.02 INTEL CORP
  • US20230061794A1 patent drawing
  • US20230061794A1 patent drawing
  • US20230061794A1 patent drawing

AI summary

Examples described herein relate to a network interface device comprising circuitry to cause transmission of packets based on transmission times and use of at least one of multiple time slot granular scheduling lists, wherein the multiple time slot granular scheduling lists comprise at least one list of a first time slot duration and at least one list of a second time slot duration and wherein the first time slot duration is different than the second time slot duration. In some examples, a minimum delay value of a list of the at least one list of a second time slot duration corresponds to a maximum delay value of a list of the at least one list of a first time slot duration. In some examples, the at least one list of a first time slot duration comprises a fine granularity list and the at least one list of a second time slot duration comprises a coarse granularity list.