Dynamic Packet Scheduler for NFV Core Binding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current packet forwarders in Network Function Virtualization architectures, such as OVS-DPDK and VPP, have a static binding of cores to work items, leading to inefficient CPU resource allocation and uneven load distribution, resulting in wasted resources and limited throughput due to their inability to dynamically adjust CPU allocation based on workload demands.
Innovation Solution
A dynamic scheduler that periodically observes key performance indicators like CPU utilization, latency, and packet drops to adjust the binding of cores to work items within the user plane, allowing for dynamic allocation of resources and improving performance by scaling up or down based on observed demands.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If static binding of cores to work items is used, then device complexity is reduced and ease of operation is improved, but CPU resource utilization efficiency deteriorates and throughput is limited
Solution Approach 1:
The patent implements dynamic core binding where the scheduler continuously monitors workload characteristics and packet flow patterns, then adjusts the binding between CPU cores and work items in real-time. This allows the system to adapt to varying traffic conditions, migrating work items between cores based on current load, cache efficiency, and workload affinity, thereby improving throughput without requiring overly complex static configurations
Solution Approach 2:
The scheduler incorporates feedback mechanisms by monitoring performance metrics such as CPU utilization, packet processing latency, and workload distribution patterns. Based on this feedback, the scheduler dynamically adjusts core binding decisions, scaling up or down the number of cores assigned to specific work items according to observed demand, thus optimizing throughput while maintaining manageable complexity through data-driven decisions
2Productivity
If static allocation of CPU resources is used, then ease of operation is improved, but resource utilization efficiency deteriorates due to uneven load distribution
Solution Approach 1:
The scheduler operates autonomously to manage CPU resource allocation, automatically monitoring workload patterns and dynamically adjusting core binding without requiring manual configuration. The system self-optimizes by detecting imbalances in load distribution and reallocating work items between cores based on current system state, eliminating the need for complex manual tuning while maximizing resource utilization efficiency
Solution Approach 2:
The system transitions from static to dynamic resource allocation, where the scheduler continuously adapts core binding configurations based on real-time workload characteristics. This dynamic approach allows the system to respond automatically to changing traffic patterns, ensuring optimal resource utilization without requiring operators to manually configure and reconfigure CPU assignments
3Adaptability or versatility
If dynamic allocation of CPU resources is implemented, then resource utilization efficiency is improved, but device complexity increases
Solution Approach 1:
The scheduler implements dynamic adaptability by continuously monitoring workload characteristics and adjusting core binding accordingly. The system can scale the number of cores assigned to work items up or down based on observed demand, and can migrate work items between cores to balance load and optimize performance. This dynamic behavior provides high adaptability to varying traffic conditions while maintaining manageable complexity through systematic decision-making algorithms
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Disclosed is a method that includes periodically observing packets in a user plane according to at least one key performance indicator in a configuration file to yield an observation, wherein the observation represents a closed-loop demand of resources within the user plane. The method includes adjusting, via a scheduler in the user plane and based on the observation, a binding of cores to work items. The binding between cores and work items is dynamic and changeable to improve performance. The at least one key performance indicator can include one or more of a CPU utilization, latency and packet drops. The workload allocations can include work items that are individually schedulable functions that operate on a queue of packets within the user plane.