Weighted Differential Scheduler for NoC Jitter Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current scheduling algorithms for Network-on-Chip (NoC) systems, such as deficit round robin, often result in high jitter due to uneven packet forwarding, which is undesirable for ensuring Quality of Service (QoS) requirements like low latency in applications like IP telephony.

Innovation Solution

A low-jitter packet scheduling algorithm that uses weight ratios and error thresholds to manage packet forwarding from multiple sources, ensuring fair allocation and reducing jitter by incrementing and decrementing error values based on calculated weight ratios and thresholds.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If deficit round robin scheduling is used, then implementation complexity is reduced, but jitter increases due to uneven packet forwarding intervals

Engineering Contradiction:
Improvescheduling algorithm complexityVSAvoidpacket forwarding timing precision
Core Design Contradiction:
Device complexityVSManufacturing precision

Solution Approach 1:

The patent implements feedback mechanisms through error value accumulation and threshold comparison. The error value is incremented by weight ratios when packets are skipped and decremented when packets are forwarded, creating a feedback loop that automatically adjusts forwarding timing to maintain consistent intervals and reduce jitter while keeping the algorithm simple to implement

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent changes the scheduling parameter from simple round-robin selection to weight-based error value adjustment. By introducing weight ratios and dynamic error thresholds, the system adapts packet forwarding timing based on source priorities while maintaining low computational complexity through simple arithmetic operations

Inventive Principle:
Principle #35Parameter changes

2Manufacturing precision

If smoothed round robin is used, then jitter is reduced, but hardware implementation difficulty increases due to matrix processing requirements

Engineering Contradiction:
Improvepacket forwarding timing precisionVSAvoidhardware implementation complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent extracts the essential function of smoothed round robin (reducing jitter through weight-based scheduling) while removing the complex matrix processing requirement. It keeps only the weight ratio calculation and error value accumulation, eliminating the need for storing and processing large weight matrices in hardware

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent replaces the complex, persistent weight matrix structure with simple, lightweight error value counters that are easily incremented and decremented. These temporary error values serve the same scheduling purpose without requiring complex storage and processing infrastructure

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Reliability

If timestamp-based scheduling is used, then QoS guarantees are improved, but algorithmic complexity increases from constant to linear

Engineering Contradiction:
ImproveQoS guaranteeVSAvoidalgorithmic complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the QoS guarantee mechanism into simple weight ratio calculations and error value thresholds for each packet source, rather than requiring global timestamp comparisons across all packets. This segmentation maintains QoS guarantees through localized, constant-time decisions at each scheduling point

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8547984B2Weighted differential scheduler
Publication Date: 2013.10.01 ORACLE INT CORP
  • US8547984B2 patent drawing
  • US8547984B2 patent drawing
  • US8547984B2 patent drawing

AI summary

A method for managing packets, including: identifying a first plurality of packets from a first packet source having a first weight; identifying a second plurality of packets from a second packet source having a second weight; obtaining a first weight ratio based on the first weight and the second weight; obtaining an error threshold and a first error value corresponding to the second packet source, where the error threshold exceeds the first error value; forwarding a first packet from the first packet source in response to the error threshold exceeding the first error value; incrementing the first error value by the first weight ratio; forwarding a first packet from the second packet source, after incrementing the first error value and in response to the first error value exceeding the error threshold; and decrementing the first error value.