Calculation power resource scheduling method and device and computer equipment

By analyzing the orchestration tasks to be processed, the matching evaluation of the pre-selected computing resources is achieved, the problem of low utilization rate of computing resources in the existing technology is solved, and the utilization rate of resources is improved.

CN120216148APending Publication Date: 2025-06-27ZHEJIANG DAHUA TECH CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202510368710.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-26
Publication Date
2025-06-27

AI Technical Summary

Technical Problem

The existing computing resource scheduling methods have the problem of low computing resource utilization, because the same computing resource can only load another task after the current task is loaded.

Method used

By obtaining the orchestration tasks to be processed, determining their respective analysis time periods and pre-selected computing resources, and based on the usage distribution of pre-selected computing resources, the matching evaluation results of the pending tasks between each analysis time period and the computing resources are calculated, and then the computing resources are accurately scheduled.

Benefits of technology

Time-sharing reuse of computing power resources is realized, the utilization rate of computing power resources is improved, and the problem of low utilization rate of computing power resources in the existing technology is solved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120216148A_ABST
    Figure CN120216148A_ABST
Patent Text Reader

Abstract

The invention relates to a computing power resource scheduling method and device and computer equipment. The method comprises the following steps: acquiring a to-be-processed arrangement task; determining each analysis time period and each preselected computing power resource of the to-be-processed orchestration task based on the acquired task information of the to-be-processed orchestration task; determining a matching evaluation result between the to-be-processed orchestration task and each preselected computing power resource in each analysis time period based on the use distribution condition of each preselected computing power resource; matching the evaluation result, and representing the computing power resource utilization rate of processing the orchestration task by adopting the pre-selected computing power resource; and scheduling each computing power resource based on a matching evaluation result between the to-be-processed orchestration task and each pre-selected computing power resource in each analysis time period. By adopting the method, the problem of low computing power resource utilization rate due to the fact that the same computing power resource can load another task only after the current task is loaded in the existing computing power resource scheduling method can be solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and particularly to a scheduling method, device, and computer equipment for computing power resources. Background Art

[0002] With the development of computer technology, intelligent analysis technology has also developed rapidly. With the rapid development of intelligent analysis technology, its business scenarios have gradually increased. Correspondingly, the algorithms corresponding to the business scenarios will also increase. Generally, the computing power resources of a computer are limited. When the limited computing power resources cannot load all the algorithms, it is necessary to schedule the computing power resources to meet the requirements of the current business scenario.

[0003] The existing scheduling methods for computing power resources mainly determine the loading status of each computing power resource in real time and arrange the free computing power resources to load the algorithms corresponding to the tasks in the task queue according to the order of the task queue. However, in this kind of scheduling method for computing power resources, the same computing power resource can only load another task after completing the current task, resulting in the problem of low utilization rate of computing power resources.

[0004] The existing scheduling methods for computing power resources have the problem of low utilization rate of computing power resources because the same computing power resource can only load another task after completing the current task, and there is currently no effective solution. Summary of the Invention

[0005] Based on this, it is necessary to provide a scheduling method, device, and computer equipment for computing power resources to solve the above technical problems.

[0006] In a first aspect, this application provides a scheduling method for computing power resources. The method includes:

[0007] Obtain an orchestration task to be processed;

[0008] Based on the task information of the obtained orchestration task to be processed, determine each analysis time period and each preselected computing power resource of the orchestration task to be processed; the preselected computing power resource is the computing power resource corresponding to the algorithm specified by the orchestration task to be processed;

[0009] Based on the usage distribution of each preselected computing power resource, determine the matching evaluation result between the orchestration task to be processed and each preselected computing power resource in each analysis time period; the matching evaluation result is the utilization rate of the computing power resource indicating that the preselected computing power resource is used to process the orchestration task to be processed during the analysis time period;

[0010] Schedule each of the computing power resources based on the matching evaluation results between the to-be-processed scheduling task and each of the preselected computing power resources during each analysis time period.

[0011] In one embodiment, determining each analysis time period and each preselected computing power resource of the to-be-processed scheduling task based on the obtained task information of the to-be-processed scheduling task includes:

[0012] Based on the task information of the to-be-processed scheduling task, determine each of the analysis time periods of the to-be-processed scheduling task, and the algorithm specified by the to-be-processed scheduling task;

[0013] Based on the algorithm specified by the to-be-processed scheduling task, determine the type of computing power resource corresponding to the to-be-processed scheduling task;

[0014] Based on the type of computing power resource corresponding to the to-be-processed scheduling task, determine each of the preselected computing power resources.

[0015] In one embodiment, before determining the matching evaluation results between the to-be-processed scheduling task and each of the preselected computing power resources during each analysis time period based on the usage distribution of each of the preselected computing power resources, it includes:

[0016] Collect computing power resources for each of the preselected computing power resources to obtain the usage distribution of each of the preselected computing power resources.

[0017] In one embodiment, determining the matching evaluation results between the to-be-processed scheduling task and each of the preselected computing power resources during each analysis time period based on the usage distribution of each of the preselected computing power resources includes:

[0018] Perform sharding processing on each of the preselected computing power resources according to a preset time length to obtain the sharding results of each of the preselected computing power resources; the preset time length is less than or equal to the time length of the minimum analysis time period of the to-be-processed scheduling task;

[0019] Based on the sharding results of each of the preselected computing power resources, determine the sharding information of each of the preselected computing power resources that needs to be occupied during each analysis time period of the to-be-processed scheduling task;

[0020] Based on the sharding information of each of the preselected computing power resources that needs to be occupied during each analysis time period of the to-be-processed scheduling task, and the usage distribution of each of the preselected computing power resources, determine the matching evaluation results between the to-be-processed scheduling task and each of the preselected computing power resources during each analysis time period.

[0021] In one embodiment, determining the matching evaluation results between the to-be-processed scheduling task and each of the preselected computing power resources in each analysis time period includes: the sharding information of each of the preselected computing power resources required to be occupied in each analysis time period of the to-be-processed scheduling task, and the usage distribution of each of the preselected computing power resources.

[0022] Based on the sharding information of each of the preselected computing power resources required to be occupied in each analysis time period of the to-be-processed scheduling task, and the usage distribution of each of the preselected computing power resources, determining the algorithm loading information of each target shard of each of the preselected computing power resources; the target shard is the shard of the preselected computing power resource occupied in each analysis time period of the to-be-processed scheduling task.

[0023] Based on the algorithm loading information of each target shard of each of the preselected computing power resources, determining the matching evaluation results between the to-be-processed scheduling task and each of the preselected computing power resources in each analysis time period.

[0024] In one embodiment, determining the matching evaluation results between the to-be-processed scheduling task and each of the preselected computing power resources in each analysis time period based on the algorithm loading information of each target shard of each of the preselected computing power resources includes:

[0025] Based on the algorithm loading information of each target shard of each of the preselected computing power resources, determining whether an algorithm is loaded on each target shard of each of the preselected computing power resources;

[0026] When the algorithm loaded on the target shard of the preselected computing power resource is the same as the algorithm specified by the to-be-processed scheduling task, determining the remaining computing power of each target shard of the preselected computing power resource that loads the algorithm; when the remaining computing power of each target shard of the preselected computing power resource that loads the algorithm is greater than the computing power required to be occupied by the to-be-processed scheduling task in the time interval corresponding to the target shard, determining the quotient of the required computing power and the minimum value of the remaining computing power of each target shard of the preselected computing power resource as the matching evaluation result between the to-be-processed scheduling task and the preselected computing power resource in each analysis time period; the required computing power is the computing power required to be occupied by the to-be-processed scheduling task in the time interval corresponding to the target shard where the minimum value of the remaining computing power is located.

[0027] When none of the target shards of the preselected computing power resources load an algorithm, or when the algorithm loaded by the target shards of the preselected computing power resources is different from the algorithm specified by the to-be-processed scheduling task, determine the available computing power of the target shards of each preselected computing power resource that do not load an algorithm; when the available computing power of each target shard of the preselected computing power resource that does not load an algorithm is greater than the computing power that the to-be-processed scheduling task needs to occupy during the time interval corresponding to the target shard, determine the quotient of the required computing power and the minimum value of the remaining computing power of each target shard of the preselected computing power resource as the matching evaluation result between the to-be-processed scheduling task and the preselected computing power resource in each analysis time period.

[0028] In one embodiment, scheduling each computing power resource based on the matching evaluation result between the to-be-processed scheduling task and each preselected computing power resource in each analysis time period includes:

[0029] Match the preselected computing power resource corresponding to the best matching evaluation result between the to-be-processed scheduling task and each preselected computing power resource in each analysis time period with the analysis time period of the to-be-processed scheduling task to obtain the computing power resources matched by the to-be-processed scheduling task in each analysis time period;

[0030] Based on the computing power resources matched by the to-be-processed scheduling task in each analysis time period, obtain the asynchronous processing queues of each computing power resource;

[0031] Schedule each computing power resource based on the asynchronous processing queues of each computing power resource.

[0032] In one embodiment, after scheduling each computing power resource based on the matching evaluation result between the to-be-processed scheduling task and each preselected computing power resource in each analysis time period, it includes:

[0033] Scan the execution status of the to-be-processed scheduling task in the analysis time period in the asynchronous processing queue of each computing power resource according to a preset time period;

[0034] If the to-be-processed scheduling task in the asynchronous processing queue of each computing power resource is not executed in the analysis time period, then use the computing power resource corresponding to the best matching result between each analysis time period of the to-be-processed scheduling task and each preselected computing power resource to execute the to-be-processed scheduling task;

[0035] If the scheduling tasks to be processed in the asynchronous processing queues of the computing power resources are executed outside the analysis time period, the execution of the scheduling tasks is stopped.

[0036] In a second aspect, the present application further provides a scheduling device for computing power resources. The device includes:

[0037] A task acquisition module, configured to acquire scheduling tasks to be processed;

[0038] A first determination module, configured to determine, based on the task information of the scheduling tasks to be processed obtained, each analysis time period and each preselected computing power resource of the scheduling tasks to be processed; the preselected computing power resource is the computing power resource corresponding to the algorithm specified by the scheduling tasks to be processed;

[0039] A second determination module, configured to determine, based on the usage distribution of each of the preselected computing power resources, a matching evaluation result between the scheduling tasks to be processed and each of the preselected computing power resources in each analysis time period; the matching evaluation result is the computing power resource utilization rate representing the use of the preselected computing power resource to process the scheduling tasks to be processed during the analysis time period;

[0040] And a scheduling module, configured to schedule each of the computing power resources based on the matching evaluation result between the scheduling tasks to be processed and each of the preselected computing power resources in each analysis time period.

[0041] In a third aspect, the present application further provides a computer device. The computer device includes a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, it implements the scheduling method for computing power resources described in the first aspect above.

[0042] The above-mentioned scheduling method, device and computer equipment for computing power resources obtain the scheduling tasks to be processed, and determine each analysis time period and each preselected computing power resource of the scheduling tasks to be processed based on the task information of the obtained scheduling tasks to be processed. Furthermore, based on the usage distribution of each preselected computing power resource, the matching evaluation results between the scheduling tasks to be processed and each preselected computing power resource in each analysis time period are determined. Through the matching evaluation results between the scheduling tasks to be processed and each preselected computing power resource in each analysis time period, and then based on the computing power resource utilization rate in each analysis time period, each preselected computing power resource is accurately scheduled. Since the computing power resources are scheduled according to the analysis time period of the scheduling tasks to be processed, different computing power resources can be used to load different analysis time periods of the same scheduling task to be processed. The same computing power resource can load another task without waiting for the current scheduling task to be processed to complete, realizing the time-sharing multiplexing of computing power resources and improving the utilization rate of computing power resources. It solves the problem of low utilization rate of computing power resources existing in the existing scheduling method of computing power resources, because the same computing power resource can only load another task after the current task is loaded and completed.

[0043] Details of one or more embodiments of the present application are set forth in the following drawings and description to make other features, objects, and advantages of the present application more concise and understandable. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] The drawings described herein are used to provide a further understanding of the present application and form a part of the present application. The illustrative embodiments and descriptions thereof of the present application are used to explain the present application and do not constitute an improper limitation of the present application. In the drawings:

[0045] Figure 1 It is a hardware structure block diagram of a terminal for the scheduling method of computing power resources provided by an embodiment of the present application;

[0046] Figure 2 It is a flowchart of the scheduling method of computing power resources provided by an embodiment of the present application;

[0047] Figure 3 It is a flowchart of the scheduling method of computing power resources provided by a preferred embodiment of the present application;

[0048] Figure 4 It is a structure block diagram of the scheduling device for computing power resources provided by an embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0049] To more clearly understand the purpose, technical solution and advantages of the present application, the present application will be described and explained below with reference to the drawings and embodiments.

[0050] Unless otherwise defined, technical or scientific terms used in this application shall have the ordinary meanings understood by those of ordinary skill in the technical field to which this application belongs. In this application, words such as "a", "an", "one kind", "the", "these", etc. do not indicate a limitation in quantity and can be singular or plural. The terms "including", "containing", "having" and any variants thereof used in this application are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device that includes a series of steps or modules (units) is not limited to the listed steps or modules (units), but may include unlisted steps or modules (units), or may include other steps or modules (units) inherent in these processes, methods, products or devices. The terms "connected", "coupled", etc. used in this application do not limit to physical or mechanical connections, but may include electrical connections, whether direct or indirect. The term "plurality" used in this application means two or more. "And / or" describes the relationship between associated objects and indicates that three relationships may exist. For example, "A and / or B" may mean: A exists alone, A and B exist simultaneously, and B exists alone. Usually, the character " / " indicates that the objects associated before and after are in an "or" relationship. The terms "first", "second", "third", etc. used in this application only distinguish similar objects and do not represent a specific order for the objects.

[0051] The method embodiment provided in this embodiment can be executed on a terminal, a computer, or a similar computing device. For example, when running on a terminal, Figure 1 is a hardware structure block diagram of the terminal for the scheduling method of computing power resources in this embodiment. As Figure 1 shown, the terminal may include one or more ( Figure 1 only one is shown in the figure) processors 102 and a memory 104 for storing data. Among them, the processor 102 may include, but is not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA. The above terminal may also include a transmission device 106 for communication functions and an input / output device 108. Those of ordinary skill in the art can understand that Figure 1 the structure shown is only schematic and does not limit the structure of the above terminal. For example, the terminal may also include more or fewer components than those shown in Figure 1 the figure, or have a different configuration from that shown in Figure 1 the figure.

[0052] The memory 104 can be used to store computer programs, such as software programs and modules of application software, such as the computer program corresponding to the scheduling method of computing power resources in this embodiment. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, the above-mentioned method is implemented. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memories, or other non-volatile solid-state memories. In some instances, the memory 104 may further include a memory remotely disposed relative to the processor 102, and these remote memories may be connected to the terminal through a network. Examples of the above network include but are not limited to the Internet, enterprise intranet, local area network, mobile communication network, and combinations thereof.

[0053] The transmission device 106 is used to receive or send data via a network. The above network includes a wireless network provided by a communication provider of the terminal. In one instance, the transmission device 106 includes a network adapter (Network Interface Controller, abbreviated as NIC), which can be connected to other network devices through a base station and thus can communicate with the Internet. In one instance, the transmission device 106 may be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0054] In this embodiment, a scheduling method for computing power resources is provided. Figure 2 is a flowchart of the scheduling method for computing power resources in this embodiment, as Figure 2 shown, the process includes the following steps:

[0055] Step S210, obtain the scheduling task to be processed.

[0056] The above scheduling task may be a video analysis task specifying a video source, an algorithm, and an analysis time period. Specifically, the above scheduling task may further specify multiple algorithms and multiple analysis time periods. For example, a certain scheduling task specifies analyzing video data in video source A, specifying the use of algorithm B to execute, and specifying to execute from 10:00 to 18:00 every day. The specified video source may be the video source that needs to be loaded and analyzed, and the specific video source can be determined according to the specific application scenario. For example, the above video source may be one or more of a local storage file, a real-time stream of a network camera, a certain video stream uploaded to the Internet, etc. The above algorithm may be a program designed to solve a certain business scenario and meet the analysis requirements of the current application. For example, the above algorithm may be a line intrusion algorithm in a line detection scenario, a flame monitoring algorithm in a fire risk warning scenario, a pedestrian detection algorithm in a pedestrian target recognition scenario, an emotion recognition algorithm in an emotion analysis scenario, etc., one or more of them.

[0057] In a specific application scenario, when an orchestration task is scheduled (i.e., when the scheduling module receives a user's task request, parses the task request, and obtains the orchestration task), the scheduling module will select computing power resources according to the algorithm specified in the orchestration task and the specified analysis time period, and then use the selected computing power resources to load the algorithm package where the algorithm is located, and perform video analysis on the data in the analysis video source specified in the orchestration task during the specified analysis time period. The above computing power resources, which can be simply referred to as computing power, can be intelligent hardware for intelligent analysis, such as tesla T4 cards or atlas cards, etc. Since there are multiple analysis time periods in the orchestration task, when allocating computing power resources, it is necessary to allocate computing power resources for each analysis time period respectively. For example, for a certain orchestration task, it is specified to perform analysis at 6:00-12:00 on Monday, Wednesday, and Friday respectively, then the computing power resources are allocated for 6:00-12:00 on Monday, 6:00-12:00 on Wednesday, and 6:00-12:00 on Friday respectively.

[0058] The above algorithm package can be a program package integrated with an algorithm. The above algorithm package can be loaded by an intelligent card (computing power resource) to run the algorithm in the algorithm package. Among them, there may be a descriptive file in the algorithm package. The above descriptive file can describe the type of computing power resources used by the algorithm package, the required quantity of computing power resources, and the analysis capabilities that can be provided during operation, etc.

[0059] It should be noted that once a computing power resource loads a certain algorithm package, it will not be able to load other algorithm packages. However, when a computing power resource loads an algorithm package, it can simultaneously run multiple analysis tasks that use the same computing power. In addition, it should be emphasized that in order to prevent data loss, the computing power resources cannot be switched within the same analysis time period when executing the orchestration task.

[0060] The above scheduling module is in the computing power resource scheduling device, which is used to receive the user's task request, parse and obtain the orchestration task, select computing power resources according to the algorithm specified in the orchestration task, and then use the selected computing power resources to schedule the corresponding algorithm package.

[0061] Step S220: Based on the task information of the to-be-processed orchestration task obtained, determine each analysis time period and each preselected computing power resource of the to-be-processed orchestration task; the preselected computing power resource is the computing power resource corresponding to the algorithm specified in the to-be-processed orchestration task.

[0062] In this step, the above task information may include information such as the video source information, algorithm information, and each analysis time period specified in the scheduling task. Each preselected computing power resource for the scheduling task to be processed can be determined by obtaining the algorithm information in the task information of the scheduling task to be processed, determining the type of computing power resource required for the scheduling task to be processed, and then determining each computing power resource corresponding to the type of computing power resource required for the scheduling task to be processed as each preselected computing power resource for the scheduling task to be processed. For example, in an application scenario, if the algorithm information in the task information of the scheduling task to be processed is the altas algorithm, then the type of computing power resource required for the scheduling task to be processed is the altas card resource. Furthermore, each altas card resource is determined as each preselected computing power resource for the scheduling task to be processed.

[0063] Step S230: Based on the usage distribution of each preselected computing power resource, determine the matching evaluation result between the scheduling task to be processed and each preselected computing power resource in each analysis time period; the matching evaluation result is a characterization of the computing power utilization rate of using the preselected computing power resource to process the scheduling task to be processed during the analysis time period.

[0064] The above usage distribution of the preselected computing power resource may include information such as the situation of loading algorithm packages by the preselected computing power resource at each time point, and after loading the algorithm package, the total analysis ability, the already used analysis ability, and the remaining analysis ability of the computing power resource at each time point, etc. The above analysis ability can be characterized by the amount of computing power.

[0065] Among them, the above determination of the matching evaluation result between the scheduling task to be processed and each preselected computing power resource in each analysis time period may be to perform sharding processing on each preselected computing power resource according to a preset time length to obtain the sharding result of each preselected computing power resource, and based on the sharding information of each preselected computing power resource required by each analysis time period of the scheduling task to be processed and the usage distribution of each preselected computing power resource, determine the matching evaluation result between the scheduling task to be processed and each preselected computing power resource in each analysis time period. It is also possible to determine the quotient of the amount of computing power required to use the preselected computing power resource to process the scheduling task to be processed during each analysis time period and the amount of computing power that the preselected computing power resource can provide during each analysis time period as the matching evaluation result between the scheduling task to be processed and each preselected computing power resource in each analysis time period.

[0066] Step S240: Based on the matching evaluation result between the scheduling task to be processed and each preselected computing power resource in each analysis time period, schedule each computing power resource.

[0067] In this step, the scheduling of the above-mentioned computing power resources can be a process of scheduling corresponding algorithm packages to the computing power resources to run corresponding algorithms according to the task queues of the computing power resources and the different scheduling tasks corresponding to different time periods of the task queues. The task queues of the above-mentioned computing power resources can be obtained by pre-assigning the computing power resources according to the matching relationship between the analysis time period of the scheduling task to be processed and the computing power resources.

[0068] In the above steps S210 to S240, by obtaining the scheduling task to be processed and based on the task information of the obtained scheduling task to be processed, each analysis time period and each preselected computing power resource of the scheduling task to be processed are determined. Furthermore, based on the usage distribution of each preselected computing power resource, the matching evaluation results between the scheduling task to be processed and each preselected computing power resource in each analysis time period are determined. Through the matching evaluation results between the scheduling task to be processed and each preselected computing power resource in each analysis time period, and then according to the computing power resource utilization rate in each analysis time period, each preselected computing power resource is accurately scheduled. Since the computing power resources are scheduled according to the analysis time period of the scheduling task to be processed, different computing power resources can be used to load different analysis time periods of the same scheduling task to be processed. The same computing power resource does not need to wait for the scheduling task to be processed to complete before loading another task, realizing time-sharing multiplexing of computing power resources and improving the utilization rate of computing power resources. This solves the problem of low utilization rate of computing power resources in the existing computing power resource scheduling method, because the same computing power resource can only load another task after completing the current task.

[0069] Among them, in one embodiment, based on step S220, based on the task information of the obtained scheduling task to be processed, determining each analysis time period and each preselected computing power resource of the scheduling task to be processed includes:

[0070] Step S222, based on the task information of the scheduling task to be processed, determine each analysis time period of the scheduling task to be processed and the algorithm specified by the scheduling task to be processed.

[0071] The above determination of the algorithm specified by the scheduling task to be processed can be based on the algorithm information in the task information of the scheduling task to be processed to determine the algorithm specified by the scheduling task to be processed.

[0072] Step S224, based on the algorithm specified by the scheduling task to be processed, determine the type of computing power resource corresponding to the scheduling task to be processed.

[0073] In this step, for the computing power resource type corresponding to the scheduling task to be processed determined by the above-specified algorithm for the scheduling task to be processed, it may be by presetting the correspondence between the algorithm and the computing power resource type, using the algorithm specified by the scheduling task to be processed, and determining the computing power resource type corresponding to the scheduling task to be processed through the preset correspondence between the algorithm and the computing power resource type.

[0074] Step S226: Determine each preselected computing power resource based on the computing power resource type corresponding to the scheduling task to be processed.

[0075] The above determination of each preselected computing power resource based on the computing power resource type corresponding to the scheduling task to be processed may be to select all computing power resources of the corresponding type from the computing power resource management module according to the computing power resource type corresponding to the scheduling task to be processed as each preselected computing power resource. The above computing power resource management module may be a module in the computing power resource scheduling device that is used to receive the usage information of the computing power resources collected by the resource information collection module, obtain the usage distribution of each computing power resource, and provide the computing power resources.

[0076] In the above steps S222 to S226, by obtaining the task information of the scheduling task to be processed, determine each analysis time period and each preselected computing power resource of the scheduling task to be processed, which is convenient for subsequently determining the matching evaluation result between the scheduling task to be processed and each preselected computing power resource in each analysis time period.

[0077] Specifically, in one embodiment, before step S230, it includes:

[0078] Step S228: Perform computing power resource collection on each preselected computing power resource to obtain the usage distribution of each preselected computing power resource.

[0079] Specifically, performing computing power resource collection on each preselected computing power resource to obtain the usage distribution of each preselected computing power resource may be to collect the usage information of the computing power resources through the resource information collection module of the computing power resource scheduling device to obtain the usage distribution of each preselected computing power resource.

[0080] This step is convenient for determining the matching evaluation result between the scheduling task to be processed and each preselected computing power resource in each analysis time period according to the usage distribution of each preselected computing power resource by obtaining the usage distribution of each preselected computing power resource.

[0081] In addition, in one embodiment, in step S230 above, based on the usage distribution of each preselected computing power resource, determining the matching evaluation results between the scheduling tasks to be processed and each preselected computing power resource in each analysis time period includes:

[0082] Step S232: Perform slicing processing on each preselected computing power resource according to a preset time length to obtain the slicing results of each preselected computing power resource; the preset time length is less than or equal to the time length of the minimum analysis time period of the scheduling task to be processed.

[0083] In order to perform more refined scheduling of computing power resources, the computing power resources can be sliced according to a preset time length. The above preset time length can represent the granularity of the slicing process. The above preset time length can be specifically set according to specific situations and requirements, and can be adjusted according to actual needs. For example, the above preset time length can be set to 30 minutes. The slicing results of the above preselected computing power resources can be the time interval ranges of each slice obtained by dividing each preselected computing power resource according to the preset time length.

[0084] Step S234: Based on the slicing results of each preselected computing power resource, determine the slicing information of each preselected computing power resource that needs to be occupied by the scheduling task to be processed in each analysis time period.

[0085] In this step, the above determination of the slicing information of each preselected computing power resource that needs to be occupied by the scheduling task to be processed in each analysis time period can be based on the start time and end time of each analysis time period of the scheduling task to be processed to determine the slicing information of each preselected computing power resource that needs to be occupied by the scheduling task to be processed in each analysis time period. Specifically, for each analysis time period of the scheduling task to be processed, taking the slice of the preselected computing power resource where the start time of the analysis time period is located as the first slice, and the slice of the preselected computing power resource where the end time of the analysis time period is located as the last slice, all the slices from the first slice to the last slice are used as the slicing information of each preselected computing power resource that needs to be occupied by the current analysis time period of the scheduling task to be processed. For example, an analysis time period of the scheduling task to be processed is from 6:20 to 9:50 on Monday, and the slices of the preselected computing power resource are sliced every hour, and the start time of each slice is at the whole hour. That is, the slicing information of the current preselected computing power resource that needs to be occupied by the current analysis time period of the scheduling task to be processed is from 6:00 to 7:00 on Monday, from 7:00 to 8:00 on Monday, from 8:00 to 9:00 on Monday, and from 9:00 to 10:00 on Monday.

[0086] Step S236: Determine the matching evaluation results between the scheduling task to be processed and each preselected computing resource in each analysis time period based on the shard information of each preselected computing resource required to be occupied in each analysis time period of the scheduling task to be processed and the usage distribution of each preselected computing resource.

[0087] The above determination of the matching evaluation results between the scheduling task to be processed and each preselected computing resource in each analysis time period based on the shard information of each preselected computing resource required to be occupied in each analysis time period of the scheduling task to be processed and the usage distribution of each preselected computing resource may be to determine the algorithm loading information of each target shard of each preselected computing resource based on the shard information of each preselected computing resource required to be occupied in each analysis time period of the scheduling task to be processed and the usage distribution of each preselected computing resource, and then determine the matching evaluation results between the scheduling task to be processed and each preselected computing resource in each analysis time period based on the algorithm loading information of each target shard of each preselected computing resource.

[0088] In the above steps S232 to S236, each preselected computing resource is sharded according to a preset time length, and the shard information of each preselected computing resource required to be occupied in each analysis time period of the scheduling task to be processed is determined, so as to determine the matching evaluation results between the scheduling task to be processed and each preselected computing resource in each analysis time period based on the shard information of each preselected computing resource required to be occupied in each analysis time period of the scheduling task to be processed and the usage distribution of each preselected computing resource. By determining the matching evaluation results between the scheduling task to be processed and each preselected computing resource in each analysis time period, it is convenient to schedule each computing resource according to the matching evaluation results between the scheduling task to be processed and each preselected computing resource in each analysis time period subsequently.

[0089] In one embodiment, based on step S236, determining the matching evaluation results between the scheduling task to be processed and each preselected computing resource in each analysis time period based on the shard information of each preselected computing resource required to be occupied in each analysis time period of the scheduling task to be processed and the usage distribution of each preselected computing resource includes:

[0090] Step S1: Determine the algorithm loading information of each target shard of each preselected computing resource based on the shard information of each preselected computing resource required to be occupied in each analysis time period of the scheduling task to be processed and the usage distribution of each preselected computing resource; the target shard is the shard of the preselected computing resource occupied in each analysis time period of the scheduling task to be processed.

[0091] In this step, the algorithm loading information of the above-mentioned target shards may include whether there is a loading algorithm for the target shard, the algorithm loaded by the target shard, the computing power used by the target shard to load the algorithm, and the remaining computing power of the target shard.

[0092] Step S2: Based on the algorithm loading information of each target shard of each preselected computing power resource, determine the matching evaluation result between the scheduling task to be processed and each preselected computing power resource in each analysis time period.

[0093] The above-mentioned determining the matching evaluation result between the scheduling task to be processed and each preselected computing power resource in each analysis time period based on the algorithm loading information of each target shard of each preselected computing power resource may be that when there is a loading algorithm for the target shard of the preselected computing power resource and the algorithm loaded by the target shard of the preselected computing power resource is the same as the algorithm specified by the scheduling task to be processed, or when none of the target shards of the preselected computing power resource load an algorithm, or when there is a loading algorithm for the target shard of the preselected computing power resource and the algorithm loaded by the target shard of the preselected computing power resource is different from the algorithm specified by the scheduling task to be processed, the quotient of the minimum value of the remaining computing power of each target shard of the preselected computing power resource and the required computing power is determined as the matching evaluation result between the scheduling task to be processed and the preselected computing power resource in each analysis time period.

[0094] In the above steps S1 to S2, by determining the algorithm loading information of each target shard of each preselected computing power resource, and then, based on the algorithm loading information of each target shard of each preselected computing power resource, determining the matching evaluation result between the scheduling task to be processed and each preselected computing power resource in each analysis time period, it is convenient to subsequently schedule each computing power resource according to the matching evaluation result between the scheduling task to be processed and each preselected computing power resource in each analysis time period. Since the computing power resources are scheduled according to the analysis time period of the scheduling task to be processed, different computing power resources can be used to load different analysis time periods of the same scheduling task to be processed, and the same computing power resource does not need to wait for the scheduling task to be processed to complete before loading another task, realizing time-sharing multiplexing of the computing power resources and improving the utilization rate of the computing power resources. This solves the problem of low utilization rate of computing power resources in the existing computing power resource scheduling method, because the same computing power resource can only load another task after completing the current task.

[0095] In addition, in one embodiment, the above step S2, based on the algorithm loading information of each target shard of each preselected computing power resource, determining the matching evaluation result between the scheduling task to be processed and each preselected computing power resource in each analysis time period, includes:

[0096] Step S22: Based on the algorithm loading information of each target shard of each preselected computing power resource, determine whether each target shard of each preselected computing power resource has loaded the algorithm.

[0097] Step S24: When the algorithm loaded by the target shard of the preselected computing power resource is the same as the algorithm specified by the to-be-processed scheduling task, determine the remaining computing power of each target shard of the preselected computing power resource that has loaded the algorithm; when the remaining computing power of each target shard of the preselected computing power resource that has loaded the algorithm is greater than the computing power that the to-be-processed scheduling task needs to occupy within the time interval corresponding to the target shard, determine the quotient of the required computing power and the minimum value of the remaining computing power of each target shard of the preselected computing power resource as the matching evaluation result between the to-be-processed scheduling task and the preselected computing power resource in each analysis time period; the required computing power is the computing power that the to-be-processed scheduling task needs to occupy within the time interval corresponding to the target shard where the minimum value of the remaining computing power is located.

[0098] Step S26: When none of the target shards of the preselected computing power resource have loaded the algorithm, or when the algorithm loaded by the target shard of the preselected computing power resource is different from the algorithm specified by the to-be-processed scheduling task, determine the available computing power of each target shard of the preselected computing power resource that has not loaded the algorithm; when the available computing power of each target shard of the preselected computing power resource that has not loaded the algorithm is greater than the computing power that the to-be-processed scheduling task needs to occupy within the time interval corresponding to the target shard, determine the quotient of the required computing power and the minimum value of the remaining computing power of each target shard of the preselected computing power resource as the matching evaluation result between the to-be-processed scheduling task and the preselected computing power resource in each analysis time period.

[0099] In the above steps S22 to S26, when there is a target shard of the preselected computing power resource that has loaded the algorithm and the algorithm loaded by the target shard of the preselected computing power resource is the same as the algorithm specified by the to-be-processed scheduling task, or when none of the target shards of the preselected computing power resource have loaded the algorithm, or when there is a target shard of the preselected computing power resource that has loaded the algorithm and the algorithm loaded by the target shard of the preselected computing power resource is different from the algorithm specified by the to-be-processed scheduling task, determine the quotient of the minimum value of the remaining computing power of each target shard of the preselected computing power resource and the required computing power as the matching evaluation result between the to-be-processed scheduling task and the preselected computing power resource in each analysis time period, so as to realize the determination of the matching evaluation result between the to-be-processed scheduling task and the preselected computing power resource in each analysis time period. It is convenient to calculate the matching evaluation result between the to-be-processed scheduling task and the preselected computing power resource in the analysis time period when the algorithm loaded by the preselected computing power resource is consistent with the algorithm specified by the to-be-processed scheduling task or when the preselected computing power resource has not loaded the algorithm, and it is convenient to schedule each computing power resource according to the matching evaluation result.

[0100] Preferably, when there is a target shard loading algorithm for preselected computing power resources, and the algorithm loaded by the target shard of the preselected computing power resources is the same as the algorithm specified by the orchestration task to be processed, and there are preselected computing power resources that have not loaded the algorithm, the computing power resources whose loaded algorithm of the target shard is the same as the algorithm specified by the orchestration task to be processed are preferentially selected to match with the orchestration task to be processed.

[0101] In one embodiment, the matching score for using the preselected computing power resources to process the orchestration task to be processed during the analysis time period can be determined based on the usage distribution of each preselected computing power resource, and each computing power resource can be scheduled according to the matching score for using the preselected computing power resources to process the orchestration task to be processed during the analysis time period. Among them, determining the matching score for using the preselected computing power resources to process the orchestration task to be processed during the analysis time period can be based on the shard information of each preselected computing power resource that needs to be occupied during the analysis time period of the orchestration task to be processed, and the usage distribution of each preselected computing power resource, to determine the algorithm loading information of each target shard of each preselected computing power resource; based on the algorithm loading information of each target shard of each preselected computing power resource, determine the basic matching result and computing power capacity matching result between the orchestration task to be processed and each preselected computing power resource during the analysis time period; based on the basic matching result and computing power capacity matching result between the orchestration task to be processed and each preselected computing power resource during the analysis time period, determine the matching score for using the preselected computing power resources to process the orchestration task to be processed during the analysis time period.

[0102] The above determination of the matching score for using the preselected computing power resources to process the orchestration task to be processed during the analysis time period based on the basic matching result and computing power capacity matching result between the orchestration task to be processed and each preselected computing power resource during the analysis time period can be to determine the sum of the basic matching result and computing power capacity matching result between the orchestration task to be processed and each preselected computing power resource during the analysis time period as the matching score for using the preselected computing power resources to process the orchestration task to be processed during the analysis time period.

[0103] The above-mentioned basic matching results of the scheduling task to be processed with each preselected computing power resource in the analysis time period can be obtained by first determining the multiple basic matching results of the scheduling task to be processed with each target shard of the preselected computing power resource in the analysis time period, and taking the minimum value among the multiple basic matching results as the basic matching result of the scheduling task to be processed with the current preselected computing power resource in the analysis time period. Among them, the above-mentioned basic matching result is the matching score between the algorithm loading situation of the preselected computing power resource during the analysis time period and the algorithm specified by the scheduling task to be processed. Among them, the basic matching result of using the preselected computing power resource to process the scheduling task to be processed during the analysis time period can be to set the value of the basic matching result for each preselected computing power resource according to the algorithm loading situation of the preselected computing power resource during the analysis time period. Specifically, the above-mentioned determination of the multiple basic matching results of the scheduling task to be processed with each target shard of each preselected computing power resource in the analysis time period can be based on the shard information of each preselected computing power resource required to be occupied by the scheduling task in the analysis time period and the usage distribution of each preselected computing power resource to determine the algorithm loading information of each target shard of each preselected computing power resource, and based on the algorithm loading information of each target shard of each preselected computing power resource, determine the matching evaluation result between the scheduling task to be processed and each target shard of each preselected computing power resource in the analysis time period.

[0104] The following is an example to illustrate the process of determining the basic matching result of the scheduling task to be processed with the target shard of the preselected computing power resource in the analysis time period: If the algorithm loaded by the preselected computing power resource during the time period corresponding to the target shard is the same as the algorithm specified by the scheduling task to be processed, set the basic matching result of the time period corresponding to the target shard and the preselected computing power resource to 2; If no algorithm is loaded by the preselected computing power resource during the time period corresponding to the target shard, set the basic matching result of the time period corresponding to the target shard and the preselected computing power resource to 1; If the algorithm loaded by the preselected computing power resource during the time period corresponding to the target shard is different from the algorithm specified by the scheduling task to be processed, set the basic matching result of the time period corresponding to the target shard and the preselected computing power resource to 0.

[0105] The above-mentioned computing power matching result is the matching result between the remaining computing power situation of the preselected computing power resource preset during the analysis time period and the amount of computing power of the preselected computing power resource required to be occupied by the scheduling task to be processed. The specific process of determining the computing power matching result of the scheduling task to be processed with each preselected computing power resource in the analysis time period can be to determine the minimum value of the remaining computing power of each target shard of the same budget computing power based on the algorithm loading information of each target shard of each preselected computing power resource, and take the quotient of the required computing power and the minimum value of the remaining computing power as the computing power matching result of the scheduling task to be processed with each preselected computing power resource in the analysis time period.

[0106] Further, in one embodiment, based on the matching evaluation results between the to-be-processed orchestration task and each preselected computing power resource in each analysis time period in step S240, the scheduling of each computing power resource is performed, including:

[0107] Step S242: Match the preselected computing power resource corresponding to the best matching evaluation result between the to-be-processed orchestration task and each preselected computing power resource in each analysis time period with the analysis time period of the to-be-preprocessed orchestration task, so as to obtain the computing power resources matched by the to-be-processed orchestration task in each analysis time period.

[0108] In this step, by matching the preselected computing power resource corresponding to the best matching evaluation result between the to-be-processed orchestration task and each preselected computing power resource in each analysis time period with the analysis time period of the to-be-preprocessed orchestration task, the most suitable computing power resources are matched for each analysis time period of the to-be-processed orchestration task, so as to ensure the utilization rate of the computing power resources.

[0109] Step S244: Obtain the asynchronous processing queue of each computing power resource based on the computing power resources matched by the to-be-processed orchestration task in each analysis time period.

[0110] In this step, the asynchronous processing queue of the above-mentioned computing power resources can be a task queue in which the same computing power resource matches different to-be-processed orchestration tasks in different time intervals.

[0111] Step S246: Schedule each computing power resource based on the asynchronous processing queue of each computing power resource.

[0112] The above-mentioned scheduling of each computing power resource based on the asynchronous processing queue of each computing power resource can be a process of scheduling the corresponding algorithm package to the computing power resource to run the corresponding algorithm according to the asynchronous processing queue of each computing power resource and the different orchestration tasks corresponding to different time periods of the task queue.

[0113] In the above steps S242 to S246, by obtaining the computing power resources matched by the scheduling tasks to be processed in each analysis time period, and then obtaining the asynchronous processing queues of each computing power resource, and scheduling each computing power resource according to the asynchronous processing queues of each computing power resource, accurate scheduling of each preselected computing power resource is achieved. Because the computing power resources are scheduled according to the analysis time periods of the scheduling tasks to be processed, different computing power resources can be used to load different analysis time periods of the same task to be processed. The same computing power resource can load another task without waiting for the task to be processed to be completed, realizing time-sharing multiplexing of computing power resources and improving the utilization rate of computing power resources. This solves the problem of low utilization rate of computing power resources in the existing computing power resource scheduling method, because the same computing power resource can only load another task after completing the current task.

[0114] The following is an example to illustrate the matching process between the scheduling tasks to be processed and the computing power resources:

[0115] In an application scenario, the current number of computing power resources is 2, the computing power resources are R1 and R2 respectively, the number of algorithms is 3, and the algorithms are represented as A1, A2, and A3 respectively; when the computing power resource loads algorithm A1, it can analyze 1 path of data, when the computing power resource loads algorithm A2, it can analyze 2 paths of data, and when the computing power resource loads algorithm A3, it can analyze 3 paths of data. T1 represents the time interval from 0:00 to 1:00, T2 represents the time interval from 1:00 to 2:00, and so on.

[0116] First, issue the first encoding task Task1. The algorithm required for the encoding task Task1 is A1, and the execution time of the encoding task Task1 is T1 and T3. According to the scheduling logic, at this time, since all computing power resources are idle and the remaining computing power of each computing power resource is the same, a computing power resource can be randomly selected to execute this task.

[0117] If the computing power resource R1 is selected to execute the first encoding task Task1, the matching results are as shown in Table 1 below:

[0118] Table 1

[0119]

[0120] Issue the second scheduling task Task2. The algorithm required for the second scheduling task Task2 is A2, and the task execution time is T2. According to the scheduling logic, within the T2 time period, both the computing power resource R1 and the computing power resource R2 are idle, and a computing power resource can be randomly selected to execute this scheduling task.

[0121] If the computing power resource R1 is selected to execute the second encoding task Task2, the matching results are as shown in Table 2 below:

[0122] Table 2

[0123]

[0124] Since the computing power resource R1 can analyze 2 channels of data when loading the A2 algorithm, after the computing power resource R1 executes the second encoding task Task2, there is still the computing power for 1 channel of data remaining.

[0125] The third scheduling task Task3 is issued. The algorithm required for the third scheduling task Task3 is A2, and the task execution times are T2 and T4. According to the scheduling logic, this task has two execution time periods; within the T2 time period, at this time the computing power resource R1 has already loaded the algorithm A2 and there is still remaining capacity, so R1 is selected; within the T4 time period, all computing power resources are idle, and at this time a random selection can be made.

[0126] If the computing power resource R1 is selected to execute the T3 time period of the third encoding task Task3, the matching results are as shown in Table 3 below:

[0127] Table 3

[0128]

[0129]

[0130] The fourth scheduling task Task4 is issued. The algorithm required for the fourth scheduling task Task4 is A3, and the task execution times are T4, T5, and T7. At this time, since the T4 and T5 time periods are close, in order to reduce the data loss caused by task interruption due to task scheduling, the same resource is selected and bound for the T4 and T5 time periods. And the computing power resource R1 has loaded other algorithms during this time period, so the computing power resource R2 is selected for issuing; within the T7 time period, all computing power resources are idle, and at this time a random selection can be made.

[0131] If the computing power resource R1 is selected to execute the T7 time period of the fourth encoding task Task4, the matching results are as shown in Table 4 below:

[0132] Table 4

[0133]

[0134] Since the computing power resource R1 can analyze 3 channels of data when loading the A3 algorithm, after the computing power resource R1 and the computing power resource R2 execute the fourth encoding task Task4, there is still the computing power for 2 channels of data remaining.

[0135] In one embodiment, after step S240, it includes:

[0136] Step S250: Scan the execution status of the scheduling tasks to be processed in the asynchronous processing queues of each computing power resource within the analysis time period according to a preset time period.

[0137] The above preset time period can be specifically set according to specific requirements and is not specifically limited herein in this embodiment. The above execution status may include two cases: executed and not executed.

[0138] Step S260: If the scheduling tasks to be processed in the asynchronous processing queues of each computing power resource are not executed within the analysis time period, use the computing power resources corresponding to the best matching results between each analysis time period of the scheduling tasks to be processed and each preselected computing power resource to execute the scheduling tasks to be processed.

[0139] Step S270: If the scheduling tasks to be processed in the asynchronous processing queues of each computing power resource are executed outside the analysis time period, stop executing the scheduling tasks.

[0140] The above steps S250 to S270 scan the execution status of the scheduling tasks to be processed in the asynchronous processing queues of each computing power resource within the analysis time period according to a preset time period, and execute when the scheduling tasks to be processed are not executed within the analysis time period, and stop continuing to execute when they are executed outside the analysis time period, realizing that the computing power resources execute the binding tasks in a timely manner according to the asynchronous task queue, and timely unload the algorithm and release resources after completing the execution tasks within the analysis time period to avoid waste of resources.

[0141] The following describes and illustrates this embodiment through preferred embodiments.

[0142] Figure 3 is a flowchart of a scheduling method for computing power resources provided by a preferred embodiment of the present application. As Figure 3 shown, the scheduling method for computing power resources includes the following steps:

[0143] Step S301: Obtain the scheduling tasks to be processed;

[0144] Step S302: Based on the task information of the obtained scheduling tasks to be processed, determine each analysis time period and each preselected computing power resource of the scheduling tasks to be processed;

[0145] Step S303: Perform sharding processing on each preselected computing power resource according to a preset time length to obtain the sharding results of each preselected computing power resource;

[0146] Step S304: Based on the sharding results of each preselected computing power resource, determine the sharding information of each preselected computing power resource that needs to be occupied by each analysis time period of the scheduling tasks to be processed;

[0147] Step S305: Determine the matching evaluation results between the to-be-processed orchestration task and each preselected computing power resource in each analysis time period based on the shard information of each preselected computing power resource required by the to-be-processed orchestration task in each analysis time period and the usage distribution of each preselected computing power resource.

[0148] Step S306: Schedule each computing power resource based on the matching evaluation results between the to-be-processed orchestration task and each preselected computing power resource in each analysis time period.

[0149] Step S307: Scan the execution status of the to-be-processed orchestration tasks in the asynchronous processing queue of each computing power resource within the analysis time period according to a preset time period.

[0150] Step S308: If the to-be-processed orchestration tasks in the asynchronous processing queue of each computing power resource are not executed within the analysis time period, use the computing power resource corresponding to the best matching result between each analysis time period of the to-be-processed orchestration task and each preselected computing power resource to execute the to-be-processed orchestration task.

[0151] Step S309: If the to-be-processed orchestration tasks in the asynchronous processing queue of each computing power resource are executed outside the analysis time period, stop executing the orchestration task.

[0152] The above steps S301 to S309 obtain the to-be-processed orchestration task, determine each analysis time period and each preselected computing power resource of the to-be-processed orchestration task based on the task information of the obtained to-be-processed orchestration task, and then determine the matching evaluation results between the to-be-processed orchestration task and each preselected computing power resource in each analysis time period based on the usage distribution of each preselected computing power resource. Through the matching evaluation results between the to-be-processed orchestration task and each preselected computing power resource in each analysis time period, and then according to the computing power resource utilization rate in each analysis time period, each preselected computing power resource is accurately scheduled. Because the computing power resources are scheduled according to the analysis time period of the to-be-processed orchestration task, different computing power resources can be used to load different analysis time periods of the same to-be-processed task. The same computing power resource can load another task without waiting for the to-be-processed orchestration task to be completed, realizing the time-sharing multiplexing of computing power resources and improving the utilization rate of computing power resources. This solves the problem of low utilization rate of computing power resources in the existing computing power resource scheduling method, because the same computing power resource can only load another task after completing the current task.

[0153] It should be understood that although the steps in the flowcharts involved in the above-described embodiments are sequentially shown according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless there is a clear description in this article, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-described embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be executed alternately or in turn with at least a part of other steps or steps or stages in other steps.

[0154] Based on the same inventive concept, in this embodiment, a scheduling device for computing power resources is further provided. This device is used to implement the above embodiments and preferred implementation manners, and those that have been described will not be repeated here. The following terms such as "module", "unit", "sub-unit", etc. can be a combination of software and / or hardware that can achieve a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, implementation in hardware, or a combination of software and hardware is also possible and contemplated.

[0155] In one embodiment, Figure 4 is a structural block diagram of a scheduling device for computing power resources provided by an embodiment of the present application. As Figure 4 shown, the scheduling device for computing power resources includes:

[0156] A task acquisition module 42, configured to acquire an orchestration task to be processed;

[0157] A first determination module 44, configured to determine each analysis time period and each preselected computing power resource of the orchestration task to be processed based on the task information of the orchestration task to be processed; the preselected computing power resource is the computing power resource corresponding to the algorithm specified by the orchestration task to be processed;

[0158] A second determination module 46, configured to determine a matching evaluation result between the orchestration task to be processed and each preselected computing power resource in each analysis time period based on the usage distribution of each preselected computing power resource; the matching evaluation result is a computing power resource utilization rate indicating that the preselected computing power resource is used to process the orchestration task to be processed during the analysis time period;

[0159] And a scheduling module 48, configured to schedule each computing power resource based on the matching evaluation result between the orchestration task to be processed and each preselected computing power resource in each analysis time period.

[0160] The above-mentioned computing power resource scheduling device obtains the scheduling tasks to be processed, determines each analysis time period and each preselected computing power resource of the scheduling tasks to be processed based on the task information of the obtained scheduling tasks to be processed, and then determines the matching evaluation results between the scheduling tasks to be processed and each preselected computing power resource in each analysis time period based on the usage distribution of each preselected computing power resource. It accurately schedules each preselected computing power resource based on the matching evaluation results between the scheduling tasks to be processed and each preselected computing power resource in each analysis time period and the computing power resource utilization rate in each analysis time period. Since the computing power resources are scheduled according to the analysis time periods of the scheduling tasks to be processed, different computing power resources can be used to load different analysis time periods of the same scheduling task to be processed, and the same computing power resource can load another task without waiting for the completion of the processing of the scheduling task to be processed, realizing the time-sharing multiplexing of computing power resources and improving the utilization rate of computing power resources. This solves the problem of low utilization rate of computing power resources in the existing computing power resource scheduling method, because the same computing power resource can only load another task after completing the current task.

[0161] It should be noted that the above-mentioned each module can be a functional module or a program module, and can be implemented either by software or by hardware. For the modules implemented by hardware, the above-mentioned each module can be located in the same processor; or the above-mentioned each module can also be located in different processors in any combination form.

[0162] In one embodiment, a computer device is provided, including a memory and a processor. A computer program is stored in the memory, and when the processor executes the computer program, it implements any one of the above-mentioned computing power resource scheduling methods.

[0163] Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be completed by instructing relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above methods. Among them, any reference to a memory, database, or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memories. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc. The databases involved in the embodiments provided in the present application can include at least one of relational databases and non-relational databases. Non-relational databases can include distributed databases based on blockchain, etc., without limitation. The processors involved in the embodiments provided in the present application can be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, data processing logics based on quantum computing, etc., without limitation.

[0164] The technical features of the above embodiments can be combined arbitrarily. For the sake of concise description, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, it should be considered as the scope recorded in this specification.

[0165] The above-described embodiments merely represent several implementation manners of the present application. The description thereof is relatively specific and detailed, but it should not be construed as a limitation on the patent scope of the present application. It should be noted that for those of ordinary skill in the art, without departing from the concept of the present application, several modifications and improvements can still be made, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the appended claims.

Claims

1. A method for scheduling computing resources, characterized in that: The method comprises: Get pending orchestration tasks; Based on the acquired task information of the to-be-processed orchestration task, determining each analysis time period and each pre-selected computing power resource of the to-be-processed orchestration task; the pre-selected computing power resource is the computing power resource corresponding to the algorithm specified by the to-be-processed orchestration task; Based on the usage distribution of each of the pre-selected computing power resources, determining a matching evaluation result between the to-be-processed orchestration task and each of the pre-selected computing power resources in each of the analysis time periods; the matching evaluation result is a computing power resource utilization rate that characterizes the use of the pre-selected computing power resources to process the to-be-processed orchestration task during the analysis time period; Based on the matching evaluation result between the to-be-processed orchestration task and each of the pre-selected computing resources in each of the analysis time periods, each of the computing resources is scheduled.

2. The method for scheduling computing resources according to claim 1, characterized in that: The determining, based on the acquired task information of the to-be-processed orchestration task, each analysis time period and each pre-selected computing power resource of the to-be-processed orchestration task comprises: Determine, based on the task information of the choreography task to be processed, each of the analysis time periods of the choreography task to be processed and the algorithm specified by the choreography task to be processed; Determine the computing resource type corresponding to the orchestration task to be processed based on the algorithm specified by the orchestration task to be processed; Based on the computing resource type corresponding to the orchestration task to be processed, each of the pre-selected computing resources is determined.

3. The method for scheduling computing resources according to claim 1, characterized in that: Before determining the matching evaluation result between the to-be-processed orchestration task and each of the pre-selected computing resources in each of the analysis time periods based on the usage distribution of each of the pre-selected computing resources, the method includes: Computing power resources are collected for each of the pre-selected computing power resources to obtain the usage distribution of each of the pre-selected computing power resources.

4. The method for scheduling computing resources according to claim 1, characterized in that: The determining, based on the usage distribution of each of the pre-selected computing power resources, a matching evaluation result between the to-be-processed orchestration task and each of the pre-selected computing power resources in each of the analysis time periods includes: For each of the pre-selected computing resources, slicing is performed according to a preset time length to obtain slicing results for each of the pre-selected computing resources; the preset time length is less than or equal to the time length of the minimum analysis time period of the orchestration task to be processed; Based on the sharding results of each of the pre-selected computing resources, determine the sharding information of each of the pre-selected computing resources that needs to be occupied in each of the analysis time periods of the orchestration task to be processed; Based on the sharding information of each of the pre-selected computing resources that need to be occupied in each analysis time period of the orchestration task to be processed, and the usage distribution of each of the pre-selected computing resources, determine the matching evaluation result between the orchestration task to be processed and each of the pre-selected computing resources in each analysis time period.

5. The method for scheduling computing resources according to claim 4, characterized in that: The determining, based on the shard information of each of the pre-selected computing resources that need to be occupied in each of the analysis time periods of the orchestration task to be processed, and the usage distribution of each of the pre-selected computing resources, a matching evaluation result between the orchestration task to be processed and each of the pre-selected computing resources in each of the analysis time periods includes: Based on the shard information of each of the pre-selected computing resources that needs to be occupied in each analysis time period of the orchestration task to be processed, and the usage distribution of each of the pre-selected computing resources, determine the algorithm loading information of each target shard of each of the pre-selected computing resources; the target shard is the shard of the pre-selected computing resources occupied in each analysis time period of the orchestration task to be processed; Based on the algorithm loading information of each target slice of each of the pre-selected computing power resources, a matching evaluation result between the to-be-processed orchestration task and each of the pre-selected computing power resources in each of the analysis time periods is determined.

6. The method for scheduling computing resources according to claim 5, characterized in that: The step of determining the matching evaluation result between the to-be-processed orchestration task and each of the pre-selected computing resources in each of the analysis time periods based on the algorithm loading information of each of the target shards of each of the pre-selected computing resources comprises: Based on the algorithm loading information of each target slice of each pre-selected computing power resource, determine whether each target slice of each pre-selected computing power resource has loaded an algorithm; When the algorithm loaded by the target shard of the pre-selected computing power resource is the same as the algorithm specified by the orchestration task to be processed, determine the remaining computing power of each target shard of the pre-selected computing power resource loaded with the algorithm; when the remaining computing power of each target shard of the pre-selected computing power resource loaded with the algorithm is greater than the computing power required to be occupied by the orchestration task to be processed in the time interval corresponding to the target shard, determine the quotient of the required computing power and the minimum value of the remaining computing power of each target shard of the pre-selected computing power resource as the matching evaluation result between the orchestration task to be processed and the pre-selected computing power resource in each analysis time period; the required computing power is the computing power required to be occupied by the orchestration task to be processed in the time interval corresponding to the target shard corresponding to the minimum value of the remaining computing power; When none of the target shards of the preselected computing power resources loads an algorithm, or when the algorithm loaded by the target shards of the preselected computing power resources is different from the algorithm specified by the orchestration task to be processed, determine the available computing power of each target shard of the preselected computing power resources that do not load an algorithm; when the available computing power of each target shard of the preselected computing power resources that do not load an algorithm is greater than the computing power required to be occupied by the orchestration task to be processed in the time interval corresponding to the target shard, determine the quotient of the required computing power and the minimum value of the remaining computing power of each target shard of the preselected computing power resources as the matching evaluation result between the orchestration task to be processed and the preselected computing power resources in each analysis time period.

7. The method for scheduling computing resources according to any one of claims 1 to 6, characterized in that: The scheduling of each of the computing resources based on the matching evaluation result between the to-be-processed orchestration task and each of the pre-selected computing resources in each of the analysis time periods includes: Matching the pre-selected computing power resources corresponding to the best matching evaluation results between the orchestration task to be processed and each of the pre-selected computing power resources in each analysis time period with the analysis time period of the orchestration task to be processed, to obtain the computing power resources matched by the orchestration task to be processed in each of the analysis time periods; Based on the computing resources matched by the to-be-processed orchestration tasks in each of the analysis time periods, obtaining an asynchronous processing queue of each of the computing resources; Based on the asynchronous processing queue of each computing resource, each computing resource is scheduled.

8. The method for scheduling computing resources according to any one of claims 1 to 6, characterized in that: After scheduling each of the computing resources based on the matching evaluation result between the to-be-processed orchestration task and each of the pre-selected computing resources in each of the analysis time periods, the method includes: Scanning the execution status of the to-be-processed orchestration tasks in the asynchronous processing queues of the computing resources within the analysis time period according to a preset time period; If the to-be-processed orchestration task in the asynchronous processing queue of each computing power resource has not been executed within the analysis time period, the computing power resource corresponding to the best matching result between each analysis time period of the to-be-processed orchestration task and each of the pre-selected computing power resources is used to execute the to-be-processed orchestration task; If the orchestration task to be processed in the asynchronous processing queue of each of the computing resources is executed outside the analysis time period, the execution of the orchestration task is stopped.

9. A computing resource scheduling device, characterized in that: The device comprises: The task acquisition module is used to obtain the orchestration tasks to be processed; A first determination module is used to determine each analysis time period and each pre-selected computing power resource of the orchestration task to be processed based on the acquired task information of the orchestration task to be processed; the pre-selected computing power resource is the computing power resource corresponding to the algorithm specified by the orchestration task to be processed; A second determination module is configured to determine, based on the usage distribution of each of the pre-selected computing resources, a matching evaluation result between the orchestration task to be processed and each of the pre-selected computing resources in each of the analysis time periods; the matching evaluation result is a computing resource utilization rate that characterizes the use of the pre-selected computing resources to process the orchestration task to be processed during the analysis time period; and a scheduling module, for scheduling each of the computing resources based on a matching evaluation result between the orchestration task to be processed and each of the pre-selected computing resources in each of the analysis time periods.

10. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that: When the processor executes the computer program, the steps of the method for scheduling computing resources described in any one of claims 1 to 8 are implemented.

Citation Information

Cited By

  • Simulation computing power scheduling method, system and equipment and readable storage medium

    CN121705037A