Kernel-Mediated GPU Allocation for Containerized Processes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In container virtualization environments, there is an unreasonable allocation of computing resources for graphics processors, leading to inefficiencies and suboptimal utilization due to processes competing for GPU resources without proper management.

Innovation Solution

A resource control method and device that intercepts system calls from processes to kernel drivers, determines the target container, and configures operation permissions based on pre-defined limited GPU usage, ensuring fair allocation and efficient utilization of GPU resources among containers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple processes in different containers request GPU computing resources simultaneously, then the GPU resource allocation becomes unreasonable and inefficient, but implementing proper resource management increases system complexity

Engineering Contradiction:
ImproveGPU resource allocation efficiencyVSAvoidresource management system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a kernel module as an intermediary between the process level and the GPU driver. This kernel module intercepts system calls from container processes, manages GPU resource allocation based on container configurations, and coordinates with the GPU driver. By placing the management logic in the kernel layer, the system achieves efficient resource control without requiring complex user-space management mechanisms, thus resolving the contradiction between allocation efficiency and system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements preliminary action by configuring GPU resource limits for containers before they execute. The system pre-establishes resource quotas and allocation policies in the kernel module, which then automatically enforce these limits during runtime. This advance configuration eliminates the need for complex runtime negotiation and decision-making, improving allocation efficiency while keeping the management system relatively simple.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If GPU resources are allocated without container-level control, then processes can access GPU resources freely, but this leads to resource wastage and unfair allocation, while implementing strict control reduces system flexibility

Engineering Contradiction:
ImproveGPU resource allocation fairnessVSAvoidsystem flexibility in resource allocation
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent applies local quality by implementing container-specific GPU resource configurations. Each container can be assigned different GPU resource limits, priorities, and allocation policies according to its specific needs. The kernel module enforces these container-specific settings, ensuring fair and reliable resource distribution while maintaining the flexibility to accommodate diverse container requirements. This localized control mechanism resolves the contradiction between allocation fairness and system flexibility.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20250336024A1Resource control method and device
Publication Date: 2025.10.30 LENOVO (BEIJING) LTD
  • US20250336024A1 patent drawing
  • US20250336024A1 patent drawing
  • US20250336024A1 patent drawing

AI summary

A resource control method includes intercepting, by an interception module running in a kernel state, a system call request initiated by a process to a kernel driver in an operating system. The system call request includes a process ID of the process and address information of a target graphics memory buffer area that the process requests a GPU to allocate. The method further includes determining, by a configuration management module running in the kernel state and based on the process ID, a target container running the process, obtaining, by the configuration management module, a limited usage of GPU resources configured for the target container to use, and configuring, by a resource management module running in the kernel state and based on the limited usage, an operation permission of the process to the target graphics memory buffer area.