A dynamic scheduling method for multi-type AI tasks
By classifying and prioritizing physical machines in distributed systems, dynamically scheduling the execution of deep learning tasks, the problem that existing systems cannot automatically retrieve computing resources is solved, and reasonable allocation of resources and improvement of system efficiency is achieved.
Patent Information
- Application Number
- CN202310751962.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-25
- Publication Date
- 2025-03-07
- Estimated Expiration
- 2043-06-25
AI Technical Summary
Existing distributed systems cannot automatically retrieve the computing resources required by each task based on deep learning tasks, resulting in unreasonable resource allocation.
By classifying and marking the physical machines, and generating a task node topology sequence based on the type and connection relationship of the task nodes, identifying available physical machines and prioritizing them, dynamically scheduling the execution of task nodes.
It realizes the automatic call-up of required computing resources based on deep learning tasks, ensures reasonable allocation of resources, and improves the efficiency and reliability of distributed systems.
Smart Images

Figure CN116700983B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of artificial intelligence technology, and in particular to a method for dynamically scheduling multiple types of AI tasks. Background Art
[0002] The explosion of data has caused the performance of a single machine to no longer meet the computing requirements, and distributed systems have emerged. Distributed systems are composed of a group of computer nodes that communicate through a network and work in coordination to complete common tasks. The emergence of distributed systems is to use cheap, ordinary machines to complete computing and storage tasks that a single computer cannot complete. Its purpose is to use more machines to process more data.
[0003] To ensure system reliability, existing distributed systems adopt a centralized approach, that is, each machine in the system cluster has the same processing function. However, the above method is limited by the actual situation, and most systems cannot guarantee that each device in the cluster has the same function. It is impossible to automatically call the computing resources required for each task according to the deep learning task. Summary of the invention
[0004] 1. Technical issues to be solved
[0005] In view of the shortcomings of the prior art, the present invention provides a method for dynamic scheduling of multiple types of AI tasks, which solves the problem that in existing distributed systems, the computing resources required for each task cannot be automatically called according to deep learning tasks.
[0006] (II) Technical solution
[0007] To achieve the above objectives, the present invention is implemented through the following technical solutions: a multi-type AI task dynamic scheduling method, specifically comprising the following steps:
[0008] S1. Mark the physical machine:
[0009] Define a classification identifier, and classify and mark the cluster and each physical machine in the cluster according to the classification identifier, wherein the classification identifier includes: a first category identifier, a second category identifier, a third category identifier, and a fourth category identifier;
[0010] S2. Mark the task nodes in the workflow and generate a task node topology sequence:
[0011] Receive the execution instruction of the workflow, split the task nodes in the workflow, add a task node type identifier to each of the task nodes, generate a task node topology sequence according to the connection relationship of each of the task nodes, and obtain the in-degree of each of the task nodes;
[0012] S3. Identify and prioritize available physical machines:
[0013] According to the task node type identifier and the classification identifier, identify and select the cluster available for the workflow and the physical machines available for each of the task nodes, and prioritize the available physical machines to form a physical machine table corresponding to each of the task nodes;
[0014] S4. Task node execution:
[0015] S41 identifies the first task node with an in-degree of 0 from all the task nodes according to the task node topology sequence, determines and calls the available physical machine with a higher priority corresponding to the task node with an in-degree of 0 according to the physical machine table, executes the task node with an in-degree of 0, and returns a first execution result;
[0016] S42 sends the first execution result to the available physical machine with a higher priority corresponding to the next task node according to the task node topology sequence and the physical machine table, and returns the second execution result;
[0017] S43 repeats the operation of step S42 until the last task node in the task node topology sequence is executed, and obtains and returns the workflow execution result.
[0018] Wherein, in the step S1, the first category identifier is a cluster tag indicating the type of functional node that can be executed by the cluster; the second category identifier is a tag of a physical machine that executes a task node task.
[0019] Optionally, in step S1, the third category identifier is a mark of a physical machine that provides only a single function in the cluster; and the fourth category identifier is a mark of a physical machine that can provide multiple functions in the cluster.
[0020] In addition, the step S2 also includes:
[0021] S21 creates a workflow and sends an execution instruction: the user selects a corresponding task node from the function node library according to the data processing requirements, determines and forms and creates a workflow based on the node number of each task node and the connection relationship between each task node, and sends an execution instruction for the workflow;
[0022] S22 adds identification to task nodes: receiving the execution instruction of the workflow, splitting the task nodes in the workflow according to the directed acyclic graph sequence order of the workflow, adding task node type identification to each task node, and identifying the connection relationship between each task node;
[0023] S23 generates a topological sequence: generates a task node topological sequence according to the connection relationship of each task node, and obtains the in-degree of each task node;
[0024] in,
[0025] The functional node library includes one or more task nodes, which can be pre-set according to the user's data processing requirements;
[0026] The task node type identifier corresponds to the first type identifier;
[0027] The in-degree of the task node is the number of task nodes connected to the task node as an input node in the task node topology sequence.
[0028] Wherein, the step S3 is specifically as follows:
[0029] S31 identifies and determines an available cluster: compares the task node type identifiers of all task nodes in the workflow with the first type identifier, and if the first type identifier includes the task node type identifiers of all task nodes in the workflow, determines the cluster corresponding to the first type identifier as an available cluster;
[0030] Otherwise, the cluster corresponding to the first type identifier is an unavailable cluster;
[0031] S32 identifies and determines the available physical machines:
[0032] According to the task node type identifier, the second category identifier, the third category identifier and the fourth category identifier of each task node in the workflow, the available physical machines of each task node are identified and determined, and the available physical machines are prioritized to form a physical machine table corresponding to each task node.
[0033] In the above step S3, the physical machine table corresponding to each function type is formed as follows:
[0034] When receiving a workflow execution instruction, compare and judge the types of function nodes in the workflow and the first type of identification of the physical machine in the first item above. When the first type of identification includes all types of workflow function nodes, select the physical machines that can execute nodes of each function type in the workflow according to the third and fourth types of identifications.
[0035] Among them, the screened physical machines are sorted by usage priority. For physical machines with the same second-category identification, the priority of the physical machine with the third-category identification is set to high. For physical machines with the same second-category identification and the fourth-category identification at the same time, other function node categories that they can process are identified. If other function node categories are not included in the current workflow function node type, the priority of the physical machine is set to medium; otherwise, the priority of the physical machine is set to low.
[0036] Optionally, the step S32 of identifying and determining available physical machines further includes:
[0037] Setting the priority of the available physical machine having both the second type identification and the third type identification to high;
[0038] For the available physical machine having both the second category identifier and the fourth category identifier, if the task node that the available physical machine can process is in the current task node topology sequence, the priority of the available physical machine is set to medium; otherwise, the priority of the available physical machine is set to low.
[0039] In addition, step S3 also includes the step of delayed scheduling processing, specifically:
[0040] a. Delayed scheduling of physical machines that can process tasks of one type of task node in the current workflow and can also process tasks of other types of task nodes in other workflows, thereby saving resources for the execution of other workflows at the same time;
[0041] b. Perform delayed scheduling on physical machines that can simultaneously process tasks of multiple types of task nodes in the current workflow.
[0042] (III) Beneficial effects
[0043] Compared with a decentralized distributed system, a dynamic scheduling method for multiple types of AI tasks of the present invention pre-identifies physical machines according to the actual situation of the user cluster to meet the scheduling of clusters composed of devices with different functions. At the same time, the pre-identification of physical machines in this scheme helps to reasonably allocate physical machine resources of the distributed processing cluster to a certain extent in the case of multiple branches in the workflow. The identification tasks are processed in parallel with the process creation tasks and the process node execution tasks, which will not occupy the process processing time, ensuring that each device in the cluster has the same function and can automatically call the computing resources required for each task according to the deep learning tasks. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] Figure 1 A schematic diagram of a flow chart of a method for dynamic scheduling of multiple types of AI tasks of the present invention;
[0045] Figure 2 Creating a workflow directed acyclic sequence diagram for users of a multi-type AI task dynamic scheduling method of the present invention;
[0046] Figure 3 It is a task node topology sequence of a multi-type AI task dynamic scheduling method of the present invention. DETAILED DESCRIPTION
[0047] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0048] Example:
[0049] like Figure 1-3 As shown, an embodiment of the present invention provides a method for dynamic scheduling of multiple types of AI tasks, which specifically includes the following steps:
[0050] S1. Mark the physical machine:
[0051] Define a classification identifier, and classify and mark the cluster and each physical machine in the cluster according to the classification identifier, wherein the classification identifier includes: a first category identifier, a second category identifier, a third category identifier, and a fourth category identifier;
[0052] S2. Mark the task nodes in the workflow and generate a task node topology sequence:
[0053] Receive the execution instruction of the workflow, split the task nodes in the workflow, add a task node type identifier to each of the task nodes, generate a task node topology sequence according to the connection relationship of each of the task nodes, and obtain the in-degree of each of the task nodes;
[0054] S3. Identify and prioritize available physical machines:
[0055] According to the task node type identifier and the classification identifier, identify and select the cluster available for the workflow and the physical machines available for each of the task nodes, and prioritize the available physical machines to form a physical machine table corresponding to each of the task nodes;
[0056] S4. Task node execution:
[0057] S41 identifies the first task node with an in-degree of 0 from all the task nodes according to the task node topology sequence, determines and calls the available physical machine with a higher priority corresponding to the task node with an in-degree of 0 according to the physical machine table, executes the task node with an in-degree of 0, and returns a first execution result;
[0058] S42 sends the first execution result to the available physical machine with a higher priority corresponding to the next task node according to the task node topology sequence and the physical machine table, and returns the second execution result;
[0059] S43 repeats the operation of step S42 until the last task node in the task node topology sequence is executed, and obtains and returns the workflow execution result.
[0060] Wherein, in the step S1, the first category identifier is a cluster tag indicating the type of functional node that can be executed by the cluster; the second category identifier is a tag of a physical machine that executes a task node task.
[0061] Optionally, in step S1, the third category identifier is a mark of a physical machine that provides only a single function in the cluster; and the fourth category identifier is a mark of a physical machine that can provide multiple functions in the cluster.
[0062] In addition, the step S2 also includes:
[0063] S21 creates a workflow and sends an execution instruction: the user selects a corresponding task node from the function node library according to the data processing requirements, determines and forms and creates a workflow based on the node number of each task node and the connection relationship between each task node, and sends an execution instruction for the workflow;
[0064] S22 adds identification to task nodes: receiving the execution instruction of the workflow, splitting the task nodes in the workflow according to the directed acyclic graph sequence order of the workflow, adding task node type identification to each task node, and identifying the connection relationship between each task node;
[0065] S23 generates a topological sequence: generates a task node topological sequence according to the connection relationship of each task node, and obtains the in-degree of each task node;
[0066] in,
[0067] The functional node library includes one or more task nodes, which can be pre-set according to the user's data processing requirements;
[0068] The task node type identifier corresponds to the first type identifier;
[0069] The in-degree of the task node is the number of task nodes connected to the task node as an input node in the task node topology sequence.
[0070] Wherein, the step S3 is specifically as follows:
[0071] S31 identifies and determines an available cluster: compares the task node type identifiers of all task nodes in the workflow with the first type identifier, and if the first type identifier includes the task node type identifiers of all task nodes in the workflow, determines the cluster corresponding to the first type identifier as an available cluster;
[0072] Otherwise, the cluster corresponding to the first type identifier is an unavailable cluster;
[0073] S32 identifies and determines the available physical machines:
[0074] According to the task node type identifier, the second category identifier, the third category identifier and the fourth category identifier of each task node in the workflow, the available physical machines of each task node are identified and determined, and the available physical machines are prioritized to form a physical machine table corresponding to each task node.
[0075] In the above step S3, the physical machine table corresponding to each function type is formed as follows:
[0076] When receiving a workflow execution instruction, compare and judge the types of function nodes in the workflow and the first type of identification of the physical machine in the first item above. When the first type of identification includes all types of workflow function nodes, select the physical machines that can execute nodes of each function type in the workflow according to the third and fourth types of identifications.
[0077] Among them, the screened physical machines are sorted by usage priority. For physical machines with the same second-category identification, the priority of the physical machine with the third-category identification is set to high. For physical machines with the same second-category identification and the fourth-category identification at the same time, other function node categories that they can process are identified. If other function node categories are not included in the current workflow function node type, the priority of the physical machine is set to medium; otherwise, the priority of the physical machine is set to low.
[0078] Optionally, the step S32 of identifying and determining available physical machines further includes:
[0079] Setting the priority of the available physical machine having both the second type identification and the third type identification to high;
[0080] For the available physical machine having both the second category identifier and the fourth category identifier, if the task node that the available physical machine can process is in the current task node topology sequence, the priority of the available physical machine is set to medium; otherwise, the priority of the available physical machine is set to low.
[0081] In addition, step S3 also includes the step of delayed scheduling processing, specifically:
[0082] a. Delayed scheduling of physical machines that can process tasks of one type of task node in the current workflow and can also process tasks of other types of task nodes in other workflows, thereby saving resources for the execution of other workflows at the same time;
[0083] b. Perform delayed scheduling on physical machines that can simultaneously process tasks of multiple types of task nodes in the current workflow.
[0084] In summary, the technical solutions adopted by the present invention are mainly:
[0085] First, identify the physical machines in the distributed cluster that can execute tasks, and prioritize the scheduling of the physical machines based on the identification:
[0086] Secondly, based on the above three types of identification, according to the in-degree of each task node in the task node topology sequence and the priority of the physical machine to execute the task, the physical machine required by each task node is selected, and the task is executed and the result is returned until all task nodes are executed.
[0087] In the specific application process, the user creates a workflow on the visualization platform. The workflow contains various types of function nodes, such as data processing function nodes, deep learning function nodes under various framework types such as ParallelAI framework nodes, and ordinary machine learning function nodes under various framework types such as Tensorflow framework nodes. Various types of function nodes need to be disassembled into multiple task nodes to implement the function on the visualization platform, and then distributed to the back-end distributed cluster for calculation and execution. The distributed cluster includes multiple physical machines, and multiple physical machines process workflows in parallel. Due to differences in physical machine performance, physical machine communication environment, and user settings for the on / off status of physical machines, some function nodes can only be executed on specific machines; some physical machines can execute multiple types of function nodes; and due to user settings, some physical machines are in a stopped state and cannot run (such as standby machines). At the same time, with the expansion and update of the distributed cluster, the number of physical machines in the cluster will increase or decrease. If the performance and network environment of a physical machine are improved, the types of executable nodes of each physical machine may increase or decrease.
[0088] The specific technical solutions disclosed in the present invention are described below through specific embodiments.
[0089] If the current cluster user deployment physical address 1, physical address 2, physical address 3, and physical address 4 are available.
[0090] The data processing function node can be executed at physical address 1
[0091] Data processing function nodes and ParallelAI framework nodes can be executed at physical address 2
[0092] ParallelAI framework node can be executed at physical address 3
[0093] The Tensorflow framework node and ParallelAI framework node can be executed at physical address 4
[0094] The Tensorflow framework node can be executed at physical address 5
[0095] Data processing function nodes and ParallelAI framework nodes can be executed at physical address 6
[0096] When the user creates a workflow, it communicates with the physical machines in the cluster one by one, identifies the executable function types according to the returned results, generates the first type of identification, and marks the physical machine to generate the second type of identification. When the returned result identifies the first type of function type (assuming that the first type of function type is a data processing function node), the first type of identification is recorded, assuming that it is A1, and the physical address is marked as "physical address 1-A1", and then the second type of identification is generated; when the first type of function type is identified for the second time, the physical mechanism that returns the result is marked as "physical address 2-A1", and then the second type of identification is generated again; when the second type of function type is identified in the returned result (assuming that the second type of function type corresponds to the ParallelAI framework node), the first type of identification is generated again, assuming that it is A2, and the second type of identification is generated for the physical machine that returns the result, corresponding to the actual situation is "physical address 2-A2"; when the third type of function type is identified in the returned result, A3 is generated, assuming that A3 corresponds to the Tensorflow framework node, and the corresponding physical machine is marked with the second type of identification.
[0097] After all physical machines are identified, all first-class labels obtained should be A1, A2, A3; all second-class identification labels obtained should be:
[0098] "Physical Address 1-A1"
[0099] "Physical Address 2-A1"
[0100] "Physical Address 2-A2"
[0101] "Physical Address 3-A2"
[0102] "Physical Address 4-A2"
[0103] "Physical Address 4-A3"
[0104] "Physical Address 5-A3"
[0105] "Physical Address 6-A1"
[0106] "Physical Address 6-A2".
[0107] After obtaining the first and second category identifiers, all the added second category identifiers are identified, and the number of occurrences of each physical address is recorded. The number of occurrences is the number of function types that each physical machine can execute.
[0108] In the second category of identification, the physical addresses with the number of occurrences of 1 are selected and marked to generate the third category of identification (assuming that the marking form of the third category of identification is to add the identification bit "1" after the physical address), then the generated third category of identification is:
[0109] Physical address 1-1-A1 (i.e. a physical machine that only performs A1 type functions)
[0110] Physical address 3-1-A2 (i.e. a physical machine that only performs A2 type functions)
[0111] Physical address 5-1-A3 (i.e. a physical machine that only performs A3 functions)
[0112] In the second category of identification, filter the physical addresses whose occurrence count is not 1:
[0113] "Physical Address 2-A1"
[0114] "Physical Address 2-A2"
[0115] "Physical Address 4-A2"
[0116] "Physical Address 4-A3"
[0117] "Physical Address 6-A1"
[0118] "Physical Address 6-A2"
[0119] Generate the fourth category identifier (assuming that the marking form of the fourth category identifier is to add an identifier "2" after the physical address and add a non-unique category after the identifier, that is, add an identifier after the physical address of the second category identifier, assuming the identifier is 2), then all the fourth category identifiers generated are:
[0120] Physical address 2-2-A1
[0121] Physical address 2-2-A2
[0122] Physical address 4-2-A3
[0123] Physical address 4-2-A2
[0124] Physical address 6-2-A1
[0125] Physical address 6-2-A2
[0126] If the user creates a workflow directed acyclic graph sequence as shown in 2, function nodes A, B, and C are data processing function nodes, and function nodes D and E are Paeallel framework machine learning function nodes. The function node library presets that function node A corresponds to only one task node; function node B corresponds to one task node; function node C corresponds to one task node; function node D corresponds to two task nodes; and E corresponds to one task node.
[0127] When receiving the execution instruction for the workflow from the user, the workflow is parsed, the function node A is identified and split into task node 1, and task node 1 is marked as A1; the function node B is identified and split into task node 2, and task node 2 is marked as A2... After identifying and splitting all the function nodes, the marking result is obtained:
[0128] Task Node 1-A1
[0129] Mission Node 2-A2
[0130] Mission Node 3-A1
[0131] Mission Node 4-A2
[0132] Mission Node 5-A2
[0133] Mission Node 6-A2
[0134] And get Figure 3 The task node topology sequence shown.
[0135] When the "Task Node 1-A1" tag result is obtained, check whether A1 is included in the first category of identification; when the "Task Node 2-A2" tag result is obtained, check whether A2 is included in the first category of identification. If not, an alarm message is output to remind the user that the function type is not deployed. In this example, A1A2 is included in the first category of identification, and the physical machines that can execute A1 and A2 type nodes are filtered according to the third and fourth category identifications:
[0136] Physical address 1-1-A1
[0137] Physical address 3-1-A2
[0138] Physical address 2-2-A1
[0139] Physical address 2-2-A2
[0140] Physical address 4-2-A2
[0141] Physical address 6-2-A1
[0142] Physical address 6-2-A2
[0143] The screened physical addresses 1, 3, 2, 4, and 6 have the same identifier A1 according to the second type of identifier comparison, and the physical addresses 1, 2, and 6 have the same identifier A2.
[0144] For A1 type physical addresses 1, 2, and 6, physical address 1 has the third type identification "physical address 1-1-A1" and sets its priority to high, while physical address 2 has the fourth type identification "physical address 2-2-A1" and "physical address 2-2-A2". The A2 type that it can handle at the same time is in the current process, so the priority of physical address 2 is set to low. Physical address 6 has the fourth type identification "physical address 6-2-A1" and "physical address 6-2-A2". The A2 type that it can handle at the same time is in the current process, so the priority of physical address 6 is set to medium.
[0145] Form the physical machine table corresponding to type A1:
[0146] Physical Address 1 High
[0147] Physical Address 2 Low
[0148] Physical Address 6 Low
[0149] For physical addresses 2, 3, 4, and 6 of type A2, physical address 3 has the third-class identifier "physical address 3-1-A2", and is marked as high in priority; physical addresses 2, 4, and 6 have the fourth-class identifiers "physical address 2-2-A1", "physical address 2-2-A2", "physical address 4-2-A2", "physical address 6-2-A1", and "physical address 6-2-A2", but since the functions other than type A2 that can be executed by physical address 4 are not in the current workflow, the priority of physical address 4 can be set to high, and since physical addresses 2 and 6, whose executable A1 is in the current workflow, have their priority set to low and physical address 6 to medium.
[0150] The physical machine table corresponding to type A2 is formed:
[0151] Physical Address 2 Low
[0152] Physical Address 3 High
[0153] Physical address 4
[0154] Physical Address 6 Low
[0155] Then, the task nodes are executed according to the tables of various types of physical machines.
[0156] Although embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that various changes, modifications, substitutions and variations may be made to the embodiments without departing from the principles and spirit of the present invention, and that the scope of the present invention is defined by the appended claims and their equivalents.
Claims
1. A method for dynamic scheduling of multiple types of AI tasks, characterized in that: The specific steps include: S1. Mark the physical machine: Define a classification identifier, and classify and mark the cluster and each physical machine in the cluster according to the classification identifier, wherein the classification identifier includes: a first category identifier, a second category identifier, a third category identifier, and a fourth category identifier; S2. Mark the task nodes in the workflow and generate a task node topology sequence: Receive the execution instruction of the workflow, split the task nodes in the workflow, add a task node type identifier to each of the task nodes, generate a task node topology sequence according to the connection relationship of each of the task nodes, and obtain the in-degree of each of the task nodes; S3. Identify and prioritize available physical machines: According to the task node type identifier and the classification identifier, identify and select the cluster available for the workflow and the physical machines available for each of the task nodes, and prioritize the available physical machines to form a physical machine table corresponding to each of the task nodes; S4. Task node execution S41 identifies the first task node with an in-degree of 0 from all the task nodes according to the task node topology sequence, determines and calls the available physical machine with a higher priority corresponding to the task node with an in-degree of 0 according to the physical machine table, executes the task node with an in-degree of 0, and returns a first execution result; S42 sends the first execution result to the available physical machine with a higher priority corresponding to the next task node according to the task node topology sequence and the physical machine table, and returns the second execution result; S43 repeats the operation of step S42 until the last task node in the task node topology sequence is executed, and obtains and returns the workflow execution result; in, The first type of identifier is a cluster mark indicating the type of cluster executable function node; The second type of identifier is a mark of a physical machine that executes a task node task; The third type of identifier is a mark of a physical machine that only provides a single function in the cluster; The fourth type of identification is a mark of a physical machine in the cluster that can provide multiple functions; The step S3 is specifically as follows: S31 identifies and determines an available cluster: compares the task node type identifiers of all task nodes in the workflow with the first type identifier, and if the first type identifier includes the task node type identifiers of all task nodes in the workflow, determines the cluster corresponding to the first type identifier as an available cluster; Otherwise, the cluster corresponding to the first type identifier is an unavailable cluster; S32 identifies and determines the available physical machines: According to the task node type identifier, the second category identifier, the third category identifier and the fourth category identifier of each task node in the workflow, the available physical machines of each task node are identified and determined, and the available physical machines are prioritized to form a physical machine table corresponding to each task node.
2. A multi-type AI task dynamic scheduling method according to claim 1, characterized in that: The step S2 further comprises: S21 creates a workflow and sends an execution instruction: the user selects a corresponding task node from the function node library according to the data processing requirements, determines and forms and creates a workflow based on the node number of each task node and the connection relationship between each task node, and sends an execution instruction for the workflow; S22 adds identification to task nodes: receiving the execution instruction of the workflow, splitting the task nodes in the workflow according to the directed acyclic graph sequence order of the workflow, adding task node type identification to each task node, and identifying the connection relationship between each task node; S23 generates a topological sequence: generates a task node topological sequence according to the connection relationship of each task node, and obtains the in-degree of each task node; in, The functional node library includes one or more task nodes, which can be pre-set according to the user's data processing requirements; The task node type identifier corresponds to the first type identifier; The in-degree of the task node is the number of task nodes connected to the task node as an input node in the task node topology sequence.
3. A multi-type AI task dynamic scheduling method according to claim 1, characterized in that: The physical machine table corresponding to each function type formed in step S3 is: When receiving a workflow execution instruction, compare and judge the types of function nodes in the workflow and the first category identifiers of available physical machines. When the first category identifier includes all types of workflow function nodes, select the physical machines that can execute nodes of each function type in the workflow according to the third and fourth category identifiers. Among them, the screened physical machines are sorted by usage priority. For physical machines with the same second-category identification, the priority of the physical machine with the third-category identification is set to high. For physical machines with the same second-category identification and the fourth-category identification at the same time, other function node categories that they can process are identified. If other function node categories are not included in the current workflow function node type, the priority of the physical machine is set to medium; otherwise, the priority of the physical machine is set to low.
4. The method for dynamic scheduling of multiple types of AI tasks according to claim 1, characterized in that: The step S32 of identifying and determining available physical machines also includes: Setting the priority of the available physical machine having both the second type identification and the third type identification to high; For the available physical machine having both the second category identifier and the fourth category identifier, if the task node that the available physical machine can process is in the current task node topology sequence, the priority of the available physical machine is set to medium; otherwise, the priority of the available physical machine is set to low.
5. The method for dynamic scheduling of multiple types of AI tasks according to claim 1, characterized in that: The step S3 also includes the step of delayed scheduling processing, specifically: a. Delayed scheduling of physical machines that can process tasks of one type of task node in the current workflow and can also process tasks of other types of task nodes in other workflows, thereby saving resources for the execution of other workflows at the same time; b. Perform delayed scheduling on physical machines that can simultaneously process tasks of multiple types of task nodes in the current workflow.
Citation Information
Patent Citations
Storm-based stream computing bipartite graph task scheduling method
CN108241530A