Network Traffic Management with Queues Affinitized to Cores

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecommunication flow state integrityVSAvoidnetwork throughput
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

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

Engineering Contradiction:
Improvedata transmission rateVSAvoidprocessing load distribution complexity
Core Design Contradiction:
SpeedVSDevice complexity

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvepacket processing flexibilityVSAvoidpacket processing speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

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.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS10715424B2Network traffic management with queues affinitized to one or more cores
Publication Date: 2020.07.14 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10715424B2 patent drawing
  • US10715424B2 patent drawing
  • US10715424B2 patent drawing

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.