Dynamic CPU Core Allocation for Virtualized Network Packet Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data center environments are not optimized for virtualized networks, as they consume all available CPU resources regardless of load, leading to inefficient CPU utilization and preventing other applications or virtual machines from using processing cores, especially in low-load scenarios.

Innovation Solution

A dynamic queue distribution algorithm is implemented to distribute data packets among multiple processing cores based on workload, initiating additional cores only when necessary to avoid exceeding threshold processing capacities, thereby optimizing CPU utilization and releasing resources for other virtual machines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If CPUs are entirely owned and utilized for network or security purposes using a run-to-complete model, then network processing capacity is maximized, but CPU resources are consumed even in low load scenarios preventing other applications from using them

Engineering Contradiction:
Improvenetwork processing capacityVSAvoidCPU resource consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system dynamically adjusts the number of active processing cores based on real-time network load conditions. The load manager monitors network traffic and selectively activates or deactivates processing cores to match actual demand, transitioning from a static run-to-complete model to a dynamic resource allocation approach that adapts to varying workload conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the operational parameters of CPU core utilization by introducing threshold-based activation and deactivation mechanisms. When network load exceeds a threshold, additional cores are activated; when load falls below a threshold, cores are deactivated. This parameter change enables flexible resource allocation that responds to actual network conditions rather than maintaining constant utilization.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If tasks are divided to be processed in multiple CPUs at the same time, then processing throughput is increased, but context switching increases and complexity increases

Engineering Contradiction:
Improveprocessing throughputVSAvoidcontext switching complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments network processing tasks by assigning different packet types and protocols to specific processing cores based on their capabilities. The load manager divides incoming network traffic into segments that can be handled by available cores, reducing the need for frequent context switching while maintaining parallel processing throughput.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The load manager acts as an intermediary between network traffic and processing cores, intelligently routing packets to appropriate cores based on current load conditions and core capabilities. This intermediary layer simplifies the distribution logic and reduces context switching by making informed routing decisions rather than using simple round-robin or random distribution.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If processing cores are constantly running high-priority tasks, then network security and performance are maintained, but other virtual machines cannot use the CPUs

Engineering Contradiction:
Improvenetwork securityVSAvoidresource sharing capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system implements periodic evaluation of network load conditions to determine whether processing cores should remain dedicated to high-priority tasks or be released for general-purpose use. The load manager continuously monitors traffic patterns and periodically adjusts core allocation, allowing virtual machines to access CPU resources during low-network-load periods while maintaining security during high-load periods.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

Processing cores are designed to be multi-functional, serving both dedicated network security functions and general-purpose virtual machine workloads. The load manager dynamically assigns cores to different functions based on current needs, enabling the same hardware resources to provide both specialized network processing and general computing capabilities without requiring separate dedicated hardware for each function.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9483317B1Using multiple central processing unit cores for packet forwarding in virtualized networks
Publication Date: 2016.11.01 GRYPHO5 LLC
  • US9483317B1 patent drawing
  • US9483317B1 patent drawing
  • US9483317B1 patent drawing

AI summary

Systems and methods for using a plurality of processing cores for packet processing in a virtualized network environment are described herein. An example system can comprise a scheduler operable to initiate a processing core of the plurality of processing cores. The processing core is operable to process a plurality of data packets. Based on the determination that the processing core exceeds a threshold processing capacity associated with the processing core, the scheduler sequentially initiates at least one subsequent processing core. The at least one subsequent processing core has a corresponding threshold processing capacity and is operable to process data packets of the plurality of data packets in excess of threshold processing capacities associated with preceding processing cores. Thus, the threshold processing capacities associated with the preceding processing cores are not exceeded.