Rate Limiter Fractional Threshold Precision
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional rate limiters in network devices use integer thresholds, which result in significant differences between the actual and ideal credit granting rates, leading to underrun or read-before-write issues due to limited resolution, causing inefficiencies and potential data transmission errors.
Innovation Solution
Implementing a rate limiter with a configurable threshold comprising an integer component and a fraction component, allowing for a more precise average rate of credit granting, which can closely approximate the ideal threshold, thereby preventing underrun conditions and ensuring accurate data transmission.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If integer thresholds are used in conventional rate limiters, then the device complexity is reduced and ease of manufacture is improved, but the measurement precision of the credit granting rate deteriorates, causing significant differences between actual and ideal rates
Solution Approach 1:
The threshold is segmented into two independent components: an integer component and a fraction component. The integer component (ITHR) is stored in a first counter and the fraction component (FTHR) is stored in a second counter. This segmentation allows each component to be managed separately, enabling high precision credit granting rate control without requiring a single complex high-resolution counter, thus resolving the contradiction between measurement precision and device complexity.
Solution Approach 2:
The patent introduces a temporal dimension to the rate limiting mechanism by using two separate counters that are updated at different rates. The integer counter updates every clock cycle while the fraction counter updates at a slower rate determined by the fraction threshold. This multi-dimensional approach allows precise average rate control over time without requiring high instantaneous resolution, reducing hardware complexity while maintaining measurement precision.
2Reliability
If integer thresholds with limited resolution are used, then the device complexity is reduced, but the reliability deteriorates due to underrun and read-before-write issues
Solution Approach 1:
By segmenting the threshold into integer and fraction components with separate counters, the system can precisely track credit accumulation over time. The fraction component accumulates small increments that would be lost in integer-only systems, preventing underrun conditions where credits are exhausted before the intended rate. This segmentation ensures reliable data transmission by maintaining accurate credit state without requiring overly complex single-counter solutions.
Solution Approach 2:
The dual-counter mechanism provides continuous feedback on both the integer and fraction components of credit accumulation. This feedback allows the rate limiter to make precise decisions about credit granting, preventing read-before-write issues by accurately tracking when credits are available. The fraction counter provides fine-grained feedback that ensures the average credit granting rate matches the ideal threshold, improving reliability without excessive complexity.
3Measurement precision
If higher resolution thresholds are implemented to improve credit granting precision, then the measurement precision improves, but the device complexity and manufacturing difficulty increase
Solution Approach 1:
The threshold configuration is segmented into integer and fraction parts that can be independently configured and manufactured. Standard integer counters and fraction counters can be manufactured using conventional processes, avoiding the need for single complex high-resolution counters that are difficult and expensive to manufacture. This segmentation maintains high measurement precision for the average credit granting rate while significantly improving ease of manufacture.
Data Source
AI summary
A network device and method of constraining a client's access to a packet memory of a network device are provided. A packet memory is configured to store packets, and a client is configured to access the packet memory based on the client receiving a credit. A rate limiter is configured to grant credits to the client according to a configurable threshold. The configurable threshold comprises a sum of an integer component and a fraction component, and the sum defines an average rate at which the credits are granted to the client by the rate limiter. A network port is configured to receive packets from the client.


