GPU Admission Control for Network Packet Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software-based network functions require more CPU cycles than their hardware-based counterparts, and the predictable performance of GPUs for single network packet processing applications becomes difficult to manage when multiple applications share a GPGPU, leading to inefficient resource usage and potential performance degradation due to resource contention.
Innovation Solution
A network device that determines whether to offload network packet processing to a GPU or CPU based on estimated performance metrics, utilizing a GPU admission control module to assess available resources and schedule applications accordingly, ensuring efficient resource allocation and minimizing performance degradation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple network packet processing applications share a GPGPU for offloading, then resource utilization improves, but performance predictability deteriorates due to resource contention
Solution Approach 1:
The patent performs preliminary estimation of GPU performance metrics before admitting new applications. The system calculates estimated performance metrics for each application based on current GPU resource availability and historical data, then uses these predictions to make admission decisions that prevent resource contention and maintain performance predictability
Solution Approach 2:
The patent implements a feedback mechanism where actual performance metrics of running applications are continuously monitored and used to adjust future admission decisions. The system compares predicted versus actual performance and refines its estimation algorithms to improve both resource utilization and performance predictability over time
2Adaptability or versatility
If software-based network functions are used instead of hardware-based, then flexibility and adaptability improve, but CPU cycle consumption increases
Solution Approach 1:
The patent extracts network packet processing workloads from the CPU and offloads them to the GPU. By separating these intensive processing tasks from the CPU and dedicating them to the GPU's parallel processing capabilities, the system maintains software-based flexibility while dramatically reducing CPU cycle consumption
Solution Approach 2:
The patent makes the GPU a universal processing resource that can handle multiple types of network packet processing applications simultaneously. The GPU's architecture allows it to perform various network functions (firewall, encryption, DPI, forwarding) that were traditionally handled by CPU or dedicated hardware, providing both flexibility and efficiency
Data Source
AI summary
Technologies for offloading an application for processing a network packet to a graphics processing unit (GPU) of a network device. The network device is configured to determine resource criteria of the application and available resources of the GPU. The network device is further configured to determine whether the available GPU resources are sufficient to process the application based on the resource criteria of the application and the available GPU resources. Additionally, the network device is configured to determine one or more estimated GPU performance metrics based on the resource criteria of the application and the available GPU resources to determine whether to offload the application to the GPU. Other embodiments are described and claimed.


