US2018285151A1PendingUtilityA1

Dynamic load balancing in network interface cards for optimal system level performance

Assignee: INTEL CORPPriority: Mar 31, 2017Filed: Mar 31, 2017Published: Oct 4, 2018
Est. expiryMar 31, 2037(~10.7 yrs left)· nominal 20-yr term from priority
G06F 11/3433G06F 9/4881G06F 11/3024G06F 9/505G06F 9/5083
36
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A network interface card (NIC) can be configured to monitor a first central processing unit (CPU) core mapped to a first receive queue having a receive queue length. The NIC can also be configured to determine whether the CPU core is overloaded based on the receive queue length. The NIC can also be configured to redirect data packets that were targeted from the first receive queue to the CPU core to another CPU core responsive to a determination that the CPU core is overloaded.

Claims

exact text as granted — not AI-modified
We claim: 
     
         1 . A network interface card (NIC) configured to:
 monitor a first central processing unit (CPU) core mapped to a first receive queue having a receive queue length;   determine whether the CPU core is overloaded based at least in part on the receive queue length; and   responsive to a determination that the CPU core is overloaded, redirect data packets that were targeted from the first receive queue to the first CPU core to a second CPU core.   
     
     
         2 . The NIC of  claim 1 , further configured to determine that the second CPU core has a lighter load than the first CPU core. 
     
     
         3 . The NIC of  claim 1 , wherein the NIC is configured to determine whether the CPU core is overloaded by determining whether the receive queue length exceeds a first threshold, and further wherein the determination that the CPU core is overloaded is based at least in part on a determination that the receive queue length does exceed the first threshold. 
     
     
         4 . The NIC of  claim 3 , wherein the NIC is further configured to determine whether the CPU core is overloaded by, responsive to a determination that the receive queue length does not exceed the first threshold, determining whether the receive queue length exceeds a second threshold, and further wherein the determination that the CPU core is overloaded is based at least in part on a determination that the receive queue length does exceed the second threshold. 
     
     
         5 . The NIC of  claim 4 , wherein the redirecting is performed probabilistically. 
     
     
         6 . The NIC of  claim 1 , wherein the redirecting includes identifying SYN packets and re-steering new data flows to at least the second CPU core. 
     
     
         7 . The NIC of  claim 1 , wherein the NIC is further configured to repeat the monitoring and determining continuously. 
     
     
         8 . The NIC of  claim 7 , wherein the NIC is further configured to repeat the receiving and determining at a specified time interval. 
     
     
         9 . The NIC of  claim 1 , wherein the NIC is an Ethernet card. 
     
     
         10 . A system for performing data traffic load balancing in a first computing device, the system comprising:
 a network interface card (NIC) of the first computing device, the NIC having a first receive queue;   a first central processing unit (CPU) core of the first computing device, the first CPU core being mapped to the first receive queue; and   hardware configured to determine, based at least in part on a receive queue length of the receive queue, whether the first CPU core is overloaded.   
     
     
         11 . The system of  claim 10 , further comprising a second CPU core having a lighter load than the first CPU core. 
     
     
         12 . The system of  claim 11 , wherein the hardware is further configured to cause data packets that were targeted for the first CPU core to be redirected to the second CPU core. 
     
     
         13 . The system of  claim 12 , wherein the hardware is configured to determine whether the first CPU core is overloaded by determining that a receive queue length of the first receive queue exceeds a first threshold. 
     
     
         14 . The system of  claim 13 , wherein the hardware is configured to determine whether the first CPU core is overloaded by determining that the receive queue length of the first receive queue does not exceed the first threshold but does exceed a second threshold. 
     
     
         15 . The system of  claim 10 , wherein the NIC is an Ethernet card. 
     
     
         16 . One or more non-transitory, computer-readable media comprising instructions that, when executed by a processor, cause the processor to perform operations pertaining to load balancing in a network interface card (NIC), the operations comprising:
 monitoring a first central processing unit (CPU) core of the NIC, wherein the first CPU core is mapped to a first receive queue having a receive queue length;   determining whether the CPU core is overloaded based at least in part on the receive queue length; and   responsive to a determination that the CPU core is overloaded, redirecting data packets that were targeted from the first receive queue to the first CPU core to a second CPU core.   
     
     
         17 . The one or more non-transitory, computer-readable media of  claim 16 , wherein the operations further comprise determining that the second CPU core has a lighter load than the first CPU core. 
     
     
         18 . The one or more non-transitory, computer-readable media of  claim 16 , wherein determining whether the CPU core is overloaded includes determining whether the receive queue length exceeds a first threshold, further wherein the determination that the CPU core is overloaded is based at least in part on a determination that the receive queue length does exceed the first threshold. 
     
     
         19 . The one or more non-transitory, computer-readable media of  claim 18 , wherein determining whether the CPU core is overloaded further includes, responsive to a determination that the receive queue length does not exceed the first threshold, determining whether the receive queue length exceeds a second threshold, further wherein the determination that the CPU core is overloaded is based at least in part on a determination that the receive queue length does exceed the second threshold. 
     
     
         20 . The one or more non-transitory, computer-readable media of  claim 19 , wherein the redirecting is performed probabilistically. 
     
     
         21 . The one or more non-transitory, computer-readable media of  claim 16 , wherein the operations further include repeating the monitoring and determining continuously.

Join the waitlist — get patent alerts

Track US2018285151A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.