Kernel-Mediated GPU Allocation for Containerized Processes
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
Data Source
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.


