Network Traffic Management with Queues Affinitized to Cores
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The processing capabilities of server cores become bottlenecks in datacenters due to overloaded network processing operations, limiting data transmission rates to software components despite increased NIC throughput.
Innovation Solution
Implementing multi-stage network processing load balancing in servers with a NIC operatively coupled to multiple cores, utilizing a port selector for initial packet distribution and a hardware-based RSS engine to further distribute loads across multiple queues, offloading hash calculations from software to hardware for efficient packet forwarding.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If network processing operations are executed on a single core to maintain proper communication flow state, then communication flow integrity is maintained, but the core becomes a communications bottleneck and throughput is limited
Solution Approach 1:
The patent segments network processing operations by creating multiple virtual ports, each with dedicated queues and associated processor cores. This segmentation allows different communication flows to be processed by different cores simultaneously, eliminating the bottleneck of single-core processing while maintaining flow state integrity through dedicated per-queue state tracking.
Solution Approach 2:
The patent introduces a new dimension of parallelism by mapping multiple virtual ports and queues to multiple processor cores. This dimensional expansion from single-core sequential processing to multi-core parallel processing enables throughput scaling while preserving communication flow state through the queue-affinitized core architecture.
2Speed
If NIC throughput capacity is increased to improve data transmission rates, then network bandwidth is enhanced, but core processing capacity becomes insufficient and bottlenecks increase
Solution Approach 1:
The patent implements preliminary action through hardware-based packet classification and queue selection performed by the NIC before packets reach the processor cores. The port selector and RSS engine pre-determine queue assignments based on packet headers, distributing loads across multiple queues and their affinitized cores before processing begins, thereby enabling high throughput without overwhelming individual cores.
3Adaptability or versatility
If software-based packet processing is used to maintain flexibility, then adaptability is improved, but processing speed decreases and cores become overloaded
Solution Approach 1:
The patent replaces software-based packet classification and queue selection with hardware-based mechanisms in the NIC, specifically the port selector and RSS engine. This substitution offloads intensive processing from software to hardware, dramatically increasing packet processing speed while maintaining flexibility through configurable hardware rules and indirection tables that can be programmed for different processing scenarios.
Data Source
AI summary
Techniques of network traffic management in a computing device are disclosed. One example method includes receiving, at a main processor, a request from a network interface controller to perform network processing operations for packets assigned by the network interface controller to a queue of a virtual port of the network interface controller. The method also includes, in response to receiving the request, causing one of multiple cores of the main processor with which the queue of the virtual port is affinitized to perform the network processing operations to effect processing and transmission of the packets to an application executing in a virtual machine hosted on the computing device.


