Dynamic CPU Core Load Balancing for IP Forwarding Traffic

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network communication systems face inefficiencies in load balancing among CPU cores due to IP forwarding traffic overload on some cores while others remain underutilized, primarily because manual configuration is required and existing methods fail to effectively distribute processing loads across multiple CPUs, leading to compliance issues and poor utilization of receive-side scaling.

Innovation Solution

A method is implemented to identify IP forwarding traffic with minimal overhead and ensure that subsequent outgoing traffic is processed on a different CPU, using techniques such as tracking receive buffers by their virtual addresses, inserting unique signatures, and utilizing thread handles to select idle cores for processing, thereby maximizing system utilization and throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If manual configuration is used to bind specific CPUs for certain tasks, then load distribution can be controlled, but system complexity increases and adaptability decreases

Engineering Contradiction:
Improveload distribution efficiencyVSAvoidconfiguration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system automatically identifies IP forwarding traffic and selects appropriate CPU cores without manual configuration. The network driver monitors traffic patterns and dynamically assigns packets to cores based on current load conditions, eliminating the need for performance-tuning scripts and manual binding configurations.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent implements dynamic CPU selection where the system adapts core assignment based on real-time traffic conditions. Instead of static manual binding, the network driver continuously evaluates which cores are available and assigns IP forwarding traffic to the most appropriate core, allowing the system to respond to changing workload conditions.

Inventive Principle:
Principle #15Dynamics

2Productivity

If IP forwarding traffic is concentrated in one flow, then processing simplicity increases, but CPU core utilization becomes unbalanced

Engineering Contradiction:
Improveprocessing simplicityVSAvoidcore utilization balance
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent applies different processing strategies to different types of traffic. Regular traffic continues to use simple hash-based routing, while IP forwarding traffic is identified and routed through a separate path using thread handles and core selection logic, allowing each traffic type to be processed optimally without affecting the other.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The network driver acts as an intermediary that identifies IP forwarding traffic and redirects it to appropriate CPU cores. By inserting unique signatures in receive buffers and checking thread handles, the driver mediates between the simple hash-based routing and the need for balanced core utilization, routing forwarding traffic through available cores while maintaining simplicity for other traffic.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If the same CPU processes both incoming and outgoing traffic, then compliance with traffic processing requirements is maintained, but system throughput decreases

Engineering Contradiction:
Improvecompliance with traffic processing requirementsVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the traffic processing function by separating incoming and outgoing traffic handling onto different CPU cores. The network driver identifies when a core is handling incoming traffic and redirects the corresponding outgoing traffic to a different core, effectively segmenting the workload to prevent any single core from becoming a bottleneck while maintaining the ability to process both directions of traffic.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10284502B2Dynamic optimization for IP forwarding performance
Publication Date: 2019.05.07 MELLANOX TECHNOLOGIES LTD(IL)
  • US10284502B2 patent drawing
  • US10284502B2 patent drawing
  • US10284502B2 patent drawing

AI summary

A host connected to at least one data network has a processor having a plurality of cores, and a memory. A network interface controller is coupled to the host, and configured to transmit and receive data packets via multiple distinct physical ports. The host and the network interface controller are cooperative upon receiving a packet for storing the packet in a receive buffer of the memory, deciding in the host, responsively to a destination identifier in the packet, to forward the packet from the host to the at least one data network via another one of the physical ports, and selecting one of the cores to perform a send operation.