Dynamic receive queue balancing with high and low thresholds
First Claim
1. A method, comprising:
- assigning a network application to at least one first core processing unit, from among a plurality of core processing units;
assigning a first receive queue to said first core processing unit, wherein the first receive queue is configured to receive packet flow associated with the network application;
defining a high threshold for the first receive queue, said high threshold defining a point above which said first receive queue is at risk of an overload condition;
monitoring the packet flow in the first receive queue and comparing a packet flow level in the first receive queue to the high threshold;
wherein if the packet flow level exceeds the threshold based on the comparing, generating a queue status message indicating that the packet flow level in the first queue has exceeded the queue high threshold;
defining a low threshold for at least a second receive queue, the low threshold being a percentage of the overall capacity of the second receive queue and below the high threshold; and
monitoring a packet flow of the second receive queue and comparing a packet flow level of the second receive queue to the low threshold;
wherein if the packet flow level in the second receive queue falls below the low threshold, generating the status message that further indicates that the packet flow level in the second queue is below the low threshold;
wherein if the packet flow level in the second queue remains above the low threshold, adjusting the low threshold incrementally upward a predetermined amount or until the low threshold is above the packet flow level in the second queue.
1 Assignment
0 Petitions
Accused Products
Abstract
A method according to one embodiment includes the operations of assigning a network application to at least one first core processing unit, from among a plurality of core processing unit. The method of this embodiment also includes the operations of assigning a first receive queue to said first core processing unit, wherein the first receive queue is configured to receive packet flow associated with the network application; defining a high threshold for the first receive queue; and monitoring the packet flow in the first receive queue and comparing a packet flow level in the first receive queue to the high threshold; wherein if the packet flow level exceeds the threshold based on the comparing, generating a queue status message indicating that the packet flow level in the first queue has exceeded the queue high threshold.
24 Citations
12 Claims
-
1. A method, comprising:
-
assigning a network application to at least one first core processing unit, from among a plurality of core processing units; assigning a first receive queue to said first core processing unit, wherein the first receive queue is configured to receive packet flow associated with the network application; defining a high threshold for the first receive queue, said high threshold defining a point above which said first receive queue is at risk of an overload condition; monitoring the packet flow in the first receive queue and comparing a packet flow level in the first receive queue to the high threshold;
wherein if the packet flow level exceeds the threshold based on the comparing, generating a queue status message indicating that the packet flow level in the first queue has exceeded the queue high threshold;defining a low threshold for at least a second receive queue, the low threshold being a percentage of the overall capacity of the second receive queue and below the high threshold; and monitoring a packet flow of the second receive queue and comparing a packet flow level of the second receive queue to the low threshold;
wherein if the packet flow level in the second receive queue falls below the low threshold, generating the status message that further indicates that the packet flow level in the second queue is below the low threshold;wherein if the packet flow level in the second queue remains above the low threshold, adjusting the low threshold incrementally upward a predetermined amount or until the low threshold is above the packet flow level in the second queue. - View Dependent Claims (2, 3, 4)
-
-
5. A system comprising, one or more non-transitory storage mediums having stored thereon, individually or in combination, instructions that when executed by one or more processors result in the following operations comprising:
-
assigning a first receive queue, from among a plurality of receive queues, to a packet flow, wherein the packet flow is associated with a network application, and wherein the network application is assigned to a first core processing unit, from among a plurality of core processing units; defining a high threshold for the first receive queue, said high threshold defining a point above which said first receive queue is at risk of an overload condition; monitoring the packet flow in the first receive queue and comparing a packet flow level in the first receive queue to the high threshold;
wherein if the packet flow level exceeds the threshold based on the comparing, generating a queue status message indicating that the packet flow level in the first queue has exceeded the queue high threshold;defining a low threshold for at least a second receive queue, the low threshold being a percentage of the overall capacity of the second receive queue and below the high threshold; and monitoring a packet flow of the second receive queue and comparing a packet flow level of the second receive queue to the low threshold;
wherein if the packet flow level in the second receive queue falls below the low threshold, generating the status message that further indicates that the packet flow level in the second queue is below the low threshold;wherein if the packet flow level in the second queue remains above the low threshold, adjusting the low threshold incrementally upward a predetermined amount or until the low threshold is above the packet flow level in the second queue. - View Dependent Claims (6, 7, 8)
-
-
9. A network adapter, comprising:
-
media access control (MAC) circuitry and a plurality of receive queues, the MAC circuitry is configured to; assign a first receive queue, from among a plurality of receive queues, to a packet flow, wherein the packet flow is associated with a network application, and wherein the network application is assigned to a first core processing unit, from among a plurality of core processing units in a host system; define a high threshold for the first receive queue, said high threshold defining a point above which said first receive queue is at risk of an overload condition; monitor the packet flow in the first receive queue; compare a packet flow level in the first receive queue to the high threshold;
wherein if the packet flow level exceeds the threshold based on the comparing, the MAC circuitry is further configured to generate a queue status message indicating that the packet flow level in the first queue has exceeded the queue high threshold;define a low threshold for at least a second receive queue, the low threshold being a percentage of the overall capacity of the second receive queue and below the high threshold; and monitor a packet flow of the second receive queue and comparing a packet flow level of the second receive queue to the low threshold;
wherein if the packet flow level in the second receive queue falls below the low threshold, generating the status message that further indicates that the packet flow level in the second queue is below the low threshold;wherein if the packet flow level in the second queue remains above the low threshold, said MAC circuitry is further configured to adjust the low threshold incrementally upward a predetermined amount or until the low threshold is above the packet flow level in the second queue. - View Dependent Claims (10, 11, 12)
-
Specification