GPU Admission Control for Network Packet Processing

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

VSEngineering 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

Engineering Contradiction:
Improveresource utilizationVSAvoidperformance predictability
Core Design Contradiction:
ProductivityVSReliability

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #23Feedback

2Adaptability or versatility

If software-based network functions are used instead of hardware-based, then flexibility and adaptability improve, but CPU cycle consumption increases

Engineering Contradiction:
ImproveflexibilityVSAvoidCPU cycle consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

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

Inventive Principle:
Principle #2Taking out (Extraction)

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

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

Data Source

PatentUS10445850B2Technologies for offloading network packet processing to a GPU
Publication Date: 2019.10.15 INTEL CORP
  • US10445850B2 patent drawing
  • US10445850B2 patent drawing
  • US10445850B2 patent drawing

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.