Packet Flow Budget Adjustment for Resource Starvation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Packet processing systems face resource overload due to high packet rates, leading to resource monopolization and starvation of other processes, particularly in cases of intentional or unintentional packet overflow, such as Denial-of-Service attacks, where existing flow control methods like multicasting PAUSE frames are inefficient and can cause unnecessary delays.
Innovation Solution
Implementing a flow control mechanism within the packet processing system that monitors resource utilization metrics to adjust a flow control load parameter and packet flow budget dynamically, restricting packet processing rates only when resources are depleted, without instructing packet sources to stop sending packets, thus maintaining optimal resource utilization and preventing resource starvation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a network interface receives packets at high rate, then packet processing throughput is improved, but resource overload occurs and other processes become starved
Solution Approach 1:
The system dynamically adjusts the packet flow budget based on monitored resource utilization metrics. The flow control load parameter and packet flow budget are continuously updated during time intervals based on current resource usage, allowing the system to adapt to changing conditions and prevent resource starvation while maximizing throughput when resources are available.
Solution Approach 2:
The system implements feedback by monitoring resource utilization metrics and using this information to adjust the flow control load parameter and packet flow budget. The metric data measuring resource performance over time intervals feeds back into the flow control mechanism, enabling the system to respond to resource depletion conditions and prevent overload while maintaining optimal throughput.
2Reliability
If existing flow control methods (PAUSE frames) are used to restrict packet flow, then resource overload is prevented, but unnecessary delays occur and non-offending packet sources are affected
Solution Approach 1:
The system applies flow control locally and selectively to specific network interfaces that are causing resource overload, rather than applying global pause frames that affect all packet sources. The flow control mechanism monitors resource usage and restricts packet flow only from interfaces contributing to the overload, allowing non-offending packet sources to continue transmitting without unnecessary delays.
Solution Approach 2:
The flow control restrictions are dynamically adjusted based on real-time resource utilization metrics. The packet flow budget is continuously updated during time intervals based on current resource usage, allowing the system to impose restrictions only when and where needed, minimizing delays while preventing resource overload.
3Reliability
If packet flow is restricted to prevent resource overload, then resource availability is maintained, but packet processing performance decreases
Solution Approach 1:
The system dynamically adjusts the packet flow budget based on monitored resource utilization metrics. When resources are available, the system allows maximum packet processing performance by setting the flow control load parameter to permit high throughput. When resource depletion is detected, the system adjusts the parameter to restrict flow only enough to prevent overload, maintaining optimal performance under varying conditions.
Solution Approach 2:
The system changes the flow control load parameter and packet flow budget based on monitored resource performance metrics. By adjusting these parameters dynamically according to actual resource usage, the system maintains packet processing performance at the maximum sustainable rate while preventing resource overload, avoiding both excessive restriction and unsustainable throughput.
Data Source
AI summary
Flow control in a packet processing system includes obtaining metric data measuring utilization of at least one resource in the packet processing system over intervals of a time period. A value of a flow control load parameter is adjusted during each of the intervals based on comparing the metric data with at least one condition that indicates depletion of the at least one resource. A value of a packet flow budget is established for the packet processing system in each of the intervals based on the respective value of the flow control load parameter in each of the intervals.


