Task allocation method and related equipment

By determining the task allocation dependency constraints and node attribute information, the computing tasks are allocated to the target nodes, which solves the problem of poor computing task allocation in the existing technology, and achieves the correct sequence execution of tasks and the improvement of resource utilization.

CN119336494APending Publication Date: 2025-01-21CHINA MOBILE INTERNET CO LTD +1
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411362028.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-27
Publication Date
2025-01-21

AI Technical Summary

Technical Problem

The lack of effective computing task allocation methods in the prior art makes it impossible to effectively allocate multiple computing tasks to each node, making it difficult to achieve better allocation of computing tasks.

Method used

By determining the task allocation dependency constraints of the tasks to be allocated and the node attribute information of the available computing nodes, each task in the tasks to be allocated is allocated to the target node among the available computing nodes.

Benefits of technology

It ensures the correct execution order of tasks, improves the overall utilization of resources, and avoids task processing failures and other situations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119336494A_ABST
    Figure CN119336494A_ABST
Patent Text Reader

Abstract

The invention discloses a task allocation method and related equipment, and aims to solve the problem that optimal allocation of calculation tasks is difficult to realize due to lack of an effective calculation task allocation mode in the prior art. The task allocation method comprises the steps that task allocation dependency constraint conditions of to-be-allocated tasks are determined, and the task allocation dependency constraint conditions are determined based on the dependency relationship among all tasks in the to-be-allocated tasks; obtaining node attribute information of the available computing node, wherein the node attribute information is used for representing a current resource available state of the available computing node; and according to the task allocation dependency constraint condition and the node attribute information, allocating each task in the to-be-allocated tasks to a target node in the available computing nodes.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of task processing technology, and in particular to a task allocation method and related equipment. Background Art

[0002] With the rapid development of wireless communication technology and the Internet, large-scale computing tasks have emerged frequently. For such computing tasks, the prior art proposes a distributed computing method, which is to decompose a complex computing task into multiple subtasks and distribute these subtasks to multiple physical or virtual computing nodes for processing.

[0003] However, the emergence of distributed computing has introduced new technical problems: how to effectively distribute multiple computing tasks to various nodes to achieve optimal distribution of computing tasks. Summary of the invention

[0004] The embodiment of the present application provides a task allocation method to solve the problem that there is a lack of effective computing task allocation method in the prior art, which leads to the inability to effectively allocate multiple computing tasks to each node and difficulty in achieving optimal allocation of computing tasks.

[0005] Embodiments of the present application also provide a task allocation device, an electronic device, a computer-readable storage medium, and a computer program product.

[0006] The present application embodiment adopts the following technical solutions: In a first aspect, the present application provides a task allocation method, comprising: Determine task allocation dependency constraints of the tasks to be allocated, where the task allocation dependency constraints are determined based on the dependency relationship between the tasks in the tasks to be allocated; Obtaining node attribute information of available computing nodes, where the node attribute information is used to characterize the current resource availability status of the available computing nodes; According to the task allocation dependency constraints and node attribute information, each task in the to-be-allocated tasks is allocated to the target node in the available computing nodes.

[0007] In a second aspect, the present application provides a task allocation device, including a condition determination module, an information determination module and a task allocation module, wherein: A condition determination module, used to determine the task allocation dependency constraint conditions of the tasks to be allocated, the task allocation dependency constraint conditions are determined based on the dependency relationship between the tasks in the tasks to be allocated; An information determination module, used to obtain node attribute information of available computing nodes, where the node attribute information is used to characterize the current resource availability status of the available computing nodes; The task allocation module is used to allocate each task in the to-be-allocated tasks to a target node in the available computing nodes according to the task allocation dependency constraints and node attribute information.

[0008] In a third aspect, the present application provides an electronic device, comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program implements the steps of the task allocation method described above when executed by the processor.

[0009] In a fourth aspect, the present application provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the steps of the task allocation method described above are implemented.

[0010] In a fifth aspect, the present application provides a computer program product, including a computer program, which implements the task allocation method as described above when executed by a processor.

[0011] At least one of the above technical solutions adopted in the embodiments of the present application can achieve the following beneficial effects: By adopting the task allocation method provided in the embodiment of the present application, on the one hand, since the execution order between tasks and the dependencies between tasks (including other tasks or conditions that the tasks need to depend on for completion) can be determined according to the dependency relationship, it can be ensured that the tasks to be assigned can be executed in the correct execution order, thereby avoiding the situation in which, during the task processing process, the dependent tasks in the tasks to be assigned do not meet the task processing prerequisites during processing due to failure to consider the task execution order and dependency conditions, thereby causing task processing failure.

[0012] On the other hand, by fully considering the dependencies between tasks and the current resource availability of available computing nodes, the matching between the tasks to be assigned and the current resource availability of available computing nodes can be improved, which can effectively improve the overall resource utilization. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings: Figure 1a A schematic diagram of an implementation flow of a task allocation method provided in an embodiment of the present application; Figure 1b A schematic diagram of a method for determining available computing nodes provided in an embodiment of the present application; Figure 2a A schematic diagram of an implementation flow of a task allocation method provided in an embodiment of the present application; Figure 2b A schematic diagram of a process for generating a task allocation scheme by improving a non-dominated sorting genetic algorithm provided in an embodiment of the present application; Figure 3 A schematic diagram of an implementation flow of a task allocation method provided in an embodiment of the present application; Figure 4 A specific structural diagram of a task allocation device is provided for an embodiment of the present application; Figure 5 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0014] In order to make the purpose, technical solution and advantages of the present application clearer, the technical solution of the present application will be clearly and completely described below in combination with the specific embodiments of the present application and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present application.

[0015] The technical solutions provided by various embodiments of the present application are described in detail below in conjunction with the accompanying drawings.

[0016] Example 1 In order to solve the problem that there is a lack of effective computing task allocation method in the prior art, which leads to the inability to effectively allocate multiple computing tasks to each node and it is difficult to achieve optimal allocation of computing tasks, an embodiment of the present application provides a task allocation method.

[0017] The execution subject of the method may be various types of computing devices, or an application or application (Application, APP) installed on the computing device. The computing device may be, for example, a user terminal such as a mobile phone, a tablet computer, a smart wearable device, or a server.

[0018] For ease of description, the present application embodiment takes the execution subject of the method as an example of a server to introduce the method. Those skilled in the art can understand that the present application embodiment takes the server as an example to introduce the method, which is only an exemplary description and does not limit the scope of protection of the claims corresponding to the present solution.

[0019] Specifically, the implementation process of the method provided in the embodiment of the present application is as follows: Figure 1a As shown, the following steps are included: Step 11, determining the task allocation dependency constraint conditions of the tasks to be allocated, wherein the task allocation dependency constraint conditions are determined based on the dependency relationship between the tasks in the tasks to be allocated.

[0020] Among them, task allocation dependency constraints refer to the restrictions and conditions of the dependency relationship between tasks that need to be considered when allocating tasks to ensure that tasks can be correctly executed while meeting specific needs and requirements.

[0021] Optionally, the task allocation dependency constraint may include: between tasks having a dependency relationship, the completion time of the predecessor task is less than or equal to the completion time of the successor task, wherein the start of the successor task needs to depend on the task operation result of the predecessor task.

[0022] Correspondingly, the dependency relationship between tasks is used to describe other tasks or conditions that a task needs to rely on in the process of completing it, including the task execution order, resource dependency, time dependency, and data dependency between tasks.

[0023] The dependencies between tasks include precedent dependencies, start dependencies, finish dependencies, and start-finish dependencies. Predecessor dependencies mean that a task must be completed before another task starts executing. Start dependencies mean that a task must start after another task starts executing. Finish dependencies mean that a task must be completed after another task is completed. Start-finish dependencies mean that a task must start after another task is completed.

[0024] Optionally, in the embodiment of the present application, the task allocation dependency constraint condition of the task to be allocated may be determined in the following manner: (1) Determine the priority of the tasks to be assigned, the resource requirements of the tasks to be assigned, the task type and complexity of the tasks to be assigned; the priority of the tasks to be assigned includes the importance and urgency of the tasks to be assigned; (2) Determine the dependencies between the tasks in the task list based on the priority of the task to be assigned, the resource requirements of the task to be assigned, the task type and complexity of the task to be assigned, and other information.

[0025] (3) Determine the task allocation dependency constraints of the tasks to be assigned based on the dependency relationships among the tasks to be assigned.

[0026] Optionally, in another implementation, the task allocation dependency constraint condition of the task to be allocated may be determined in the following manner: (1) Determine the urgency of the task to be assigned and obtain task urgency information; (2) By judging whether the task to be assigned requires long-term / short-term time series prediction, it is determined whether the task to be assigned belongs to a large computing task, and a judgment result of the large computing task is obtained; (3) Determine whether the task to be assigned is a long supervision task and an image processing task to determine the difficulty of the task to be assigned; (4) Determine the dependency relationship between the tasks to be assigned based on the task urgency information, the judgment results of the large computing tasks, and the difficulty of the tasks to be assigned; (5) Determine the task allocation dependency constraints of the tasks to be assigned based on the dependency relationships among the tasks to be assigned.

[0027] The following is a detailed description of the implementation method of determining the task allocation dependency constraint conditions of the task to be allocated in the embodiment of the present application with reference to examples.

[0028] For example, suppose there is a software development project that requires the assignment of database model development tasks, user interface writing tasks, business logic design tasks, and integration testing tasks. The detailed information of each task is shown in the following table: Table 1

[0029] Based on the detailed information of the task shown in Table 1, the following steps may be performed according to the method provided in the embodiment of the present application: 1. First, determine the urgency of the task to be assigned; As shown in Table 1 above, based on the urgency, it can be determined that the urgency of developing the database model and integration testing are both high, so they need to be prioritized.

[0030] 2. Secondly, determine whether the task to be assigned is a large computing task; As shown in Table 1 above, from the task description, only the design of business logic is a large computing task.

[0031] 3. After that, determine the difficulty of the task to be assigned; As shown in Table 1 above, it can be seen that writing the user interface is the easiest task, and designing business logic is the most difficult.

[0032] 4. After determining the urgency information of the task to be assigned, whether the task to be assigned is a large computing task, and the difficulty of the task to be assigned, the dependency relationship can be further determined.

[0033] Specifically, based on the urgency information, difficulty level, and whether the above tasks are large-scale computing tasks, the following dependency relationships can be determined: Integration testing relies on the database model being developed.

[0034] User interface writing can begin after the database model is developed.

[0035] Designing business logic needs to be done after the database model is developed.

[0036] 5. Finally, determine the task allocation dependency constraints based on the dependency relationship.

[0037] Following the above, we can determine that the task allocation dependency constraints include: tasks with high urgency (such as database model development and integration testing) should be allocated resources first. Secondly, the design of business logic must wait until the database model is developed. In addition, the user interface writing can be done in parallel after the database model is developed.

[0038] Step 12: Obtain node attribute information of the available computing nodes, where the node attribute information is used to characterize the current resource availability status of the available computing nodes.

[0039] The available computing nodes refer to computing nodes whose configured services can respond to task allocation when a task to be allocated arrives.

[0040] In practical applications, available computing nodes may refer to servers or computers used to perform computing tasks. These computing nodes may be connected via a network to jointly complete complex computing tasks.

[0041] The configured service items of the computing node itself include information such as the hardware specifications of the computing node and currently available computing resources.

[0042] Optionally, the hardware specification of the computing node includes information such as the processor type (eg, GPU or CPU), the number of processor cores, the number of processor threads, the memory type, and the memory size of the computing node.

[0043] Optionally, the computing nodes may be connected by wireless or wired communication to improve the flexibility and reliability of the task allocation system and enhance the adaptability of the mechanism to different tasks to be allocated.

[0044] The node attribute information of the available computing nodes includes currently available processor resources, memory resources, and network resources of the available computing nodes.

[0045] In the embodiment of the present application, the node attribute information of the available computing nodes can be obtained in the following manner: (1) Determine available computing nodes from computing nodes based on the configured service items of the computing nodes themselves; like Figure 1b As shown, the specific implementation method of determining available computing nodes from computing nodes according to the configured service items of the computing nodes themselves is as follows: First, obtain the configured service items of the computing node itself, including the configuration service category and available computing resources of the computing node; Secondly, according to the configured services of the computing node itself, a global comprehensive mechanism is used to determine whether the configured services of the computing node can respond to the task allocation; If the configured service items of the computing node can respond to the task allocation, the computing node is considered to be an available computing node; otherwise, if the configured service items of the computing node cannot respond to the task allocation, the computing node is considered to be an unavailable computing node, and then the configured service items of other computing nodes are obtained. Then, based on the configured service items of other computing nodes, a global comprehensive mechanism is used to determine whether the configured service items of other computing nodes can respond to the task allocation, until an available computing node is obtained.

[0046] For example, in an optional implementation, when determining whether a configured service item of a computing node can respond to task allocation, the following method may be used for determination: First, the task to be assigned is obtained, and task feature extraction and analysis is performed on the task to be assigned to obtain the feature bit encoding of the task to be assigned. Among them, the format of the feature bit encoding of the task to be assigned in the embodiment of the present application is as follows:

[0047] After obtaining the feature bit code of the task to be assigned, it can be determined whether the configured service items of the computing node can respond to the task assignment based on the feature bit code of the task to be assigned, so as to determine the available computing nodes.

[0048] For example, taking the characteristic bit encoding of the to-be-assigned task shown above as an example, the computing node can determine whether it can process the to-be-assigned task of this data packet type based on the configured service items; if it is determined that it can process the to-be-assigned task of this data packet type, it will further determine whether it can process the to-be-assigned task of this data packet length based on the configured service items; and so on, until it is determined that the computing node can process the to-be-assigned task corresponding to the data packet type, data packet length, data type, data content, data unit and data packet end flag, it is considered that the computing node has configured service items and can respond to task allocation and can serve as an available computing node.

[0049] (2) According to the available computing nodes, obtain the node attribute information of the available computing nodes.

[0050] In the embodiment of the present application, after determining the available computing nodes, node attribute information of the available computing nodes may be further obtained, wherein the node attribute information of the available computing nodes includes currently available processor resources, memory resources, and network resources of the available computing nodes.

[0051] Step 13: Allocate each task in the to-be-allocated tasks to a target node in the available computing nodes according to the task allocation dependency constraint condition and the node attribute information.

[0052] In an embodiment of the present application, each task in the tasks to be assigned can be assigned to a target node that meets the task assignment dependency constraints and computing resource requirements based on the task assignment dependency constraints of the tasks to be assigned, the computing resource requirements of the tasks to be assigned, and the node attribute information of the computing nodes.

[0053] For example, suppose there is a big data analysis project that includes multiple tasks, such as data preprocessing, feature extraction, model training, and model evaluation. These tasks are dependent on each other and have different requirements for computing resources. The detailed information of each task and each available computing node is as follows: (1) The task information is as follows: Task A: data preprocessing task; Task B: feature extraction task; Task C: model training task; Task D: Model evaluation task.

[0054] (2) The information of available computing nodes is as follows: Node 1: A high-performance CPU node suitable for data preprocessing and feature extraction tasks.

[0055] Node 2: A node with large memory and storage capacity, suitable for data mining and analysis.

[0056] Node 3: A GPU-accelerated node suitable for machine learning model training.

[0057] Node 4: A node equipped with a GPU and database service, suitable for model training and evaluation that requires database access.

[0058] (3) The task allocation dependency constraints are as follows: There are the following dependencies between tasks: Task A: requires high-performance CPU nodes for data cleaning and preprocessing.

[0059] Task B: Depends on the output of Task A and requires a large amount of memory for feature extraction.

[0060] Task C: Depends on the output of Task B and requires GPU acceleration and database services for model training.

[0061] Task D: depends on the output of Task C and requires a database service for model evaluation.

[0062] Therefore, we can determine that the task allocation dependency constraints include: Task A is the initial task and needs to be executed first. Task B depends on the output of Task A and can be executed in parallel, but needs to be started after Task A is completed. Task C and Task D both depend on the output of Task B, but Task C requires GPU and database services, and Task D also requires database services.

[0063] (4) Based on the information of available computing nodes, the following information can be determined: Node 1: Suitable for executing Task A and Task B. Node 2: Suitable for executing Task B. Node 3: Suitable for executing Task C. Node 4: Suitable for executing Task C and Task D.

[0064] (5) Based on the above analysis, in this embodiment, the following task allocation scheme can be obtained: Task A: Assigned to Node 1. Because Task A requires a lot of data cleaning, the high-performance CPU of Node 1 can process these tasks quickly.

[0065] Task B: Assigned to Node 1 or Node 2. Because Task B requires a large memory capacity for feature extraction, and both Node 1 and Node 2 can provide sufficient resources.

[0066] Task C: Assigned to node 4. Because Task C requires GPU acceleration and database services for model training, node 4 is the only node that meets these requirements.

[0067] Task D: Assigned to Node 4. Because Task D requires database services for model evaluation, Node 4 can provide the required services.

[0068] By adopting the method provided in the embodiment of the present application, on the one hand, since the execution order between tasks and the dependencies between tasks (including other tasks or conditions that the tasks need to depend on for completion) can be determined based on the dependency relationship, it can be ensured that the tasks to be assigned can be executed in the correct execution order, thereby avoiding the situation in which, during the task processing process, the dependent tasks in the tasks to be assigned do not meet the task processing prerequisites during processing due to failure to consider the task execution order and dependencies, thereby causing task processing failure.

[0069] On the other hand, by fully considering the dependencies between tasks and the current resource availability of available computing nodes, the matching between the tasks to be assigned and the current resource availability of available computing nodes can be improved, which can effectively improve the overall resource utilization.

[0070] In an optional implementation, in order to comprehensively optimize multiple objectives of task allocation, such as load balancing, resource utilization, etc. In the embodiment of the present application, in addition to considering the task allocation dependency constraints, other task allocation constraints may also be considered when allocating tasks. Among them, other task allocation constraints may include at least one of the following constraints: Configuration service constraints required for the tasks to be assigned; The computing resource constraints required for the tasks to be assigned; The load balancing constraints of the target node.

[0071] The configuration service constraints required by the task to be assigned refer to the restrictions and conditions of the configuration services required by the task on the computing node that need to be considered when assigning the task. The configuration services here include the hardware configuration of the computing node.

[0072] Optionally, the configuration service constraint condition required by the task to be assigned includes: the hardware configuration of the target node matches the hardware configuration service required by the task to be assigned.

[0073] In the embodiment of the present application, considering that in actual applications, different tasks to be assigned may have different requirements for the hardware configuration of the computing node, such as GPU model or CPU model, memory size, storage type, etc. For example, some high-performance computing tasks may require a specific processor model (such as GPU model or CPU model) to ensure computing efficiency. Therefore, when assigning tasks, the configuration service constraints required by the tasks to be assigned can be set to ensure that the selected computing nodes can meet the hardware configuration requirements required by the tasks to be assigned.

[0074] For example, suppose there is a task A to be assigned, and the hardware configurations of the computing nodes include three configurations: Z1, Z2, and Z3. Moreover, the three hardware configurations Z1, Z2, and Z3 of the computing nodes all meet the hardware configuration requirements of the task A to be assigned. Therefore, it can be preliminarily determined that the computing nodes with hardware configurations Z1, Z2, or Z3 can be used to process the task A to be assigned.

[0075] Secondly, the computing resource constraints required by the tasks to be assigned refer to the restrictions and conditions on the computing resources required by the tasks on the computing nodes that need to be considered when assigning tasks.

[0076] Among them, the computing resources of the computing node include the number of cores of the computing node's processor, the frequency of the processor, the cache of the processor, the memory capacity of the computing node, the memory speed, the network bandwidth of the computing node, the network delay, the network connection type, the energy consumption of the computing node and other information.

[0077] In the embodiment of the present application, considering that the computing resources of each computing node are limited, based on this, in order to avoid the situation where the task to be assigned cannot be fully processed due to insufficient computing resources of the computing node. In the embodiment of the present application, when performing task assignment, the computing resources of the computing node can be further considered, and the computing resource constraints required for the task to be assigned can be set to ensure that the assigned computing node has sufficient computing resources to support it to complete the task to be assigned.

[0078] Optionally, the computing resource constraints required for the task to be assigned may include: the available computing time of the target node is greater than or equal to the computing time required for the task to be assigned; or, it can also be understood that the computing time required for the task to be assigned does not exceed the available computing time of the target node.

[0079] For example, assuming that the computing time required to execute the task A to be assigned is 60 hours, the computing resource constraints required for the task to be assigned may include: the available computing time of the target node is greater than or equal to 60 hours. Continuing with the above example, assuming that the computing nodes with hardware configurations of Z1, Z2, or Z3 include computing nodes 1, 2, and 3, and the available computing time of computing node 1 is 60.8 hours, the available computing time of computing node 2 is 53 hours; the available computing time of computing node 3 is 72 hours, then it can be determined that although the hardware configuration of computing node 2 meets the hardware configuration requirements of task A, the available computing time is less than the computing time required for task A, and therefore, task A cannot be assigned to computing node 2.

[0080] In addition, the load balancing constraints of the target nodes refer to the restrictions and conditions on the load of the computing nodes that need to be considered when allocating tasks.

[0081] In the embodiment of the present application, in order to avoid the problem that some computing nodes are assigned too many tasks to be assigned during the task allocation process, while some computing nodes are in an idle state, thereby causing the problem of low computing resource utilization of the computing nodes. When allocating tasks, the number of tasks assigned to each computing node can also be considered to balance the workload of each computing node. Based on this, the load balancing constraint of the target node can be set to balance the workload of each computing node.

[0082] Optionally, the load balancing constraint condition of the target node may include: the difference in the number of tasks to be assigned on each target node is less than or equal to a preset difference range.

[0083] For example, assuming that there are computing nodes 1, 2, 3 and 4, the number of tasks to be assigned is 14, and the preset difference range is 1, then 3 tasks to be assigned can be assigned to computing node 1; 4 tasks to be assigned to computing node 2; 3 tasks to be assigned to computing node 3; and 4 tasks to be assigned to computing node 4. In this way, the difference in the number of tasks to be assigned on computing nodes 1, 2, 3 and 4 is less than or equal to the preset difference range.

[0084] In an optional implementation, if the task allocation constraint condition includes a configuration service constraint condition, a computing resource constraint condition, a load balancing constraint condition, and a task allocation dependency constraint condition; then according to the task allocation dependency constraint condition and the node attribute information, each task in the to-be-allocated task is allocated to a target node in the available computing nodes, including: According to the configuration service constraints, computing resource constraints, load balancing constraints, task allocation dependency constraints and node attribute information, each task in the tasks to be allocated is allocated to the target node in the available computing nodes.

[0085] Specifically, in an embodiment of the present application, features of the tasks to be assigned and the computing nodes can be extracted and analyzed, so as to respectively determine the configuration service constraints, computing resource constraints, load balancing constraints, task allocation dependency constraints and node attribute information; then, each task in the tasks to be assigned is respectively assigned to the target node among the available computing nodes based on the above information.

[0086] By adopting the method provided in the embodiment of the present application, when allocating tasks, multiple objectives of task allocation can be comprehensively optimized, and it can be ensured that the selected computing nodes can meet the hardware configuration requirements of the tasks to be assigned; it can be ensured that the assigned computing nodes have sufficient computing resources to support them in completing the tasks to be assigned; the workload of each computing node can be balanced, etc.

[0087] Example 2 In the embodiment of the present application, it is considered that when performing task allocation, it is necessary to consider the task allocation dependency constraints and the node attribute information of each computing node. In this way, although the rationality of task allocation can be ensured, as the number of tasks increases, its complexity will also increase. Especially in a large-scale task allocation system, this complexity will significantly affect the allocation efficiency. In order to avoid this problem, Figure 2a As shown, in an optional implementation manner, step 13 in the above embodiment 1 can also be implemented by the following steps 21 to 23: Step 21: randomly generate a preset number of task allocation schemes according to the tasks to be allocated and the available computing nodes.

[0088] Step 22: Determine an available task allocation scheme from the task allocation schemes according to the task allocation dependency constraint conditions and the node attribute information.

[0089] Step 23, according to the available task allocation scheme, each task in the tasks to be allocated is allocated to a target node in the available computing nodes.

[0090] Optionally, in the above step 21, a preset number of task allocation schemes may be randomly generated according to the tasks to be allocated and the available computing nodes by improving the non-dominated sorting genetic algorithm.

[0091] For example, Figure 2b FIG. 1 is a flow chart of generating a task allocation scheme by improving a non-dominated sorting genetic algorithm according to an embodiment of the present application, which specifically includes the following steps: First, the improved non-dominated sorting genetic algorithm model can be initialized. For example, the evolutionary algebra counter t=1 is set; the initial population is randomly generated; the initial population size is 105. Each individual in the initial population represents a chromosome, and a chromosome is a task allocation scheme. Each chromosome consists of a string of genes, and each gene represents a task.

[0092] It should be noted that setting the evolutionary generation counter t=1 and the initial population number to 105 is merely an exemplary description of the embodiment of the present application and does not impose any limitation on the embodiment of the present application.

[0093] Secondly, the task characteristic information of the task to be assigned and the node attribute information of the available computing nodes can be respectively collected through the data collection node; wherein the task characteristic information of the task to be assigned includes the task assignment dependency constraint conditions.

[0094] Finally, after obtaining the task allocation dependency constraints and node attribute information, the data acquisition node inputs the task allocation dependency constraints and node attribute information into the trained improved non-dominated sorting genetic algorithm model so that the distributed computing node can process the task allocation dependency constraints and node attribute information through the trained improved non-dominated sorting genetic algorithm model to generate a task allocation plan; and the generated task allocation plan is visualized through the data interface.

[0095] Specifically, after receiving the task allocation dependency constraint conditions and node attribute information, the improved non-dominated sorting genetic algorithm model can first perform data preprocessing on the task allocation dependency constraint conditions and node attribute information to obtain data preprocessing results; then, generate a task allocation plan based on the data preprocessing results.

[0096] Among them, the data acquisition node mentioned in the embodiment of the present application may refer to a device or system responsible for collecting and acquiring data. These nodes may be sensors, cameras, servers, or any other devices that can generate or receive data. Secondly, a distributed computing node may refer to a server or computer used to perform computing tasks in a distributed system. These distributed computing nodes can be connected through a network to jointly complete complex computing tasks.

[0097] It should be noted that the improved non-dominated sorting genetic algorithm model specifically includes an initial model and an optimization model; wherein the initial model is only used when generating a task allocation scheme for the first time. Correspondingly, the optimization model is used in other processes of generating task allocation schemes after the first time.

[0098] After executing step 21 and obtaining the randomly generated task allocation scheme, an available task allocation scheme can be determined from the task allocation scheme according to the task allocation dependency constraint and the node attribute information. Finally, each task in the to-be-allocated task is allocated to a target node in the available computing nodes according to the available task allocation scheme.

[0099] By adopting the method provided in the embodiment of the present application, on the one hand, an available task allocation scheme can be determined from randomly generated task allocation schemes according to the task allocation dependency constraints and node attribute information. In this way, since the number of randomly generated task allocation schemes is limited, that is, in the embodiment of the present application, available task allocation schemes can be determined within a limited range. Compared with the method of determining the task allocation scheme by arranging and combining them in sequence according to the task allocation dependency constraints and node attribute information, the scope of determining the task allocation scheme can be narrowed, thereby reducing the complexity of determining the task allocation scheme.

[0100] On the other hand, by improving the non-dominated sorting genetic algorithm, a preset number of task allocation schemes are randomly generated according to the tasks to be assigned and the available computing nodes. In this way, even in the face of large-scale tasks, the search capability of the improved non-dominated sorting genetic algorithm can be used to quickly and accurately explore the large-scale solution space, thereby finding a better global solution. Compared with the task allocation method limited to local search in the prior art, the embodiment of the present application has better global optimization capabilities.

[0101] In an optional implementation, in order to comprehensively optimize multiple objectives of task allocation, such as load balancing, resource utilization, etc. In the embodiment of the present application, in addition to considering the task allocation dependency constraints, other task allocation constraints may also be considered when allocating tasks. Among them, other task allocation constraints may include at least one of the following constraints: Configuration service constraints required for the tasks to be assigned; The computing resource constraints required for the tasks to be assigned; The load balancing constraints of the target node.

[0102] For the relevant contents of the above-mentioned constraints, please refer to the relevant description in Example 1, which will not be repeated here.

[0103] In an optional implementation, if the task allocation constraints include configuration service constraints, computing resource constraints, load balancing constraints, and task allocation dependency constraints; then according to the task allocation dependency constraints and node attribute information, each task in the tasks to be allocated is allocated to a target node in the available computing nodes, including: (1) According to the tasks to be assigned and the available computing nodes, a preset number of task assignment schemes are randomly generated by improving the non-dominated sorting genetic algorithm model.

[0104] (2) Determine an available task allocation scheme from the task allocation schemes based on configuration service constraints, computing resource constraints, load balancing constraints, task allocation dependency constraints, and node attribute information.

[0105] (3) According to the available task allocation scheme, each task in the to-be-allocated task is allocated to the target node among the available computing nodes.

[0106] For example, suppose there are three computing tasks T1, T2, T3 and three computing nodes N1, N2, N3. According to the tasks to be assigned and the available computing nodes, the preset number of task assignment schemes can be randomly generated by improving the non-dominated sorting genetic algorithm model as follows: (1) First, task encoding: Use digital codes to represent tasks.

[0107] T1 ->a T2 -> b T3 ->c (2) Secondly, node coding: use digital codes to represent nodes.

[0108] N1->1 N2->2 N3->3 (3) According to the task coding results and the digital coding results, a preset number (for example, 3) of task allocation schemes are randomly generated by improving the non-dominated sorting genetic algorithm model.

[0109] For example, "a-2, b-1, c-3" .

[0110] Here, a-2 means that task a is assigned to node 2, task b is assigned to node 1, and task c is assigned to node 3.

[0111] (4) After obtaining the randomly generated task allocation scheme, the available task allocation scheme can be determined from the task allocation scheme according to the configuration service constraints, computing resource constraints, load balancing constraints, task allocation dependency constraints and node attribute information.

[0112] Using the above example, after obtaining the randomly generated task allocation scheme "a-2, b-1, c-3", the available task allocation scheme can be determined from the task allocation schemes according to the configuration service constraints, computing resource constraints, load balancing constraints, task allocation dependency constraints and node attribute information in the following manner: Assume that the configuration service constraints, computing resource constraints, load balancing constraints, task allocation dependency constraints, and node attribute information are as follows: Task 1 requires a GPU node; Node 2 is a CPU node; The memory limit of node 1 is 16GB; Task 2 requires 10GB of memory; Task 3 requires 8GB of memory; Task 2 depends on Task 1; Then, when determining the available task allocation scheme from the task allocation schemes according to the configuration service constraints, computing resource constraints, load balancing constraints, task allocation dependency constraints and node attribute information, the following steps may be specifically performed: First, you can check whether the configuration service constraints are met: In this embodiment, since task 1 requires a GPU, and node 2 is a CPU; therefore, task a assigned to node 2 does not meet the configuration service constraint condition.

[0113] Second, you can check whether the computing resource constraints are met: Since the memory limit of node 1 is 16 GB, task b requires 10 GB, and task c requires 8 GB; task b and task c are not on the same node, therefore, the computing resource constraint is met.

[0114] After that, check whether the task allocation dependency constraints are met: Since Task 2 depends on Task 1, and Task A and Task B are currently assigned to different nodes, it is not yet certain whether the task assignment dependency constraint is met. It is also necessary to further determine whether the completion time of Task A is less than that of Task B.

[0115] Finally, check whether the load balancing constraints are met: Distribution of task quantity: Node 1: 1 task Node 2: 1 task Node 3: 1 task Therefore, the tasks are evenly distributed and the load balancing constraints are met.

[0116] It should be noted that the "first", "second", "afterwards" and "finally" mentioned in the embodiments of the present application do not limit the order of checking the above constraints, and these contents are cited here only for the convenience of description. For example, in the embodiments of the present application, it is possible to check whether the above four constraints are met at the same time.

[0117] By adopting the method provided in the embodiment of the present application, when allocating tasks, multiple goals of task allocation can be comprehensively optimized, and it can be ensured that the selected computing nodes can meet the hardware configuration requirements of the tasks to be allocated, and that the allocated computing nodes have sufficient computing resources to support them in completing the tasks to be allocated, and that the workload of each computing node can be balanced, etc. Secondly, by adopting the method provided in the embodiment of the present application, it is also possible to realize parallel processing of large-scale computing tasks, reduce computing time, optimize resource utilization, and achieve better load balancing and task coordination, thereby improving computing performance and efficiency.

[0118] Example 3 In an optional implementation, if after executing step 22, the available task allocation schemes determined from the task allocation schemes include multiple ones, then Figure 3 As shown, in order to ensure that the optimal task allocation can be achieved, when each task in the to-be-allocated task is allocated to the target node in the available computing nodes according to the available task allocation scheme, it can be implemented according to the following steps: Step 31 , respectively calculating the fitness function value of each available task allocation scheme among a plurality of available task allocation schemes, wherein the fitness function value is determined by the competition product, the overuse penalty value and the waiting time penalty value of the available task allocation scheme.

[0119] Optionally, the fitness function value may be determined by weighted summation according to the competition product of available task allocation schemes, the overuse penalty value, and the waiting time penalty value.

[0120] Among them, the competition product of available task allocation schemes is used to characterize the resource utilization and task allocation fairness of available task allocation schemes.

[0121] The overuse penalty value is used to characterize the rationality of the resource usage cost of the available task allocation schemes.

[0122] The waiting time penalty value is used to characterize the negative impact of delaying the execution of tasks due to waiting for required resources in the available task allocation schemes.

[0123] Optionally, the competition product may be determined in the following manner: Determine the number of tasks to be assigned, the priority of the tasks to be assigned, and the resource usage of the tasks to be assigned in the available task allocation schemes; Determine the contention product based on the number of tasks, their priority, and resource usage.

[0124] In an optional implementation, the contention product may be determined according to the number of tasks, priority, and resource usage in the following calculation method:

[0125] in, represents the competitive product of available task allocation schemes; N represents the number of tasks; A weight indicating the priority of the task to be assigned; It represents the resource usage of the task to be assigned i in the available task allocation schemes.

[0126] For example, suppose there are three tasks with priority weights of 2, 1, and 3, respectively, and their resource usage in the available task allocation schemes is 5, 3, and 7, respectively. The contention product is as follows:

[0127] Optionally, the overuse penalty value may be determined in the following manner: Determine the number of task steps of the task to be assigned in the available task assignment schemes, and the resource usage cost of the task to be assigned in each task step; The overuse penalty value is determined based on the number of task steps and the resource usage cost of the task to be assigned in each task step.

[0128] In an optional implementation, the overuse penalty value may be determined according to the number of task steps and the resource usage cost of the task to be assigned in each task step in the following calculation method:

[0129] in, represents the overuse penalty value; M represents the number of task steps of the task i to be assigned in the available task allocation scheme; It represents the resource usage cost of the task i to be assigned in the task step j in the available task allocation scheme.

[0130] For example, assuming that the number of task steps of the to-be-assigned task 1 in the available task allocation scheme is 3, and the resource usage cost of the to-be-assigned task in each task step is 5, 7, and 3 respectively, then the overuse penalty value is as follows:

[0131] Optionally, the waiting time penalty value may be determined in the following manner: Determine the number of task steps of the task to be assigned in the available task assignment scheme, and the waiting time of the task to be assigned in each task step; Determine the waiting time penalty value based on the number of task steps and the waiting time.

[0132] In an optional implementation, the waiting time penalty value may be determined according to the number of task steps and the waiting time in the following manner:

[0133] in, Indicates the waiting time penalty value; It represents the waiting time of the task i to be assigned in the task step j.

[0134] For example, assuming that the number of task steps of the to-be-assigned task 1 in the available task allocation scheme is 3, and the waiting time of the to-be-assigned task in these three task steps is 2, 3, and 1 minutes respectively, then the waiting time penalty value is as follows:

[0135] In summary, after calculating the competition product, overuse penalty value, and waiting time penalty value of the available task allocation scheme, the fitness function of the available task allocation scheme can be determined as follows:

[0136] in, A fitness function representing the available task allocation schemes; represents the competitive product of available task allocation schemes; represents the over-use penalty value of the available task allocation schemes; represents the waiting time penalty value of the available task allocation scheme; represents a preset weight coefficient of the competitive product; A preset weight factor representing an overuse penalty value; Indicates the preset weight coefficient of the waiting time penalty value.

[0137] Step 32: sort multiple available task allocation schemes according to the fitness function value to obtain a sorting result.

[0138] In the embodiment of the present application, multiple available task allocation schemes can be sorted in descending order according to the fitness function value to obtain a sorting result.

[0139] Step 33: Select a target task allocation scheme from multiple available task allocation schemes according to the sorting result.

[0140] In an optional implementation, for example, the available task allocation scheme that ranks first (that is, has the largest fitness function value) in the descending sorting result may be determined as the target task allocation scheme.

[0141] Step 34, according to the target task allocation scheme, each task in the tasks to be allocated is allocated to a target node in the available computing nodes.

[0142] By adopting the method provided in the embodiment of the present application, when allocating tasks, the weighted value of the competition product, the overuse penalty value and the waiting time penalty value can be used as the fitness function of the available task allocation scheme, and the optimal allocation method of the tasks to be allocated can be iteratively obtained.

[0143] In an optional implementation, in order to adapt to the dynamic change requirements during task execution, in the embodiment of the present application, the following steps may also be performed: 1. Perform non-inferiority stratification on multiple available task allocation schemes according to the fitness function value, and obtain non-inferiority available task allocation schemes and the non-inferiority level of each available task allocation scheme; Optionally, multiple available task allocation schemes can be non-inferior stratified according to the fitness function value, and all non-inferior solution individuals in the current multiple available task allocation schemes are divided into the same level, and their level is set to 1; then these available task allocation schemes are removed from the population, and new non-inferior solutions are found among the remaining individuals, and their level is set to 2; the above process is repeated until all available task allocation schemes in the current multiple available task allocation schemes are set to corresponding levels.

[0144] 2. Calculate the crowding density of available task allocation schemes with non-inferior solutions; In practical applications, initialization can be performed first: multiple available task allocation schemes are regarded as multiple chromosome individuals, and for each individual, its crowding distance is initialized to 0. Then perform the following steps: (1) Sort multiple individuals according to the fitness function value to obtain the sorting result; (2) According to the sorting results, the crowding distances of the first and last individuals are set to infinity, indicating that these two individuals are boundary individuals and are the least crowded; (3) Calculate the crowding distance of the middle individual: For the i-th individual after sorting, its crowding distance is the normalized sum of the difference between the two adjacent individuals in the fitness function value. The specific calculation method is as follows:

[0145]

[0146] in, represents the crowding distance; Represents the crowding distance of individual i on the fitness function value k; Indicates the fitness function value of the (i+1)th individual after sorting The difference on Indicates the fitness function value of the (i-1)th individual after sorting The difference on Indicates the maximum value of the fitness function; Indicates the maximum value of the fitness function.

[0147] 3. According to the crowding density and non-inferiority level, the selection, crossover and mutation operations in the improved non-dominated sorting genetic algorithm are performed to generate new available task allocation schemes.

[0148] In an embodiment of the present application, two individuals can be randomly selected, and their non-inferior levels are first compared. If the non-inferior levels are different, the individual with the smaller non-inferior level is taken. If they are individuals at the same level, their crowding densities are compared again, and the individual with the smaller density is taken to form a population, that is, to form a set of available task allocation solutions.

[0149] Afterwards, an adaptive single-point crossover algorithm is used to perform crossover and mutation operations on the formed population to obtain a new population; Then, the new populations obtained by the crossover and mutation operations are merged to obtain the target population.

[0150] Finally, in order to ensure that the generated new available task allocation scheme can achieve optimal allocation, in the embodiment of the present application, the above steps 31 to 33 can be repeatedly executed for each individual in the target population to achieve optimal allocation.

[0151] The method provided in the embodiment of the present application can adapt to the dynamically changing needs during task execution, and can timely and dynamically adjust the task allocation plan according to changes in the actual computing environment and resources to adapt to different computing scenarios and resource constraints, thereby ensuring the optimal task allocation result.

[0152] Example 4 In order to solve the problem that there is a lack of effective computing task allocation method in the prior art, which leads to the inability to effectively allocate multiple computing tasks to each node and it is difficult to achieve a better allocation of computing tasks, the embodiment of the present application provides a task allocation device, the specific structural diagram of the device is as follows: Figure 4 As shown, it includes a condition determination module 41, an information determination module 42 and a task allocation module 43. The functions of each module are as follows: A condition determination module 41 is used to determine the task allocation dependency constraint conditions of the tasks to be allocated, and the task allocation dependency constraint conditions are determined based on the dependency relationship between the tasks in the tasks to be allocated; An information determination module 42 is used to obtain node attribute information of available computing nodes, where the node attribute information is used to characterize the current resource availability status of the available computing nodes; The task allocation module 43 is used to allocate each task in the tasks to be allocated to a target node in the available computing nodes according to the task allocation dependency constraint condition and the node attribute information.

[0153] Optionally, the task allocation constraint of the task to be allocated includes at least one of the following constraints in addition to the task allocation dependency constraint: Configuration service constraints required for the tasks to be assigned; The computing resource constraints required for the tasks to be assigned; The load balancing constraints of the target node.

[0154] Optionally, if the task allocation constraints include configuration service constraints, computing resource constraints, load balancing constraints, and task allocation dependency constraints, the task allocation module is used to: According to the configuration service constraints, computing resource constraints, load balancing constraints, task allocation dependency constraints and node attribute information, each task in the tasks to be allocated is allocated to the target node in the available computing nodes.

[0155] Optionally, the task allocation module 43 includes: A scheme generating unit, used for randomly generating a preset number of task allocation schemes according to the tasks to be allocated and the available computing nodes; A scheme determination unit, used to determine an available task allocation scheme from the task allocation schemes according to the task allocation dependency constraint conditions and node attribute information; The task allocation unit is used to allocate each task in the to-be-allocated tasks to a target node in the available computing nodes according to the available task allocation scheme.

[0156] Optionally, if multiple available task allocation schemes are included, the task allocation unit is used to: respectively calculating a fitness function value of each of the multiple available task allocation schemes, where the fitness function value is determined by a competition product, an overuse penalty value, and a waiting time penalty value of the available task allocation schemes; Sort multiple available task allocation schemes according to the fitness function value to obtain a sorting result; Selecting a target task allocation scheme from multiple available task allocation schemes according to the sorting result; According to the target task allocation scheme, each task in the tasks to be allocated is allocated to the target node in the available computing nodes.

[0157] Optionally, the competitive product of available task allocation schemes is used to characterize the resource utilization and task allocation fairness of the available task allocation schemes; Overuse penalty value, used to characterize the rationality of resource usage cost of available task allocation schemes; The waiting time penalty value is used to characterize the negative impact of delaying the execution of tasks due to waiting for required resources in the available task allocation schemes.

[0158] Optionally, the competitive product is determined in the following manner: Determine the number of tasks to be assigned, the priority of the tasks to be assigned, and the resource usage of the tasks to be assigned in the available task allocation schemes; Determine the contention product based on the number of tasks, their priority, and resource usage.

[0159] Optionally, the overuse penalty value is determined in the following manner: Determine the number of task steps of the task to be assigned in the available task assignment schemes, and the resource usage cost of the task to be assigned in each task step; The overuse penalty value is determined based on the number of task steps and the resource usage cost of the task to be assigned in each task step.

[0160] Optionally, the waiting time penalty value is determined in the following manner: Determine the number of task steps of the task to be assigned in the available task assignment scheme, and the waiting time of the task to be assigned in each task step; Determine the waiting time penalty value based on the number of task steps and the waiting time.

[0161] Optionally, the device is also used for: According to the fitness function value, multiple available task allocation schemes are non-inferiorly stratified to obtain non-inferior available task allocation schemes and non-inferior levels of each available task allocation scheme; Calculate the crowding density of available task allocation schemes with non-inferior solutions; According to the crowding density and non-inferiority level, the selection, crossover and mutation operations in the improved non-dominated sorting genetic algorithm are performed to generate new available task allocation schemes.

[0162] By using the device provided in the embodiment of the present application, on the one hand, since the execution order between tasks and the dependencies between tasks (including other tasks or conditions that the tasks need to depend on for completion) can be determined according to the dependency relationship, it can be ensured that the tasks to be assigned can be executed in the correct execution order, thereby avoiding the situation in which, during the task processing process, the dependent tasks in the tasks to be assigned do not meet the task processing prerequisites during processing due to failure to consider the task execution order and dependencies, thereby causing task processing failure.

[0163] On the other hand, by fully considering the dependencies between tasks and the current resource availability of available computing nodes, the matching between the tasks to be assigned and the current resource availability of available computing nodes can be improved, which can effectively improve the overall resource utilization.

[0164] Example 5 Figure 5 A hardware structure diagram of an electronic device for implementing various embodiments of the present application is provided, and the electronic device may include a processor 501 and a memory 502 storing computer program instructions. Specifically, the processor 501 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiments of the present application.

[0165] The memory 502 may include a large capacity memory for data or instructions. By way of example and not limitation, the memory 502 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive or a combination of two or more of these. Where appropriate, the memory 502 may include a removable or non-removable (or fixed) medium. Where appropriate, the memory 502 may be inside or outside the electronic device. In a particular embodiment, the memory 502 may be a non-volatile solid-state memory.

[0166] In one embodiment, the memory 502 may be a read-only memory (ROM). In one embodiment, the ROM may be a mask-programmed ROM, a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), an electrically rewritable ROM (EAROM), or a flash memory, or a combination of two or more of these.

[0167] The processor 501 implements any one of the time series data compression methods or time series data decompression methods in the above embodiments by reading and executing computer program instructions stored in the memory 502 .

[0168] In one example, the electronic device may further include a communication interface 503 and a bus 510. Figure 5 As shown, the processor 501, the memory 502, and the communication interface 503 are connected via a bus 510 and communicate with each other.

[0169] The communication interface 503 is mainly used to implement communication between various modules, devices, units and / or equipment in the embodiments of the present application.

[0170] Bus 510 includes hardware, software or both, coupling the components of the electronic device to each other. For example, but not limitation, the bus may include an accelerated graphics port (AGP) or other graphics bus, an enhanced industrial standard architecture (EISA) bus, a front-side bus (FSB), a hypertransport (HT) interconnect, an industrial standard architecture (ISA) bus, an infinite bandwidth interconnect, a low pin count (LPC) bus, a memory bus, a microchannel architecture (MCA) bus, a peripheral component interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a serial advanced technology attachment (SATA) bus, a video electronics standard association local (VLB) bus or other suitable bus or a combination of two or more of these. Where appropriate, bus 510 may include one or more buses. Although the present application embodiment describes and illustrates a specific bus, the present application considers any suitable bus or interconnect.

[0171] In addition, in combination with the time series data compression method or the time series data decompression method in the above embodiments, the embodiments of the present application may provide a computer-readable storage medium for implementation. The computer-readable storage medium stores computer program instructions; when the computer program instructions are executed by the processor, any time series data compression method or time series data decompression method in the above embodiments is implemented.

[0172] It should be clear that the present application is not limited to the specific configuration and processing described above and shown in the figures. For the sake of simplicity, a detailed description of the known method is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present application is not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and additions, or change the order between the steps after understanding the spirit of the present application.

[0173] The above is only a specific implementation example of the present application. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working process of the above-described system, module and unit can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here. It should be understood that the protection scope of the present application is not limited to this. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in the present application, and these modifications or replacements should be included in the protection scope of the present application.

Claims

1. A task allocation method, characterized in that: include: Determine a task allocation dependency constraint condition for the task to be allocated, wherein the task allocation dependency constraint condition is determined based on the dependency relationship between the tasks in the task to be allocated; Acquire node attribute information of an available computing node, wherein the node attribute information is used to characterize a current resource availability status of the available computing node; According to the task allocation dependency constraint condition and the node attribute information, each task in the tasks to be allocated is allocated to a target node in the available computing nodes.

2. The method according to claim 1, characterized in that The task allocation constraint condition of the task to be allocated includes at least one of the following constraints in addition to the task allocation dependency constraint condition: The configuration service constraints required by the task to be assigned; The computing resource constraints required by the task to be assigned; The load balancing constraints of the target node.

3. The method according to claim 2, characterized in that If the task allocation constraint condition includes the configuration service constraint condition, the computing resource constraint condition, the load balancing constraint condition and the task allocation dependency constraint condition; then, The step of allocating each task in the to-be-allocated tasks to a target node in the available computing nodes according to the task allocation dependency constraint condition and the node attribute information comprises: According to the configuration service constraint, the computing resource constraint, the load balancing constraint, the task allocation dependency constraint and the node attribute information, each task in the tasks to be allocated is allocated to a target node in the available computing nodes.

4. The method according to claim 1, characterized in that The step of allocating each task in the to-be-allocated tasks to a target node in the available computing nodes according to the task allocation dependency constraint condition and the node attribute information comprises: Randomly generate a preset number of task allocation schemes according to the tasks to be allocated and the available computing nodes; Determining an available task allocation scheme from the task allocation schemes according to the task allocation dependency constraint condition and the node attribute information; According to the available task allocation scheme, each task in the tasks to be allocated is allocated to the target node in the available computing nodes.

5. The method according to claim 4, characterized in that If a plurality of the available task allocation schemes are included, then according to the available task allocation schemes, each task in the to-be-allocated tasks is allocated to a target node in the available computing nodes, including: Calculating the fitness function value of each of the plurality of available task allocation schemes respectively, wherein the fitness function value is determined by the competition product, the overuse penalty value, and the waiting time penalty value of the available task allocation scheme; Sorting the plurality of available task allocation schemes according to the fitness function value to obtain a sorting result; Selecting a target task allocation scheme from the plurality of available task allocation schemes according to the ranking result; According to the target task allocation scheme, each task in the tasks to be allocated is allocated to the target node in the available computing nodes.

6. The method according to claim 5, characterized in that include: The competition product of the available task allocation scheme is used to characterize the resource utilization and task allocation fairness of the available task allocation scheme; The overuse penalty value is used to characterize the rationality of the resource usage cost of the available task allocation solution; The waiting time penalty value is used to characterize the negative impact degree of delaying the execution of tasks due to waiting for required resources in the available task allocation scheme.

7. The method according to claim 5 or 6, characterized in that The competitive product is determined in the following manner: Determine the number of tasks to be assigned, the priority of the tasks to be assigned, and resource usage of the tasks to be assigned in the available task allocation scheme; The contention product is determined according to the number of tasks, the priorities, and the resource usage.

8. The method according to claim 5 or 6, characterized in that The overuse penalty value is determined in the following manner: Determine the number of task steps of the task to be assigned in the available task assignment scheme, and the resource usage cost of the task to be assigned in each task step; The overuse penalty value is determined according to the number of task steps and the resource usage cost of the to-be-assigned task in each task step.

9. The method according to claim 5 or 6, characterized in that The waiting time penalty value is determined in the following manner: Determine the number of task steps of the task to be assigned in the available task assignment scheme, and the waiting time of the task to be assigned in each task step; The waiting time penalty value is determined according to the number of task steps and the waiting time.

10. The method according to claim 5 or 6, characterized in that: The method further comprises: According to the fitness function value, the plurality of available task allocation schemes are non-inferiorly layered to obtain a non-inferior available task allocation scheme and a non-inferior grade of each available task allocation scheme; Calculating the congestion density of the available task allocation schemes of the non-inferior solution; According to the crowding density and the non-inferiority level, selection, crossover and mutation operations in an improved non-dominated sorting genetic algorithm are performed to generate a new available task allocation solution.

Citation Information

Cited By

  • Radar signal distributed processing method, system and equipment based on resource calculation

    CN119781987A