A computing power resource scheduling method and device

By acquiring and scheduling the computing power resources of the graphics processing unit, combining intelligent middleware and containerized design, the problem of inefficient GPU resource scheduling is solved, and efficient and flexible resource utilization and data processing are achieved.

CN119739539BActive Publication Date: 2025-07-11SHANGHAI XIYU JIZHI TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202510252100.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-05
Publication Date
2025-07-11
Estimated Expiration
2045-03-05

AI Technical Summary

Technical Problem

The prior art is difficult to effectively schedule the computing power resources of the graphics processing unit, especially when processing data cleaning tasks with different priorities, and cannot fully utilize the computing advantages of the GPU, resulting in waste of resources and inefficiency.

Method used

By obtaining the priority and resource requirements of alternative task types, determining the target task type of pending tasks, and using the target idle resources for computing resource scheduling, combining intelligent middleware system and containerized design, dynamic sharding and load balancing are achieved, adapting to load changes, and optimizing resource allocation and task scheduling.

Benefits of technology

It improves the overall utilization rate of the GPU cluster, improves data processing efficiency, reduces operation and maintenance costs, ensures the stable operation of core services, and adapts to the frequently changing resource availability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119739539B_ABST
    Figure CN119739539B_ABST
Patent Text Reader

Abstract

The present invention discloses a computing power resource scheduling method and device. The method includes: obtaining alternative priorities and alternative resource requirements respectively corresponding to at least one alternative task type; determining at least one task to be processed to be processed by at least one graphics processing unit, and target task types respectively corresponding to the at least one task to be processed, and determining alternative tasks corresponding to each alternative task type from the at least one task to be processed according to the target task types respectively corresponding to the at least one task to be processed; determining target idle resources of the at least one graphics processing unit, and scheduling the to-be-scheduled computing power resources of the at least one graphics processing unit according to the target idle resources, and the alternative tasks, alternative priorities and alternative resource requirements respectively corresponding to the at least one alternative task type. The technical solution of the present invention can effectively schedule the to-be-scheduled computing power resources of at least one graphics processing unit.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present invention relate to the field of computer technology, and in particular, to a computing power resource scheduling method and apparatus. Background Art

[0002] When processing tasks such as data cleaning tasks, etc., it can be accelerated by at least one Graphics Processing Unit (GPU).

[0003] However, currently, it is difficult to effectively schedule the to-be-scheduled computing power resources of at least one graphics processing unit, which urgently needs to be solved. Summary of the Invention

[0004] Embodiments of the present invention provide a computing power resource scheduling method and apparatus to effectively schedule the to-be-scheduled computing power resources of at least one graphics processing unit.

[0005] According to one aspect of the present invention, there is provided a computing power resource scheduling method, which may include: obtaining the alternative priorities and alternative resource requirements respectively corresponding to at least one alternative task type, where the alternative task type is the type of task that can be processed by at least one graphics processing unit; determining at least one to-be-processed task to be processed by at least one graphics processing unit, and the target task type respectively corresponding to at least one to-be-processed task, and determining, according to the target task type respectively corresponding to at least one to-be-processed task, the alternative task corresponding to each alternative task type from at least one to-be-processed task; determining the target idle resources of at least one graphics processing unit, and scheduling the to-be-scheduled computing power resources of at least one graphics processing unit according to the target idle resources, and the alternative tasks, alternative priorities, and alternative resource requirements respectively corresponding to at least one alternative task type.

[0006] According to another aspect of the present invention, there is provided a computing power resource scheduling apparatus, which may include: an alternative resource requirement obtaining module, configured to obtain the alternative priorities and alternative resource requirements respectively corresponding to at least one alternative task type, where the alternative task type is the type of task that can be processed by at least one graphics processing unit; an alternative task determining module, configured to determine at least one to-be-processed task to be processed by at least one graphics processing unit, and the target task type respectively corresponding to at least one to-be-processed task, and determine, according to the target task type respectively corresponding to at least one to-be-processed task, the alternative task corresponding to each alternative task type from at least one to-be-processed task; a to-be-scheduled computing power resource scheduling module, configured to determine the target idle resources of at least one graphics processing unit, and schedule the to-be-scheduled computing power resources of at least one graphics processing unit according to the target idle resources, and the alternative tasks, alternative priorities, and alternative resource requirements respectively corresponding to at least one alternative task type.

[0007] In the technical solution of the embodiment of the present invention, by obtaining the alternative priorities and alternative resource requirements respectively corresponding to at least one alternative task type that can be processed by at least one graphics processing unit, the alternative priorities and alternative resource requirements are used to implement computing power resource scheduling; determining at least one task to be processed by at least one graphics processing unit, and the target task type respectively corresponding to at least one task to be processed, and according to the target task type respectively corresponding to at least one task to be processed, determining, from at least one task to be processed, the alternative tasks corresponding to each alternative task type, thereby obtaining the alternative tasks corresponding to each alternative task type; then, determining the target idle resources of at least one graphics processing unit, and according to the target idle resources, as well as the alternative tasks, alternative priorities and alternative resource requirements respectively corresponding to at least one alternative task type, scheduling the computing power resources to be scheduled of at least one graphics processing unit, so as to implement the computing power resource scheduling of at least one graphics processing unit. In the above technical solution, by using the target idle resources, as well as the alternative tasks, alternative priorities and alternative resource requirements respectively corresponding to at least one alternative task type, to schedule the computing power resources of at least one graphics processing unit, it is possible to effectively schedule the computing power resources to be scheduled of at least one graphics processing unit.

[0008] It should be understood that the content described in this part is not intended to identify the key or important features of the embodiments of the present invention, nor is it used to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following will briefly introduce the drawings required for the description of the embodiments. Obviously, the drawings in the following description are only some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.

[0010] Figure 1 is a flowchart of a computing power resource scheduling method provided according to an embodiment of the present invention;

[0011] Figure 2 is a flowchart of another computing power resource scheduling method provided according to an embodiment of the present invention;

[0012] Figure 3 is a flowchart of yet another computing power resource scheduling method provided according to an embodiment of the present invention;

[0013] Figure 4 is a structural block diagram of a computing power resource scheduling device provided according to an embodiment of the present invention;

[0014] Figure 5It is a schematic structural diagram of an electronic device for implementing the computing power resource scheduling method according to the embodiments of the present invention. Detailed implementation manners

[0015] In order to enable those skilled in the art to better understand the solution of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without making creative efforts shall fall within the protection scope of the present invention.

[0016] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and do not necessarily need to be used to describe a specific order or sequence. It should be understood that such used data can be interchanged under appropriate circumstances so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. The situations of "target", "original", etc. are similar and will not be elaborated herein. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device including a series of steps or units does not necessarily need to be limited to those clearly listed steps or units, but may include other steps or units not clearly listed or inherent to these processes, methods, products or devices.

[0017] Before introducing the embodiments of the present invention, an exemplary description will be given first to the implementation significance of the current computing power resource scheduling solution and the reasons for the problem that it is difficult to effectively schedule the computing power resources to be scheduled of at least one graphics processing unit, so as to better understand the reasons why the solution proposed in the embodiments of the present invention can effectively schedule the computing power resources to be scheduled of at least one graphics processing unit.

[0018] Data cleaning tasks (such as Optical Character Recognition (OCR) tasks) that are waiting to be processed require a large amount of computing resources and are suitable for GPU acceleration. However, currently, the following methods are often used to handle data cleaning tasks waiting to be processed: First, currently, a dedicated Central Processing Unit (CPU) cluster can be used to process the tasks to be processed, but this method cannot utilize the computing advantages of the GPU. Second, currently, batches of cloud computing resources can be used to process the tasks to be processed, but this method lacks flexibility and real-time performance, cannot dynamically adapt to changes in the workload, may result in resource waste, that is, the reserved resources may not be fully utilized, and it is difficult to control costs, especially when dealing with workloads that change frequently. It also cannot utilize the computing advantages of the GPU. Third, currently, idle machine learning training resources can be used to process the tasks to be processed, but this method is temporary and unsystematic, lacks systematicness and predictability, is difficult to plan and optimize in the long term, may interfere with the normal training task scheduling, lacks a dedicated management and scheduling mechanism, and is inefficient. It also cannot utilize the computing advantages of the GPU. Due to the significant tidal computing power phenomenon in a large-scale GPU inference cluster including at least one GPU, that is, there is a tidal computing power phenomenon during working hours compared to off-duty hours and at night, and the load difference between weekdays and weekends can reach several times. During the peak period, the computing power resources of at least one GPU are completely saturated, while during the low period, the computing power resources of at least one GPU can carry additional tasks with a Query Per Second (QPS) of thousands. Moreover, the cost of a dedicated large-scale GPU inference cluster is high, and it is inefficient when processing tasks to be processed that are suitable for GPU acceleration such as OCR. In addition, data cleaning tasks waiting to be processed are often regarded as low-priority tasks when processed by the computing power resources of the GPU. Therefore, currently, there is a lack of precise control and efficient utilization of the computing power resources of at least one GPU, and it is difficult to effectively schedule the schedulable computing power resources of at least one GPU, especially when dealing with tasks to be processed with different priorities, especially important but non-urgent tasks to be processed with priority representation.

[0019] In response to this, the following will elaborate on this in detail.

[0020] Figure 1It is a flowchart of a computing power resource scheduling method provided in an embodiment of the present invention. This embodiment is applicable to the situation of computing power resource scheduling, especially applicable to the situation of computing power resource scheduling of at least one graphics processing unit. This method can be executed by a computing power resource scheduling device provided in an embodiment of the present invention. The device can be implemented in software and / or hardware, and the device can be integrated on an electronic device, which can be various user terminals or servers.

[0021] See Figure 1 , the method of the embodiment of the present invention specifically includes the following steps:

[0022] S110. Obtain the alternative priorities and alternative resource requirements corresponding to at least one alternative task type, where the alternative task type is a type of task that can be processed by at least one graphics processing unit.

[0023] Among them, the alternative task type can be understood as a type of task that can be processed by at least one GPU, and the alternative task type can also be understood as a type of task that is alternatively used as the target task type of the task to be processed; the alternative task type can be, for example, at least one of an inference task type, a training task type, a cleaning task type, etc. The alternative task type can specifically be further refined on the basis of at least one of the inference task type, the training task type, the cleaning task type, etc. For example, on the basis of the cleaning task type, the alternative task type can specifically further include at least one of a text cleaning task type, an audio cleaning task type, a video cleaning task type, etc., and can be further refined. For example, on the basis of the video cleaning task type, the alternative task type can further specifically include at least one of a computing task type, a labeling task type, a cleaning task type, an analysis task type, and segmentation, etc.

[0024] The alternative priority can be used as the priority of the alternative task corresponding to its corresponding alternative task type.

[0025] The alternative resource requirement can be understood as the requirement for computing power resources required to process the alternative task corresponding to its corresponding alternative task type.

[0026] In the embodiment of the present invention, the alternative priorities and alternative resource requirements corresponding to at least one alternative task type can be obtained.

[0027] In an embodiment of the present invention, at least one alternative task type, alternative priorities respectively corresponding to the at least one alternative task type, and alternative resource requirements can be determined in advance, so as to obtain the alternative priorities and alternative resource requirements respectively corresponding to the at least one alternative task type. Exemplarily, various task requirements can be analyzed, and according to the analysis results, the various task requirements can be classified to obtain at least one alternative task type. The task requirements can be understood as tasks to be processed that may require processing or tasks that have been processed historically, etc. For example, the various task requirements can be classified into Task 1 (inference task type), Task 2 (training task type), and Task 3 (cleaning task type); determine the processing services respectively corresponding to the at least one alternative task type, and according to the service resource requirements of the processing services respectively corresponding to each alternative task type, that is, the computing power resources required to deploy the processing services, determine the alternative resource requirements corresponding to the alternative task type. For example, it is determined that Task 1, Task 2, and Task 3 respectively correspond to Service 1, Service 2, and Service 3 for processing. The service resource requirements corresponding to different processing services may be different. According to the fact that Service 1 needs to occupy 2 units of computing power resources to process Task 1, Service 2 needs to occupy 3 units of computing power resources to process Task 2, and Service 3 needs to occupy 4 units of computing power resources to process Task 3, determine that the alternative resource requirements corresponding to Task 1, Task 2, and Task 3 are 2 units of computing power resources, 3 units of computing power resources, and 4 units of computing power resources respectively; according to the various task requirements, perform priority sorting on the at least one alternative task type. For example, the priority sorting is Task 1 > Task 2 > Task 3, and obtain the alternative priorities respectively corresponding to the at least one alternative task type.

[0028] S120. Determine at least one to-be-processed task to be processed by at least one graphics processing unit, and target task types respectively corresponding to the at least one to-be-processed task, and according to the target task types respectively corresponding to the at least one to-be-processed task, determine, from the at least one to-be-processed task, alternative tasks corresponding to each alternative task type.

[0029] Among them, the to-be-processed task can be understood as a task that can be processed by the GPU.

[0030] The target task type can be understood as the task type of the to-be-processed task corresponding to it.

[0031] The alternative task can be understood as a to-be-processed task whose target task type is the same as the alternative task type corresponding to it; the number of alternative tasks can be zero or at least one.

[0032] In an embodiment of the present invention, a task to be processed can be determined, and at least one target task type corresponding to each task to be processed can be determined. Then, according to the at least one target task type corresponding to each task to be processed, alternative tasks corresponding to each alternative task type can be determined from the at least one task to be processed. For example, for each alternative task type, a task to be processed whose target task type is the same as the alternative task type among the at least one task to be processed can be used as the alternative task corresponding to the alternative task type.

[0033] In an embodiment of the present invention, a horizontally scalable distributed data processing pipeline (pipeline) is designed to support large-scale task parallel processing. Specifically, dynamic sharding and load balancing of data streams can be implemented for tasks to be processed to adapt to computing power resources of different scales. For example, each task to be processed can be sharded, and at least one task to be processed can be updated according to the sharding result. Specifically, for example, a task to be processed that originally requires 10 units of computing power resources is dynamically sharded into 10 distributed tasks, and the 10 distributed tasks are used as 10 tasks to be processed to update at least one task to be processed. Each sharded distributed task to be processed only requires 1 unit of computing power resources to be processed. Correspondingly, the sharded distributed tasks to be processed can also be tasks that only require 1 / 2 unit of computing power resources, 1 / 4 unit of computing power resources, 1 / 8 unit of computing power resources, etc., so as to fully utilize idle computing power resources of different scales.

[0034] S130. Determine the target idle resources of at least one graphics processing unit, and schedule the computing power resources to be scheduled of at least one graphics processing unit according to the target idle resources, and the alternative tasks, alternative priorities, and alternative resource requirements respectively corresponding to at least one alternative task type.

[0035] Among them, the target idle resources can be understood as the computing power resources that are idle and not used to process tasks to be processed.

[0036] The computing power resources to be scheduled can be understood as the computing power resources to be scheduled of at least one GPU; the computing power resources to be scheduled can be, for example, all the computing power resources of at least one GPU; the computing power resources to be scheduled can include the target idle resources.

[0037] In an embodiment of the present invention, the target idle resources can be determined, and the computing power resources to be scheduled can be scheduled according to the target idle resources, and the alternative tasks, alternative priorities, and alternative resource requirements respectively corresponding to at least one alternative task type.

[0038] It should be noted that scheduling the computing power resources to be scheduled can be to release the resources to be released and / or occupy the resources to be occupied in the computing power resources to be scheduled, etc. In the embodiments of the present invention, the scheduling method for scheduling the computing power resources to be scheduled is not specifically limited.

[0039] Exemplarily, according to alternative tasks, alternative priorities, and alternative resource requirements respectively corresponding to at least one alternative task type, the target idle resources can be utilized to deploy containers that occupy the corresponding alternative resource requirements, so as to process the alternative tasks corresponding to the containers based on the deployed containers.

[0040] In an embodiment of the present invention, an intelligent middleware system is further included, which serves as a bridge between at least one task to be processed and the computing power resources to be scheduled, that is, it is used in the process of computing power resource scheduling mentioned in the embodiment of the present invention. Specifically, the intelligent middleware system can be used to receive, cache, and prioritize at least one task to be processed, and can also be used to detect in real time the computing power cluster resource status of the computing power resources to be scheduled including at least one GPU. In the case of detecting available target idle resources, it can automatically trigger the deployment and execution of containerized alternative tasks, can respond to load changes in real time, make decisions and deploy tasks at the millisecond level, so as to achieve precise capture and efficient utilization of tidal computing power resources, and realize concurrent processing of task requests with thousands or tens of thousands of QPS, greatly improving resource utilization. On this basis, the intelligent middleware system further includes a storage interface optimized for high-concurrency scenarios to ensure that data throughput will not become a system bottleneck. Specifically, the storage interface can implement intelligent data prefetching and caching strategies to reduce I / O waiting time, that is, before the request data corresponding to the task to be processed with high priority and / or urgent demand is distributed from the queue of the intelligent middleware system to the service processing of each container, the data corresponding to the task to be processed will be sent and cached to the local of the corresponding computing power cluster to save data transmission time. The storage interface can also improve data processing efficiency. For example, for a data cleaning task, the container for processing the data cleaning task is located in computing power cluster A. At this time, before sending the next batch of data cleaning tasks to be processed to the corresponding service, the data to be cleaned is first sent to cluster A and cached, so that the corresponding service can immediately obtain the data for processing after receiving the data cleaning task, saving data transmission time, improving processing efficiency, and improving resource utilization.

[0041] In an embodiment of the present invention, it further includes a resource allocation algorithm that adaptively considers multi-dimensional factors to implement the computing power resource scheduling mentioned in the embodiment of the present invention. This resource allocation algorithm can utilize the utilization rate of at least one GPU. If the utilization rate of at least one GPU is low, it schedules the to-be-scheduled computing power resources to deploy and process alternative tasks for recomputation resources. The resource allocation algorithm can also store the bandwidth usage situation, determine the alternative priorities and urgency levels corresponding to at least one alternative task type respectively, so as to schedule the to-be-scheduled computing power resources according to the target idle resources, as well as the alternative tasks, urgency levels, alternative priorities, and alternative resource requirements corresponding to at least one alternative task type respectively. The resource allocation algorithm can also determine the historical load pattern and perform pattern prediction to determine the task volume change trends (the first task volume change trend, the second task volume change trend, or the third task volume change trend) corresponding to at least one alternative task type respectively. The above-mentioned resource allocation algorithm can maximize the utilization of available computing power resources while ensuring high-priority processing tasks.

[0042] In an embodiment of the present invention, it further includes an elastic task execution framework to implement an execution framework that supports the quick start, pause, and resume of alternative tasks. And this framework designs a fine-grained checkpoint mechanism, allowing long-running alternative tasks to quickly save their states when resources (such as containers) are recycled.

[0043] The technical solution of the embodiment of the present invention obtains the alternative priorities and alternative resource requirements corresponding to at least one alternative task type that can be processed by at least one graphics processing unit. The alternative priorities and alternative resource requirements are used to implement computing power resource scheduling; determines at least one to-be-processed task to be processed by at least one graphics processing unit, and the target task type corresponding to at least one to-be-processed task respectively, and determines the alternative tasks corresponding to each alternative task type from at least one to-be-processed task according to the target task type corresponding to at least one to-be-processed task respectively, thereby obtaining the alternative tasks corresponding to each alternative task type; then determines the target idle resources of at least one graphics processing unit, and schedules the to-be-scheduled computing power resources of at least one graphics processing unit according to the target idle resources, as well as the alternative tasks, alternative priorities, and alternative resource requirements corresponding to at least one alternative task type respectively, so as to implement the computing power resource scheduling of at least one graphics processing unit. The above technical solution can effectively schedule the to-be-scheduled computing power resources of at least one graphics processing unit by scheduling the computing power resources of at least one graphics processing unit through the target idle resources, as well as the alternative tasks, alternative priorities, and alternative resource requirements corresponding to at least one alternative task type respectively.

[0044] An alternative technical solution is to schedule the to-be-scheduled computing power resources of at least one graphics processing unit according to the target idle resources, as well as the alternative tasks, alternative priorities, and alternative resource requirements respectively corresponding to at least one alternative task type, including: obtaining the third task volume change trend respectively corresponding to at least one alternative task type; and scheduling the to-be-scheduled computing power resources of at least one graphics processing unit according to the target idle resources, as well as the alternative tasks, alternative priorities, alternative resource requirements, and third task volume change trend respectively corresponding to at least one alternative task type.

[0045] Among them, the third task volume change trend can be understood as the change trend of the task volume corresponding to the alternative task type; the third task volume change trend is, for example, a decline period, a trough period, an ascending period, or a peak period, etc. The decline period can be understood as that when determining at least one to-be-processed task subsequently, the number of alternative tasks corresponding to the alternative task type decreases compared with the current number of alternative tasks; correspondingly, the trough period, the ascending period, and the peak period respectively correspond to the number of alternative tasks being at a trough, the number of alternative tasks increasing, and the number of alternative tasks being at a peak.

[0046] In the embodiments of the present invention, the third task volume change trend respectively corresponding to at least one alternative task type can be determined in advance. For example, the historical change situations of various task requirements can be analyzed to obtain the third task volume change trend respectively corresponding to at least one alternative task type. For example, by analyzing the historical change situations of various task requirements, it is obtained that the third task volume change trend of Task 1 is that the task requirement grows rapidly and the task demand is large at the off-duty time on weekdays, and the task demand decreases significantly after midnight. Except for the low task demand during the night time on non-working days, the task demand of Task 1 is at a high level throughout the day. The third task volume change trends of Task 2 and Task 3 are both that the task demand is at a high level for most of the time.

[0047] In the embodiments of the present invention, the third task volume change trend can be obtained, and the to-be-scheduled computing power resources can be scheduled according to the target idle resources, as well as the alternative tasks, alternative priorities, alternative resource requirements, and third task volume change trend respectively corresponding to at least one alternative task type. For example, for an alternative task type with a third task volume change trend being a peak period, an alternative priority being the highest priority, and a large number of alternative tasks, more than a preset threshold of computing power resources in the target idle resources are occupied to deploy containers corresponding to the alternative task type. The above technical solution schedules the to-be-scheduled computing power resources by using the third task volume change trend respectively corresponding to at least one alternative task type, so that the scheduling situation of the to-be-scheduled computing power resources can be adapted to the change trend of the task volume respectively corresponding to at least one alternative task type, thereby further realizing the effective scheduling of the to-be-scheduled computing power resources.

[0048] Figure 2It is a flowchart of another computing power resource scheduling method provided in an embodiment of the present invention. This embodiment is optimized based on the above technical solutions. In this embodiment, optionally, according to the target idle resources, and the alternative tasks, alternative priorities, and alternative resource requirements respectively corresponding to at least one alternative task type, schedule the computing power resources to be scheduled of at least one graphics processing unit, including: determining, from at least one alternative task type, the alternative task type with the highest alternative priority as the high-priority task type; and scheduling the computing power resources to be scheduled of at least one graphics processing unit according to the target idle resources, and the alternative tasks and alternative resource requirements of the high-priority task type. Among them, the explanations of the same or corresponding terms as those in the above embodiments will not be elaborated here.

[0049] See Figure 2 , the method of this embodiment may specifically include the following steps:

[0050] S210. Obtain the alternative priorities and alternative resource requirements respectively corresponding to at least one alternative task type, where the alternative task type is the type of task that can be processed by at least one graphics processing unit.

[0051] S220. Determine at least one task to be processed to be processed by at least one graphics processing unit, and the target task type respectively corresponding to at least one task to be processed, and determine the alternative tasks corresponding to each alternative task type from at least one task to be processed according to the target task type respectively corresponding to at least one task to be processed.

[0052] S230. Determine the target idle resources of at least one graphics processing unit, and determine the alternative task type with the highest alternative priority from at least one alternative task type as the high-priority task type.

[0053] Among them, the high-priority task type can be understood as the alternative task type with the highest alternative priority among at least one alternative task type.

[0054] In the embodiment of the present invention, the alternative task type with the highest alternative priority can be determined from at least one alternative task type as the high-priority task type.

[0055] S240. Schedule the computing power resources to be scheduled of at least one graphics processing unit according to the target idle resources, and the alternative tasks and alternative resource requirements of the high-priority task type.

[0056] In an embodiment of the present invention, the to-be-scheduled computing power resources can be scheduled according to the target idle resources, as well as the alternative tasks and alternative resource requirements of the high-priority task types. For example, according to the alternative resource requirements of the high-priority task types, the target idle resources can be used to deploy containers that can handle the alternative tasks of the high-priority task types, so as to realize the scheduling of the to-be-scheduled computing power resources including the target idle resources.

[0057] The technical solution of the embodiment of the present invention determines the alternative task type with the highest alternative priority from at least one alternative task type as the high-priority task type, and schedules the to-be-scheduled computing power resources of at least one graphics processing unit according to the target idle resources, as well as the alternative tasks and alternative resource requirements of the high-priority task type, so as to realize the scheduling of the to-be-scheduled computing power resources. The above technical solution can avoid the problem of difficultly effectively scheduling the to-be-scheduled computing power resources to process high-priority to-be-processed tasks on the basis of the alternative tasks and alternative resource requirements of the high-priority task type, thereby further realizing the effective scheduling of the to-be-scheduled computing power resources.

[0058] An alternative technical solution, after scheduling the to-be-scheduled computing power resources of at least one graphics processing unit according to the target idle resources, as well as the alternative tasks and alternative resource requirements of the high-priority task type, the computing power resource scheduling method further includes: updating the target idle resources according to the obtained scheduling result; in the case where there are alternative task types that have not been used as high-priority task types among at least one alternative task type, determining the alternative task type with the highest alternative priority from each alternative task type and updating it as the high-priority task type, and repeating the step of scheduling the to-be-scheduled computing power resources of at least one graphics processing unit according to the target idle resources, as well as the alternative tasks and alternative resource requirements of the high-priority task type.

[0059] Among them, the alternative task type can be understood as the alternative task type with the highest alternative priority among the alternative task types that have not been used as high-priority task types.

[0060] It should be noted that the high-priority task type mentioned in the embodiment of the present invention can be understood as the alternative task type with the highest alternative priority among the alternative task types that have not been used as high-priority task types.

[0061] It can be understood that the to-be-scheduled computing power resources can be scheduled based on the to-be-selected task type with the highest alternative priority among the to-be-selected task types that are not high-priority task types, and then, in the order of priority, the remaining idle resources can be scheduled based on the to-be-selected task types with alternative priorities lower than the highest alternative priority mentioned above. For example, if the alternative priority of Task 1 is the highest, therefore, the to-be-scheduled computing power resources can be scheduled according to the target idle resources, as well as the alternative tasks and alternative resource requirements of Task 1. Then, the remaining idle resources can be updated as the target idle resources. Based on the target idle resources, as well as the alternative tasks and alternative resource requirements of Task 1, the to-be-scheduled computing power resources can be scheduled, and then the above process can be performed for Task 3 with the lowest priority.

[0062] In the embodiments of the present invention, the target idle resources can be updated according to the scheduling result. For example, when scheduling the to-be-scheduled computing power resources to deploy containers for the target idle resources, the remaining idle resources in the target idle resources represented by the scheduling result that are not used for deploying containers can be updated as the target idle resources; for another example, when scheduling the to-be-scheduled computing power resources to release the resources to be released in the to-be-scheduled computing power resources, the released resources and the target idle resources represented by the scheduling result can be updated as the target idle resources; and so on.

[0063] In the embodiments of the present invention, in the case of at least one to-be-selected task type with various to-be-selected task types, the to-be-selected task type with the highest alternative priority is determined from the various to-be-selected task types and updated as the high-priority task type, and the step of scheduling the to-be-scheduled computing power resources according to the target idle resources, as well as the alternative tasks and alternative resource requirements of the high-priority task type is repeatedly executed to achieve scheduling the computing power resources for each to-be-selected task type in the order of priority.

[0064] In the embodiments of the present invention, by updating the target idle resources according to the scheduling result, and in the case of at least one to-be-selected task type with various to-be-selected task types, determining the to-be-selected task type with the highest alternative priority from the various to-be-selected task types and updating it as the high-priority task type, and repeatedly executing the step of scheduling the to-be-scheduled computing power resources according to the target idle resources, as well as the alternative tasks and alternative resource requirements of the high-priority task type, the problem of poor scheduling effect of the to-be-scheduled computing power resources caused by only scheduling the computing power resources for the high-priority task type with the highest alternative priority can be avoided.

[0065] Based on the above solution, another alternative technical solution is to schedule the to-be-scheduled computing power resources of at least one graphics processing unit according to the target idle resources, as well as the alternative tasks and alternative resource requirements of the high-priority task types, including: obtaining the second task volume change trends respectively corresponding to at least one alternative task type; and scheduling the to-be-scheduled computing power resources of at least one graphics processing unit according to the second task volume change trends respectively corresponding to at least one alternative task type, the target idle resources, as well as the alternative tasks and alternative resource requirements of the high-priority task types.

[0066] Among them, the second task volume change trend can be understood as the change trend of the task volume corresponding to the alternative task type; specifically, the substantial content of the second task volume change trend and the third task volume change trend is the same. Here, different names are used only to distinguish different alternative technical solutions, rather than a specific limitation on its substantial content.

[0067] In the embodiments of the present invention, the second task volume change trend can be obtained, and the to-be-scheduled computing power resources can be scheduled according to the second task volume change trends respectively corresponding to at least one alternative task type, the target idle resources, as well as the alternative tasks and alternative resource requirements of the high-priority task types. In the above technical solution, by using the second task volume change trends respectively corresponding to at least one alternative task type to schedule the to-be-scheduled computing power resources, the scheduling situation of the to-be-scheduled computing power resources can be adapted to the change trends of the task volumes respectively corresponding to at least one alternative task type, thereby further realizing the effective scheduling of the to-be-scheduled computing power resources.

[0068] Another alternative technical solution is to schedule the to-be-scheduled computing power resources of at least one graphics processing unit according to the target idle resources, as well as the alternative tasks and alternative resource requirements of the high-priority task types, including: obtaining the first interrupt attribute of the high-priority task type and / or the second interrupt attributes respectively corresponding to at least one alternative task type, where the first interrupt attribute represents whether the processing process of the alternative task of the high-priority task type can be interrupted, and the second interrupt attribute represents whether the processing process of the alternative task of the corresponding alternative task type can be interrupted; and scheduling the to-be-scheduled computing power resources of at least one graphics processing unit according to the first interrupt attribute and / or the second interrupt attributes respectively corresponding to at least one alternative task type, the target idle resources, as well as the alternative tasks and alternative resource requirements of the high-priority task types.

[0069] Among them, the first interrupt attribute can represent whether the processing process of the alternative task of the high-priority task type can be interrupted; the first interrupt attribute can be specifically understood as the second interrupt attribute of the alternative task type.

[0070] The second interrupt attribute can represent whether the processing process of the alternative task of the corresponding alternative task type can be interrupted.

[0071] In an embodiment of the present invention, the first interruption attribute of the high-priority task type and / or the second interruption attributes corresponding to at least one alternative task type may be determined in advance. For example, it is determined that the second interruption attributes of Task 1 and Task 2 are non-interruptible, and the second interruption attribute of Task 3 is interruptible.

[0072] In an embodiment of the present invention, the first interruption attribute and / or the second interruption attributes corresponding to at least one alternative task type may be obtained, and the to-be-scheduled computing power resources may be scheduled according to the first interruption attribute and / or the second interruption attributes corresponding to at least one alternative task type, the target idle resources, and the alternative tasks and alternative resource requirements of the high-priority task type.

[0073] In an embodiment of the present invention, the first interruption attribute may be obtained when the third idle resource in the target idle resources meets the target resource requirements. The third idle resource includes computing power resources that are not occupied for container deployment and computing power resources occupied by idle containers for processing alternative tasks of the high-priority task type. When it is determined that the alternative tasks of the high-priority task type are interruptible according to the first interruption attribute, the second deployment resources are determined. When the second deployment resources meet the target resource requirements, the second service is deployed using the second deployment resources to temporarily process the alternative tasks of the high-priority task type based on the second deployment resources through the second service until the alternative tasks of the high-priority task type that have not been processed are processed using the third idle resource when the third idle resource meets the target resource requirements. When it is determined that the alternative tasks of the high-priority task type are non-interruptible according to the first interruption attribute, the alternative tasks of the high-priority task type are queued in the task list waiting to be processed.

[0074] In an embodiment of the present invention, the first interruption attribute and the second task volume change trends corresponding to at least one alternative task type may be obtained. The to-be-scheduled computing power resources are scheduled according to the second task volume change trends corresponding to at least one alternative task type, the target idle resources, and the alternative tasks, alternative resource requirements, and the first interruption attribute of the high-priority task type.

[0075] In an embodiment of the present invention, a first interrupt attribute and a second task volume change trend corresponding to at least one alternative task type can be obtained; an alternative task type with an alternative priority higher than that of a high-priority task type is determined from the at least one alternative task type as a reference task type; a resource requirement situation is determined according to the second task volume change trend of the reference task type, the alternative tasks, alternative resource requirements, and the first interrupt attribute of the high-priority task type; in the case where a target resource requirement is determined according to the resource requirement situation, the to-be-scheduled computing power resources are scheduled according to the idle resources and the target resource requirement; the target idle resources are updated according to the obtained scheduling result; in the case where there are candidate task types that have not been used as overly high-priority task types among the at least one alternative task type, the candidate task type with the highest alternative priority is determined from the candidate task types and updated to be the high-priority task type, and the steps of obtaining the first interrupt attribute of the high-priority task type and the second task volume change trend corresponding to at least one alternative task type are repeatedly executed.

[0076] In an embodiment of the present invention, a first interrupt attribute, a task processing duration, and a second task volume change trend corresponding to at least one alternative task type can be obtained; the to-be-scheduled computing power resources are scheduled according to the second task volume change trend corresponding to the at least one alternative task type, the target idle resources, and the alternative tasks, alternative resource requirements, task processing duration, and first interrupt attribute of the high-priority task type.

[0077] In an embodiment of the present invention, a first interrupt attribute, a task processing duration, and a second task volume change trend corresponding to at least one alternative task type can be obtained; an alternative task type with an alternative priority higher than that of a high-priority task type is determined from the at least one alternative task type as a reference task type; a resource requirement situation is determined according to the second task volume change trend of the reference task type, the alternative tasks, alternative resource requirements, task processing duration, and the first interrupt attribute of the high-priority task type; in the case where a target resource requirement is determined according to the resource requirement situation, the to-be-scheduled computing power resources are scheduled according to the idle resources and the target resource requirement; the target idle resources are updated according to the obtained scheduling result; in the case where there are candidate task types that have not been used as overly high-priority task types among the at least one alternative task type, the candidate task type with the highest alternative priority is determined from the candidate task types and updated to be the high-priority task type, and the steps of obtaining the first interrupt attribute and task processing duration of the high-priority task type and the second task volume change trend corresponding to at least one alternative task type are repeatedly executed.

[0078] Exemplarily, when there is target idle resource when the change trend of the second task volume of Task 1 (reference task type) is in a decline period or a trough period, the target idle resource can be utilized to preferentially deploy services corresponding to alternative task types characterized by long task processing duration and / or non-interruptible to process the corresponding alternative tasks. Specifically, for a high-priority task type with an alternative priority lower than that of Task 1, when there is target idle resource when the change trend of the second task volume of Task 1 is in a decline period or a trough period, and when the task processing duration of the high-priority task type characterizes that its task processing time is long and / or it is non-interruptible, it can be determined that the resource requirement situation is that there is a target resource requirement, and the quantity of the target resource requirement is higher than the corresponding target resource requirement quantity when the change trend of the second task volume of Task 1 is in an ascending period or a peak period; for a high-priority task type with an alternative priority lower than that of Task 1, when there is target idle resource when the change trend of the second task volume of Task 1 is in an ascending period or a peak period, and when the task processing duration of the high-priority task type characterizes that its task processing time is short and / or it is interruptible, it can be determined that the resource requirement situation is that there is a target resource requirement, and the quantity of the target resource requirement is higher than the corresponding target resource requirement quantity when the change trend of the second task volume of Task 1 is in a decline period or a trough period.

[0079] In an embodiment of the present invention, by scheduling the to-be-scheduled computing power resources according to the first interruption attribute and / or the second interruption attributes respectively corresponding to at least one alternative task type, the target idle resources, and the alternative tasks and alternative resource requirements of the high-priority task type, the scheduling situation of the to-be-scheduled computing power resources can be made applicable to the interruption situations of the high-priority task type and / or at least one alternative task type, thereby further realizing the effective scheduling of the to-be-scheduled computing power resources.

[0080] Figure 3 It is a flowchart of another computing power resource scheduling method provided in an embodiment of the present invention. This embodiment is optimized based on the above technical solutions. In this embodiment, optionally, scheduling the to-be-scheduled computing power resources of at least one graphics processing unit according to the target idle resources, and the alternative tasks and alternative resource requirements of the high-priority task type includes: determining the resource requirement situation according to the alternative tasks and alternative resource requirements of the high-priority task type; when it is determined that there is a target resource requirement according to the resource requirement situation, scheduling the to-be-scheduled computing power resources of at least one graphics processing unit according to the target idle resources and the target resource requirement, where the target resource requirement is the requirement for computing power resources to process the alternative tasks of the high-priority task type. Among them, the explanations of the same or corresponding terms as those in the above embodiments will not be elaborated here.

[0081] See Figure 3 , the method of this embodiment may specifically include the following steps:

[0082] S310. Obtain the alternative priorities and alternative resource requirements corresponding to at least one alternative task type respectively, where the alternative task type is a type of task that can be processed by at least one graphics processing unit.

[0083] S320. Determine at least one task to be processed to be processed by at least one graphics processing unit, and the target task type corresponding to each of the at least one task to be processed, and determine the alternative task corresponding to each alternative task type from the at least one task to be processed according to the target task type corresponding to each of the at least one task to be processed.

[0084] S330. Determine the target idle resources of at least one graphics processing unit, and determine the alternative task type with the highest alternative priority from the at least one alternative task type as the high-priority task type.

[0085] S340. Determine the resource requirement situation according to the alternative task and alternative resource requirement of the high-priority task type.

[0086] Among them, the resource requirement situation can characterize whether there is a demand for computing power resources for processing the alternative task of the high-priority task type.

[0087] In the embodiment of the present invention, when the resource requirement situation indicates that there is no computing power resource, it may be because there is no corresponding alternative task for the high-priority task type, so there is no demand for computing power resources for processing the alternative task of the high-priority task type; it may also be because the occupied computing power resources corresponding to the high-priority task type can already meet the processing of the alternative task of the high-priority task type. For example, the service in the deployed container corresponding to the high-priority task type can already meet the processing of the alternative task of the high-priority task type, that is, at this time, no additional computing power resources need to be occupied to meet the processing of the alternative task of the high-priority task type, so there is no demand for computing power resources for processing the alternative task of the high-priority task type.

[0088] In the embodiment of the present invention, the resource requirement situation can be determined according to the alternative task and alternative resource requirement of the high-priority task type. For example, it can be determined whether the occupied computing power resources corresponding to the high-priority task type can meet the processing of the alternative task of the high-priority task type according to the alternative task and alternative resource requirement of the high-priority task type, and the resource requirement situation can be determined according to the obtained satisfaction situation.

[0089] S350. When the target resource requirement is determined according to the resource requirement situation, schedule the to-be-scheduled computing power resources of at least one graphics processing unit according to the target idle resources and the target resource requirement, where the target resource requirement is the demand for computing power resources for processing the alternative task of the high-priority task type.

[0090] Among them, the target resource requirement can be understood as the requirement of alternative tasks for processing high-priority task types for computing resources.

[0091] In an embodiment of the present invention, when the target resource requirement is determined according to the resource requirement situation, the to-be-scheduled computing resources can be scheduled according to the target idle resources and the target resource requirement. For example, the first deployment resources in the target idle resources that can meet the target resource requirement can be occupied, and the first service corresponding to the high-priority task type can be deployed.

[0092] In an embodiment of the present invention, the target idle resources may include the computing resources occupied by the third container. The third container is a container corresponding to the high-priority task type, and an idle service is deployed in the third container. The idle service can be understood as a service in an idle state for processing alternative tasks of the high-priority task type. The idle service occupies the third idle resources; when the third idle resources meet the target resource requirement, based on the third idle resources, the alternative tasks of the high-priority task type are processed through the idle service.

[0093] The technical solution of the embodiment of the present invention determines the resource requirement situation according to the alternative tasks and alternative resource requirements of the high-priority task type, and when the target resource requirement is determined according to the resource requirement situation, the to-be-scheduled computing resources are scheduled according to the target idle resources and the target resource requirement to realize the scheduling of the to-be-scheduled computing resources. The above technical solution can make the to-be-scheduled computing resources scheduled meet the target resource requirement by scheduling the to-be-scheduled computing resources according to the target idle resources and the target resource requirement when the target resource requirement is determined according to the resource requirement situation, thereby further realizing the effective scheduling of the to-be-scheduled computing resources.

[0094] An alternative technical solution is to schedule the to-be-scheduled computing resources of at least one graphics processing unit according to the target idle resources and the target resource requirement, including: when the target idle resources meet the target resource requirement, occupying the first deployment resources in the target idle resources, and deploying the first deployment container based on the first deployment resources to deploy the first service corresponding to the high-priority task type in the first deployment container, and processing the alternative tasks of the high-priority task type through the first service, where the first deployment resources meet the target resource requirement.

[0095] Among them, the first deployment resources can be understood as idle resources that can meet the target resource requirement.

[0096] The first deployment container can be understood as a container for deploying the first service corresponding to the high-priority task type.

[0097] The first service can be understood as a service for processing alternative tasks of high-priority task types.

[0098] In an embodiment of the present invention, when the target idle resources meet the target resource requirements, the first deployment resources can be occupied, and a first deployment container can be deployed based on the first deployment resources, so as to deploy the first service in the first deployment container and process alternative tasks of high-priority task types through the first service.

[0099] Exemplarily, when the high-priority task type is Task 1 and the target idle resources meet the target resource requirements, 2 units of computing power resources in the target idle resources are occupied to deploy Container 1 with a deployment requirement of 2 units of computing power resources, so as to deploy the first service corresponding to Task 1 in Container 1 and process alternative tasks of Task 1 through the first service.

[0100] Exemplarily, when the high-priority task type is Task 2 and the target idle resources meet the target resource requirements, 3 units of computing power resources in the target idle resources are occupied to deploy Container 2 with a deployment requirement of 3 units of computing power resources, so as to deploy the first service corresponding to Task 2 in Container 2 and process alternative tasks of Task 2 through the first service.

[0101] In an embodiment of the present invention, it further includes dynamic container management. Specifically, the dynamic container management includes: designing a lightweight and fast-starting containerized environment for encapsulating services (such as OCR models) for processing alternative tasks, thereby implementing a fast deployment, scaling, and recycling mechanism for containers to adapt to fluctuating resource availability.

[0102] In an embodiment of the present invention, by occupying the first deployment resources when the target idle resources meet the target resource requirements, deploying the first deployment container based on the first deployment resources, deploying the first service in the first deployment container, and processing alternative tasks of high-priority task types through the first service, the to-be-scheduled computing power resources for scheduling can meet the processing of alternative tasks of high-priority task types.

[0103] In another alternative technical solution, the target idle resources include the computing power resources occupied by a second deployment container, and the second deployment container is a container corresponding to other task types except the high-priority task type in at least one alternative task type; the second deployment container includes second deployment resources; according to the target idle resources and the target resource requirements, scheduling the to-be-scheduled computing power resources of at least one graphics processing unit includes: when the second deployment resources meet the target resource requirements, using the second deployment resources to deploy a second service corresponding to the high-priority task type, so as to process alternative tasks of the high-priority task type based on the second deployment resources through the second service.

[0104] Among them, the second deployed resource can be understood as the idle computing power resource among the computing power resources occupied by the second deployed container, and the second deployed resource can also be understood as the computing power resource among the computing power resources occupied by the second deployed container that is not used to process the task to be processed; the second deployed resource can include all the computing power resources in the computing power resources occupied by the second deployed container that are in an idle state, and the second deployed resource can also include some computing power resources in an idle state. For example, this part of the computing power resources in an idle state can be the computing power resources not used for service deployment.

[0105] The second deployed container can be understood as the container corresponding to other task types except the high-priority task type among at least one alternative task type; the second service can be deployed in the second deployed container.

[0106] The second service can be understood as the service for processing alternative tasks of the high-priority task type.

[0107] In the embodiment of the present invention, the first interruption attribute of the high-priority task type can be obtained. When it is determined according to the first interruption attribute that the alternative task of the high-priority task type cannot be interrupted and the second deployed resource meets the target resource requirement, the second deployed resource is used to deploy the second service corresponding to the high-priority task type.

[0108] In the embodiment of the present invention, a fourth service that is processing the task to be processed or corresponding to the task to be processed with a demand for processing is deployed in the second deployed container. When the computing power resources occupied by the second deployed container are greater than the computing power resources occupied by the fourth service, the computing power resources in the computing power resources occupied by the second deployed container that are not occupied by the fourth service can be used as the second deployed resource. If the second deployed resource meets the target resource requirement, the second deployed resource can be used to deploy the second service in the second deployed container, and the alternative task of the high-priority task type can be processed through the second service.

[0109] In the embodiment of the present invention, when the task to be processed that requires its processing has been processed by the second deployed container or there is currently no task to be processed that requires the second deployed container to process, that is, the computing power resources occupied by the second deployed container are the second deployed resources. When a fifth service corresponding to other task types except the high-priority task type among at least one alternative task type has been deployed in the second deployed container, the deployed fifth service can be recycled to release the computing power resources occupied by the fifth service in the second deployed resources, and the second deployed resources can be used to deploy the second service in the second deployed container, and the alternative task of the high-priority task type can be processed through the second service; when the fifth service is not deployed in the second deployed container, the second deployed resources can be directly used to deploy the second service in the second deployed container, and the alternative task of the high-priority task type can be processed through the second service.

[0110] It should be noted that when the second deployment container is bound to its corresponding specific service, that is, when the second deployment container encapsulates the specific service, the corresponding specific service is also deployed when the second deployment container is deployed. For example, when container 2 of the second deployment container is deployed, service 2 is also deployed in container 2. The second deployment container is used to process alternative tasks of its corresponding alternative task type and may not be able to use the second deployment resources of the second deployment container to process alternative tasks of alternative task types that do not correspond to it.

[0111] In an embodiment of the present invention, when the second deployment resources meet the target resource requirements, the second deployment resources can be used to deploy the second service, so that based on the second deployment resources, the second service processes alternative tasks of high-priority task types, and it is possible to use the idle second deployment resources in the second deployment container to process alternative tasks of high-priority task types, thereby improving the utilization rate of computing power resources and avoiding waste of computing power resources.

[0112] Another alternative technical solution is that the schedulable computing power resources of at least one graphics processing unit include target idle resources and deployed resources, and the deployed resources are the computing power resources occupied by the deployed containers; according to the target idle resources and the target resource requirements, scheduling the schedulable computing power resources of at least one graphics processing unit includes: when the target idle resources do not meet the target resource requirements, according to the alternative priorities corresponding to at least one alternative task type, recycling the recycled containers in the deployed containers to release the release resources corresponding to the recycled containers in the deployed resources, and occupying the target idle resources and the release resources to deploy the third deployment container, where the sum of the release resources and the target idle resources meets the target resource requirements, and the third deployment container is used to deploy the third service corresponding to the high-priority task type, and the third service is used to process alternative tasks of the high-priority task type. Among them, the second deployment resources can be understood as the idle computing power resources in the computing power resources occupied by the second deployment container, and the second deployment resources can also be understood as the resources in the computing power resources occupied by the second deployment container that are not used to process the tasks to be processed; the second deployment resources can include all the resources in the computing power resources occupied by the second deployment container that are in an idle state, and the second deployment resources can also include some resources in an idle state. For example, the part of the resources in an idle state can be the resources not used for deploying services.

[0113] Among them, the deployed resources can be understood as the computing power resources that have been occupied for deploying the deployed containers.

[0114] A deployed container can be understood as a container whose occupied computing power resources have been deployed; the number of deployed containers can be at least one.

[0115] A recycled container can be understood as a deployed container that is recycled; the number of recycled containers can be at least one.

[0116] The released resources can be understood as the computing power resources corresponding to the recycled containers that have been released.

[0117] The third deployment container can be understood as a container used to deploy a third service corresponding to a high-priority task type.

[0118] The third service can be understood as a service used to process alternative tasks of high-priority task types.

[0119] The resource sum is the total computing power resources of the released resources and the target idle resources; the resource sum meets the target resource requirements.

[0120] Exemplarily, in the case where the target idle resources do not meet the target resource requirements, for example, all the to-be-scheduled computing power resources have been occupied by the deployed containers 1, 2, and 3, but the number of alternative tasks of Task 1 has increased compared to before. At this time, the target idle resources do not meet the target resource requirements. The alternative tasks in Container 3 corresponding to Task 3 with the lowest alternative priority that can meet the target resource requirements can be interrupted, and the corresponding number of Container 3 can be recycled, and the target idle resources and the released resources can be occupied to deploy the number of Container 1 that can meet the target resource requirements to meet the processing requirements of the alternative tasks of the high-priority task type, that is, to meet the processing requirements of the alternative tasks of Task 1.

[0121] In the embodiments of the present invention, at least one second interruption attribute corresponding to each alternative task type can also be obtained. In the case where the target idle resources do not meet the target resource requirements, according to the alternative priority and the second interruption attribute corresponding to each alternative task type, the recycled containers in the deployed containers are recycled. For example, the recycled containers can only be the deployed containers whose second interruption attribute corresponding to the corresponding alternative task type is interruptible.

[0122] In the embodiments of the present invention, after occupying the target idle resources and the released resources and deploying the third deployment container, in the case where there are fourth idle resources that can meet the alternative tasks of the alternative task type corresponding to the recycled containers, the third interruption attribute of the alternative task type corresponding to the recycled containers is obtained. The third interruption attribute represents whether the processing process of the alternative tasks of the alternative task type corresponding to the recycled containers can be interrupted; in the case where it is determined according to the third interruption attribute that the alternative tasks of the alternative task type corresponding to the recycled containers can be interrupted, the fourth idle resources are used to continue processing the pending tasks interrupted when recycling the recycled containers in the deployed containers; in the case where it is determined according to the third interruption attribute that the alternative tasks of the alternative task type corresponding to the recycled containers cannot be interrupted, the fourth idle resources are used to reprocess the pending tasks interrupted when recycling the recycled containers in the deployed containers.

[0123] In an embodiment of the present invention, when the target idle resources do not meet the target resource requirements, according to the alternative priorities respectively corresponding to at least one alternative task type, recycle the recycling containers to release the released resources, and occupy the target idle resources and the released resources to deploy the third deployment containers, so that when the target idle resources do not meet the target resource requirements, the computing power resources can be released according to the alternative priorities respectively corresponding to at least one alternative task type, so that the resources meet the target resource requirements, and thus the to-be-scheduled computing power resources for scheduling can meet the alternative tasks of processing high-priority task types.

[0124] In another alternative technical solution, according to the target idle resources, and the alternative tasks and alternative resource requirements of high-priority task types, scheduling the to-be-scheduled computing power resources of at least one graphics processing unit further includes: when it is determined according to the resource requirement situation that there is no target resource requirement, determining, according to the priority order, other tasks in at least one to-be-processed task except the alternative tasks of high-priority task types, and determining other requirement situations according to the other tasks and the alternative resource requirements respectively corresponding to at least one alternative task type; when it is determined according to the other requirement situations that there is other resource requirement, recycling the idle containers corresponding to the high-priority task types to release the computing power resources occupied by the idle containers in the target idle resources.

[0125] Among them, the priority order can be understood as representing the high-low order of the alternative priorities respectively corresponding to at least one alternative task type.

[0126] Other tasks can be understood as the to-be-processed tasks in at least one to-be-processed task except the alternative tasks of high-priority task types.

[0127] Other requirement situations can represent whether there is a requirement for computing power resources to process other tasks.

[0128] Other resource requirements can be understood as the requirements for computing power resources to process other tasks.

[0129] Idle containers can be understood as the idle containers corresponding to high-priority task types. Specifically, idle containers can be understood as the containers that have not processed the to-be-processed tasks among the containers corresponding to high-priority task types.

[0130] In an embodiment of the present invention, when it is determined, according to the resource demand situation, that there is no target resource demand, for example, when the already deployed first deployment container meets the alternative tasks of the high-priority task type and there is no need to additionally occupy the target idle resources to deploy the first deployment container to process the alternative tasks of the high-priority task type, other tasks can be determined according to the priority order, and according to the other tasks and the alternative resource demands respectively corresponding to at least one alternative task type, other demand situations can be determined. When it is determined, according to the other demand situations, that there is other resource demand, idle containers can be recycled, for example, the idle container 1 can be recycled, so as to release the computing power resources occupied by the idle containers.

[0131] In an embodiment of the present invention, when it is determined, according to the other demand situations, that there is other resource demand, it is determined whether the other resources in the target idle resources except the computing power resources occupied by the idle containers meet the other resource demands. When the other resources do not meet the other resource demands, the idle containers are recycled to release the computing power resources occupied by the idle containers; when they meet, the idle containers can not be recycled to save the resource consumption for recycling and deploying the idle containers.

[0132] Exemplarily, when it is determined, according to the resource demand situation, that task 2 has no target resource demand, and when it is determined, according to the other demand situations, that there is other resource demand, it is determined whether the other resources in the target idle resources except the computing power resources occupied by the idle container 2 meet the other resource demands. When the other resources do not meet the other resource demands, the idle container 2 is recycled to release the computing power resources occupied by the idle container 2.

[0133] In an embodiment of the present invention, considering that in fact the other resource demands are always greater than the actual schedulable computing power resources, therefore, when there are idle recycled containers, the recycled containers will be immediately recycled and the computing power resources will be reallocated to create new containers, and the recycled containers can be the idle containers among all the containers.

[0134] In an embodiment of the present invention, by determining other tasks and other demand situations when it is determined, according to the resource demand situation, that there is no target resource demand, and then recycling idle containers when it is determined, according to the other demand situations, that there is other resource demand, so as to release the computing power resources occupied by the idle containers, it is convenient to process tasks with the released computing power resources later, avoid the waste of computing power resources caused by the idle containers occupying the computing power resources, and thus improve the utilization rate of the computing power resources.

[0135] Another optional technical solution, a computing power resource scheduling method, further includes: obtaining a first task volume change trend of a high-priority task type; determining a resource requirement situation according to alternative tasks and alternative resource requirements of the high-priority task type, including: determining the resource requirement situation according to the first task volume change trend, alternative resource requirements and alternative tasks of the high-priority task type.

[0136] Among them, the first task volume change trend can be understood as the change trend of the task volume corresponding to the high-priority task type; the first task volume change trend can also be understood as the second (or third) task volume change trend corresponding to the high-priority task type.

[0137] In the embodiment of the present invention, by obtaining the first task volume change trend and determining the resource requirement situation according to the first task volume change trend, alternative resource requirements and alternative tasks of the high-priority task type, the scheduling situation of the computing power resources to be scheduled can be made applicable to the change trend of the task volume of the high-priority task type, thereby further realizing the effective scheduling of the computing power resources to be scheduled.

[0138] To better understand the technical solution of the above embodiments of the present invention, an optional example is provided here. Exemplarily, determining at least one task to be processed can be periodic. In the case of determining at least one task to be processed for the first time, the target idle resources include a total of 100 units of computing power resources. It is determined that the high-priority task type is Task 1, and Container 1 corresponding to Task 1 occupies 2 units of computing power resources; the first task volume change trend of Task 1 is the peak period. According to the first task volume change trend of Task 1, alternative resource requirements, and alternative tasks, the resource requirement situation is determined; in the case of determining that the target resource requirement is to deploy 50 containers according to the resource requirement situation, 50 containers 1 are deployed by occupying 100 units of computing power resources in the target idle resources, so as to deploy Service 1 corresponding to Task 1 in each container 1 and process the alternative tasks of Task 1 through Service 1. In the case of determining at least one task to be processed for the second time, the first task volume change trend of Task 1 is the trough period; according to the first task volume change trend of Task 1, alternative resource requirements, and alternative tasks, the resource requirement situation is determined; in the case of determining that there is no target resource requirement according to the resource requirement situation, that is, only the Service 1 deployed in 20 containers 1 can complete the processing of the alternative tasks of Task 1, and there is no need to deploy additional containers 1. At this time, the remaining 30 idle containers 1 occupy 60 units of computing power resources; when there are other task requirements, the idle containers need to be recycled. In the case of determining that there are other resource requirements according to the determined other requirement situation, 30 idle containers 1 are recycled to release 60 units of computing power resources, which are updated to the target idle resources; in the case of each candidate task type that has not been used as a high-priority task type among at least one alternative task type, the candidate task 2 with the highest alternative priority is determined from each candidate task type and updated to the high-priority task type. Container 2 corresponding to Task 2 occupies 3 units of computing power resources; according to the alternative resource requirements and alternative tasks of Task 2, the resource requirement situation is determined; in the case of determining that the target resource requirement is to deploy 20 containers according to the resource requirement situation, 20 containers 2 are deployed by occupying 60 units of computing power resources in the target idle resources, so as to deploy Service 2 corresponding to Task 2 in each container 2 and process the alternative tasks of Task 2 through Service 2.In the case where at least one task to be processed is determined for the third time and the current high-priority task type is Task 2, the first task volume change trend of Task 2 is in the trough period; according to the first task volume change trend of Task 2, alternative resource requirements, and alternative tasks, determine the resource requirement situation; in the case where, according to the resource requirement situation, it is determined that there is no target resource requirement, that is, only 10 out of 20 Containers 2 are required to deploy Service 2 to complete the processing of the alternative tasks of Task 2, and no additional Containers 2 need to be deployed. At this time, the remaining 10 idle Containers 2 can continue to occupy 30 units of computing power resources when there are no other task requirements; in the case where there are other task requirements corresponding to Task 1 and the idle Containers 2 meet the other task requirements, since Service 1 only needs to occupy 2 units of computing power resources while Container 2 occupies 3 units of computing power resources, the idle Containers 2 may not be recycled. Instead, the corresponding number of Service 1 can be deployed in the idle Containers 2, and the alternative tasks of Task 1 can be processed through Service 1 to save the time cost of container recycling and creation; in the case where there are other task requirements and the idle Containers 2 do not meet the other task requirements, since the number of containers required for Task 1 is more than the number of idle Containers 2, or the computing power resources not occupied for deploying containers do not meet the other task requirements corresponding to Task 3 when Container 3 corresponding to Task 3 occupies 4 units of computing power resources, the idle Containers 2 need to be recycled to release 30 units of computing power resources, which are updated to the target idle resources, so as to use the target idle resources to deploy the required Container 1 and / or Container 3. It should be noted that the above process can be implemented through an intelligent middleware system and containerized design, using intelligent scheduling and distributed processing methods.

[0139] The above solution of the embodiment of the present invention can significantly improve resource utilization. Specifically, by precisely capturing and utilizing computing power resources, the overall utilization rate of the GPU cluster can be increased by 40 - 50%. Moreover, it can effectively carry an additional load of thousands of QPS during the low - peak period of the GPU cluster without affecting its core business. It can also greatly accelerate data - processing efficiency. Specifically, by leveraging the parallel - processing ability of the GPU, the processing speed of data - cleaning tasks such as OCR is more than 10 times faster than that of traditional CPU solutions. Through intelligent scheduling and distributed processing, the processing time of large - scale data sets is reduced by 70%. It also has extreme flexibility and scalability. Specifically, it can respond to load changes in real - time through an intelligent middleware system, make decisions and deploy tasks to be processed at the millisecond level, and support the rapid deployment and recycling of tasks to be processed through containerized design to adapt to frequently changing resource availability. It can also reduce operation and maintenance costs. Specifically, by making full use of the computing power resources of existing GPUs, the need for configuring additional hardware specifically for data - cleaning tasks waiting for tasks to be processed is reduced. Automated task scheduling and execution greatly reduce human intervention, reducing operation and maintenance costs and human errors. In summary, the above - mentioned solution, through an innovative intelligent middleware system and supporting technologies, not only solves the problem of utilizing tidal computing power resources in the GPU inference cluster, but also provides an efficient, flexible and economical way to process large - scale tasks to be processed, ensuring the stable operation of the core business, while significantly improving the overall resource utilization rate and data - processing ability.

[0140] Figure 4 FIG. is a structural block diagram of a computing - power resource scheduling device provided by an embodiment of the present invention. This device is used to execute the computing - power resource scheduling method provided in any of the above embodiments. This device and the computing - power resource scheduling methods of the above embodiments belong to the same inventive concept. For details not described in detail in the embodiment of the computing - power resource scheduling device, reference can be made to the embodiments of the above computing - power resource scheduling method. Refer to Figure 4 Specifically, the device may include: an alternative resource - demand acquisition module 410, an alternative - task determination module 420, and a to - be - scheduled computing - power resource scheduling module 430.

[0141] Among them, the alternative resource requirement acquisition module 410 is used to acquire the alternative priorities and alternative resource requirements corresponding to at least one alternative task type, where the alternative task type is the type of task that can be processed by at least one graphics processing unit; the alternative task determination module 420 is used to determine at least one task to be processed to be processed by at least one graphics processing unit, and the target task type corresponding to each of the at least one task to be processed, and determine the alternative task corresponding to each alternative task type from the at least one task to be processed according to the target task type corresponding to each of the at least one task to be processed; the to-be-scheduled computing power resource scheduling module 430 is used to determine the target idle resources of at least one graphics processing unit, and schedule the to-be-scheduled computing power resources of at least one graphics processing unit according to the target idle resources, and the alternative tasks, alternative priorities and alternative resource requirements corresponding to at least one alternative task type.

[0142] Optionally, the to-be-scheduled computing power resource scheduling module 430 may include: a high-priority task type as a sub-module, which is used to determine the alternative task type with the highest alternative priority from at least one alternative task type as the high-priority task type; the first to-be-scheduled computing power resource scheduling sub-module is used to schedule the to-be-scheduled computing power resources of at least one graphics processing unit according to the target idle resources, and the alternative tasks and alternative resource requirements of the high-priority task type.

[0143] Optionally, based on the above device, the first to-be-scheduled computing power resource scheduling sub-module may include: a resource requirement situation determination unit, which is used to determine the resource requirement situation according to the alternative tasks and alternative resource requirements of the high-priority task type; the first to-be-scheduled computing power resource scheduling unit is used to schedule the to-be-scheduled computing power resources of at least one graphics processing unit according to the target idle resources and the target resource requirements when the target resource requirements are determined according to the resource requirement situation, where the target resource requirements are the requirements for computing power resources to process the alternative tasks of the high-priority task type.

[0144] Optionally, based on the above device, the first to-be-scheduled computing power resource scheduling unit may include: a first deployment container deployment sub-unit, which is used to occupy the first deployment resources in the target idle resources when the target idle resources meet the target resource requirements, and deploy the first deployment container based on the first deployment resources, so as to deploy the first service corresponding to the high-priority task type in the first deployment container, and process the alternative tasks of the high-priority task type through the first service, where the first deployment resources meet the target resource requirements.

[0145] Optionally, based on the above device, the target idle resources include the computing power resources occupied by the second deployment containers. The second deployment containers are the containers corresponding to other task types except the high-priority task type among at least one alternative task type, and the second deployment containers include second deployment resources. The first schedulable computing power resource scheduling unit may include: a second service deployment subunit, configured to, when the second deployment resources meet the target resource requirements, use the second deployment resources to deploy a second service corresponding to the high-priority task type, so as to, based on the second deployment resources, process the alternative tasks of the high-priority task type through the second service.

[0146] Optionally, based on the above device, the schedulable computing power resources of at least one graphics processing unit include target idle resources and deployed resources. The deployed resources are the computing power resources occupied by the deployed containers. The first schedulable computing power resource scheduling unit may include: a third deployment container deployment subunit, configured to, when the target idle resources do not meet the target resource requirements, according to the alternative priorities corresponding to at least one alternative task type, recycle the recycled containers in the deployed containers, so as to release the released resources corresponding to the recycled containers in the deployed resources, and occupy the target idle resources and the released resources to deploy a third deployment container, where the sum of the released resources and the target idle resources meets the target resource requirements, and the third deployment container is used to deploy a third service corresponding to the high-priority task type, and the third service is used to process the alternative tasks of the high-priority task type.

[0147] Optionally, based on the above device, the device may further include: a first schedulable computing power resource scheduling sub-module, which may further include: an other requirements determination unit, configured to, when it is determined according to the resource requirements situation that there is no target resource requirement, determine, according to the priority order, other tasks among at least one task to be processed except the alternative tasks of the high-priority task type, and determine the other requirements situation according to the other tasks and the alternative resource requirements corresponding to at least one alternative task type; a computing power resource release unit, configured to, when it is determined according to the other requirements situation that there is an other resource requirement, recycle the idle containers corresponding to the high-priority task type, so as to release the computing power resources occupied by the idle containers in the target idle resources.

[0148] Optionally, based on the above device, the device may further include: a first task volume change trend acquisition module, configured to acquire the first task volume change trend of the high-priority task type; a resource requirements situation determination unit, including: a resource requirements situation determination subunit, configured to determine the resource requirements situation according to the first task volume change trend, the alternative resource requirements, and the alternative tasks of the high-priority task type.

[0149] Optionally, based on the above device, the device may further include: a target idle resource update module, configured to update the target idle resource according to the obtained scheduling result after scheduling the to-be-scheduled computing power resources of at least one graphics processing unit according to the target idle resource, and the alternative tasks and alternative resource requirements of the high-priority task types; a repeated execution module, configured to, in the case that there are candidate task types that are not high-priority task types among at least one alternative task type, determine the candidate task type with the highest alternative priority from the candidate task types, update it to a high-priority task type, and repeatedly execute the step of scheduling the to-be-scheduled computing power resources of at least one graphics processing unit according to the target idle resource, and the alternative tasks and alternative resource requirements of the high-priority task types.

[0150] Optionally, based on the above device, the first to-be-scheduled computing power resource scheduling sub-module may include: a second task volume change trend acquisition unit, configured to acquire the second task volume change trends respectively corresponding to at least one alternative task type; a second to-be-scheduled computing power resource scheduling unit, configured to schedule the to-be-scheduled computing power resources of at least one graphics processing unit according to the second task volume change trends respectively corresponding to at least one alternative task type, the target idle resource, and the alternative tasks and alternative resource requirements of the high-priority task types.

[0151] Optionally, based on the above device, the first to-be-scheduled computing power resource scheduling sub-module may include: a second interruption attribute acquisition unit, configured to acquire the first interruption attribute of the high-priority task type and / or the second interruption attributes respectively corresponding to at least one alternative task type, where the first interruption attribute represents whether the processing process of the alternative task of the high-priority task type is interruptible, and the second interruption attribute represents whether the processing process of the alternative task of the corresponding alternative task type is interruptible; a third to-be-scheduled computing power resource scheduling unit, configured to schedule the to-be-scheduled computing power resources of at least one graphics processing unit according to the first interruption attribute and / or the second interruption attributes respectively corresponding to at least one alternative task type, the target idle resource, and the alternative tasks and alternative resource requirements of the high-priority task types.

[0152] Optionally, the to-be-scheduled computing power resource scheduling module 430 may include: a third task volume change trend acquisition sub-module, configured to acquire the third task volume change trends respectively corresponding to at least one alternative task type; a second to-be-scheduled computing power resource scheduling sub-module, configured to schedule the to-be-scheduled computing power resources of at least one graphics processing unit according to the target idle resource, and the alternative tasks, alternative priorities, alternative resource requirements, and third task volume change trends respectively corresponding to at least one alternative task type.

[0153] The computing power resource scheduling device provided by the embodiment of the present invention obtains, through an alternative resource requirement acquisition module, alternative priorities and alternative resource requirements respectively corresponding to at least one alternative task type that can be processed by at least one graphics processing unit, where the alternative priorities and alternative resource requirements are used to implement computing power resource scheduling; through an alternative task determination module, determines at least one task to be processed by at least one graphics processing unit, and at least one target task type respectively corresponding to the at least one task to be processed, and determines, according to the at least one target task type respectively corresponding to the at least one task to be processed, alternative tasks corresponding to each alternative task type from the at least one task to be processed, thereby obtaining alternative tasks corresponding to each alternative task type; then, through a to-be-scheduled computing power resource scheduling module, determines the target idle resources of at least one graphics processing unit, and schedules the to-be-scheduled computing power resources of at least one graphics processing unit according to the target idle resources, and the alternative tasks, alternative priorities, and alternative resource requirements respectively corresponding to at least one alternative task type, so as to implement the computing power resource scheduling of at least one graphics processing unit. The above device schedules the computing power resources of at least one graphics processing unit through the target idle resources, and the alternative tasks, alternative priorities, and alternative resource requirements respectively corresponding to at least one alternative task type, and can effectively schedule the to-be-scheduled computing power resources of at least one graphics processing unit.

[0154] The computing power resource scheduling device provided by the embodiment of the present invention can execute the computing power resource scheduling method provided by any embodiment of the present invention, and has corresponding function modules and beneficial effects for executing the method.

[0155] It should be noted that in the embodiments of the above computing power resource scheduling device, the various units and modules included are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be realized; in addition, the specific names of the functional units are only for the convenience of mutual distinction and do not limit the protection scope of the present invention.

[0156] Figure 5 FIG. shows a schematic structural diagram of an electronic device 10 that can be used to implement the embodiments of the present invention. The electronic device is intended to represent various forms of digital computers, such as, laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as, personal digital processors, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are only examples and are not intended to limit the implementation of the present invention described herein and / or claimed.

[0157] As Figure 5As shown, the electronic device 10 includes at least one processor 11 and a memory communicatively connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc. Among them, the memory stores a computer program executable by the at least one processor. The processor 11 can execute various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 into the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0158] Multiple components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disc, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0159] The processor 11 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the processor 11 include but are not limited to a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above, such as the computing power resource scheduling method.

[0160] In some embodiments, the computing power resource scheduling method can be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as the storage unit 18. In some embodiments, part or all of the computer program can be loaded and / or installed onto the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the computing power resource scheduling method described above can be executed. Alternatively, in other embodiments, the processor 11 can be configured to execute the computing power resource scheduling method by any other appropriate means (for example, by means of firmware).

[0161] The various embodiments of the systems and techniques described above in this specification can be implemented in digital electronic circuitry, integrated circuit systems, field programmable gate arrays (FPGA), application specific integrated circuits (ASIC), application specific standard products (ASSP), systems-on-chip (SOC), complex programmable logic devices (CPLD), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include: being implemented in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be a special-purpose or general-purpose programmable processor that receives data and instructions from, and transmits data and instructions to, a storage system, at least one input device, and at least one output device.

[0162] The computer programs for implementing the methods of the present invention can be written in any combination of one or more programming languages. These computer programs can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the computer programs, when executed by the processor, cause the functions / operations specified in the flowchart and / or block diagram to be implemented. The computer programs can be executed entirely on the machine, partly on the machine, as a stand-alone software package partly on the machine and partly on a remote machine or entirely on the remote machine or server.

[0163] In the context of the present invention, a computer-readable storage medium can be a tangible medium that can contain or store a computer program for use by or in connection with an instruction execution system, apparatus, or device. The computer-readable storage medium can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. Alternatively, the computer-readable storage medium can be a machine-readable signal medium. More specific examples of the machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0164] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and a pointing device (e.g., a mouse or a trackball) through which the user can provide input to the electronic device. Other kinds of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

[0165] The systems and techniques described herein can be implemented in a computing system including backend components (e.g., as a data server), or a computing system including middleware components (e.g., an application server), or a computing system including frontend components (e.g., a user computer having a graphical user interface or a web browser through which the user can interact with an implementation of the systems and techniques described herein), or a computing system including any combination of such backend components, middleware components, or frontend components. The components of the system can be interconnected to each other by digital data communication in any form or medium (e.g., a communication network). Examples of communication networks include: local area network (LAN), wide area network (WAN), blockchain network, and the Internet.

[0166] The computing system can include a client and a server. The client and the server are generally far from each other and usually interact through a communication network. The relationship between the client and the server is generated by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or a cloud host, which is a host product in the cloud computing service system and solves the defects of difficult management and weak business scalability existing in traditional physical hosts and VPS services.

[0167] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps recited in the present invention can be executed in parallel, sequentially, or in a different order, as long as the desired results of the technical solution of the present invention can be achieved, and no limitation is made herein.

[0168] The above specific embodiments do not constitute a limitation on the protection scope of the present invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention shall be included within the protection scope of the present invention.

Claims

1. A computing power resource scheduling method, characterized in that, Including: Obtaining alternative priorities and alternative resource requirements respectively corresponding to at least one alternative task type, where the alternative task type is a type of task that can be processed by at least one graphics processing unit; Determining at least one task to be processed by the at least one graphics processing unit, and target task types respectively corresponding to the at least one task to be processed, and determining, according to the target task types respectively corresponding to the at least one task to be processed, alternative tasks corresponding to each alternative task type from the at least one task to be processed; Determining target idle resources of the at least one graphics processing unit, and scheduling the to-be-scheduled computing power resources of the at least one graphics processing unit according to the target idle resources, and alternative tasks, alternative priorities, and alternative resource requirements respectively corresponding to the at least one alternative task type, including: Determining, from the at least one alternative task type, the alternative task type with the highest alternative priority as the high-priority task type; Scheduling the to-be-scheduled computing power resources of the at least one graphics processing unit according to the target idle resources, and the alternative tasks and alternative resource requirements of the high-priority task type, including: Determining the resource requirement situation according to the alternative tasks and alternative resource requirements of the high-priority task type; When, according to the resource requirement situation, a target resource requirement is determined, scheduling the to-be-scheduled computing power resources of the at least one graphics processing unit according to the target idle resources and the target resource requirement, including: when the second deployment resources meet the target resource requirement, using the second deployment resources to deploy a second service corresponding to the high-priority task type in a second deployment container, so as to process the alternative tasks of the high-priority task type through the second service based on the second deployment resources, where the target resource requirement is the requirement for computing power resources to process the alternative tasks of the high-priority task type; The target idle resources include the computing power resources occupied by the second deployment container, the second deployment container is a container corresponding to other task types except the high-priority task type among the at least one alternative task type, the second deployment container includes second deployment resources, and a fourth service that is processing a task to be processed or corresponding to a task to be processed with a demand for processing is deployed in the second deployment container, and the second deployment resources are the computing power resources in the computing power resources occupied by the second deployment container that are not occupied by the fourth service.

2. The method according to claim 1, wherein The scheduling the to-be-scheduled computing power resources of the at least one graphics processing unit according to the target idle resources and the target resource requirement includes: When the target idle resources meet the target resource requirement, occupying the first deployment resources in the target idle resources, and deploying a first deployment container based on the first deployment resources, so as to deploy a first service corresponding to the high-priority task type in the first deployment container, and processing the alternative tasks of the high-priority task type through the first service, where the first deployment resources meet the target resource requirement.

3. The method according to claim 1, characterized in that, The computing power resources to be scheduled for the at least one graphics processing unit include the target idle resources and the deployed resources, and the deployed resources are the computing power resources occupied by the deployed containers; Scheduling the computing power resources to be scheduled for the at least one graphics processing unit according to the target idle resources and the target resource requirements includes: In the case that the target idle resources do not meet the target resource requirements, according to the alternative priorities respectively corresponding to at least one of the alternative task types, recycle the recycled containers in the deployed containers to release the released resources corresponding to the recycled containers in the deployed resources, and occupy the target idle resources and the released resources, and deploy the third deployed containers, where the sum of the released resources and the target idle resources meets the target resource requirements, and the third deployed containers are used to deploy the third service corresponding to the high-priority task type, and the third service is used to process the alternative tasks of the high-priority task type.

4. The method according to claim 1, wherein Scheduling the computing power resources to be scheduled for the at least one graphics processing unit according to the target idle resources, and the alternative tasks and alternative resource requirements of the high-priority task type further includes: In the case that according to the resource requirement situation, it is determined that there is no target resource requirement, determine, according to the priority order, the other tasks in the at least one to-be-processed task except the alternative tasks of the high-priority task type, and determine the other requirement situations according to the other tasks and the alternative resource requirements respectively corresponding to at least one of the alternative task types; In the case that according to the other requirement situations, it is determined that there are other resource requirements, recycle the idle containers corresponding to the high-priority task type to release the computing power resources occupied by the idle containers in the target idle resources.

5. The method according to claim 1, characterized in that, It further includes: Obtain the first task volume change trend of the high-priority task type; Determining the resource requirement situation according to the alternative tasks and alternative resource requirements of the high-priority task type includes: Determine the resource requirement situation according to the first task volume change trend, alternative resource requirements and alternative tasks of the high-priority task type.

6. The method according to claim 1, characterized in that After scheduling the computing power resources to be scheduled for the at least one graphics processing unit according to the target idle resources, and the alternative tasks and alternative resource requirements of the high-priority task type, it further includes: Update the target idle resources according to the obtained scheduling result; In the case that among at least one of the alternative task types, there are candidate task types that have not been used as high-priority task types, determine, from each of the candidate task types, the candidate task type with the highest alternative priority, update it to the high-priority task type, and repeat the step of scheduling the computing power resources to be scheduled for the at least one graphics processing unit according to the target idle resources, and the alternative tasks and alternative resource requirements of the high-priority task type.

7. The method according to claim 6, characterized in that, Scheduling the computing power resources to be scheduled for the at least one graphics processing unit according to the target idle resources, and the alternative tasks and alternative resource requirements of the high-priority task type includes: Obtain the second task volume change trend corresponding to each of the at least one alternative task type; Schedule the to-be-scheduled computing power resources of the at least one graphics processing unit according to the second task volume change trend corresponding to each of the at least one alternative task type, the target idle resources, and the alternative tasks and alternative resource requirements of the high-priority task type.

8. The method according to claim 1, wherein The scheduling of the to-be-scheduled computing power resources of the at least one graphics processing unit according to the target idle resources, and the alternative tasks and alternative resource requirements of the high-priority task type includes: Obtain the first interruption attribute of the high-priority task type and / or the second interruption attribute corresponding to each of the at least one alternative task type, wherein the first interruption attribute represents whether the processing process of the alternative task of the high-priority task type is interruptible, and the second interruption attribute represents whether the processing process of the alternative task corresponding to the corresponding alternative task type is interruptible; Schedule the to-be-scheduled computing power resources of the at least one graphics processing unit according to the first interruption attribute and / or the second interruption attribute corresponding to each of the at least one alternative task type, the target idle resources, and the alternative tasks and alternative resource requirements of the high-priority task type.

9. The method according to claim 1, characterized in that, The scheduling of the to-be-scheduled computing power resources of the at least one graphics processing unit according to the target idle resources, and the alternative tasks, alternative priorities, and alternative resource requirements corresponding to each of the at least one alternative task type includes: Obtain the third task volume change trend corresponding to each of the at least one alternative task type; Schedule the to-be-scheduled computing power resources of the at least one graphics processing unit according to the target idle resources, and the alternative tasks, alternative priorities, alternative resource requirements, and third task volume change trend corresponding to each of the at least one alternative task type.

10. A computing power resource scheduling device, characterized in that, Includes: An alternative resource requirement acquisition module, configured to acquire the alternative priorities and alternative resource requirements corresponding to each of the at least one alternative task type, wherein the alternative task type is the type of task that can be processed by at least one graphics processing unit; An alternative task determination module, configured to determine at least one to-be-processed task to be processed by the at least one graphics processing unit, and the target task type corresponding to each of the at least one to-be-processed task, and determine the alternative task corresponding to each alternative task type from the at least one to-be-processed task according to the target task type corresponding to each of the at least one to-be-processed task; A to-be-scheduled computing power resource scheduling module, configured to determine the target idle resources of the at least one graphics processing unit, and schedule the to-be-scheduled computing power resources of the at least one graphics processing unit according to the target idle resources, and the alternative tasks, alternative priorities, and alternative resource requirements corresponding to each of the at least one alternative task type; The to-be-scheduled computing power resource scheduling module includes: a high-priority task type as a sub-module, which is used to determine, from at least one of the alternative task types, the alternative task type with the highest alternative priority as the high-priority task type; a first to-be-scheduled computing power resource scheduling sub-module, which is used to schedule the to-be-scheduled computing power resources of the at least one graphics processing unit according to the target idle resources, and the alternative tasks and alternative resource requirements of the high-priority task type. The first to-be-scheduled computing power resource scheduling sub-module includes: a resource requirement situation determination unit, which is used to determine the resource requirement situation according to the alternative tasks and alternative resource requirements of the high-priority task type; a first to-be-scheduled computing power resource scheduling unit, which is used to schedule the to-be-scheduled computing power resources of the at least one graphics processing unit according to the target idle resources and the target resource requirements when the target resource requirements are determined according to the resource requirement situation, where the target resource requirements are the requirements for computing power resources to process the alternative tasks of the high-priority task type. The target idle resources include the computing power resources occupied by the second deployment container, and the second deployment container is a container corresponding to other task types except the high-priority task type among at least one of the alternative task types. The second deployment container includes second deployment resources, and a fourth service that is processing a to-be-processed task or corresponding to a to-be-processed task with a demand for processing is deployed in the second deployment container. The second deployment resources are the computing power resources in the computing power resources occupied by the second deployment container that are not occupied by the fourth service; the first to-be-scheduled computing power resource scheduling unit includes: a second service deployment sub-unit, which is used to deploy a second service corresponding to the high-priority task type in the second deployment container by using the second deployment resources when the second deployment resources meet the target resource requirements, so as to process the alternative tasks of the high-priority task type through the second service based on the second deployment resources.

Citation Information

Patent Citations

  • Task scheduling method and device, equipment and medium

    CN111190712A

  • Task scheduling processing method and device, computer equipment and storage medium

    CN112667376A

  • Method for scheduling artificial intelligence platform resources

    CN118467171A