GPU computing power scheduling system based on DPDK

Through the DPDK-based GPU computing power scheduling system, combined with the DPDK separation processing model layer, dynamic task scheduling layer, water level monitoring layer and underlying hardware layer, real-time detection and dynamic scheduling of GPU resources are achieved, solving the problem of insufficient resource scheduling in the existing technology, and significantly improving resource utilization and system performance.

CN119621261APending Publication Date: 2025-03-14LINKER
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411549790.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-01
Publication Date
2025-03-14

AI Technical Summary

Technical Problem

The existing GPU scheduling system fails to detect the GPU's operating resources during the scheduling process, resulting in the resource scheduling being not up to the optimal.

Method used

Design a GPU computing power scheduling system based on DPDK, and realize real-time detection and dynamic scheduling of GPU resources through the DPDK separation and processing combination of the model layer, dynamic task scheduling layer, water level monitoring layer and underlying hardware layer.

Benefits of technology

It improves resource utilization, optimizes task processing speed, enhances system performance and stability, realizes load balancing and flexibility, reduces energy consumption, and supports a variety of scheduling strategies.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119621261A_ABST
    Figure CN119621261A_ABST
Patent Text Reader

Abstract

The invention discloses a GPU computing power scheduling system based on a DPDK, and the system comprises a DPDK separation processing model layer which is in communication connection with an external application layer, and is used for distributing a task to a processor suitable for processing the task according to the nature and demands of the task issued by the application layer; the dynamic task scheduling layer is in communication connection with the DPDK separation processing model layer and is used for receiving the tasks distributed by the DPDK separation processing model layer so as to schedule and distribute the tasks; the water level monitoring layer is in communication connection with an external GPU (Graphics Processing Unit) and a CPU (Central Processing Unit) and is also in communication connection with the DPDK separation processing model layer; and the bottom hardware layer comprises hardware components such as a processor and network equipment and is used for providing physical resources required by system operation. According to the GPU computing power scheduling system based on the DPDK, system performance is improved, task scheduling is optimized, deep learning reasoning is accelerated, network data packet processing efficiency is improved, and a flexible resource dynamic allocation mechanism is provided. The purposes aim at promoting technical innovation and improving the efficiency and performance of the system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a GPU computing power scheduling system, and more specifically to a DPDK-based GPU computing power scheduling system. Background Art

[0002] The GPU computing power scheduling system is a key technology for managing and optimizing the use of GPU resources, especially in scenarios such as deep learning, high-performance computing, and big data processing.

[0003] Most of the existing GPU scheduling systems currently analyze the tasks that the GPU needs to perform before scheduling the GPU, obtain the nature and requirements of the tasks, and then schedule and allocate GPU resources according to the nature and requirements of the tasks. For example, patent number 202311720564.8, titled A resource allocation method and GPU resource pool scheduling system, discloses similar scheduling schemes as mentioned above. However, the above scheduling system does not detect the operating resources of the GPU during the scheduling process, so the scheduling of GPU resources is still not optimal. Summary of the invention

[0004] In view of the deficiencies in the prior art, the object of the present invention is to provide a DPDK-based GPU computing power scheduling system that can detect the operating resources of the GPU during the scheduling process.

[0005] To achieve the above object, the present invention provides the following technical solution: a GPU computing power scheduling system based on DPDK, characterized in that it includes:

[0006] DPDK separates the processing model layer and communicates with the external application layer to assign tasks to processors suitable for processing the tasks based on the nature and requirements of the tasks issued by the application layer;

[0007] The dynamic task scheduling layer is connected to the DPDK separation processing model layer for receiving tasks assigned by the DPDK separation processing model layer to schedule and assign tasks;

[0008] The water level monitoring layer communicates with the external GPU and CPU, and also communicates with the DPDK separation processing model layer to monitor the system load of the external GPU and CPU in real time;

[0009] The underlying hardware layer, including hardware components such as processors and network devices, is used to provide the physical resources required for system operation, including the computing power of the CPU and the parallel computing power of the GPU.

[0010] As a further improvement of the present invention, the separation measures of the DPDK separation processing model layer include:

[0011] Perform task classification and allocation. According to the nature and requirements of the tasks, the tasks are classified into tasks suitable for execution on the CPU and tasks suitable for execution on the GPU, and the tasks are allocated to the appropriate processors according to their characteristics.

[0012] Dynamically allocate resources, dynamically adjust CPU and GPU resource allocation according to system load and task requirements, receive callback data from the water level monitoring layer, including suggestions for adjusting the task delivery volume, and dynamically adjust the task delivery volume according to the received data;

[0013] Perform task priority scheduling: according to the priority and importance of tasks, high-priority tasks are scheduled first to ensure that critical tasks can be processed in time. This ensures that the system can reasonably schedule tasks according to their importance when processing them.

[0014] Performance monitoring and tuning: Real-time monitoring of system performance indicators, tuning the system according to the monitoring results, timely discovery of system performance bottlenecks and optimization, to improve the overall performance and stability of the system. As a further improvement of the present invention, the dynamic task scheduling layer has the following task scheduling modes: priority scheduling, scheduling according to the priority of the task;

[0015] The shortest job is scheduled first, and the task with the shortest execution time is scheduled first;

[0016] In round-robin scheduling, each task is assigned a time slice and executed in turn in a round-robin manner to ensure that each task has a chance to be executed;

[0017] Load balancing scheduling: dynamically adjust the distribution of tasks according to the system load to ensure system load balancing and avoid resource waste and performance bottlenecks;

[0018] Flexible resource allocation: Dynamically adjust resource allocation according to task requirements and system load conditions to ensure that the system can flexibly respond to different task types and load changes;

[0019] Scheduling through intelligent scheduling algorithms: including genetic algorithms, deep learning algorithms and other intelligent algorithms, which optimize resource allocation and scheduling decisions based on task characteristics and system status.

[0020] As a further improvement of the present invention, the specific steps of the priority scheduling are as follows:

[0021] First, a fixed priority is assigned to each task, and the execution order of tasks is determined according to the task priority to achieve static priority scheduling. Then, the task priority is dynamically adjusted according to the real-time status of the task and the system load to ensure that high-priority tasks can be processed in time to achieve dynamic priority scheduling.

[0022] As a further improvement of the present invention, the specific steps of the shortest job priority scheduling are as follows:

[0023] First, the scheduler selects the task with the shortest execution time to execute in order to reduce the waiting time of the task and the response time of the system to achieve non-preemptive scheduling. Then, if a new task arrives and its execution time is shorter than the currently executing task, the current task is preempted and the new task is executed to achieve preemptive scheduling.

[0024] As a further improvement of the present invention, the specific manner in which the water level monitoring layer monitors the system load of the external GPU and CPU in real time is:

[0025] First, data collection is performed, including real-time collection of system resource indicators such as GPU and CPU utilization, temperature, and memory usage. Then, based on the collected data, the system load is determined, including whether the system is overloaded or idle. Finally, data callback is performed based on the determined system overload or idle status.

[0026] As a further improvement of the present invention, the specific method of data callback is:

[0027] First, analyze the system load and obtain adjustment suggestions for the task delivery volume. Then, call back the adjustment suggestion data to the DPDK separation processing model to notify it to adjust the task delivery volume.

[0028] The beneficial effects of the present invention are as follows: Compared with the traditional GPU computing power scheduling system, the GPU computing power scheduling system based on DPDK provided by the present invention has the following significant effects:

[0029] Improve resource utilization: Through dynamic task scheduling and resource allocation mechanisms, the system can more efficiently utilize GPU and CPU resources, reduce idle resources, and improve overall resource utilization efficiency.

[0030] Optimize task processing speed: The system can quickly make scheduling decisions based on task characteristics and priorities, ensuring that high-priority and computationally intensive tasks can be processed quickly, thereby shortening task completion time.

[0031] Enhance system performance: Through real-time monitoring and performance tuning, the system can respond to performance bottlenecks in a timely manner, make optimization adjustments, and ensure that the system runs stably and in a high-performance state for a long time.

[0032] Improve system stability and reliability: The introduction of the water level monitoring layer enables the system to monitor resource status in real time and prevent overload, thereby improving system stability and reliability.

[0033] Achieve load balancing: Through intelligent scheduling algorithms and load balancing technology, the system can reasonably allocate tasks to different processing units, avoid overload at a single point, and achieve overall load balancing.

[0034] Flexibility and scalability: The system is designed with flexibility and scalability in mind, and can adapt to different workloads and scale changes, facilitating future functional expansion and performance upgrades.

[0035] Reduce energy consumption: By optimizing resource scheduling and reducing resource waste, the system can reduce energy consumption while ensuring performance and achieve green computing.

[0036] Support multiple scheduling strategies: The system supports multiple scheduling strategies such as static priority scheduling, dynamic priority scheduling, shortest job first scheduling, and round-robin scheduling to adapt to different task characteristics and user needs.

[0037] Improve system responsiveness: The introduction of preemptive scheduling strategy enables the system to respond quickly to newly arrived high-priority tasks, improving the real-time and responsiveness of the system.

[0038] Intelligent scheduling decisions: Using intelligent algorithms such as genetic algorithms and deep learning to make resource allocation and scheduling decisions improves the intelligence level of scheduling and optimizes the overall performance of the system.

[0039] Adaptable to a variety of application scenarios: The system is not only suitable for high-performance computing and parallel computing scenarios, but also for network technology scenarios that require fast data processing and response, and has broad application prospects.

[0040] Simplified system management: Through centralized scheduling and monitoring mechanisms, system management is simplified, maintenance costs are reduced, and system usability is improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] Figure 1 This is a module block diagram of the DPDK-based GPU computing power scheduling system of the present invention. DETAILED DESCRIPTION

[0042] The present invention will be further described below in conjunction with the embodiments given in the accompanying drawings. First, the terms used in the embodiments are explained as follows:

[0043]

[0044] Reference Figure 1 As shown, a GPU computing power scheduling system based on DPDK in this embodiment includes:

[0045] 1. DPDK separation processing model layer: According to the nature and requirements of the task, the task is assigned to the processor (CPU or GPU) suitable for processing the task. This separation can be dynamically adjusted based on factors such as the characteristics, priority, and computing requirements of the task to achieve optimal system performance and resource utilization. Specific separation measures are:

[0046] a. Task classification and allocation: Based on the nature and requirements of the tasks, the tasks are classified into tasks suitable for execution on the CPU and tasks suitable for execution on the GPU. The tasks are allocated to the appropriate processors based on their characteristics.

[0047] b. Dynamic resource allocation: Dynamically adjust CPU and GPU resource allocation based on system load and task requirements. Receive callback data from the water level monitoring layer, including suggestions for adjusting the amount of task dispatched.

[0048] Dynamically adjust the task delivery volume based on the received data.

[0049] c. Task priority scheduling: According to the priority and importance of the task, high-priority tasks are scheduled first to ensure that critical tasks can be processed in time. This ensures that the system can reasonably schedule tasks according to their importance when processing them.

[0050] d. Performance monitoring and tuning: Monitor the system's performance indicators in real time and tune the system based on the monitoring results. System performance bottlenecks can be discovered and optimized in a timely manner to improve the overall performance and stability of the system.

[0051] 2. Dynamic task scheduling layer:

[0052] a. Priority Scheduling:

[0053] i. Static priority scheduling: Assign a fixed priority to each task and determine the execution order of tasks based on their priorities.

[0054] ii. Dynamic priority scheduling: Dynamically adjust the priority of tasks according to the real-time status of tasks and system load to ensure that high-priority tasks can be processed in a timely manner.

[0055] b. Shortest Job First (SJF) scheduling:

[0056] i. Non-preemptive SJF: The scheduler selects the task with the shortest execution time to execute in order to reduce the task waiting time and the system response time.

[0057] ii. Preemptive SJF: If a new task arrives and its execution time is shorter than the currently executing task, the current task is preempted and the new task is executed.

[0058] c. Round Robin: Each task is assigned a time slice, and the tasks are executed in turn in a round-robin manner to ensure that each task has a chance to be executed.

[0059] d. Load balancing: Dynamically adjust the distribution of tasks according to the system load to ensure system load balancing and avoid resource waste and performance bottlenecks.

[0060] e. Flexible resource allocation: Dynamically adjust resource allocation according to task requirements and system load conditions to ensure that the system can flexibly respond to different task types and load changes.

[0061] f. Intelligent scheduling algorithm: including genetic algorithms, deep learning algorithms and other intelligent algorithms, which optimize resource allocation and scheduling decisions based on task characteristics and system status.

[0062] 3. Water level monitoring layer:

[0063] a. Data collection: Real-time monitoring of GPU and CPU utilization, temperature, memory usage and other system resource indicators.

[0064] b. Load analysis: Based on the monitoring data, determine the system load conditions, including whether the system load is overloaded or idle.

[0065] c.Data callback:

[0066] i. The water level monitoring layer analyzes the system load and provides suggestions for adjusting the amount of task issuance.

[0067] ii. The adjustment suggestion data is called back to the DPDK separation processing model to notify it to adjust the task delivery volume.

[0068] 4. Bottom-level hardware layer: The bottom-level hardware layer includes hardware components such as processors and network devices. These hardware components provide the physical resources required for system operation, including the computing power of the CPU and the parallel computing power of the GPU.

[0069] In summary, the DPDK-based GPU computing power scheduling system of the present invention provides an efficient, flexible and reliable resource scheduling solution through its innovative design and implementation, which has significant performance improvement and wide application value.

[0070] The above is only a preferred embodiment of the present invention, and the protection scope of the present invention is not limited to the above embodiments. All technical solutions under the concept of the present invention belong to the protection scope of the present invention. It should be pointed out that for ordinary technicians in this technical field, some improvements and modifications without departing from the principle of the present invention should also be regarded as the protection scope of the present invention.

Claims

1. A GPU computing power scheduling system based on DPDK, characterized by: include: DPDK separates the processing model layer and communicates with the external application layer to assign tasks to processors suitable for processing the tasks based on the nature and requirements of the tasks issued by the application layer; The dynamic task scheduling layer is connected to the DPDK separation processing model layer for receiving tasks assigned by the DPDK separation processing model layer to schedule and assign tasks; The water level monitoring layer communicates with the external GPU and CPU, and also communicates with the DPDK separation processing model layer to monitor the system load of the external GPU and CPU in real time; The underlying hardware layer, including hardware components such as processors and network devices, is used to provide the physical resources required for system operation, including the computing power of the CPU and the parallel computing power of the GPU.

2. The DPDK-based GPU computing power scheduling system according to claim 1, characterized in that: The separation measures of the DPDK separation processing model layer include: Perform task classification and allocation. According to the nature and requirements of the tasks, the tasks are classified into tasks suitable for execution on the CPU and tasks suitable for execution on the GPU, and the tasks are allocated to the appropriate processors according to their characteristics. Dynamically allocate resources, dynamically adjust CPU and GPU resource allocation according to system load and task requirements, receive callback data from the water level monitoring layer, including suggestions for adjusting the task delivery volume, and dynamically adjust the task delivery volume according to the received data; Perform task priority scheduling: according to the priority and importance of tasks, high-priority tasks are scheduled first to ensure that key tasks can be processed in time. This ensures that the system can reasonably schedule tasks according to their importance when processing them. Perform performance monitoring and tuning: Monitor the system's performance indicators in real time and tune the system based on the monitoring results. This can help you identify system performance bottlenecks and optimize them in a timely manner to improve the system's overall performance and stability.

3. The DPDK-based GPU computing power scheduling system according to claim 1 or 2, characterized in that: The dynamic task scheduling layer has the following task scheduling modes: Priority scheduling, scheduling according to the priority of the task; The shortest job is scheduled first, and the task with the shortest execution time is scheduled first; In round-robin scheduling, each task is assigned a time slice and executed in turn in a round-robin manner to ensure that each task has a chance to be executed; Load balancing scheduling: dynamically adjust the distribution of tasks according to the system load to ensure system load balancing and avoid resource waste and performance bottlenecks; Flexible resource allocation: Dynamically adjust resource allocation according to task requirements and system load conditions to ensure that the system can flexibly respond to different task types and load changes; Scheduling through intelligent scheduling algorithms: including genetic algorithms, deep learning algorithms and other intelligent algorithms, which optimize resource allocation and scheduling decisions based on task characteristics and system status.

4. The DPDK-based GPU computing power scheduling system according to claim 3, characterized in that: The specific steps of the priority scheduling are as follows: First, a fixed priority is assigned to each task, and the execution order of tasks is determined according to the task priority to achieve static priority scheduling. Then, the task priority is dynamically adjusted according to the real-time status of the task and the system load to ensure that high-priority tasks can be processed in time to achieve dynamic priority scheduling.

5. The DPDK-based GPU computing power scheduling system according to claim 4, characterized in that: The specific steps of the shortest job priority scheduling are as follows: First, the scheduler selects the task with the shortest execution time to execute in order to reduce the waiting time of the task and the response time of the system to achieve non-preemptive scheduling. Then, if a new task arrives and its execution time is shorter than the currently executing task, the current task is preempted and the new task is executed to achieve preemptive scheduling.

6. The DPDK-based GPU computing power scheduling system according to claim 1 or 2, characterized in that: The specific method of the water level monitoring layer to monitor the system load of the external GPU and CPU in real time is: First, data collection is performed, including real-time collection of system resource indicators such as GPU and CPU utilization, temperature, and memory usage. Then, based on the collected data, the system load is determined, including whether the system is overloaded or idle. Finally, data callback is performed based on the determined system overload or idle status.

7. The DPDK-based GPU computing power scheduling system according to claim 6, characterized in that: The specific method of data callback is: First, analyze the system load and obtain adjustment suggestions for the task delivery volume. Then, call back the adjustment suggestion data to the DPDK separation processing model to notify it to adjust the task delivery volume.

Citation Information

Patent Citations

  • A resource allocation method and GPU resource pool scheduling system

    CN117648192B