Computing power resource scheduling method and device
By acquiring and analyzing the alternative task types and priorities and resource requirements of the graphics processing unit, combined with the target idle resources, the effective scheduling of the computing power resources to be scheduled in the graphics processing unit is achieved, solving the problem of difficult scheduling in the existing technology, and improving resource utilization and flexibility.
Patent Information
- Application Number
- CN202510252100.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-05
- Publication Date
- 2025-04-01
- Estimated Expiration
- 2045-03-05
AI Technical Summary
It is difficult for the prior art to effectively schedule computing resources to be scheduled for at least one graphics processing unit, especially when processing tasks with different priorities.
By obtaining the alternative priority and alternative resource requirements corresponding to the alternative task type, determine the pending task and its target task type, and schedule the to-schedule computing resources of the graphics processing unit based on information such as the target idle resources and alternative tasks.
It realizes effective scheduling of computing resources of the graphics processing unit, improves resource utilization, can dynamically adapt to changes in workloads, and reduces the difficulty of cost control.
Smart Images

Figure CN119739539A_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present invention relate to the field of computer technology, and in particular, to a computing resource scheduling method and device. Background Art
[0002] When processing tasks such as data cleaning tasks, it can be accelerated by at least one graphics processing unit (GPU).
[0003] However, it is currently difficult to effectively schedule the computing resources to be scheduled of at least one graphics processing unit, and this problem needs to be solved urgently. Summary of the invention
[0004] Embodiments of the present invention provide a computing resource scheduling method and device to effectively schedule computing resources to be scheduled of at least one graphics processing unit.
[0005] According to one aspect of the present invention, a computing power resource scheduling method is provided, which may include: obtaining alternative priorities and alternative resource requirements corresponding to at least one alternative task type, wherein the alternative task type is a type of task that can be processed by at least one graphics processing unit; determining at least one pending task to be processed by at least one graphics processing unit, and a target task type corresponding to at least one pending task, and determining, from at least one pending task, an alternative task corresponding to each alternative task type according to the target task type corresponding to at least one pending task; determining a target idle resource 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 resource, and the alternative tasks, alternative priorities and alternative resource requirements corresponding to at least one alternative task type.
[0006] According to another aspect of the present invention, a computing power resource scheduling device is provided, which may include: an alternative resource requirement acquisition module, used to obtain alternative priorities and alternative resource requirements corresponding to at least one alternative task type, wherein the alternative task type is a type of task that can be processed by at least one graphics processing unit; an alternative task determination module, used to determine at least one pending task to be processed by at least one graphics processing unit, and a target task type corresponding to at least one pending task, and determine the alternative task corresponding to each alternative task type from at least one pending task according to the target task type corresponding to at least one pending task; a to-be-scheduled computing power resource scheduling module, 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.
[0007] The technical solution of the embodiment of the present invention is to obtain the alternative priority and alternative resource requirements corresponding to at least one alternative task type that can be processed by at least one graphics processing unit, and the alternative priority and alternative resource requirements are used to realize computing resource scheduling; determine at least one pending task to be processed by at least one graphics processing unit, and the target task type corresponding to at least one pending task, and determine the alternative task corresponding to each alternative task type from at least one pending task according to the target task type corresponding to at least one pending task, thereby obtaining the alternative task corresponding to each alternative task type; then, determine the target idle resources of at least one graphics processing unit, and schedule the computing 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 corresponding to at least one alternative task type, so as to realize the computing resource scheduling of at least one graphics processing unit. The above technical solution can effectively schedule the computing resources to be scheduled of at least one graphics processing unit by scheduling the computing 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.
[0008] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended 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 briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0010] Figure 1 is a flowchart of a computing resource scheduling method provided according to an embodiment of the present invention;
[0011] Figure 2 is a flowchart of another computing resource scheduling method provided according to an embodiment of the present invention;
[0012] Figure 3 is a flowchart of another computing resource scheduling method provided according to an embodiment of the present invention;
[0013] Figure 4 is a structural block diagram of a computing resource scheduling device provided according to an embodiment of the present invention;
[0014] Figure 5It is a structural diagram of an electronic device that implements the computing power resource scheduling method of an embodiment of the present invention. DETAILED DESCRIPTION
[0015] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection 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 are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, 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 repeated here. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0017] Before introducing the embodiments of the present invention, the significance of the implementation of the current computing power resource scheduling scheme and the reasons why it is difficult to effectively schedule the computing power resources to be scheduled of at least one graphics processing unit are exemplified to better understand why the scheme 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 tasks (OCR)) waiting to be processed require a lot of computing resources and are suitable for GPU acceleration, but the following methods are often used to process data cleaning tasks waiting to be processed: First, a dedicated central processing unit (CPU) cluster can be used to process pending tasks, but this method cannot take advantage of the computing advantages of GPUs; second, batches of cloud computing resources can be used to process pending tasks, but this method lacks flexibility and real-time performance, cannot dynamically adapt to changes in workloads, and may be recycled to cause resource waste, that is, the reserved resources may not be fully utilized, and cost control is difficult, especially when dealing with frequently changing workloads. Cost control is difficult, and the computing advantages of GPUs cannot be utilized; third, idle machine learning training resources can be used to process pending tasks, but this method is temporary and unsystematic, lacks systematicity and predictability, is difficult to plan and optimize in the long term, may interfere with normal training task scheduling, lacks a dedicated management and scheduling mechanism, is inefficient, and cannot take advantage of the computing advantages of GPUs. Due to the significant tidal computing power phenomenon of a large-scale GPU inference cluster including at least one GPU, that is, the tidal computing power phenomenon that exists between working hours and off-work hours and nighttime, and the tidal computing power phenomenon that the load difference between weekdays and weekends can be several times, the computing power resources of at least one GPU are completely saturated during peak periods, while the computing power resources of at least one GPU can carry additional tasks of thousands of queries per second (QPS) during trough periods. In addition, dedicated large-scale GPU inference clusters are expensive and inefficient in processing pending tasks suitable for GPU acceleration such as OCR. In addition, data cleaning tasks are often regarded as low-priority tasks when waiting to be processed by the GPU's computing power resources. Therefore, there is currently a lack of accurate grasp and efficient use of the computing power resources of at least one GPU, making it difficult to effectively schedule the pending computing power resources of at least one GPU, especially to effectively schedule the pending computing power resources of at least one GPU to process pending tasks with different priorities, especially to process important pending tasks whose priority level is not urgent.
[0019] In view of this, this will be elaborated in detail below.
[0020] Figure 1It is a flow chart of a computing power resource scheduling method provided in an embodiment of the present invention. This embodiment is applicable to the case of computing power resource scheduling, and is particularly applicable to the case of computing power resource scheduling of at least one graphics processing unit. The method can be executed by a computing power resource scheduling device provided in an embodiment of the present invention, and the device can be implemented by software and / or hardware, and the device can be integrated in an electronic device, and the electronic device can be various user terminals or servers.
[0021] See also Figure 1 The method of the embodiment of the present invention specifically includes the following steps:
[0022] S110: Obtain candidate priorities and candidate resource requirements corresponding to at least one candidate task type, wherein the candidate 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 the type of task that can be processed by at least one GPU, and the alternative task type can also be understood as the task type that is an alternative as the target task type of the task to be processed; the alternative task type can be, for example, at least one of the reasoning task type, the training task type, the cleaning task type, etc., and the alternative task type can be specifically refined on the basis of at least one task type among the reasoning 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 include at least one of the text cleaning task type, the audio cleaning task type, the 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 the computing task type, the labeling task type, the cleaning task type, the analysis task type, the segmentation, etc.
[0024] The candidate priority may be used as the priority of the candidate task of the corresponding candidate task type.
[0025] The alternative resource demand can be understood as the demand for computing resources required to process alternative tasks of the corresponding alternative task type.
[0026] In the embodiment of the present invention, alternative priorities and alternative resource requirements respectively corresponding to at least one alternative task type may be acquired.
[0027] In an embodiment of the present invention, at least one alternative task type, alternative priorities and alternative resource requirements corresponding to at least one alternative task type may be predetermined, so as to obtain alternative priorities and alternative resource requirements corresponding to at least one alternative task type. Exemplarily, each task requirement may be analyzed, and each task requirement may be classified according to the analysis result to obtain at least one alternative task type. The task requirement may be understood as a pending task for possible demand processing or a task for historical demand processing, etc. For example, each task requirement may be classified into Task 1 (reasoning task type), Task 2 (training task type) and Task 3 (cleaning task type); the processing service corresponding to at least one alternative task type may be determined, and the alternative resource requirements corresponding to the alternative task type may be determined according to the service resource requirements of the processing service corresponding to each alternative task type, that is, the computing power resources required to deploy the processing service. For example, Task 1, Task 2 and Task 3 may be classified into Task 1 (inference task type), Task 2 (training task type) and Task 3 (cleaning task type). Service 1, service 2 and service 3 are processed respectively. The service resource requirements corresponding to different processing services may be different. According to service 1, it takes 2 units of computing resources to process task 1, service 2 takes 3 units of computing resources to process task 2, and service 3 takes 4 units of computing resources to process task 3. It is determined that the alternative resource requirements corresponding to task 1, task 2 and task 3 are 2 units of computing resources, 3 units of computing resources and 4 units of computing resources respectively; according to the requirements of each task, at least one alternative task type is prioritized, for example, the priority ranking is task 1>task 2>task 3, and the alternative priority corresponding to at least one alternative task type is obtained.
[0028] S120, determining at least one pending task to be processed by at least one graphics processing unit, and a target task type corresponding to the at least one pending task, and determining, from the at least one pending task, an alternative task corresponding to each alternative task type according to the target task type corresponding to the at least one pending task.
[0029] The tasks to be processed can be understood as tasks that can be processed by the GPU.
[0030] The target task type can be understood as the task type of the corresponding task to be processed.
[0031] The alternative tasks may be understood as tasks to be processed that have the same target task type and the same alternative task type as the target task type; the number of alternative tasks may be zero or at least one.
[0032] In an embodiment of the present invention, it is possible to determine pending tasks and target task types corresponding to at least one pending task, and determine alternative tasks corresponding to each alternative task type from at least one pending task based on the target task type corresponding to at least one pending task. For example, for each alternative task type, it is possible to use, for at least one pending task, a pending task having the same target task type as the alternative task type as the alternative task type as the alternative task type.
[0033] In an embodiment of the present invention, a horizontally scalable distributed data processing pipeline is designed to support large-scale parallel processing of tasks. Specifically, dynamic sharding and load balancing of data streams can be implemented for tasks to be processed to adapt to computing 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 results. For example, a task to be processed that originally requires 10 units of computing resources can be 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 resources to be processed. Correspondingly, the sharded distributed task to be processed can also require only 1 / 2 unit of computing resources, 1 / 4 unit of computing resources, or 1 / 8 unit of computing resources, etc., so as to fully realize the utilization of idle computing resources of different scales.
[0034] S130, determining target idle resources of at least one graphics processing unit, and scheduling the computing power resources to be scheduled of at least one graphics processing unit according to the target idle resources and alternative tasks, alternative priorities and alternative resource requirements corresponding to at least one alternative task type.
[0035] The target idle resources may be understood as idle computing resources that are not used to process pending tasks.
[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 target idle resources.
[0037] In an embodiment of the present invention, target idle resources may be determined, and computing resources to be scheduled may be scheduled according to the target idle resources and alternative tasks, alternative priorities and alternative resource requirements corresponding to at least one alternative task type.
[0038] It should be noted that scheduling the computing power resources to be scheduled may be releasing the resources to be released and / or occupying the resources to be occupied in the computing power resources to be scheduled, etc. In the embodiment of the present invention, there is no specific limitation on the scheduling method of scheduling the computing power resources to be scheduled.
[0039] Exemplarily, based on the alternative tasks, alternative priorities and alternative resource requirements respectively corresponding to at least one alternative task type, target idle resources can be used to deploy containers occupying 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 also 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 to perform the computing power resource scheduling process 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 resource status of a computing power cluster of computing power resources to be scheduled including at least one GPU. When available target idle resources are detected, the deployment and execution of containerized alternative tasks can be automatically triggered, and the system can respond to load changes in real time, make decisions and deploy tasks at the millisecond level, thereby achieving accurate capture and efficient utilization of tidal computing power resources, and concurrent processing of task requests of thousands and tens of thousands of QPS, greatly improving resource utilization. On this basis, the intelligent middleware system also includes a storage interface optimized for high-concurrency scenarios to ensure that data throughput does 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, the request data corresponding to the pending tasks with high priority and / or urgent processing requirements will be sent and cached to the local of the corresponding computing power cluster before the pending tasks are allocated from the queue of the intelligent middleware system to the service processing of each container, so as to save data transmission time. The storage interface can also improve data processing efficiency. For example, for data cleaning tasks, the container for processing data cleaning tasks is located in computing power cluster A. At this time, before the next batch of data cleaning tasks to be processed are sent to the corresponding service, the data to be cleaned will be sent to cluster A and cached first, so that the corresponding service can obtain the data for processing immediately 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, an adaptive resource allocation algorithm that considers multi-dimensional factors is also included to realize the computing resource scheduling mentioned in the embodiment of the present invention. The resource allocation algorithm can utilize the utilization rate of at least one GPU. If the utilization rate of at least one GPU is low, the computing resources to be scheduled are scheduled to deploy alternative tasks for processing heavy computing resources; the resource allocation algorithm can also store bandwidth usage, determine the alternative priority and urgency corresponding to at least one alternative task type, so as to schedule the computing resources to be scheduled in the future according to the target idle resources, and the alternative tasks, urgency, alternative priority and alternative resource requirements corresponding to at least one alternative task type; the resource allocation algorithm can also determine and predict the historical load pattern to determine the task volume change trend (first task volume change trend, second task volume change trend or third task volume change trend) corresponding to at least one alternative task type. The above-mentioned resource allocation algorithm can maximize the use of available computing resources while ensuring high-priority processing tasks.
[0042] In an embodiment of the present invention, a flexible task execution framework is also included to implement an execution framework that supports rapid startup, suspension, and resumption of alternative tasks. The framework is designed with a fine-grained checkpoint mechanism to allow 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 is to obtain the alternative priority and alternative resource requirements corresponding to at least one alternative task type that can be processed by at least one graphics processing unit, and the alternative priority and alternative resource requirements are used to realize computing resource scheduling; determine at least one pending task to be processed by at least one graphics processing unit, and the target task type corresponding to at least one pending task, and determine the alternative task corresponding to each alternative task type from at least one pending task according to the target task type corresponding to at least one pending task, thereby obtaining the alternative task corresponding to each alternative task type; then, determine the target idle resources of at least one graphics processing unit, and schedule the computing 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 corresponding to at least one alternative task type, so as to realize the computing resource scheduling of at least one graphics processing unit. The above technical solution can effectively schedule the computing resources to be scheduled of at least one graphics processing unit by scheduling the computing 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.
[0044] An optional technical solution schedules the computing power resources to be scheduled of at least one graphics processing unit according to target idle resources and alternative tasks, alternative priorities and alternative resource requirements corresponding to at least one alternative task type, including: obtaining a third task volume change trend corresponding to at least one alternative task type; scheduling the computing power resources to be scheduled of at least one graphics processing unit according to target idle resources and alternative tasks, alternative priorities, alternative resource requirements and a third task volume change trend corresponding to at least one alternative task type.
[0045] The third task volume change trend can be understood as the change trend of the task volume corresponding to the candidate task type; the third task volume change trend can be, for example, a decline period, a trough period, an increase period or a peak period, etc. The decline period can be understood as when at least one task to be processed is subsequently determined, the number of candidate tasks of the corresponding candidate task type decreases compared to the number of current candidate tasks; correspondingly, the trough period, the increase period and the peak period correspond to the number of candidate tasks being at a trough, the number increasing and the number being at a peak, respectively.
[0046] In an embodiment of the present invention, the third task volume change trend corresponding to at least one alternative task type can be determined in advance. For example, the historical changes in the demand for each task can be analyzed to obtain the third task volume change trend corresponding to at least one alternative task type. For example, the historical changes in the demand for each task are analyzed to obtain the third task volume change trend of task 1, which is that the task demand increases rapidly and the task demand is large during the off-get off work hours on weekdays, and the task demand decreases significantly after midnight. On non-working days, except for the night time period when the task demand is relatively low, the task demand of task 1 is at a high level throughout the day. The third task volume change trends of tasks 2 and 3 are that the task demands are at a high level most of the time.
[0047] In an embodiment of the present invention, a third task volume change trend can be obtained, and the computing power resources to be scheduled can be scheduled according to the target idle resources, and the alternative tasks, alternative priorities, alternative resource requirements and the third task volume change trend respectively corresponding to at least one alternative task type. For example, for an alternative task type whose third task volume change trend is at a peak period and whose alternative priority is the highest priority and whose number of alternative tasks is large, computing power resources occupying the target idle resources that are greater than a preset threshold are deployed with containers corresponding to the alternative task type. The above technical scheme schedules the computing power resources to be scheduled by utilizing the third task volume change trend respectively corresponding to at least one alternative task type, so that the scheduling of the computing power resources to be scheduled can be applicable 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 computing power resources to be scheduled.
[0048] Figure 2It is a flow chart of another computing power resource scheduling method provided in an embodiment of the present invention. This embodiment is optimized based on the above-mentioned technical solutions. In this embodiment, optionally, according to the target idle resources, and the alternative tasks, alternative priorities and alternative resource requirements corresponding to at least one alternative task type, the computing power resources to be scheduled of at least one graphics processing unit are scheduled, including: determining the alternative task type with the highest alternative priority from at least one alternative task type as the high-priority task type; according to the target idle resources, and the alternative tasks and alternative resource requirements of the high-priority task type, scheduling the computing power resources to be scheduled of at least one graphics processing unit. Among them, the explanations of the terms that are the same or corresponding to the above-mentioned embodiments are not repeated here.
[0049] See also Figure 2 The method of this embodiment may specifically include the following steps:
[0050] S210: Obtain candidate priorities and candidate resource requirements corresponding to at least one candidate task type, wherein the candidate task type is a type of task that can be processed by at least one graphics processing unit.
[0051] S220, determining at least one pending task to be processed by at least one graphics processing unit, and a target task type corresponding to each of the at least one pending task, and determining, from the at least one pending task, an alternative task corresponding to each alternative task type according to the target task type corresponding to the at least one pending task.
[0052] S230: Determine a target idle resource of at least one graphics processing unit, and determine a candidate task type with the highest candidate priority from at least one candidate task type as a high-priority task type.
[0053] The high-priority task type may be understood as an alternative task type with the highest alternative priority among at least one alternative task type.
[0054] In the embodiment of the present invention, a candidate task type with the highest candidate priority may be determined from at least one candidate task type as the high-priority task type.
[0055] S240. Schedule computing resources to be scheduled of at least one graphics processing unit according to target idle resources, and alternative tasks and alternative resource requirements of high-priority task types.
[0056] In an embodiment of the present invention, the computing resources to be scheduled can be scheduled according to the target idle resources, as well as the alternative tasks and alternative resource requirements of the high-priority task type. For example, according to the alternative resource requirements of the high-priority task type, the target idle resources are utilized to deploy containers that meet the requirements for processing the alternative tasks of the high-priority task type, so as to realize the scheduling of the computing resources to be scheduled 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 computing power resources to be scheduled of at least one graphics processing unit according to the target idle resources, the alternative tasks of the high-priority task type and the alternative resource requirements, thereby realizing the scheduling of the computing power resources to be scheduled. The above technical solution schedules the computing power resources to be scheduled based on the alternative tasks and alternative resource requirements of the high-priority task type, thereby avoiding the problem of difficulty in effectively scheduling the computing power resources to be scheduled to process high-priority tasks to be processed, thereby further realizing the effective scheduling of the computing power resources to be scheduled.
[0058] An optional technical solution, after 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, the computing power resource scheduling method also includes: updating the target idle resources according to the obtained scheduling results; in the case that there are various alternative task types in at least one alternative task type that are not excessively high-priority task types, determining the alternative task type with the highest alternative priority from each alternative task type, updating it to a high-priority task type, and repeating the step of 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.
[0059] The task type to be selected may be understood as the task type with the highest priority among the task types to be selected that are not task types with too high a priority.
[0060] It should be noted that the high-priority task type mentioned in the embodiment of the present invention can be understood as the task type with the highest priority among the candidate task types that are not too high priority.
[0061] It can be understood that the computing power resources to be scheduled can be first scheduled based on the highest alternative priority among the alternative task types that are not too high priority task types, and then the remaining idle resources can be scheduled in order of priority based on the alternative task types whose alternative priorities are less than the highest alternative priority mentioned above. For example, task 1 has the highest alternative priority. Therefore, the computing power resources to be scheduled can be first scheduled based on the target idle resources, as well as the alternative tasks and alternative resource requirements of task 1, and then the remaining idle resources can be updated to the target idle resources. The computing power resources to be scheduled can be scheduled based on the target idle resources, as well as the alternative tasks and alternative resource requirements of task 1, and then the above process is performed for task 3 with the lowest priority.
[0062] In an embodiment of the present invention, the target idle resources can be updated according to the scheduling result. For example, when the computing power resources to be scheduled are scheduled to deploy containers as the target idle resources, the remaining idle resources in the target idle resources represented by the scheduling result that are not used to deploy containers can be updated to the target idle resources. For another example, when the computing power resources to be scheduled are scheduled to release the resources to be released in the computing power resources to be scheduled, the released resources and the target idle resources represented by the scheduling result can be updated to the target idle resources; and so on.
[0063] In an embodiment of the present invention, when there are various candidate task types in at least one alternative task type, the candidate task type with the highest alternative priority is determined from among the candidate task types, and it is updated to a high-priority task type, and the step of scheduling the computing power resources to be scheduled according to the target idle resources and the alternative tasks and alternative resource requirements of the high-priority task type is repeated to realize the scheduling of computing power resources for each alternative task type in sequence according to the priority order.
[0064] In an embodiment of the present invention, the target idle resources are updated according to the scheduling results, and in the case that there are various alternative task types in at least one alternative task type, the alternative task type with the highest alternative priority is determined from among the various alternative task types, and updated to the high-priority task type, and the step of scheduling the computing power resources to be scheduled according to the target idle resources and the alternative tasks and alternative resource requirements of the high-priority task type is repeated. This can avoid the problem of poor scheduling effect of scheduling the computing power resources to be scheduled due to only scheduling computing power resources for the high-priority task type with the highest alternative priority.
[0065] Based on the above scheme, another optional technical scheme is to 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, including: obtaining the second task volume change trend corresponding to at least one alternative task type; scheduling the computing power resources to be scheduled of at least one graphics processing unit according to the second task volume change trend 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.
[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 substantive content of the second task volume change trend and the third task volume change trend are the same. The different names used here are just to distinguish different optional technical solutions, and are not a specific limitation on their substantive content.
[0067] In an embodiment of the present invention, the second task volume change trend can be obtained, and the computing power resources to be scheduled can be scheduled according to the second task volume change trend corresponding to at least one candidate task type, the target idle resources, and the alternative tasks and alternative resource requirements of the high-priority task type. The above technical solution uses the second task volume change trend corresponding to at least one candidate task type to schedule the computing power resources to be scheduled, so that the scheduling of the computing power resources to be scheduled can be applicable to the change trend of the task volume corresponding to at least one candidate task type, thereby further realizing the effective scheduling of the computing power resources to be scheduled.
[0068] Another optional technical solution is to schedule the computing power resources to be scheduled of at least one graphics processing unit according to target idle resources, and alternative tasks and alternative resource requirements of high-priority task types, including: obtaining a first interrupt attribute of the high-priority task type and / or a second interrupt attribute corresponding to at least one alternative task type, wherein the first interrupt attribute represents whether the processing process of the alternative task of the high-priority task type is interruptible, and the second interrupt attribute represents whether the processing process of the alternative task of the corresponding alternative task type is interruptible; scheduling the computing power resources to be scheduled of at least one graphics processing unit according to the first interrupt attribute and / or the second interrupt attribute 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.
[0069] The first interrupt attribute may indicate whether the processing of the candidate task of the high priority task type is interruptible; the first interrupt attribute may be specifically understood as the second interrupt attribute of the candidate task type.
[0070] The second interruption attribute may indicate whether the processing of the candidate task of the corresponding candidate task type is interruptible.
[0071] In an embodiment of the present invention, the first interrupt attribute of the high priority task type and / or the second interrupt attribute corresponding to at least one alternative task type can be predetermined, for example, the second interrupt attributes of task 1 and task 2 are determined to be non-interruptible, and the second interrupt attribute of task 3 is determined to be interruptible.
[0072] In an embodiment of the present invention, the first interrupt attribute and / or the second interrupt attribute corresponding to at least one alternative task type can be obtained, and the computing power resources to be scheduled can be scheduled according to the first interrupt attribute and / or the second interrupt attribute 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, a first interruption attribute can be obtained when a third idle resource in the target idle resource meets the target resource requirement, wherein the third idle resource includes computing power resources that are not occupied for deploying containers, and computing power resources occupied by idle containers for processing alternative tasks of high-priority task types; when it is determined according to the first interruption attribute that the alternative tasks of the high-priority task type can be interrupted, a second deployment resource is determined; when the second deployment resource meets the target resource requirement, a second service is deployed using the second deployment resource to temporarily process the alternative tasks of the high-priority task type through the second service based on the second deployment resource until the third idle resource meets the target resource requirement, the alternative tasks of the high-priority task type that have not been processed are processed using the third idle resource; when it is determined according to the first interruption attribute that the alternative tasks of the high-priority task type cannot be interrupted, 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, a first interrupt attribute and a second task volume change trend corresponding to at least one alternative task type can be obtained; based on the second task volume change trend corresponding to at least one alternative task type, target idle resources, and alternative tasks, alternative resource requirements and first interrupt attribute of a high-priority task type, the computing power resources to be scheduled are scheduled.
[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; from at least one alternative task type, an alternative task type with an alternative priority higher than the high-priority task type is determined as a reference task type; the resource demand situation is determined according to the second task volume change trend of the reference task type, as well as the alternative tasks, alternative resource requirements and first interrupt attribute of the high-priority task type; when it is determined according to the resource demand situation that there is a target resource requirement, the computing power resources to be scheduled are scheduled according to the idle resources and the target resource requirement; the target idle resources are updated according to the obtained scheduling results; in at least one alternative task type, when there are various alternative task types that are not excessively high-priority task types, the alternative task type with the highest alternative priority is determined from the various alternative task types, and updated to 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 repeated.
[0076] In an embodiment of the present invention, the first interrupt attribute and task processing duration, as well as the second task volume change trend corresponding to at least one alternative task type can be obtained; according to the second task volume change trend corresponding to 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, the computing power resources to be scheduled are scheduled.
[0077] In an embodiment of the present invention, a first interrupt attribute and a task processing duration, as well as a second task volume change trend corresponding to at least one alternative task type, can be obtained; from at least one alternative task type, an alternative task type with an alternative priority higher than the high-priority task type is determined as a reference task type; the resource demand situation is determined according to the second task volume change trend of the reference task type, as well as the alternative tasks, alternative resource requirements, task processing duration and first interrupt attribute of the high-priority task type; when it is determined according to the resource demand situation that there is a target resource requirement, the computing power resources to be scheduled are scheduled according to the idle resources and the target resource requirement; the target idle resources are updated according to the obtained scheduling results; in at least one alternative task type, when there are various alternative task types that are not excessively high-priority task types, the alternative task type with the highest alternative priority is determined from the various alternative task types, updated to the high-priority task type, and the steps of obtaining the first interrupt attribute and task processing duration of the high-priority task type, as well as the second task volume change trend corresponding to at least one alternative task type are repeated.
[0078] Exemplarily, when there are target idle resources when the second task volume change trend of Task 1 (reference task type) is in a downward period or a low period, the target idle resources can be utilized to preferentially deploy services corresponding to alternative task types whose task processing time is characterized by long task processing time and / or cannot be interrupted to process the corresponding alternative tasks. Specifically, for a high-priority task type whose alternative priority is lower than that of task 1, when there are target idle resources when the second task volume change trend of task 1 is in a decreasing period or a trough period, it can be determined that the resource demand situation exists a target resource demand, and the target resource demand quantity is higher than the target resource demand quantity corresponding to the second task volume change trend of task 1 is in an increasing period or a peak period, when the task processing time of the high-priority task type represents that its task processing time is long and / or it cannot be interrupted; for a high-priority task type whose alternative priority is lower than that of task 1, when there are target idle resources when the second task volume change trend of task 1 is in an increasing period or a peak period, it can be determined that the resource demand situation exists a target resource demand, and the target resource demand quantity is higher than the target resource demand quantity corresponding to the second task volume change trend of task 1 is in a decreasing period or a trough period, when the task processing time of the high-priority task type represents that its task processing time is short and / or it can be interrupted.
[0079] In an embodiment of the present invention, by scheduling the computing power resources to be scheduled according to the second interrupt attribute corresponding to the first interrupt attribute and / or 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 computing power resources to be scheduled can be adapted to the interrupt situation of the high-priority task type and / or at least one alternative task type, thereby further realizing the effective scheduling of the computing power resources to be scheduled.
[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-mentioned technical solutions. In this embodiment, optionally, the computing power resources to be scheduled of at least one graphics processing unit are scheduled according to the target idle resources, and the alternative tasks and alternative resource requirements of the high-priority task type, including: determining the resource demand situation according to the alternative tasks and alternative resource requirements of the high-priority task type; when the target resource requirement is determined according to the resource requirement situation, scheduling the computing power resources to be scheduled of at least one graphics processing unit according to the target idle resources and the target resource requirement, wherein the target resource requirement is the demand for computing power resources for processing the alternative tasks of the high-priority task type. Among them, the explanations of the terms that are the same or corresponding to the above-mentioned embodiments are not repeated here.
[0081] See also Figure 3 The method of this embodiment may specifically include the following steps:
[0082] S310: Obtain candidate priorities and candidate resource requirements corresponding to at least one candidate task type, wherein the candidate task type is a type of task that can be processed by at least one graphics processing unit.
[0083] S320, determining at least one pending task to be processed by at least one graphics processing unit, and a target task type corresponding to each of the at least one pending task, and determining, from the at least one pending task, an alternative task corresponding to each alternative task type according to the target task type corresponding to the at least one pending task.
[0084] S330: Determine a target idle resource of at least one graphics processing unit, and determine, from at least one candidate task type, a candidate task type with the highest candidate priority as a high-priority task type.
[0085] S340: Determine resource requirements based on the alternative tasks and alternative resource requirements of the high-priority task type.
[0086] Among them, the resource demand situation can indicate whether there is demand for computing resources for processing alternative tasks of high-priority task types.
[0087] In an embodiment of the present invention, when the resource demand situation indicates that there are no computing power resources, it may be because there are no corresponding alternative tasks for the high-priority task type, and therefore there is no demand for computing power resources for processing the alternative tasks 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 needs of processing the alternative tasks of the high-priority task type, for example, the services in the deployed container corresponding to the high-priority task type can already meet the needs of processing the alternative tasks of the high-priority task type, that is, at this time, there is no need to occupy additional computing power resources to meet the needs of processing the alternative tasks of the high-priority task type, and therefore there is no demand for computing power resources for processing the alternative tasks of the high-priority task type.
[0088] In an embodiment of the present invention, the resource requirement situation can be determined based on the alternative tasks and alternative resource requirements of the high-priority task type. For example, it can be determined based on the alternative tasks and alternative resource requirements of the high-priority task type whether the occupied computing resources corresponding to the high-priority task type can meet the needs of processing the alternative tasks of the high-priority task type, and the resource requirement situation can be determined based on the satisfaction obtained.
[0089] S350. When the target resource demand is determined according to the resource demand situation, the computing resources to be scheduled of at least one graphics processing unit are scheduled according to the target idle resources and the target resource demand, wherein the target resource demand is the demand for computing resources for alternative tasks of processing high-priority task types.
[0090] Among them, the target resource demand can be understood as the demand for computing resources for processing alternative tasks of high-priority task types.
[0091] In an embodiment of the present invention, when the target resource demand is determined according to the resource demand situation, the computing resources to be scheduled can be scheduled according to the target idle resources and the target resource demand. For example, the first deployment resources in the target idle resources that can meet the target resource demand can be occupied to deploy the first service corresponding to the high-priority task type.
[0092] In an embodiment of the present invention, the target idle resources may include computing power resources occupied by a third container. The third container is a container corresponding to a high-priority task type. 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 requirements, the alternative tasks of the high-priority task type are processed through the idle service based on the third idle resources.
[0093] The technical solution of the embodiment of the present invention determines the resource demand 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 demand situation, the computing power resources to be scheduled are scheduled according to the target idle resources and the target resource requirement, so as to realize the scheduling of the computing power resources to be scheduled. The above technical solution can make the scheduled computing power resources to be scheduled meet the target resource requirement by scheduling the computing power resources to be scheduled according to the target idle resources and the target resource requirement when the target resource requirement is determined according to the resource demand situation, thereby further realizing the effective scheduling of the computing power resources to be scheduled.
[0094] An optional technical solution schedules the computing resources to be scheduled of at least one graphics processing unit according to target idle resources and target resource requirements, including: when the target idle resources meet the target resource requirements, occupying the first deployment resource in the target idle resources, and deploying the first deployment container based on the first deployment resource, so as to deploy a first service corresponding to a high-priority task type in the first deployment container, and processing alternative tasks of the high-priority task type through the first service, wherein the first deployment resource meets the target resource requirements.
[0095] The first deployed resource may be understood as an idle resource that can meet the target resource demand.
[0096] The first deployment container can be understood as a container for deploying a first service corresponding to a high-priority task type.
[0097] The first service may be understood as a service for processing an alternative task of the high priority task type.
[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 the first deployment container can be deployed based on the first deployment resources to deploy the first service in the first deployment container, and the alternative tasks of the high priority task type can be processed 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, a container 1 that occupies 2 units of computing power resources is deployed, which occupies 2 units of computing power resources, so as to deploy the first service corresponding to Task 1 in Container 1, and process the alternative tasks of Task 1 through the first service.
[0100] For example, when the high-priority task type is Task 2 and the target idle resources meet the target resource requirements, a container 2 that occupies 3 units of computing power resources is deployed, which occupies 3 units of computing power resources, so as to deploy the first service corresponding to Task 2 in Container 2, and process the alternative tasks of Task 2 through the first service.
[0101] In an embodiment of the present invention, dynamic container management is also included. Specifically, dynamic container management includes: designing a lightweight and fast-starting containerized environment to encapsulate services for processing alternative tasks (such as OCR models), thereby realizing rapid deployment, expansion and contraction, and recycling mechanisms of containers to adapt to fluctuating resource availability.
[0102] In an embodiment of the present invention, when the target idle resources meet the target resource requirements, the first deployment resources are occupied, and the first deployment container is deployed based on the first deployment resources, so as to deploy the first service in the first deployment container, and the alternative tasks of the high-priority task type are processed through the first service, so that the scheduled computing power resources to be scheduled can meet the requirements of processing the alternative tasks of the high-priority task type.
[0103] Another optional technical solution, the target idle resources include computing resources occupied by a second deployment container, the second deployment container is a container corresponding to other task types except a high-priority task type in at least one alternative task type, and the second deployment container includes a second deployment resource; according to the target idle resources and the target resource requirements, scheduling the computing resources to be scheduled of at least one graphics processing unit, including: 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 through the second service based on the second deployment resources.
[0104] Among them, the second deployment resources can be understood as the idle computing resources among the computing resources occupied by the second deployment container. The second deployment resources can also be understood as the computing 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 computing resources occupied by the second deployment container that are in an idle state. The second deployment resources can also include some computing resources that are in an idle state. The computing resources that are in an idle state can, for example, be computing resources that are not used to deploy services.
[0105] The second deployment container can be understood as a container corresponding to other task types except the high-priority task type in at least one candidate task type; the second service can be deployed in the second deployment container.
[0106] The second service may be understood as a service for processing an alternative task of the high priority task type.
[0107] In an embodiment of the present invention, a first interruption attribute of a high-priority task type can be obtained. When it is determined, based on the first interruption attribute, that an alternative task of the high-priority task type cannot be interrupted and the second deployment resource meets the target resource requirements, the second deployment resource is used to deploy a second service corresponding to the high-priority task type.
[0108] In an embodiment of the present invention, a fourth service that is processing pending tasks or corresponding pending tasks that need to be processed is deployed in the second deployment container. When the computing power resources occupied by the second deployment container are greater than the computing power resources occupied by the fourth service, the computing power resources occupied by the second deployment container that are not occupied by the fourth service can be used as second deployment resources. If the second deployment resources meet the target resource requirements, the second deployment resources can be used to deploy the second service in the second deployment container, and the second service can be used to process alternative tasks of high-priority task types.
[0109] In an embodiment of the present invention, when the second deployment container has been used to complete the pending tasks that require its processing or there are currently no pending tasks that require the second deployment container to be processed, that is, the computing power resources occupied by the second deployment container are the second deployment resources, and when a fifth service corresponding to at least one task type other than a high-priority task type in the alternative task type has been deployed in the second deployment container, the deployed fifth service can be recycled to release the computing power resources occupied by the fifth service in the second deployment resources, and the second deployment resources can be used to deploy the second service in the second deployment container, and the alternative tasks of the high-priority task type are processed by the second service; when the fifth service is not deployed in the second deployment container, the second deployment resources can be directly used to deploy the second service in the second deployment container, and the alternative tasks of the high-priority task type can be processed by the second service.
[0110] It should be noted that when the second deployment container is bound to the specific service corresponding to it, that is, the special service is encapsulated in the second deployment container, and the specific service corresponding to it is 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 the alternative tasks of the corresponding alternative task type, and the second deployment resources of the second deployment container may not be used to process the alternative tasks of the alternative task type that does not correspond to it.
[0111] In an embodiment of the present invention, when the second deployed resource meets the target resource demand, the second deployed resource can be used to deploy the second service, so that based on the second deployed resource, the alternative task of the high priority task type is processed by the second service, and the idle second deployed resources in the second deployed container can be used to process the alternative task of the high priority task type, thereby improving the utilization rate of computing power resources and avoiding waste of computing power resources.
[0112] Another optional technical solution is that the computing power resources to be scheduled of at least one graphics processing unit include target idle resources and deployed resources, and the deployed resources are computing power resources occupied by deployed containers; according to the target idle resources and the target resource requirements, the computing power resources to be scheduled of at least one graphics processing unit are scheduled, including: when the target idle resources do not meet the target resource requirements, according to the alternative priority corresponding to at least one alternative task type, the recycling container in the deployed container is recycled to release the released resources corresponding to the recycling container in the deployed resources, and the target idle resources and the released resources are occupied to deploy a third deployment container, wherein the resources of the released resources and the target idle resources meet the target resource requirements, and the third deployment container is used to deploy a third service corresponding to a 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 resources among the computing resources occupied by the second deployment container. The second deployment resources can also be understood as the resources among the computing 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 idle resources among the computing resources occupied by the second deployment container. The second deployment resources can also include some idle resources, and the idle resources can be, for example, resources that are not used to deploy services.
[0113] The deployed resources may be understood as computing resources that have been occupied to deploy the deployed containers.
[0114] A deployed container can be understood as a container that has occupied computing resources and has been deployed; the number of deployed containers can be at least one.
[0115] A recovery container may be understood as a deployed container that is recovered; the number of the recovery containers may be at least one.
[0116] Released resources can be understood as computing resources corresponding to the released recycling containers.
[0117] The third deployment container can be understood as a container for deploying a third service corresponding to a high-priority task type.
[0118] The third service may be understood as a service for processing an alternative task of the high priority task type.
[0119] The sum of resources is the sum of computing power resources of released resources and target idle resources; the sum of resources meets the target resource requirements.
[0120] Exemplarily, when the target idle resources do not meet the target resource requirements, for example, the computing resources to be scheduled have all been occupied by the deployed containers 1, 2, and 3, but the number of alternative tasks for 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 the corresponding number of tasks 3 with the lowest alternative priority that can meet the target resource requirements can be interrupted, and the corresponding number of containers 3 can be recycled, and the target idle resources can be occupied and resources can be released. The number of containers 1 that can meet the target resource requirements can be deployed 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 an embodiment of the present invention, a second interrupt attribute corresponding to at least one alternative task type may also be obtained. When the target idle resource does not meet the target resource demand, a recycling container in the deployed container is recycled according to the alternative priority and the second interrupt attribute corresponding to at least one alternative task type. For example, the recycling container can only be a deployed container whose second interrupt attribute of the corresponding alternative task type is interruptible.
[0122] In an embodiment of the present invention, after occupying the target idle resources and releasing the resources and deploying the third deployed container, if there are fourth idle resources that meet the requirements for processing alternative tasks of the alternative task type corresponding to the recycling container, a third interruption attribute of the alternative task type corresponding to the recycling container is obtained, and the third interruption attribute represents whether the processing process of the alternative task of the alternative task type corresponding to the recycling container can be interrupted; when it is determined according to the third interruption attribute that the alternative task of the alternative task type corresponding to the recycling container can be interrupted, the fourth idle resources are used to continue processing the pending tasks that are interrupted when the recycling container in the deployed container is recycled; when it is determined according to the third interruption attribute that the alternative task of the alternative task type corresponding to the recycling container cannot be interrupted, the fourth idle resources are used to reprocess the pending tasks that are interrupted when the recycling container in the deployed container is recycled.
[0123] In an embodiment of the present invention, by recycling the recycling container to release the released resources according to the alternative priority level corresponding to at least one alternative task type when the target idle resources do not meet the target resource requirements, and occupying the target idle resources and the released resources, and deploying the third deployment container, it is possible to release the computing power resources according to the alternative priority level corresponding to at least one alternative task type when the target idle resources do not meet the target resource requirements, so that the resources and meet the target resource requirements, thereby allowing the scheduled computing power resources to meet the processing of alternative tasks of high priority task types.
[0124] Another optional technical solution schedules the computing resources to be scheduled of at least one graphics processing unit according to target idle resources, as well as alternative tasks and alternative resource requirements of high-priority task types, and also includes: when it is determined based on resource requirements that there is no target resource requirement, determining other tasks in at least one to-be-processed task except the alternative tasks of the high-priority task type according to priority order, and determining other requirements based on the alternative resource requirements corresponding to the other tasks and at least one alternative task type; when it is determined based on other requirements that there are other resource requirements, recycling the idle containers corresponding to the high-priority task types to release the computing resources occupied by the idle containers in the target idle resources.
[0125] The priority order can be understood as representing the order of the candidate priorities corresponding to at least one candidate task type.
[0126] Other tasks can be understood as tasks to be processed other than candidate tasks of the high-priority task type in at least one task to be processed.
[0127] Other demand situations can indicate whether there is a demand for computing resources to process other tasks.
[0128] Other resource requirements can be understood as the demand for computing resources to handle other tasks.
[0129] The idle container can be understood as an idle container corresponding to a high-priority task type. Specifically, the idle container can be understood as a container of unprocessed tasks in the container corresponding to the high-priority task type.
[0130] In an embodiment of the present invention, when it is determined based on resource demand conditions that there is no target resource demand, for example, when the deployed first deployment container satisfies the alternative task of processing a high-priority task type and there is no need to additionally occupy target idle resources to deploy the first deployment container to process the alternative task of the high-priority task type, other tasks can be determined based on the priority order, and other demand conditions can be determined based on the alternative resource demands corresponding to the other tasks and at least one alternative task type. When it is determined based on other demand conditions that there are other resource demands, idle containers can be recycled, for example, idle container 1 can be recycled to release the computing power resources occupied by the idle containers.
[0131] In an embodiment of the present invention, when it is determined that there are other resource demands based on other demand conditions, it is determined whether other resources in the target idle resources except the computing power resources occupied by the idle container meet other resource demands. When other resources do not meet other resource demands, the idle container is recycled to release the computing power resources occupied by the idle container; when they are satisfied, the idle container may not be recycled to save resource consumption of recycling and deploying idle containers.
[0132] Exemplarily, when it is determined based on resource requirements that task 2 does not have target resource requirements, and when it is determined based on other requirements that there are other resource requirements, it is determined whether other resources in the target idle resources except the computing power resources occupied by the idle container 2 meet other resource requirements; when other resources do not meet other resource requirements, 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 other resource demands are always greater than the actual computing resources to be scheduled, when there is an idle recycling container, the recycling container will be immediately recycled and computing resources will be reallocated to establish a new container. The recycling container can be an idle container among all containers.
[0134] In an embodiment of the present invention, by determining other tasks and determining other demand conditions when it is determined that there is no target resource demand based on resource demand conditions, and then recycling idle containers when it is determined that there are other resource demands based on other demand conditions to release the computing power resources occupied by the idle containers, it is possible to facilitate subsequent processing of tasks through the released computing power resources, avoid idle containers occupying computing power resources and cause waste of computing power resources, thereby improving the utilization rate of computing power resources.
[0135] Another optional technical solution, a computing power resource scheduling method, also includes: obtaining a first task volume change trend of a high-priority task type; determining the resource demand situation based on alternative tasks and alternative resource requirements of the high-priority task type, including: determining the resource demand situation based on the first task volume change trend of the high-priority task type, alternative resource requirements and alternative tasks.
[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 an embodiment of the present invention, by obtaining the changing trend of the first task volume and determining the resource demand situation based on the changing trend of the first task volume of the high-priority task type, the alternative resource requirements and the alternative tasks, the scheduling situation of the computing power resources to be scheduled can be adapted to the changing 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] In order to better understand the technical solution of the above-mentioned embodiment of the present invention, an optional example is provided herein. Exemplarily, determining at least one pending task can be periodic. When determining at least one pending task for the first time, the target idle resources include a total of 100 units of computing power resources, and the high-priority task type is determined to be task 1. The container 1 corresponding to task 1 occupies 2 units of computing power resources; the first task volume change trend of task 1 is a peak period, and the resource demand situation is determined according to the first task volume change trend of task 1, the alternative resource demand and the alternative tasks; when it is determined according to the resource demand situation that the target resource demand is to deploy 50 containers, 100 units of computing power resources in the target idle resources are occupied to deploy 50 containers 1, so as to deploy the service 1 corresponding to task 1 in each container 1, and process the alternative tasks of task 1 through service 1. When at least one pending task is determined for the second time, the change trend of the first task volume of Task 1 is at a low point; the resource demand situation is determined based on the change trend of the first task volume of Task 1, the alternative resource demand, and the alternative tasks; when it is determined based on the resource demand situation that there is no target resource demand, that is, only 20 services 1 deployed in containers 1 are needed to complete the processing of the alternative tasks of Task 1, and no additional containers 1 need to be deployed. At this time, the remaining 30 idle containers 1 occupy 60 units of computing power resources; when there are other task demands, the idle containers need to be recycled. When it is determined based on the determined other demands that there are other resource demands, 30 idle containers 1 are recycled to release 60 units of computing power resources. The computing power resources are updated to the target idle resources; in the case that there are various alternative task types that are not too high priority task types in at least one alternative task type, task 2 with the highest alternative priority is determined from the various alternative task types and updated to the high priority task type, and 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 demand situation is determined; when the target resource demand is determined to be the demand to deploy 20 containers according to the resource demand situation, 60 units of computing power resources in the target idle resources are occupied to deploy 20 containers 2, 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.When at least one pending task 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 at a low point; determine the resource demand situation based on the first task volume change trend of Task 2, the alternative resource demand, and the alternative tasks; when it is determined based on the resource demand situation that there is no target resource demand, that is, only 10 of the 20 containers 2 deployed by Service 2 can complete the processing of the alternative tasks of Task 2, and no additional container 2 needs 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 demands; when there are other task demands corresponding to Task 1 and the idle containers 2 meet the other task demands, since Service 1 only needs to occupy 2 units of computing power resources, computing resources, and container 2 occupies 3 units of computing resources, the idle container 2 can be left unused, and only the corresponding number of services 1 need to be deployed in the idle container 2, and the alternative tasks of task 1 need to be processed through service 1 to save the time cost of container recycling and new construction; when there are other task requirements and the idle container 2 does not meet the requirements of other tasks, because the number of containers required by task 1 is greater than the number of idle containers 2, or when container 3 corresponding to task 3 occupies 4 units of computing resources, the computing resources of the deployed containers that are not occupied do not meet the requirements of other tasks corresponding to task 3, the idle container 2 needs to be recycled to release 30 units of computing resources to be updated as 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 containerization design, using intelligent scheduling and distributed processing.
[0139] The above scheme of the embodiment of the present invention can significantly improve resource utilization. Specifically, it can increase the overall utilization of the GPU cluster by 40-50% by accurately capturing and utilizing computing power resources, and can effectively carry thousands of QPS-level additional tasks during the low period of the GPU cluster without affecting its core business; it can also greatly accelerate data processing efficiency. Specifically, it can utilize the parallel processing capability 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, support the rapid deployment and recovery of tasks to be processed through containerized design, and 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 the existing GPU, the need to configure additional hardware specifically for data cleaning tasks waiting for processing tasks is reduced. Automated task scheduling and execution greatly reduce manual intervention, reduce operation and maintenance costs and human errors. In summary, the above-mentioned solution not only solves the problem of utilizing tidal computing resources of GPU inference clusters through innovative intelligent middleware systems and supporting technologies, but also provides an efficient, flexible and economical way to handle large-scale pending tasks, ensuring the stable operation of core businesses, while significantly improving overall resource utilization and data processing capabilities.
[0140] Figure 4 This is a structural block diagram of a computing resource scheduling device provided in an embodiment of the present invention, and the device is used to execute the computing resource scheduling method provided in any of the above embodiments. The device and the computing resource scheduling method of the above embodiments belong to the same inventive concept. For details not described in detail in the embodiment of the computing resource scheduling device, please refer to the embodiment of the above computing resource scheduling method. Figure 4 The device may specifically include: an alternative resource demand acquisition module 410, an alternative task determination module 420 and a computing power resource scheduling module 430 to be scheduled.
[0141] Among them, the alternative resource demand acquisition module 410 is used to obtain the alternative priority and alternative resource demand corresponding to 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; the alternative task determination module 420 is used to determine at least one pending task to be processed by at least one graphics processing unit, and the target task type corresponding to at least one pending task, and determine the alternative task corresponding to each alternative task type from at least one pending task according to the target task type corresponding to at least one pending task; 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 demands corresponding to at least one alternative task type.
[0142] Optionally, the computing power resource scheduling module 430 may include: a high priority task type as a sub-module, used to determine an alternative task type with the highest alternative priority from at least one alternative task type as the high priority task type; a first computing power resource scheduling sub-module to be scheduled, used to 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.
[0143] Optionally, based on the above-mentioned device, the first computing power resource scheduling submodule to be scheduled may include: a resource demand situation determination unit, used to determine the resource demand situation based on the alternative tasks and alternative resource requirements of the high-priority task type; the first computing power resource scheduling unit to be scheduled, used to schedule the computing power resources to be scheduled of at least one graphics processing unit according to the target idle resources and the target resource demand after determining the target resource demand based on the resource demand situation, wherein the target resource demand is the demand for computing power resources for processing the alternative tasks of the high-priority task type.
[0144] Optionally, based on the above-mentioned device, the first computing power resource scheduling unit to be scheduled may include: a first deployment container deployment sub-unit, which is used to occupy the first deployment resource 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 resource, so as to deploy the first service corresponding to the high-priority task type in the first deployment container, and process alternative tasks of the high-priority task type through the first service, wherein the first deployment resource meets the target resource requirements.
[0145] Optionally, based on the above-mentioned device, the target idle resources include computing power resources occupied by a second deployment container, 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, and the second deployment container includes a second deployment resource; the first computing power resource scheduling unit to be scheduled may include: a second service deployment subunit, which is used to deploy a second service corresponding to the high-priority task type 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.
[0146] Optionally, based on the above-mentioned device, the computing power resources to be scheduled of at least one graphics processing unit include target idle resources and deployed resources, and the deployed resources are computing power resources occupied by deployed containers; the first computing power resource scheduling unit to be scheduled may include: a third deployed container deployment sub-unit, which is used to recycle the recycling container in the deployed container according to the alternative priority corresponding to at least one alternative task type when the target idle resources do not meet the target resource requirements, so as to release the released resources corresponding to the recycling container in the deployed resources, and occupy the target idle resources and the released resources, and deploy a third deployed container, wherein the resources of the released resources and the target idle resources meet the target resource requirements, and the third deployed container is used to deploy a third service corresponding to a high-priority task type, and the third service is used to process alternative tasks of the high-priority task type.
[0147] Optionally, based on the above-mentioned device, the device may further include: a first computing power resource scheduling submodule to be scheduled, and may further include: other demand situation determination unit, which is used to determine other tasks except the alternative tasks of the high-priority task type in at least one task to be processed according to the priority order when it is determined that there is no target resource demand according to the resource demand situation, and determine other demand situations according to the alternative resource demands corresponding to other tasks and at least one alternative task type; a computing power resource release unit, which is used to recycle the idle containers corresponding to the high-priority task type when it is determined that there are other resource demands according to other demand situations, so as to release the computing power resources occupied by the idle containers in the target idle resources.
[0148] Optionally, based on the above-mentioned device, the device may also include: a first task volume change trend acquisition module, used to obtain the first task volume change trend of the high-priority task type; a resource requirement situation determination unit, including: a resource requirement situation determination subunit, used to determine the resource requirement situation according to the first task volume change trend of the high-priority task type, alternative resource requirements and alternative tasks.
[0149] Optionally, based on the above-mentioned device, the device may also include: a target idle resource update module, which is used to update the target idle resources according to the obtained scheduling results after 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; a repeated execution module, which is used to determine the alternative task type with the highest alternative priority from among the alternative task types, update it to the high-priority task type, and repeat the step of 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.
[0150] Optionally, based on the above-mentioned device, the first to-be-scheduled computing power resource scheduling submodule may include: a second task volume change trend acquisition unit, used to obtain the second task volume change trend corresponding to at least one alternative task type; a second to-be-scheduled computing power resource scheduling unit, used to schedule the to-be-scheduled computing power resources of at least one graphics processing unit according to the second task volume change trend 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.
[0151] Optionally, based on the above-mentioned device, the first to-be-scheduled computing power resource scheduling submodule may include: a second interrupt attribute acquisition unit, used to acquire the first interrupt attribute of the high-priority task type and / or the second interrupt attribute corresponding to at least one alternative task type, wherein 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; a third to-be-scheduled computing power resource scheduling unit, used to schedule 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 attribute 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.
[0152] Optionally, the computing power resource scheduling module 430 may include: a third task volume change trend acquisition submodule, used to obtain the third task volume change trend corresponding to at least one alternative task type; a second computing power resource scheduling submodule, used to schedule the computing power resources to be scheduled of at least one graphics processing unit according to the target idle resources, and alternative tasks, alternative priorities, alternative resource requirements and third task volume change trend corresponding to at least one alternative task type.
[0153] The computing power resource scheduling device provided by the embodiment of the present invention obtains the alternative priority and alternative resource demand corresponding to at least one alternative task type that can be processed by at least one graphics processing unit through the alternative resource demand acquisition module, and the alternative priority and alternative resource demand are used to realize computing power resource scheduling; through the alternative task determination module, 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 are determined, and according to the target task type corresponding to at least one to-be-processed task, the alternative task corresponding to each alternative task type is determined from at least one to-be-processed task, thereby obtaining the alternative task corresponding to each alternative task type; then, through the to-be-scheduled computing power resource scheduling module, the target idle resources of at least one graphics processing unit are determined, and according to the target idle resources and the alternative tasks, alternative priorities and alternative resource demands corresponding to at least one alternative task type, the to-be-scheduled computing power resources of at least one graphics processing unit are scheduled, thereby realizing computing power resource scheduling of at least one graphics processing unit. The above-mentioned device schedules the computing resources of at least one graphics processing unit through target idle resources, and alternative tasks, alternative priorities and alternative resource requirements corresponding to at least one alternative task type, thereby effectively scheduling the computing resources to be scheduled of at least one graphics processing unit.
[0154] The computing power resource scheduling device provided in the embodiment of the present invention can execute the computing power resource scheduling method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.
[0155] It is worth noting that in the embodiment of the above-mentioned computing resource scheduling device, the various units and modules included are only divided according to functional logic, but are not limited to the above-mentioned division, as long as the corresponding functions can be achieved; in addition, the specific names of the functional units are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of the present invention.
[0156] Figure 5 A schematic diagram of the structure of an electronic device 10 that can be used to implement an embodiment of the present invention is shown. 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 processing, 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 merely examples and are not intended to limit the implementation of the present invention described and / or required herein.
[0157] like Figure 5As shown, the electronic device 10 includes at least one processor 11, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 11 can perform 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 to 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. The input / output (I / O) interface 15 is also connected to the bus 14.
[0158] A number of 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 disk, 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 may be a variety of general and / or special 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 special 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 a computing resource scheduling method.
[0160] In some embodiments, the computing power resource scheduling method may be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on 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 may be performed. Alternatively, in other embodiments, the processor 11 may be configured to execute the computing power resource scheduling method in any other appropriate manner (e.g., by means of firmware).
[0161] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0162] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine as a stand-alone software package and partially on a remote machine, or entirely on a remote machine or server.
[0163] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, device, or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, 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 disk 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 may be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).
[0165] The systems and techniques described herein may be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.
[0166] A computing system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.
[0167] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.
[0168] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims
1. A computing resource scheduling method, characterized in that: include: Acquire candidate priorities and candidate resource requirements respectively corresponding to at least one candidate task type, wherein the candidate task type is a type of task that can be processed by at least one graphics processing unit; Determine at least one pending task to be processed by the at least one graphics processing unit, and a target task type respectively corresponding to the at least one pending task, and determine, from the at least one pending task, a candidate task corresponding to each of the candidate task types according to the target task type respectively corresponding to the at least one pending task; Determine the target idle resources of the at least one graphics processing unit, and schedule the computing power resources to be scheduled 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 at least one of the alternative task types.
2. The method according to claim 1, characterized in that The step of scheduling the computing power resources to be scheduled of the at least one graphics processing unit according to the target idle resources and the candidate tasks, the candidate priorities and the candidate resource requirements respectively corresponding to at least one of the candidate task types includes: Determine, from at least one of the candidate task types, a candidate task type with the highest candidate priority as the high priority task type; The computing resources to be scheduled of the at least one graphics processing unit are scheduled according to the target idle resources and the alternative tasks and resource requirements of the high-priority task type.
3. The method according to claim 2, characterized in that The step of scheduling the computing power resources to be scheduled of the at least one graphics processing unit according to the target idle resources and the candidate tasks and the candidate resource requirements of the high-priority task type includes: Determining resource requirements based on the alternative tasks and alternative resource requirements of the high-priority task type; When the target resource demand is determined according to the resource demand situation, the computing resources to be scheduled of the at least one graphics processing unit are scheduled according to the target idle resources and the target resource demand, wherein the target resource demand is the demand for computing resources for alternative tasks to process the high-priority task type.
4. The method according to claim 3, characterized in that: The step of scheduling the computing resources to be scheduled of the at least one graphics processing unit according to the target idle resources and the target resource demand includes: In the case where the target idle resources meet the target resource requirements, a first deployment resource in the target idle resources is occupied, and a first deployment container is deployed based on the first deployment resource, so as to deploy a first service corresponding to the high-priority task type in the first deployment container, and process alternative tasks of the high-priority task type through the first service, wherein the first deployment resource meets the target resource requirements.
5. The method according to claim 3, characterized in that: The target idle resources include computing resources occupied by a second deployment container, the second deployment container is a container corresponding to other task types except the high-priority task type in at least one of the candidate task types, and the second deployment container includes second deployment resources; The step of scheduling the computing resources to be scheduled of the at least one graphics processing unit according to the target idle resources and the target resource demand includes: In a case where the second deployed resources meet the target resource requirements, a second service corresponding to the high priority task type is deployed using the second deployed resources, so as to process candidate tasks of the high priority task type through the second service based on the second deployed resources.
6. The method according to claim 3, characterized in that The computing resources to be scheduled of the at least one graphics processing unit include the target idle resources and deployed resources, and the deployed resources are computing resources occupied by deployed containers; The step of scheduling the computing resources to be scheduled of the at least one graphics processing unit according to the target idle resources and the target resource demand includes: In the case that the target idle resources do not meet the target resource requirements, according to the alternative priorities corresponding to at least one of the alternative task types, a recycling container in the deployed containers is recycled to release the released resources corresponding to the recycling container in the deployed resources, and the target idle resources and the released resources are occupied to deploy a third deployment container, wherein the resource 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.
7. The method according to claim 3, characterized in that The step of scheduling the computing power resources to be scheduled of the at least one graphics processing unit according to the target idle resources and the candidate tasks and the candidate resource requirements of the high-priority task type further includes: When it is determined according to the resource demand situation that the target resource demand does not exist, determining other tasks in the at least one task to be processed except the candidate tasks of the high-priority task type according to the priority order, and determining other demand situations according to the candidate resource demands respectively corresponding to the other tasks and at least one of the candidate task types; When it is determined that there are other resource demands according to the other demand conditions, the idle container corresponding to the high-priority task type is recycled to release the computing power resources occupied by the idle container in the target idle resources.
8. The method according to claim 3, characterized in that Also includes: Obtaining a first task volume change trend of the high priority task type; The determining of resource requirements according to the candidate tasks and the candidate resource requirements of the high priority task type includes: The resource demand situation is determined according to the first task volume change trend of the high-priority task type, the alternative resource demand and the alternative tasks.
9. The method according to claim 2, characterized in that: After scheduling the computing resources to be scheduled of the at least one graphics processing unit according to the target idle resources and the candidate tasks and the candidate resource requirements of the high-priority task type, the method further includes: According to the obtained scheduling result, updating the target idle resources; In the case that among at least one of the alternative task types, there are alternative task types that are not of too high a priority, the alternative task type with the highest alternative priority is determined from among the alternative task types, updated to a high-priority task type, and the step of scheduling the computing resources to be scheduled 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 is repeated.
10. The method according to claim 9, characterized in that The step of scheduling the computing power resources to be scheduled of the at least one graphics processing unit according to the target idle resources and the candidate tasks and the candidate resource requirements of the high-priority task type includes: Obtain a second task volume change trend corresponding to at least one of the candidate task types; The computing resources to be scheduled of the at least one graphics processing unit 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 and alternative resource requirements of the high-priority task type.
11. The method according to claim 2, characterized in that The step of scheduling the computing power resources to be scheduled of the at least one graphics processing unit according to the target idle resources and the candidate tasks and the candidate resource requirements of the high-priority task type includes: Obtaining a first interrupt attribute of the high-priority task type and / or a second interrupt attribute corresponding to at least one of the alternative task types, wherein the first interrupt attribute indicates whether the processing of the alternative task of the high-priority task type is interruptible, and the second interrupt attribute indicates whether the processing of the alternative task of the corresponding alternative task type is interruptible; The computing power resources to be scheduled of the at least one graphics processing unit are scheduled according to the second interrupt attribute corresponding to the first interrupt attribute and / or at least one of the alternative task types, the target idle resources, and the alternative tasks and alternative resource requirements of the high-priority task type.
12. The method according to claim 1, characterized in that The step of scheduling the computing power resources to be scheduled of the at least one graphics processing unit according to the target idle resources and the candidate tasks, the candidate priorities and the candidate resource requirements respectively corresponding to at least one of the candidate task types includes: Obtaining a third task volume change trend corresponding to at least one of the candidate task types; The computing resources to be scheduled of the at least one graphics processing unit are scheduled according to the target idle resources, and the alternative tasks, alternative priorities, alternative resource requirements and third task volume change trends respectively corresponding to at least one of the alternative task types.
13. A computing resource scheduling device, characterized in that: include: An alternative resource requirement acquisition module, used to acquire alternative priorities and alternative resource requirements respectively corresponding to at least one alternative task type, wherein the alternative task type is a 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 pending task to be processed by the at least one graphics processing unit, and a target task type respectively corresponding to at least one of the pending tasks, and determine, from at least one of the pending tasks, an alternative task corresponding to each of the candidate task types according to the target task type respectively corresponding to the at least one pending task; The computing power resource scheduling module to be scheduled is used to determine the target idle resources of the at least one graphics processing unit, and schedule the computing power resources to be scheduled 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 at least one of the alternative task types.
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
GPU task queue management method, system and device
CN119003149A
Task processing method, electronic device, and computer program product
US20210303344A1