Cooperative scheduling system and method for computing power resources
By dynamically scheduling computing resources in the computing resource collaborative scheduling system, load balancing is used to use load levels and weight values, and quickly determine the target block through the pop-up mechanism, the problem of reducing scheduling overhead while balancing the load is solved, and efficient computing task allocation and processing is achieved.
Patent Information
- Application Number
- CN202411988567.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-31
- Publication Date
- 2025-04-29
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
In the process of collaborative scheduling of computing resources, how to reduce scheduling overhead while balancing the load.
By finding the usage of computing power units, defining load and theoretical computing power indicators, creating and uploading loads, calculating remaining computing power resources, sorting number of blocks, collecting and calculating task resource requirements, setting task numbers, finding available blocks, clustering load levels, configuring weight values, using pop-up mechanism to determine the target block, and uploading the calculation task to the target block.
Dynamic scheduling of computing power resources is realized, avoiding overloading of computing power units, improving computing efficiency, reducing scheduling computing time, improving allocation efficiency of computing tasks, reducing scheduling overhead, and adapting to dynamic changes in resource requirements.
Smart Images

Figure CN119902893A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of computing power resource scheduling, and in particular to a computing power resource collaborative scheduling system and method. Background Art
[0002] By rationally allocating and scheduling computing resources among different computing units, computing efficiency can be maximized, costs can be reduced, and resource utilization can be improved. Collaborative scheduling of computing resources is widely used in cloud computing, edge computing, big data processing, and artificial intelligence training.
[0003] However, in the process of coordinated scheduling of computing resources, certain scheduling overheads will inevitably be generated. Scheduling overheads refer to the computing resources, time resources, and network resources consumed in order to complete resource allocation and scheduling tasks. Scheduling overheads include but are not limited to the time spent on scheduling, communication delays, and resource occupancy required to execute scheduling algorithms. Although overly complex scheduling methods can balance the load of each computing unit well, they are prone to generate large scheduling overheads. Therefore, "how to reduce scheduling overheads while balancing the load" is the technical problem that the present invention needs to solve. Summary of the invention
[0004] The purpose of the present invention is to provide a computing resource collaborative scheduling system and method to solve the problem of "how to reduce scheduling overhead while balancing the load" raised in the above background technology.
[0005] To achieve the above object, the present invention provides the following technical solutions:
[0006] A method for collaboratively scheduling computing resources, the method comprising:
[0007] S100: Find the computing unit, obtain the usage of the computing unit, define the load, configure the theoretical computing power index of each computing unit, create a number block corresponding to the computing unit, upload the load to the corresponding number block, and calculate the remaining computing power resources of each number block;
[0008] S200: sorting all blocks in descending order of the remaining computing power resources to obtain an available queue, and embedding a pop-up mechanism;
[0009] S300: Collect resource requirements of computing tasks, set task numbers, find out the number of blocks whose remaining computing power resources are greater than the resource requirements in the available queue, and define them as available blocks, wherein the number of available blocks is at least one, cluster the available blocks into several load levels, wherein the load levels include: high load level and low load level, and configure weight values corresponding to each load level, wherein the weight value of the high load level is 1, and the weight value of the low load level is 0;
[0010] S400: Count the number of available blocks, take the modulus of the number using the task number to obtain a remainder, find the available block corresponding to the remainder, and use the corresponding weight value to offset to obtain the target block, activate the pop-up mechanism, upload the computing task to the popped-up target block, adjust the order of the available queue, and push the target block back into the available queue.
[0011] Furthermore, the S100 includes:
[0012] The load is divided to obtain a plurality of utilization indexes, and a computing unit whose utilization index is greater than a threshold is defined as a fully loaded unit;
[0013] Select schedulable tasks from the fully loaded units, and migrate the schedulable tasks to the top blocks in the available queue.
[0014] Furthermore, the S100 further includes:
[0015] Establishing a correspondence between the computing power unit and the digital block, and updating the digital block in real time based on the load;
[0016] The attributes of the computing unit are found out, and through the corresponding relationship, a label generated by the attributes is inserted into the number block.
[0017] Furthermore, the pop-up mechanism in S200 is: after receiving the computing task, selecting a target block from the available queue, and popping the target block from the available queue.
[0018] Further, the S300 includes:
[0019] Determine the priority of each computing task and set the priority coefficient;
[0020] The computing task with a priority coefficient greater than a set value is defined as a critical task, and the critical task is uploaded to a block in a front row of the available queue.
[0021] Furthermore, the S300 further includes:
[0022] Determine the influencing factors of the weight value, and adjust the weight value using the influencing factors, wherein the influencing factors include at least: the dependency of the computing task and the health of the computing unit;
[0023] The high load level and the low load level are linked to build a load balancing mechanism, and the load balancing mechanism is embedded in the available queues.
[0024] Furthermore, the S400 includes:
[0025] Obtaining usage rights of edge devices, and when the number is less than a threshold, uploading the computing task to the edge device via the usage rights;
[0026] A task rollback strategy is integrated into the edge device.
[0027] Furthermore, the system comprises:
[0028] The calculation module is used to find out the computing power unit, obtain the usage of the computing power unit, define the load, configure the theoretical computing power index of each computing power unit, create a number block corresponding to the computing power unit, upload the load to the corresponding number block, and calculate the remaining computing power resources of each number block;
[0029] An embedding module is used to sort all blocks in descending order of the remaining computing power resources, obtain an available queue, and embed a pop-up mechanism;
[0030] A configuration module is used to collect resource requirements of computing tasks, set task numbers, find out the number of blocks whose remaining computing power resources are greater than the resource requirements in the available queue, and define them as available blocks, wherein the number of available blocks is at least one, cluster the available blocks into several load levels, wherein the load levels include: a high load level and a low load level, and configure a weight value corresponding to each of the load levels, wherein the weight value of the high load level is 1, and the weight value of the low load level is 0;
[0031] The push module is used to count the number of available blocks, take the modulus of the number using the task number to obtain the remainder, find the available block corresponding to the remainder, and use the corresponding weight value to offset to obtain the target block, activate the pop-up mechanism, upload the computing task to the popped-up target block, adjust the order of the available queue, and push the target block back into the available queue.
[0032] Furthermore, the calculation module includes:
[0033] A definition unit is used to divide the load to obtain a plurality of utilization indexes, and define a computing unit whose utilization index is greater than a threshold as a fully loaded unit;
[0034] A migration unit, used for selecting schedulable tasks from the fully loaded units, and migrating the schedulable tasks to the top blocks in the available queue;
[0035] An updating unit, used to establish a corresponding relationship between the computing power unit and the digital block, and to update the digital block in real time based on the load;
[0036] The generating unit is used to find out the attributes of the computing unit and insert the label generated by the attributes into the number block through the corresponding relationship.
[0037] Furthermore, the configuration module includes:
[0038] A setting unit is used to determine the priority of each computing task and set the priority coefficient;
[0039] An uploading unit, used for defining the computing task with a priority coefficient greater than a set value as a critical task, and uploading the critical task to a number block in a top column of an available queue;
[0040] An adjustment unit, configured to determine an influencing factor of the weight value, and adjust the weight value using the influencing factor, wherein the influencing factor includes at least: a dependency relationship of the computing task and a health of the computing unit;
[0041] The balancing unit is used to link the high load level and the low load level, build a load balancing mechanism, and embed the load balancing mechanism into the available queue.
[0042] Compared with the prior art, the present invention has the following beneficial effects:
[0043] By determining the remaining computing resources, it is possible to dynamically schedule computing resources, avoid overloading of computing units, and improve the computing efficiency of the overall computing units. By creating available queues, it is possible to quickly find available blocks before executing computing tasks, greatly reducing scheduling computing time, improving the efficiency of computing task allocation, and reducing scheduling overhead. By setting weight values, it is possible to balance the load and fully adapt to dynamic changes in resource requirements, greatly improving the processing efficiency of computing tasks. By setting a pop-up mechanism, it is possible to quickly determine the target block, further shorten the task execution time, reduce scheduling overhead, and greatly improve the processing efficiency of the computing unit. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] Figure 1 A flowchart of a method for collaboratively scheduling computing resources provided by an embodiment of the present invention;
[0045] Figure 2 A first sub-process flowchart of the computing resource collaborative scheduling method provided by an embodiment of the present invention;
[0046] Figure 3 A second sub-process flowchart of the computing resource collaborative scheduling method provided in an embodiment of the present invention;
[0047] Figure 4 A third sub-flow diagram of the computing power resource collaborative scheduling method provided in an embodiment of the present invention;
[0048] Figure 5A block diagram of the computing resource collaborative scheduling system provided by an embodiment of the present invention;
[0049] Figure 6 A block diagram of the composition of a computing module in a computing resource collaborative scheduling system provided by an embodiment of the present invention;
[0050] Figure 7 A block diagram of the configuration module in the computing resource collaborative scheduling system provided by an embodiment of the present invention;
[0051] Figure 8 A block diagram of the composition of the push module in the computing resource collaborative scheduling system provided in an embodiment of the present invention. DETAILED DESCRIPTION
[0052] In order to make the purpose, technical solution and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.
[0053] In Example 1, Figure 1 The implementation process of the computing resource collaborative scheduling method provided by the embodiment of the present invention is shown, and is described in detail below:
[0054] S100: Find the computing power unit, obtain the usage of the computing power unit, define the load, configure the theoretical computing power index of each computing power unit, create a number block corresponding to the computing power unit, upload the load to the corresponding number block, and calculate the remaining computing power resources of each number block.
[0055] By scanning the hardware configuration, network topology or management platform, etc., the computing power units that can handle computing tasks are found, where the computing power units can be server nodes, computer equipment or other computing resources; the usage data of each computing power unit is collected, such as the CPU or GPU occupancy rate, memory usage, network bandwidth usage and task queue length, etc., and weights are inserted into each usage data, and the load of each computing power unit is determined according to the resource occupancy ratio of each usage data; according to the hardware parameters of the computing power unit, the theoretical computing power index is configured, where the theoretical computing power index refers to the maximum load that can be achieved in theory; create a number block corresponding to the computing power unit one by one, where the number block is mainly used to display the remaining computing power resources of each computing power unit in real time, where the remaining computing power resources are calculated according to the load and the theoretical computing power index.
[0056] S200: Sort all blocks in descending order of the remaining computing power resources to obtain an available queue, and embed a pop-up mechanism.
[0057] According to the remaining computing power resources corresponding to each block, the blocks are sorted, and an available queue is created using the sorted blocks. A pop-up mechanism is embedded in the available queue, and the target block is popped out from the available queue using the pop-up mechanism.
[0058] S300: Collect resource requirements of computing tasks, set task numbers, find out the number of blocks whose remaining computing resources are greater than the resource requirements in the available queue, and define them as available blocks, wherein the number of available blocks is at least one, cluster the available blocks into several load levels, wherein the load levels include: high load level and low load level, configure the weight value corresponding to each load level, wherein the weight value of the high load level is 1, and the weight value of the low load level is 0.
[0059] Collect resource requirements of computing tasks, including the required number of CPU cores, memory capacity, GPU computing power and network bandwidth, etc., set a unique task number for each computing task, where the task numbers can be generated in sequence, such as task 1, task 2, etc.; from the available queue, find the number blocks that match the task resource requirements, where the found number blocks can meet the resource requirements of the computing task, and the found number blocks are defined as available blocks; in this application, only the case where there are multiple available blocks is considered. If the number of available blocks is one, it means that only one computing unit can process the computing task, and there is no need to schedule computing resources, and the computing task can be directly included in the only available block.
[0060] If the load is greater than the threshold, the available blocks are classified as high load levels, otherwise, they are classified as low load levels, where the threshold should be determined based on the total amount of remaining computing resources and the amount of resource demand.
[0061] S400: Count the number of available blocks, take the modulus of the number using the task number to obtain a remainder, find the available block corresponding to the remainder, and use the corresponding weight value to offset to obtain the target block, activate the pop-up mechanism, upload the computing task to the popped-up target block, adjust the order of the available queue, and push the target block back into the available queue.
[0062] The quantity is modulo the task number and the remainder is offset by the weight value to determine the target block, where the offset refers to the adjustment of the remainder; the target block is popped out of the available queue so that the computing task can be processed using the target block, and the computing task is uploaded to the computing power unit corresponding to the target block through the preset communication link.
[0063] For example, there are three computing units (A, B and C), among which B is a high load level, A and C are low load levels, and there are 7 computing tasks to be processed, and the task numbers are 1, ..., 7 respectively; in this case, according to S400, the task numbers are modulo the quantity to obtain: 1%3=1, 2%3=2, 3%3=0, 4%3=1, 5%3=2, 6%3=0 and 7%3=1; if the calculation result is 1, the corresponding computing task is assigned to the computing unit A, 2 is assigned to the computing unit B, and 0 is assigned to the computing unit C. However, due to the existence of the weight value, if the calculation result is 2, the weight value is continued to be superimposed to obtain 3. In other words, the calculation result after modulo is regarded as: 1, 3, 0, 1, 3, 0 and 1, and 3 of them is continued to be modulo 3%3=0 to obtain 1, 0, 0, 1, 0, 0 and 1; finally, computing tasks No. 1, 4 and 7 are assigned to computing unit A for processing, and computing tasks No. 2, 3, 5 and 6 are assigned to computing unit C for processing; it should be noted that after determining the task classification, the order of the available queues needs to be readjusted.
[0064] In Example 2, Figure 2 The implementation process of the computing resource collaborative scheduling method provided by the embodiment of the present invention is shown, and S100 is described in detail below:
[0065] S101: Divide the load to obtain a plurality of utilization indicators, and define a computing unit whose utilization indicator is greater than a threshold as a fully loaded unit.
[0066] The load is divided into specific utilization indicators, such as CPU occupancy indicator, GPU occupancy indicator and memory usage indicator. If a utilization indicator is greater than the preset threshold, the corresponding computing unit is determined as a fully loaded unit.
[0067] S102: Select schedulable tasks from the fully loaded units, and migrate the schedulable tasks to the top blocks in the available queue.
[0068] According to the attributes of the computing tasks, determine whether the computing tasks being processed in the fully loaded unit can be migrated. If so, the computing tasks being processed are determined as schedulable tasks. Since the blocks in the available queue are sorted from large to small according to the remaining computing power resources, that is, the higher the ranking, the higher the remaining computing power resources of the corresponding computing unit, the schedulable tasks are migrated to the top blocks in the available queue, where the top blocks can be the first block or the second block, etc. The specific number of blocks should be determined according to the number of schedulable tasks.
[0069] In Example 3, Figure 2The implementation process of the computing resource collaborative scheduling method provided by the embodiment of the present invention is shown, and S100 is further described in detail below, as follows:
[0070] S103: Constructing a corresponding relationship between the computing power unit and the digital block, and updating the digital block in real time based on the load.
[0071] S104: Find out the attributes of the computing unit, and insert a label generated by the attributes into the number block through the corresponding relationship.
[0072] Determine the properties of the computing power unit, where the properties include: the type of computing power unit, geographical location, cooling capacity, etc. The benefit of determining the properties is that the required computing power unit can be quickly located for manual adjustment.
[0073] In the fourth embodiment, the pop-up mechanism in S200 is: after receiving the computing task, a target block is selected from the available queue, and the target block is popped from the available queue.
[0074] Insert a monitoring node into the available queue. When the monitoring node receives the computing task uploaded by the user, it pops the target block from the available queue and connects the received computing task to the computing power unit.
[0075] In Example 5, Figure 3 The implementation process of the computing resource collaborative scheduling method provided by the embodiment of the present invention is shown, and S300 is described in detail below:
[0076] S301: Determine the priority of each computing task and set the priority coefficient.
[0077] Determine the priority of each computing task and quantify the priority. The specific quantification method should be determined based on the type and requirements of the computing task.
[0078] S302: defining the computing task with a priority coefficient greater than a set value as a critical task, and uploading the critical task to a block in a top column of an available queue.
[0079] If the priority coefficient is greater than the set value, the corresponding computing task will be determined as a critical task, and the processing of the critical task will be prioritized; in other words, the critical task will be uploaded to the block corresponding to the top column in the available queue for processing, where the top column does not limit the specific number of blocks, but different numbers of blocks are selected according to the number of critical tasks.
[0080] In Example 6, Figure 3 The implementation process of the computing resource collaborative scheduling method provided by the embodiment of the present invention is shown, and S300 is further described in detail below, as follows:
[0081] S303: Determine the influencing factors of the weight value, and use the influencing factors to adjust the weight value, wherein the influencing factors at least include: the dependency of the computing task and the health of the computing power unit.
[0082] In addition to determining the weight value based on the load level, the dependencies between computing tasks and the health of the computing power unit will also affect the weight value; for example, if the health of a computing power unit is low, its weight value can be adjusted from 0 to 1 to prevent the computing power unit from frequently processing computing tasks.
[0083] S304: Link the high load level and the low load level, build a load balancing mechanism, and embed the load balancing mechanism into the available queue.
[0084] By utilizing the load balancing mechanism, the ongoing computing tasks in the available blocks corresponding to the high load levels are migrated to the available blocks corresponding to the low load levels, wherein the load balancing mechanism refers to the specific method of migrating the ongoing computing tasks, such as migrating the computing thread or process of the computing task from the original computing unit to the target computing unit, and directly moving the execution context.
[0085] In Example 7, Figure 4 The implementation process of the computing resource collaborative scheduling method provided by the embodiment of the present invention is shown, and S400 is described in detail below, as follows:
[0086] S401: Obtain usage permissions of edge devices, and when the number is less than a threshold, upload the computing task to the edge device via the usage permissions.
[0087] Obtain the permission to use the edge device. If the number of available blocks is less than the threshold (the remaining computing resources are relatively tight), upload the computing task to the edge device for processing.
[0088] S402: Integrate a task rollback strategy into the edge device.
[0089] As time goes by, if the number of available blocks increases until it exceeds a threshold, the computing task will be migrated back to the available blocks. The task rollback strategy is a specific method for rolling back several tasks, such as taking a snapshot in the edge device and restoring the computing task using the available blocks and snapshots.
[0090] Figure 5 The structure diagram of the computing power resource collaborative scheduling system provided by an embodiment of the present invention is shown. The computing power resource collaborative scheduling system 1 includes:
[0091] The calculation module 11 is used to find out the computing power unit, obtain the usage of the computing power unit, define the load, configure the theoretical computing power index of each computing power unit, create a number block corresponding to the computing power unit, upload the load to the corresponding number block, and calculate the remaining computing power resources of each number block;
[0092] The embedding module 12 is used to sort all the blocks in descending order of the remaining computing power resources, obtain an available queue, and embed a pop-up mechanism;
[0093] The configuration module 13 is used to collect the resource requirements of the computing task, set the task number, find out the number of blocks whose remaining computing power resources are greater than the resource requirements in the available queue, and define them as available blocks, wherein the number of the available blocks is at least one, cluster the available blocks into several load levels, wherein the load levels include: a high load level and a low load level, and configure a weight value corresponding to each of the load levels, wherein the weight value of the high load level is 1, and the weight value of the low load level is 0;
[0094] The push module 14 is used to count the number of available blocks, take the modulus of the number using the task number to obtain the remainder, find the available block corresponding to the remainder, and use the corresponding weight value to offset to obtain the target block, activate the pop-up mechanism, and upload the computing task to the popped-up target block, adjust the order of the available queue, and push the target block back into the available queue.
[0095] Figure 6 The structure diagram of the computing resource collaborative scheduling system provided by the embodiment of the present invention is shown, and the computing module 11 includes:
[0096] A definition unit 111 is used to divide the load to obtain a plurality of utilization indexes, and define a computing unit whose utilization index is greater than a threshold as a fully loaded unit;
[0097] A migration unit 112, configured to select schedulable tasks from the fully loaded units and migrate the schedulable tasks to the top blocks in the available queue;
[0098] An updating unit 113, configured to establish a corresponding relationship between the computing power unit and the number block, and to update the number block in real time based on the load;
[0099] The generating unit 114 is used to find out the attributes of the computing unit and insert the label generated by the attributes into the number block through the corresponding relationship.
[0100] Figure 7 The structure diagram of the computing resource collaborative scheduling system provided by the embodiment of the present invention is shown, and the configuration module 13 includes:
[0101] A setting unit 131, used to determine the priority of each computing task and set a priority coefficient;
[0102] An uploading unit 132, configured to define the computing task with a priority coefficient greater than a set value as a critical task, and upload the critical task to a block in a top column of an available queue;
[0103] An adjustment unit 133, configured to determine the influencing factors of the weight value, and adjust the weight value using the influencing factors, wherein the influencing factors at least include: the dependency of the computing task and the health of the computing unit;
[0104] The balancing unit 134 is used to link the high load level and the low load level, build a load balancing mechanism, and embed the load balancing mechanism into the available queue.
[0105] Figure 8 The structure diagram of the computing resource collaborative scheduling system provided by the embodiment of the present invention is shown, and the push module 14 includes:
[0106] An acquisition unit 141 is used to acquire the use permission of the edge device, and when the number is less than a threshold, upload the computing task to the edge device via the use permission;
[0107] The rollback unit 142 is used to integrate the task rollback strategy into the edge device.
[0108] The calculation module 11 is mainly used to complete step S100, the embedding module 12 is mainly used to complete step S200, the configuration module 13 is mainly used to complete step S300, and the push module 14 is mainly used to complete step S400;
[0109] The definition unit 111 is mainly used to complete step S101, the migration unit 112 is mainly used to complete step S102, the update unit 113 is mainly used to complete step S103, and the generation unit 114 is mainly used to complete step S104;
[0110] The setting unit 131 is mainly used to complete step S301, the uploading unit 132 is mainly used to complete step S302, the adjusting unit 133 is mainly used to complete step S303, and the balancing unit 134 is mainly used to complete step S304;
[0111] The acquisition unit 141 is mainly used to complete step S401, and the rollback unit 142 is mainly used to complete step S402.
[0112] The technical features of the above-described embodiments may be arbitrarily combined. To make the description concise, not all possible combinations of the technical features in the above-described embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0113] The above-mentioned embodiments only express several implementation methods of the present invention, and the description thereof is relatively specific and detailed, but it cannot be understood as limiting the scope of the patent of the present invention. It should be pointed out that, for ordinary technicians in this field, several variations and improvements can be made without departing from the concept of the present invention, which all belong to the protection scope of the present invention. Therefore, the protection scope of the patent of the present invention shall be subject to the attached claims.
[0114] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the protection scope of the present invention.
Claims
1. A method for collaborative scheduling of computing resources, characterized in that: The method comprises: S100: Find the computing unit, obtain the usage of the computing unit, define the load, configure the theoretical computing power index of each computing unit, create a number block corresponding to the computing unit, upload the load to the corresponding number block, and calculate the remaining computing power resources of each number block; S200: sorting all blocks in descending order of the remaining computing power resources to obtain an available queue, and embedding a pop-up mechanism; S300: Collect resource requirements of computing tasks, set task numbers, find out the number of blocks whose remaining computing power resources are greater than the resource requirements in the available queue, and define them as available blocks, wherein the number of available blocks is at least one, cluster the available blocks into several load levels, wherein the load levels include: high load level and low load level, and configure weight values corresponding to each load level, wherein the weight value of the high load level is 1, and the weight value of the low load level is 0; S400: Count the number of available blocks, take the modulus of the number using the task number to obtain a remainder, find the available block corresponding to the remainder, and use the corresponding weight value to offset to obtain the target block, activate the pop-up mechanism, upload the computing task to the popped-up target block, adjust the order of the available queue, and push the target block back into the available queue.
2. The computing resource collaborative scheduling method according to claim 1, characterized in that: The S100 includes: The load is divided to obtain a plurality of utilization indexes, and a computing unit whose utilization index is greater than a threshold is defined as a fully loaded unit; Select schedulable tasks from the fully loaded units, and migrate the schedulable tasks to the top blocks in the available queue.
3. The computing resource collaborative scheduling method according to claim 1, characterized in that: The S100 further includes: Establishing a correspondence between the computing power unit and the digital block, and updating the digital block in real time based on the load; The attributes of the computing unit are found out, and through the corresponding relationship, a label generated by the attributes is inserted into the number block.
4. The method for collaborative scheduling of computing resources according to claim 1, characterized in that: The pop-up mechanism in S200 is: after receiving the computing task, a target block is selected from the available queue, and the target block is popped from the available queue.
5. The method for collaborative scheduling of computing resources according to claim 4, characterized in that: The S300 includes: Determine the priority of each computing task and set the priority coefficient; The computing task with a priority coefficient greater than a set value is defined as a critical task, and the critical task is uploaded to a block in a front row of the available queue.
6. The computing resource collaborative scheduling method according to claim 1, characterized in that: The S300 further includes: Determine the influencing factors of the weight value, and adjust the weight value using the influencing factors, wherein the influencing factors include at least: the dependency of the computing task and the health of the computing unit; The high load level and the low load level are linked to build a load balancing mechanism, and the load balancing mechanism is embedded in the available queues.
7. The computing resource collaborative scheduling method according to claim 1, characterized in that: The S400 includes: Obtaining usage rights of edge devices, and when the number is less than a threshold, uploading the computing task to the edge device via the usage rights; A task rollback strategy is integrated into the edge device.
8. A computing resource collaborative scheduling system, characterized in that: The system comprises: The calculation module is used to find out the computing power unit, obtain the usage of the computing power unit, define the load, configure the theoretical computing power index of each computing power unit, create a number block corresponding to the computing power unit, upload the load to the corresponding number block, and calculate the remaining computing power resources of each number block; An embedding module is used to sort all blocks in descending order of the remaining computing power resources, obtain an available queue, and embed a pop-up mechanism; A configuration module is used to collect resource requirements of computing tasks, set task numbers, find out the number of blocks whose remaining computing power resources are greater than the resource requirements in the available queue, and define them as available blocks, wherein the number of available blocks is at least one, cluster the available blocks into several load levels, wherein the load levels include: a high load level and a low load level, and configure a weight value corresponding to each of the load levels, wherein the weight value of the high load level is 1, and the weight value of the low load level is 0; The push module is used to count the number of available blocks, take the modulus of the number using the task number to obtain the remainder, find the available block corresponding to the remainder, and use the corresponding weight value to offset to obtain the target block, activate the pop-up mechanism, upload the computing task to the popped-up target block, adjust the order of the available queue, and push the target block back into the available queue.
9. The computing resource collaborative scheduling system according to claim 8, characterized in that: The calculation module comprises: A definition unit is used to divide the load to obtain a plurality of utilization indicators, and define a computing unit whose utilization indicator is greater than a threshold as a fully loaded unit; A migration unit, used for selecting schedulable tasks from the fully loaded units, and migrating the schedulable tasks to the top blocks in the available queue; An updating unit, used to establish a corresponding relationship between the computing power unit and the digital block, and to update the digital block in real time based on the load; The generating unit is used to find out the attributes of the computing unit and insert the label generated by the attributes into the number block through the corresponding relationship.
10. The computing resource collaborative scheduling system according to claim 8, characterized in that: The configuration module includes: A setting unit is used to determine the priority of each computing task and set the priority coefficient; An uploading unit, used for defining the computing task with a priority coefficient greater than a set value as a critical task, and uploading the critical task to a number block in a top column of an available queue; An adjustment unit, configured to determine an influencing factor of the weight value, and adjust the weight value using the influencing factor, wherein the influencing factor includes at least: a dependency relationship of the computing task and a health of the computing unit; The balancing unit is used to link the high load level and the low load level, build a load balancing mechanism, and embed the load balancing mechanism into the available queue.
Citation Information
Patent Citations
Task allocation method and task allocation device
CN111190710A
Job scheduling device and method for high-performance computing cloud platform
CN116755888A
Resource scheduling method and device, storage medium and equipment
CN117785456A
Cited By
Cross-regional computing power resource collaborative allocation method based on computing power center
CN121326559A