SmartNIC Bandwidth Control With Dynamic Fair Scheduling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network interface cards (NICs) often configure bandwidth as fixed capacities for individual processes, leading to unused bandwidth due to reserved capacities for worst-case scenarios.
Innovation Solution
A smart network interface card (smartNIC) implements a method to share bandwidth dynamically by receiving traffic for multiple processes, queuing it in a scheduler with separate queues for each process, and forwarding traffic based on flexible bandwidth limits, using a fair weighted round robin algorithm.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If fixed bandwidth capacities are configured for individual processes, then bandwidth allocation is simple and predictable, but available bandwidth goes unused due to reservation for worst-case scenarios
Solution Approach 1:
The patent implements dynamic bandwidth allocation by replacing fixed capacity configurations with a scheduler that dynamically adjusts bandwidth distribution based on actual traffic conditions. The system monitors available bandwidth and reallocates it between processes as needed, transitioning from static to dynamic resource management to eliminate wasted reservations.
Solution Approach 2:
The system changes the bandwidth parameter from fixed values to variable values that are continuously adjusted. Instead of assigning predetermined bandwidth limits, the scheduler modifies bandwidth allocation in real-time based on actual network conditions and process needs, allowing the system to adapt to changing workloads without wasting capacity on worst-case scenarios.
2Device complexity
If fixed bandwidth limits are set for each process, then bandwidth control is straightforward, but bandwidth is wasted when processes do not utilize their allocated capacity
Solution Approach 1:
The scheduler incorporates feedback mechanisms that continuously monitor actual bandwidth usage by each process and adjust allocation accordingly. When a process uses less than its allocated bandwidth, the system redistributes the excess capacity to other processes with higher demand, eliminating waste while maintaining simple control through automated feedback-driven adjustments.
Solution Approach 2:
The bandwidth management system operates autonomously by automatically monitoring, scheduling, and reallocating bandwidth without requiring manual intervention. The scheduler self-adjusts based on traffic conditions and process needs, making the system self-service oriented and simplifying operational complexity while preventing bandwidth waste through continuous self-optimization.
3Productivity
If dynamic bandwidth sharing is implemented, then bandwidth utilization efficiency improves, but system complexity increases due to scheduling mechanisms
Solution Approach 1:
The patent segments the bandwidth management function into a dedicated scheduler component that handles all dynamic allocation logic separately from the network interface and process interfaces. This segmentation isolates complexity into a single manageable module while presenting simple interfaces to both the network and processes, making the system easier to implement and maintain despite the dynamic sharing capability.
4Reliability
If bandwidth is reserved for worst-case scenarios, then process reliability is improved, but overall bandwidth availability is reduced
Solution Approach 1:
Instead of reserving bandwidth in advance for worst-case scenarios, the system takes preliminary action by continuously monitoring actual traffic patterns and proactively adjusting allocations before bandwidth shortages occur. This allows the system to maintain reliability through adaptive response rather than conservative pre-reservation, preserving more bandwidth for normal operations.
Data Source
AI summary
A smart network interface card (smartNIC) may receive first traffic for a first process configured with a first bandwidth limit. The smartNIC may receive second traffic for a second process configured with a second bandwidth limit, the second bandwidth limit corresponding to a larger value between a second transmit limit and a second receive limit associated with the second process. The smartNIC may queue the received traffic associated with the first process and the second process in a scheduler, the scheduler having a first set of queues configured to store traffic from the first process, and a second set of queues configured to store traffic from the second process. The smartNIC may forward queued traffic from the first set of queues or the second set of queues, a maximum amount of forwarded first process traffic corresponding to the first bandwidth limit minus an amount of forwarded second process traffic.


