Dynamic task flow-oriented heterogeneous hardware resource pool scheduling matching method and device, electronic equipment, storage medium and program product
By generating a comprehensive state embedding vector of dynamic task graph embedding vectors and resource distribution characteristics, and inputting a dynamic task scheduling model, the problem of insufficient scheduling performance of large-scale dynamic task flow is solved, and fast and efficient resource matching and scheduling optimization is achieved.
Patent Information
- Application Number
- CN202510029359.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-12-03
- Filing Date
- 2025-01-08
- Publication Date
- 2025-05-09
AI Technical Summary
When dealing with large-scale and dynamically changing task flows, the scheduling performance in the prior art is insufficient and resource allocation is inflexible, making it difficult to achieve fast and efficient matching scheduling.
By determining the directed acyclic job status information of the dynamic task flow, the dynamic task graph embedding vector is coded and generated; combined with the resource distribution characteristics of the heterogeneous hardware resource pool, a comprehensive state embedding vector is generated; input it into the pre-trained dynamic task scheduling model to obtain the scheduling matching strategy.
It realizes fast and efficient matching of dynamic task flow and heterogeneous resource pool, takes into account global information, optimizes the total task completion time, and greatly improves the system matching and scheduling efficiency.
Smart Images

Figure CN119960981A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the technical field of heterogeneous resource pool scheduling, and in particular to a method, device, electronic device, storage medium and program product for heterogeneous hardware resource pool scheduling and matching for dynamic task flows. Background Art
[0002] This section is intended to provide a background or context to the embodiments of the disclosure that are recited in the claims. No description herein is admitted to be prior art by inclusion in this section.
[0003] The use of heterogeneous systems based on multi-core processors (CPUs), many-core processors (GPUs), and field-programmable gate arrays (FPGAs) has become the foundation of computing facilities; these systems are essential for the flexible management of heterogeneous resources and multi-core computing systems, and are widely used in various industries, especially in key areas such as complex communication systems, scientific computing, automatic control, and aerospace; heterogeneous computing resource pool systems face the deployment of task resources for large-scale parallel job flows and the coordinated scheduling of heterogeneous hardware resources.
[0004] However, in the related art, when processing large-scale, dynamically changing task flows, the scheduling performance is insufficient, resource allocation is inflexible, and it is difficult to achieve fast and effective matching scheduling. Summary of the invention
[0005] In view of this, the purpose of the present disclosure is to propose a heterogeneous hardware resource pool scheduling and matching method, device, electronic device, storage medium and program product for dynamic task flow, which at least solves one of the technical problems in the related art to a certain extent.
[0006] Based on the above purpose, the first aspect of the exemplary embodiment of the present disclosure provides a heterogeneous hardware resource pool scheduling and matching method for dynamic task flows, which is applied to a server. The method includes:
[0007] Determine state information of directed acyclic jobs of a dynamic task flow, encode the state information, and obtain a dynamic task graph embedding vector;
[0008] Determine resource distribution characteristics of devices in a heterogeneous hardware resource pool, and obtain a comprehensive state embedding vector based on the dynamic task graph embedding vector and the resource distribution characteristics;
[0009] The comprehensive state embedding vector is input into a pre-trained dynamic task scheduling model to obtain a scheduling matching strategy for the dynamic task flow.
[0010] Based on the same inventive concept, the second aspect of the exemplary embodiment of the present disclosure provides a heterogeneous hardware resource pool scheduling and matching device for dynamic task flows, including:
[0011] A task graph vector determination module is configured to determine state information of a directed acyclic job of a dynamic task flow, encode the state information, and obtain a dynamic task graph embedding vector;
[0012] a comprehensive state vector determination module, configured to determine resource distribution characteristics of devices in a heterogeneous hardware resource pool, and obtain a comprehensive state embedding vector based on the dynamic task graph embedding vector and the resource distribution characteristics;
[0013] The scheduling matching strategy determination module is configured to input the comprehensive state embedding vector into a pre-trained dynamic task scheduling model to obtain a scheduling matching strategy for the dynamic task flow.
[0014] Based on the same inventive concept, a third aspect of the exemplary embodiment of the present disclosure provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the method described in the first aspect is implemented.
[0015] Based on the same inventive concept, a fourth aspect of the exemplary embodiments of the present disclosure provides a non-transitory computer-readable storage medium, wherein the non-transitory computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the method described in the first aspect.
[0016] Based on the same inventive concept, a fifth aspect of the exemplary embodiments of the present disclosure provides a computer program product, including computer program instructions. When the computer program instructions are executed on a computer, the computer executes the method described in the first aspect.
[0017] From the above description, it can be seen that the embodiments of the present disclosure provide a method, device, electronic device, storage medium and program product for scheduling and matching heterogeneous hardware resource pools for dynamic task flows. The method includes:
[0018] Determine the state information of the directed acyclic job of the dynamic task flow, encode the state information, and obtain a dynamic task graph embedding vector; determine the resource distribution characteristics of the equipment in the heterogeneous hardware resource pool, and obtain a comprehensive state embedding vector based on the dynamic task graph embedding vector and the resource distribution characteristics; input the comprehensive state embedding vector into a pre-trained dynamic task scheduling model to obtain a scheduling matching strategy for the dynamic task flow. The present invention can complete the fast and efficient matching of dynamically required task flows and heterogeneous resource pools, while taking into account global information, making scheduling decisions, achieving the optimal total task completion time, and greatly improving the system matching scheduling efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] In order to more clearly illustrate the technical solutions in the present disclosure or related technologies, the drawings required for use in the embodiments or related technical descriptions are briefly introduced below. Obviously, the drawings described below are only embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0020] Figure 1 A schematic diagram of an application scenario of a heterogeneous hardware resource pool scheduling and matching method for dynamic task flows provided by an exemplary embodiment of the present disclosure;
[0021] Figure 2 A schematic diagram of a flow chart of a heterogeneous hardware resource pool scheduling and matching method for dynamic task flows provided by an exemplary embodiment of the present disclosure;
[0022] Figure 3 A schematic diagram of a structure of a heterogeneous hardware resource pool scheduling and matching device for dynamic task flows provided by an exemplary embodiment of the present disclosure;
[0023] Figure 4 A schematic diagram of the hardware structure of an electronic device provided for an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION
[0024] It is understandable that before using the technical solutions disclosed in the embodiments of this application, the type, scope of use, usage scenarios, etc. of the personal information involved in this application should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.
[0025] For example, in response to receiving an active request from a user, a prompt message is sent to the user to clearly prompt the user that the operation requested to be performed will require obtaining and using the user's personal information. Thus, the user can autonomously choose whether to provide personal information to software or hardware such as an electronic device, application, server, or storage medium that performs the operation of the technical solution of the present application according to the prompt message.
[0026] As an optional but non-limiting implementation, in response to receiving an active request from the user, the prompt information may be sent to the user in the form of a pop-up window, in which the prompt information may be presented in text form. In addition, the pop-up window may also carry a selection control for the user to choose "agree" or "disagree" to provide personal information to the electronic device.
[0027] It is understandable that the above notification and the process of obtaining user authorization are merely illustrative and do not constitute a limitation on the implementation method of the present application. Other methods that meet the relevant laws and regulations may also be applied to the implementation method of the present application.
[0028] It is understandable that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) shall comply with the requirements of relevant laws, regulations and relevant provisions.
[0029] In order to make the purpose, technical solutions and advantages of the present disclosure more clear, the principles and spirit of the present disclosure will be described with reference to several exemplary embodiments. It should be understood that these embodiments are provided only to enable those skilled in the art to better understand and implement the present disclosure, and are not intended to limit the scope of the present disclosure in any way. On the contrary, these embodiments are provided to make the present disclosure more thorough and complete, and to fully convey the scope of the present disclosure to those skilled in the art.
[0030] It should be understood herein that any number of elements in the drawings is for illustration rather than limitation, and any naming is only for distinction rather than having any limiting meaning.
[0031] It should be noted that, unless otherwise defined, the technical terms or scientific terms used in the embodiments of the present disclosure should be understood by people with ordinary skills in the field to which the present disclosure belongs. The "first", "second" and similar words used in the embodiments of the present disclosure do not represent any order, quantity or importance, but are only used to distinguish different components. "Including" or "comprising" and similar words mean that the elements or objects appearing in front of the word cover the elements or objects listed after the word and their equivalents, without excluding other elements or objects. "Connecting" or "connected" and similar words are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect. "Up", "down", "left", "right" and the like are only used to indicate relative positional relationships. When the absolute position of the described object changes, the relative positional relationship may also change accordingly. The article "one" or "a" before an element does not exclude the existence of multiple such elements.
[0032] The principle and spirit of the present disclosure are explained in detail below with reference to several representative embodiments of the present disclosure.
[0033] As described in the background technology, in the related art, when processing large-scale, dynamically changing task flows, the scheduling performance is insufficient, the resource allocation is inflexible, and it is difficult to achieve fast and effective matching scheduling; specifically, in modern computing systems, multi-task flows are a common way to handle complex workloads. Each job flow consists of multiple subtasks, which may have logical or data dependencies and need to be executed in a specific order to ensure correct workflow and data processing. In order to effectively represent and manage these subtasks and their dependencies, the system uses a directed acyclic graph (DAG) as a data structure. DAG represents subtasks and their dependencies through nodes and edges, so that the execution order and dependency structure of tasks are clear at a glance. DAG can not only represent the logical dependencies between tasks, but also reflect the task's demand for heterogeneous resources. In a heterogeneous computing environment, different subtasks may require different types of hardware resources, such as CPU, GPU, or FPGA, to achieve optimal execution efficiency.
[0034] In heterogeneous resource pools, as the number of DAG jobs increases, the scale and complexity of scheduling also increases, involving thousands of levels of decisions. Traditional scheduling systems face insufficient performance when dealing with large-scale, dynamically changing task flows. This is due to the system's inability to quickly adapt to changes in task requirements or a lack of flexibility in resource allocation. Inflexibility in resource allocation can lead to poor resource utilization, especially when faced with dynamically changing task flows. Scheduling systems need to be able to flexibly adjust resource allocation strategies based on the specific requirements of tasks and the availability of resources.
[0035] In order to solve the above problems, the present disclosure provides a heterogeneous hardware resource pool scheduling and matching method, device, electronic device, storage medium and program product solution for dynamic task flow, which specifically includes:
[0036] Determine the state information of the directed acyclic job of the dynamic task flow, encode the state information, and obtain a dynamic task graph embedding vector; determine the resource distribution characteristics of the equipment in the heterogeneous hardware resource pool, and obtain a comprehensive state embedding vector based on the dynamic task graph embedding vector and the resource distribution characteristics; input the comprehensive state embedding vector into a pre-trained dynamic task scheduling model to obtain a scheduling matching strategy for the dynamic task flow. The present invention determines the state information of the directed acyclic graph (DAG) job of the dynamic task flow, and obtains the dynamic task graph embedding vector by encoding. Analyze the resource distribution characteristics of the equipment in the heterogeneous hardware resource pool, and generate a comprehensive state embedding vector in combination with the dynamic task graph embedding vector. Input the comprehensive state embedding vector into the pre-trained dynamic task scheduling model, and the model outputs the optimal scheduling matching strategy to achieve fast and efficient matching of task flows with heterogeneous resource pools. This method can cope with the dynamic changes in task flow requirements and the real-time update of resource pool information, ensuring that the optimal scheduling decision can still be made in the presence of a large number of non-convex constraints.
[0037] After introducing the basic principles of the present disclosure, various non-limiting embodiments of the present disclosure are described in detail below.
[0038] refer to Figure 1 , which is a schematic diagram of an application scenario of a heterogeneous hardware resource pool scheduling and matching method for dynamic task flows provided by an exemplary embodiment of the present disclosure.
[0039] This application scenario includes a terminal device 101 and a server 102. The terminal device 101 and the server 102 may be connected via a wired or wireless communication network to achieve data interaction.
[0040] The terminal device 101 may be an electronic device with data transmission and multimedia input / output functions close to the user side, including but not limited to a desktop computer, a mobile phone, a mobile computer, a tablet computer, a media player, a smart wearable device, a personal digital assistant (PDA) or other electronic devices capable of realizing the above functions. The electronic device may include a processor and a display screen with a touch input function, the display screen is used to present a graphical user interface, the graphical user interface can display an application interface, and the processor is used to process application data, generate a graphical user interface, and control the display of the graphical user interface on the display screen.
[0041] Server 102 can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers. It can also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), as well as big data and artificial intelligence platforms.
[0042] In some exemplary embodiments, the heterogeneous hardware resource pool scheduling and matching method for dynamic task flows may be run on the terminal device 101 or the server 102 .
[0043] When the heterogeneous hardware resource pool scheduling and matching method for dynamic task flows is run on the server 102 , the server 102 is used to provide a heterogeneous hardware resource pool scheduling and matching service for dynamic task flows to the user of the terminal device 101 .
[0044] The server 102 determines the state information of the directed acyclic job of the dynamic task flow, and the server 102 encodes the state information to obtain a dynamic task graph embedding vector;
[0045] The server 102 determines resource distribution characteristics of devices in the heterogeneous hardware resource pool, and the server 102 obtains a comprehensive state embedding vector based on the dynamic task graph embedding vector and the resource distribution characteristics;
[0046] The server 102 inputs the comprehensive state embedding vector into a pre-trained dynamic task scheduling model to obtain the scheduling matching strategy of the dynamic task flow, and then the server 102 transmits the scheduling matching strategy to the terminal device 101.
[0047] It should be noted that the above application scenarios are only shown to facilitate understanding of the spirit and principle of the present disclosure, and the embodiments of the present disclosure are not limited in this respect. On the contrary, the embodiments of the present disclosure can be applied to any applicable scenario.
[0048] refer to Figure 2 , a heterogeneous hardware resource pool scheduling and matching method for dynamic task flows, the method comprising the following steps:
[0049] Step S210: determine the state information of the directed acyclic job of the dynamic task flow, encode the state information, and obtain a dynamic task graph embedding vector.
[0050] In specific implementation, dynamic task flow refers to:
[0051] In a computing system, the process of task (or job) generation, execution, and completion is dynamically changing. This means that tasks can be generated and changed in real time according to system requirements, user requests, or other external factors.
[0052] Specifically, the status information of a directed acyclic job refers to:
[0053] In a directed acyclic graph (DAG), the current status of each task node. A directed acyclic graph (DAG) is a graphical model used to represent subtasks and their dependencies in a task flow. In a DAG, nodes represent subtasks, and directed edges represent dependencies between tasks, i.e., the completion of one task is a prerequisite for the start of another task; among them, the status information of a directed acyclic job includes but is not limited to at least one of the following:
[0054] Whether the task has been allocated resources, the execution progress of the task, the start time and estimated completion time of the task, the resource requirements of the task, such as CPU, memory, I / O, etc., the communication requirements and data dependencies between tasks, and / or the priority and importance of the task.
[0055] As a specific embodiment, the directed acyclic graph (DAG) of the dynamic task flow of this solution refers to that the tasks of the jobs in the workflow are assembled in the form of a directed acyclic graph G = <T, ξ>, and this graph can describe the structure of a real-time application. Starting from the nodes with an in-degree of zero, topological traversal is performed until there are no successor nodes. T = {T 1 , T 2 , …, T s} is the set of application tasks of the job, and ξ is the set of edges between tasks, representing the dependencies between tasks. (T i , T j ) = ξ ij ∈ξ means that data should be transmitted from T i and T j . Each task T i is represented by a set of characteristics. Exemplarily, (Ac(T i ), H CPU (T i ), H GPU (T i ), H FPGA (T i ), H CLB (T i ), H BRAM (T i ), H NetBand (T i ), …) Among them, Ac(T i ) represents the set of actual execution times of task T i on various computing resources. H CPU (Ti ), H GPU (T i ), H FPGA (T i ), H CLB (T i ), H BRAM (T i ), H NetBand (T i ) represent tasks T i The required CPU, GPU, FPGA, CLB, BRAM, and network bandwidth hardware resources.
[0056] The above example introduces the state information of directed acyclic jobs. Next, we will introduce how to obtain the embedding vector of the dynamic task graph:
[0057] In this exemplary embodiment, encoding the state information to obtain a dynamic task graph embedding vector includes:
[0058] Determine the node information of the state information, aggregate the node information based on an aggregation function to obtain a neighbor node feature vector; determine the node feature vector of the node information, combine the neighbor node feature vector and the node feature vector to obtain the dynamic task graph embedding vector.
[0059] In a specific implementation, the node information of the state information is determined, the node information is aggregated based on an aggregation function to obtain a neighbor node feature vector; the node feature vector of the node information is determined, and the neighbor node feature vector and the node feature vector are combined to obtain the dynamic task graph embedding vector:
[0060] The state information of the DAG job is encoded through a graph neural network (GNN) model, such as GraphSAGE, to generate a set of embedding vectors. These embedding vectors contain task features and dependencies between tasks.
[0061] As a specific embodiment, a graph neural network (GNN) model is constructed to encode the state information of the DAG job and generate a set of embedding vectors. In order to achieve the scalability of GNN, this embodiment designs a graph learning method of inductive learning based on GraphSAGE. The scalability of the graph neural network of the embedding model is mainly reflected in that it does not attempt to learn the embedding of all nodes on a graph, but learns a mapping that generates an embedding for each node. Instead of training a separate embedding vector for each vertex, it introduces a set of aggregator functions that understand how to aggregate feature information from the local neighbors of the vertex. Each aggregation function aggregates information from vertices at different search depths.
[0062] Given a DAG G i The eigenvector of node v Construct its embedding vector Compute the embedding vector of node v The process can be described as follows:
[0063]
[0064] where AGGREGATE k Represents the kth aggregation function, acting on an unordered vector set Its function is to aggregate a set of vectors into a vector, which represents the set of neighbor nodes of node v. use The CONCAT function is to merge and expand two vectors, σ is the nonlinear transformation function of the input feature vector, W k is the kth weight matrix, K is the maximum number of iterations, Is the node v in the DAG graph G i The embedding vector in .
[0065] Step S220: Determine resource distribution characteristics of devices in the heterogeneous hardware resource pool, and obtain a comprehensive state embedding vector based on the dynamic task graph embedding vector and the resource distribution characteristics.
[0066] In specific implementation, the resource distribution characteristics of devices in a heterogeneous hardware resource pool refer to:
[0067] In a heterogeneous resource pool, N = {n 1 , n 2 ,…,n N} heterogeneous computing devices. Each computing device n i have resources, such as GPU type resources, FPGA type resources, CPU type resources, CLB type resources, BRAM type resources, memory type resources, network bandwidth, etc. Indicates time period t device n i The present invention uses a matrix C with a dimension of N×|M| t To represent the distribution of different resource quantities in each device during time period t, it can be defined as follows:
[0068]
[0069] In the above exemplary embodiment, the resource distribution characteristics of the devices in the heterogeneous hardware resource pool are introduced. The following describes a method for obtaining the comprehensive state embedding vector:
[0070] In this exemplary embodiment, based on the dynamic task graph embedding vector and the resource distribution characteristics, a comprehensive state embedding vector is obtained, including:
[0071] Feature extraction is performed on the resource distribution feature to obtain a resource pool distribution state embedding vector; and the dynamic task graph embedding vector and the resource pool distribution state embedding vector are aggregated to obtain the comprehensive state embedding vector.
[0072] In a specific implementation, the resource distribution feature is extracted to obtain a resource pool distribution state embedding vector; the dynamic task graph embedding vector and the resource pool distribution state embedding vector are aggregated to obtain the comprehensive state embedding vector:
[0073] The convolutional neural network (CNN) is used to analyze the resource distribution characteristics of different machines in the heterogeneous resource pool. t Matrix is used to extract features and obtain the embedding vector of the resource pool distribution status
[0074] Step S230: input the comprehensive state embedding vector into a pre-trained dynamic task scheduling model to obtain a scheduling matching strategy for the dynamic task flow.
[0075] In a specific implementation, the comprehensive state embedding vector is input into a pre-trained dynamic task scheduling model to obtain the scheduling matching strategy of the dynamic task flow:
[0076] In the mth step of task allocation, the model observes the current environment of task scheduling and obtains the current state representation s m And make corresponding task assignment actions a m . Execute task assignment actions to interact with the environment, and the environment state is transferred to s m+1 , and get action a m Rewards m As feedback. The migration of the environment state is random, which is modeled as a decision process (MDP), where the environment state to s m+1 Changes and Rewards m The feedback depends only on the current state representation s m and s m Step action a m。The task scheduling process of the reinforcement learning model is defined by a tuple <S, A, p, R, γ>, where S is the set of states for the model to observe the task scheduling environment. A is a finite set of task assignment actions that can be selected under different task scheduling states. p: S × A × S → [0, 1] represents the transition probability between task scheduling environment states after performing a task assignment action. R: S × S → R is the reward function of the model, and the reward value for each state can be obtained after selecting the corresponding action. γ represents the discount factor between the future reward value and the current reward value obtained by the model, describing the different importance of rewards.
[0077] In the above exemplary embodiment, the scheduling matching strategy for obtaining the dynamic task flow is introduced. Next, a method for training the dynamic task scheduling model is introduced:
[0078] In this exemplary embodiment, the dynamic task scheduling model is trained by the following method:
[0079] Construct a sample set including a number of samples; wherein, the samples include: sample data and label data; the sample data includes a comprehensive state embedding vector for training; the label data includes the scheduling matching strategy of the dynamic task flow for training; input the sample data into the dynamic task scheduling model to be trained to obtain predicted data output by the model, wherein the predicted data includes the scheduling probability distribution output by the model; determine the difference between the predicted data and the label data; based on the difference, update the parameters of the dynamic task scheduling model to be trained through a loss function until the difference between the predicted data and the label data is minimized, and obtain the pre-trained dynamic task scheduling model.
[0080] Specifically, when implementing, input the sample data into the dynamic task scheduling model to be trained to obtain predicted data output by the model, wherein the predicted data includes the scheduling probability distribution output by the model; determine the difference between the predicted data and the label data; based on the difference, update the parameters of the dynamic task scheduling model to be trained through a loss function until the difference between the predicted data and the label data is minimized, and obtain the pre-trained dynamic task scheduling model in the following manner:
[0081] This solution designs a two-dimensional task scheduling action including the d-th task node of the selected DAG job i and the machine number in the corresponding resource pool i where d represents the d-th task node of the selected DAG job i and the machine number in the corresponding resource pool where represents the set of action of the optional task nodes in the DAGs jobs that it can schedule, and is the number of machines in the optional resource pool. Then the two-dimensional scheduling behavior space is The scheduling process continues until the resource states of all task nodes or resource pools do not meet the allocation requirements.
[0082] In order to guide the reinforcement learning model to improve its output task scheduling strategy π and find a suitable solution, the present invention designs a reward function to minimize the completion time of the DAG job. Specifically, the reward for each time step is defined as:
[0083]
[0084] CT t Indicates the time of the current scheduled event, while PT t Indicates the time of the last scheduled event. It should also be noted that the initial PT 0 Set to 0. The cumulative sum of rewards for all scheduling operations is equal to the completion time of the DAG job set.
[0085] As a specific embodiment, the storage policy network π θ The trajectory of the iterative process is used as a sample for training the dynamic task scheduling model.
[0086] The training process of the dynamic task scheduling model is stored for N rounds, and each round has multiple task scheduling events, including at least one or more resource allocation actions for task nodes. Assume that the length of the overall scheduling action sequence of a round is a variable T, where the size of T varies in different rounds. The model interacts with the task scheduling environment to obtain the state expression of the current scheduling environment, the currently executed scheduling action, and the received reward feedback. For example, in the tth step of the scheduling process, the observation of the scheduling information is s t 、a t 、r t The model updates the aforementioned policy network zπ through the proximal policy optimization (PPO) algorithm θ (s t , a t ) parameter θ. The relevant calculation process is as follows:
[0087]
[0088] Here, π θ (s t , a t )and are the new and old strategies output by the policy network, and ε∈(0, 1) is the default parameter value. is the value of the advantage function, defined as the exponentially weighted average of the generalized advantage estimator GAE(γλ), reflecting the policy function π θ (s t , a t ) relative to other feasible decisions. t is the single-step time difference (TD) error. is the state t The value of the value function. Each iteration contains K training cycles. The policy network's π θ In each iteration, a set of D k Tracks are sampled for training.
[0089] In the above exemplary embodiment, a method for training a dynamic task scheduling model is introduced. Next, a method for constructing label data is further introduced:
[0090] In this exemplary embodiment, the tag data is constructed by the following method;
[0091] Determine the training task communication rate and training transmission data volume of the training allocation task of the training dynamic task flow in the sample set transmitted to the device in the training heterogeneous hardware resource pool, calculate the training communication rate and the training transmission data volume to obtain the training communication time cost; determine the training task execution time and the training start time of the training allocation task of the device in the training heterogeneous hardware resource pool, calculate the training task execution time and the training start time to obtain the task end time; use the scheduling matching strategy of the training dynamic task flow with the minimum task time as the label data.
[0092] In a specific implementation, the training task communication rate and the amount of training transmission data for transmitting the training allocation task of the training dynamic task flow in the sample set to the device in the training heterogeneous hardware resource pool are determined, and the training communication rate and the training transmission data amount are calculated to obtain the training communication time cost; the training task execution time and the training start time of the training allocation task of the device in the training heterogeneous hardware resource pool are determined, and the training task execution time and the training start time are calculated to obtain the task end time; the scheduling matching strategy of the training dynamic task flow with the minimum task time is used as the label data:
[0093] The duration of a task is largely affected by its placement and resource allocation. Task placement refers to where it is executed, taking into account factors such as resource type (exemplary, such as CPU, GPU, FPGA, etc.).
[0094]
[0095] When tasks are executed in heterogeneous devices in the resource pool, data is shared between CPUs on the same motherboard through shared memory, and data is transmitted between CPUs, FPGAs, GPUs, and DSPs through buses, data serial ports, or Ethernet. rate (Y(T i ), Y(Tj ))∈U indicates that task T is assigned i and T j The computing device Y(T i ) and Y(T j ), the communication rate between of Indicates the different communication rates between different devices. At this time, the communication time cost C(T i , T j ) is expressed as follows:
[0096]
[0097] Where D size (T i , T j ) is required from task T i Transmit to T j The amount of data.
[0098] Taking into account that different tasks have different execution priorities during task scheduling, the present invention defines the start time E(T i ) and end time F(T i ). Current task T i The schedulable time interval is limited to [E(T i ), F(T i )] between. Task T i The start time of is determined by the end time and arrival time of all its direct predecessor tasks. i ) by the start time E(T i ), and task T i The execution time is obtained. The expression method is as follows:
[0099]
[0100] F(T i )=E(T i )+Ac(T i )
[0101] in It is task T i The set of direct predecessors of Rt(T i ) is task T i Arrival time.
[0102] In the task allocation phase, the corresponding tasks are allocated to the relevant computing devices. The present invention aims to minimize the completion time of the job set by generating a task scheduling mechanism for computing resources to meet the current hardware resource constraints. The task set allocation problem formula is described as follows:
[0103]
[0104] Where Ac(T i ) is task T i Execution time. Optimizing the current problem requires complying with the constraints described by the following formula:
[0105]
[0106] Where Y(T i ) represents task T i execution device. When the device Y(T i )'s j-type hardware resources. Represents a workflow job set consisting of various DAGs.
[0107] In the above exemplary embodiment, the method of constructing label data is introduced. The following further introduces the method of obtaining the prediction data output by the model:
[0108] In this exemplary embodiment, the sample data is input into the dynamic task scheduling model to be trained to obtain the prediction data output by the model, including:
[0109] The training comprehensive state embedding vector is input into the dynamic task scheduling model to be trained. The dynamic task scheduling model to be trained outputs the scheduling probability distribution based on the nonlinear function and the training comprehensive state embedding vector, and uses the scheduling probability distribution as the prediction data.
[0110] In a specific implementation, the training comprehensive state embedding vector is input into the dynamic task scheduling model to be trained, and the dynamic task scheduling model to be trained outputs the scheduling probability distribution based on the nonlinear function and the training comprehensive state embedding vector, and the scheduling probability distribution is used as the prediction data:
[0111] The training state of the task scheduling environment is embedded in the vector s t Input into the policy network of the dynamic task scheduling model, the node selection part of the policy network will select a subtask of a DAG job for scheduling. For example, for task node v in DAG job i, the policy network calculates the scheduling weight of node v and uses the nonlinear function g nc (·) Conduct neural network modeling.
[0112] This step obtains the scalar value expression of the scheduling weight of node v. For task node v in DAG job i, the machine selection part in the policy network is calculated by the nonlinear function L mc (·) and the scheduling state s tThe vector is also used to calculate the weight scalar value of the matching machine n of node v. The optional probability values of the schedulable subtask nodes and their matching machines in the current stage are calculated through the softmax function and normalization operation. The specific calculation process is as follows:
[0113]
[0114]
[0115] Where J(d i ) is the subtask node to be scheduled d i The DAG job to which it belongs. In step t, D t and P t They are respectively a set of subtask nodes that can be planned and a resource pool machine that can execute the corresponding tasks.
[0116] It should be noted that the method of the embodiment of the present disclosure can be performed by a single device, such as a computer or a server. The method of the present embodiment can also be applied in a distributed scenario and completed by multiple devices cooperating with each other. In the case of such a distributed scenario, one of the multiple devices can only perform one or more steps in the method of the embodiment of the present disclosure, and the multiple devices will interact with each other to complete the described method.
[0117] It should be noted that the above describes some embodiments of the present disclosure. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the above embodiments and still achieve the desired results. In addition, the processes depicted in the accompanying drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0118] Based on the same inventive concept, corresponding to any of the above-mentioned embodiments and methods, the present disclosure also provides a heterogeneous hardware resource pool scheduling and matching device for dynamic task flows.
[0119] refer to Figure 3 The heterogeneous hardware resource pool scheduling and matching device for dynamic task flows includes:
[0120] The task graph vector determination module 310 is configured to determine the state information of the directed acyclic job of the dynamic task flow, encode the state information, and obtain the dynamic task graph embedding vector;
[0121] A comprehensive state vector determination module 320 is configured to determine resource distribution characteristics of devices in a heterogeneous hardware resource pool, and obtain a comprehensive state embedding vector based on the dynamic task graph embedding vector and the resource distribution characteristics;
[0122] The scheduling matching strategy determination module 330 is configured to input the comprehensive state embedding vector into a pre-trained dynamic task scheduling model to obtain a scheduling matching strategy for the dynamic task flow.
[0123] In this exemplary embodiment, the task graph vector determination module 310 is specifically configured as follows:
[0124] Determine the state information of the directed acyclic job of the dynamic task flow and the node information of the state information, aggregate the node information based on an aggregation function to obtain a neighbor node feature vector; determine the node feature vector of the node information, combine the neighbor node feature vector and the node feature vector to obtain the dynamic task graph embedding vector.
[0125] In this exemplary embodiment, the integrated state vector determination module 320 is specifically configured as follows:
[0126] Determine resource distribution characteristics of devices in a heterogeneous hardware resource pool, perform feature extraction on the resource distribution characteristics, and obtain a resource pool distribution state embedding vector; aggregate the dynamic task graph embedding vector and the resource pool distribution state embedding vector to obtain the comprehensive state embedding vector.
[0127] In this exemplary embodiment, the scheduling matching strategy determination module 330 is specifically configured as follows:
[0128] The comprehensive state embedding vector is input into a pre-trained dynamic task scheduling model to obtain a scheduling matching strategy for the dynamic task flow; wherein the dynamic task scheduling model is trained by the following method:
[0129] Construct a sample set including several samples; wherein the samples include: sample data and label data; the sample data includes a training integrated state embedding vector; determine the training task communication rate and the amount of training transmission data for transmitting the training allocation task of the training dynamic task flow in the sample set to the device in the training heterogeneous hardware resource pool, calculate the training communication rate and the training transmission data amount, and obtain the training communication time cost; determine the training task execution time and the training start time of the training allocation task of the device in the training heterogeneous hardware resource pool, calculate the training task execution time and the training start time, and obtain The method comprises the following steps: determining a task end time; taking the scheduling matching strategy of the training dynamic task flow with the minimum task time as the label data; inputting the training comprehensive state embedding vector into the dynamic task scheduling model to be trained, and outputting the scheduling probability distribution based on the nonlinear function and the training comprehensive state embedding vector, and taking the scheduling probability distribution as the predicted data; determining the difference between the predicted data and the label data; and updating the parameters of the dynamic task scheduling model to be trained through the loss function based on the difference until the difference between the predicted data and the label data is minimized, thereby obtaining the pre-trained dynamic task scheduling model.
[0130] For the convenience of description, the above device is described by dividing it into various modules according to its functions. Of course, when implementing the present disclosure, the functions of each module can be implemented in the same or multiple software and / or hardware.
[0131] The device of the above embodiment is used to implement the corresponding heterogeneous hardware resource pool scheduling and matching method for dynamic task flow in any of the above embodiments, and has the beneficial effects of the corresponding method embodiment, which will not be repeated here.
[0132] Based on the same inventive concept, corresponding to any of the above-mentioned embodiments and methods, the present disclosure also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the heterogeneous hardware resource pool scheduling and matching method for dynamic task flows described in any of the above embodiments is implemented.
[0133] Figure 4 A more specific schematic diagram of the hardware structure of an electronic device provided in this embodiment is shown, and the device may include: a processor 1010, a memory 1020, an input / output interface 1030, a communication interface 1040, and a bus 1050. The processor 1010, the memory 1020, the input / output interface 1030, and the communication interface 1040 are connected to each other through the bus 1050 in the device.
[0134] The processor 1010 can be implemented by a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this specification.
[0135] The memory 1020 may be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc. The memory 1020 may store an operating system and other application programs. When the technical solutions provided in the embodiments of this specification are implemented by software or firmware, the relevant program codes are stored in the memory 1020 and are called and executed by the processor 1010.
[0136] The input / output interface 1030 is used to connect the input / output module to realize information input and output. The input / output module can be configured in the device as a component (not shown in the figure), or it can be externally connected to the device to provide corresponding functions. The input device may include a keyboard, a mouse, a touch screen, a microphone, various sensors, etc., and the output device may include a display, a speaker, a vibrator, an indicator light, etc.
[0137] The communication interface 1040 is used to connect a communication module (not shown) to realize communication interaction between the device and other devices. The communication module can realize communication through a wired mode (such as USB, network cable, etc.) or a wireless mode (such as mobile network, WIFI, Bluetooth, etc.).
[0138] The bus 1050 includes a path that transmits information between the various components of the device (eg, the processor 1010, the memory 1020, the input / output interface 1030, and the communication interface 1040).
[0139] It should be noted that, although the above device only shows the processor 1010, the memory 1020, the input / output interface 1030, the communication interface 1040 and the bus 1050, in the specific implementation process, the device may also include other components necessary for normal operation. In addition, it can be understood by those skilled in the art that the above device may also only include the components necessary for implementing the embodiments of the present specification, and does not necessarily include all the components shown in the figure.
[0140] The electronic device of the above embodiment is used to implement the corresponding heterogeneous hardware resource pool scheduling and matching method for dynamic task flow in any of the above embodiments, and has the beneficial effects of the corresponding method embodiment, which will not be repeated here.
[0141] Based on the same inventive concept, corresponding to any of the above-mentioned embodiment methods, the present disclosure also provides a non-transitory computer-readable storage medium, wherein the non-transitory computer-readable storage medium stores computer instructions, and the computer instructions are used to enable the computer to execute the heterogeneous hardware resource pool scheduling and matching method for dynamic task flows as described in any of the above embodiments.
[0142] The computer-readable medium of this embodiment includes permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, read-only compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device.
[0143] The above-mentioned non-transitory computer-readable storage medium can be any available medium or data storage device that can be accessed by a computer, including but not limited to magnetic storage (such as floppy disks, hard disks, magnetic tapes, magneto-optical disks (MO), etc.), optical storage (such as CD, DVD, BD, HVD, etc.), and semiconductor storage (such as ROM, EPROM, EEPROM, non-volatile memory (NAND FLASH), solid-state drive (SSD)), etc.
[0144] The computer instructions stored in the storage medium of the above embodiment are used to enable the computer to execute the heterogeneous hardware resource pool scheduling and matching method for dynamic task flows as described in any embodiment in the above exemplary method part, and have the beneficial effects of the corresponding method embodiment, which will not be repeated here.
[0145] Based on the same inventive concept, corresponding to the heterogeneous hardware resource pool scheduling and matching method for dynamic task flows described in any of the above embodiments, the present disclosure also provides a computer program product, which includes computer program instructions. In some embodiments, the computer program instructions can be executed by one or more processors of a computer so that the computer and / or the processor execute the heterogeneous hardware resource pool scheduling and matching method for dynamic task flows. Corresponding to the execution subject corresponding to each step in each embodiment of the heterogeneous hardware resource pool scheduling and matching method for dynamic task flows, the processor that executes the corresponding step may belong to the corresponding execution subject.
[0146] The computer program product of the above embodiment is used to enable the computer and / or the processor to execute the heterogeneous hardware resource pool scheduling and matching method for dynamic task flow as described in any of the above embodiments, and has the beneficial effects of the corresponding method embodiments, which will not be repeated here.
[0147] Those skilled in the art will appreciate that the embodiments of the present disclosure may be implemented as a system, method, or computer program product. Therefore, the present disclosure may be specifically implemented in the following forms, namely: complete hardware, complete software (including firmware, resident software, microcode, etc.), or a combination of hardware and software, generally referred to herein as a "circuit," "module," or "system." In addition, in some embodiments, the present disclosure may also be implemented in the form of a computer program product in one or more computer-readable media, which contains computer-readable program code.
[0148] Any combination of one or more computer-readable media may be used. A computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. A computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples (non-exhaustive examples) of computer-readable storage media may include, for example: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this document, a computer-readable storage medium may be any tangible medium containing or storing a program that may be used by or in combination with an instruction execution system, device or device.
[0149] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, which carry computer-readable program code. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than a computer-readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.
[0150] The program code embodied on the computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
[0151] Computer program code for performing the operations of the present disclosure may be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0152] It should be understood that each box in the flowchart and / or block diagram and the combination of boxes in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer or other programmable data processing device to produce a machine, and these computer program instructions are executed by a computer or other programmable data processing device to produce a device that implements the functions / operations specified in the boxes in the flowchart and / or block diagram.
[0153] These computer program instructions may also be stored in a computer-readable medium that enables a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable medium produce a product that includes an instruction device that implements the functions / operations specified in the blocks in the flowchart and / or block diagram.
[0154] Computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operational steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby enabling the instructions executed on the computer or other programmable device to provide a process for implementing the functions / operations specified in the blocks in the flowchart and / or block diagram.
[0155] In addition, although the operations of the disclosed method are described in a particular order in the accompanying drawings, this does not require or imply that the operations must be performed in this particular order, or that all the operations shown must be performed to achieve the desired results. On the contrary, the steps depicted in the flow chart can be performed in a different order. Additionally or alternatively, some steps can be omitted, multiple steps can be combined into one step, and / or one step can be decomposed into multiple steps.
[0156] The flowchart and block diagram in the accompanying drawings illustrate the possible architecture, functions and operations of the system, method and computer program product according to various embodiments of the present application. Wherein, each box in the flowchart or block diagram can represent a module, a program segment, or a part of the code, and the above-mentioned module, program segment, or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of boxes in the block diagram or flowchart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0157] It should be noted that, although several modules or units of the equipment for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present application, the features and functions of two or more modules or units described above can be embodied in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into being embodied by multiple modules or units.
[0158] Those skilled in the art should understand that the discussion of any of the above embodiments is merely illustrative and is not intended to imply that the scope of the present application (including the claims) is limited to these examples. In line with the concept of the present application, the technical features in the above embodiments or different embodiments may be combined, the steps may be implemented in any order, and there are many other variations of the different aspects of the embodiments of the present application as described above, which are not provided in detail for the sake of simplicity.
[0159] In addition, to simplify the description and discussion, and in order not to make the embodiments of the present application difficult to understand, the known power supply / ground connection with the integrated circuit (IC) chip and other components may or may not be shown in the provided drawings. In addition, the device can be shown in the form of a block diagram to avoid making the embodiments of the present application difficult to understand, and this also takes into account the fact that the details of the implementation of these block diagram devices are highly dependent on the platform to be implemented in the embodiments of the present application (that is, these details should be fully within the scope of understanding of those skilled in the art). In the case of elaborating specific details (e.g., circuits) to describe exemplary embodiments of the present application, it is obvious to those skilled in the art that the embodiments of the present application can be implemented without these specific details or when these specific details are changed. Therefore, these descriptions should be considered to be illustrative rather than restrictive.
[0160] Although the present application has been described in conjunction with specific embodiments of the present application, many replacements, modifications and variations of these embodiments will be apparent to those skilled in the art from the foregoing description. For example, other memory architectures (e.g., dynamic RAM (DRAM)) may use the embodiments discussed.
[0161] The embodiments of the present application are intended to cover all such substitutions, modifications and variations that fall within the broad scope of the appended claims. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the embodiments of the present application should be included in the scope of protection of the present application.
[0162] Although the spirit and principle of the present disclosure have been described with reference to several specific embodiments, it should be understood that the present disclosure is not limited to the disclosed specific embodiments, and the division of various aspects does not mean that the features in these aspects cannot be combined to benefit, and such division is only for the convenience of expression. The present disclosure is intended to cover various modifications and equivalent arrangements included in the spirit and scope of the attached claims. The scope of the attached claims conforms to the broadest interpretation, thereby including all such modifications and equivalent structures and functions.
Claims
1. A heterogeneous hardware resource pool scheduling and matching method for dynamic task flows, characterized in that: include: Determine state information of directed acyclic jobs of a dynamic task flow, encode the state information, and obtain a dynamic task graph embedding vector; Determine resource distribution characteristics of devices in a heterogeneous hardware resource pool, and obtain a comprehensive state embedding vector based on the dynamic task graph embedding vector and the resource distribution characteristics; The comprehensive state embedding vector is input into a pre-trained dynamic task scheduling model to obtain a scheduling matching strategy for the dynamic task flow.
2. The method according to claim 1, characterized in that: The encoding of the state information to obtain a dynamic task graph embedding vector includes: Determine node information of the state information, aggregate the node information based on an aggregation function, and obtain a neighbor node feature vector; A node feature vector of the node information is determined, and the neighbor node feature vector and the node feature vector are combined to obtain an embedding vector of the dynamic task graph.
3. The method according to claim 1, characterized in that The step of obtaining a comprehensive state embedding vector based on the dynamic task graph embedding vector and the resource distribution characteristics includes: Extracting the resource distribution features to obtain a resource pool distribution state embedding vector; The dynamic task graph embedding vector and the resource pool distribution state embedding vector are aggregated to obtain the comprehensive state embedding vector.
4. The method according to claim 1, characterized in that The method further comprises training the dynamic task scheduling model by: Constructing a sample set including several samples; wherein the samples include: sample data and label data; the sample data includes a comprehensive state embedding vector for training; the label data includes a scheduling matching strategy for a dynamic task flow for training; Inputting the sample data into a dynamic task scheduling model to be trained to obtain prediction data output by the model, wherein the prediction data includes a scheduling probability distribution output by the model; Determining a difference between the predicted data and the label data; Based on the difference, the parameters of the dynamic task scheduling model to be trained are updated through a loss function until the difference between the predicted data and the label data is minimized, thereby obtaining the pre-trained dynamic task scheduling model.
5. The method according to claim 4, characterized in that The label data is constructed by the following method: Determine the training task communication rate and the training transmission data volume for transmitting the training allocation tasks of the training dynamic task flow in the sample set to the devices in the training heterogeneous hardware resource pool, calculate the training communication rate and the training transmission data volume, and obtain the training communication time cost; Determine the training task execution time and the training start time of the training allocation task of the device in the training heterogeneous hardware resource pool, calculate the training task execution time and the training start time, and obtain the task end time; The scheduling matching strategy of the training dynamic task flow with the minimum task time is used as the label data.
6. The method according to claim 4, characterized in that The step of inputting the sample data into the dynamic task scheduling model to be trained to obtain prediction data output by the model includes: The training comprehensive state embedding vector is input into the dynamic task scheduling model to be trained. The dynamic task scheduling model to be trained outputs the scheduling probability distribution based on the nonlinear function and the training comprehensive state embedding vector, and uses the scheduling probability distribution as the prediction data.
7. A heterogeneous hardware resource pool scheduling and matching device for dynamic task flows, characterized in that: include: A task graph vector determination module is configured to determine state information of a directed acyclic job of a dynamic task flow, encode the state information, and obtain a dynamic task graph embedding vector; a comprehensive state vector determination module, configured to determine resource distribution characteristics of devices in a heterogeneous hardware resource pool, and obtain a comprehensive state embedding vector based on the dynamic task graph embedding vector and the resource distribution characteristics; The scheduling matching strategy determination module is configured to input the comprehensive state embedding vector into a pre-trained dynamic task scheduling model to obtain a scheduling matching strategy for the dynamic task flow.
8. An electronic device, characterized in that: The method comprises a memory, a processor and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the method according to any one of claims 1 to 6 is implemented.
9. A non-transitory computer-readable storage medium, characterized in that: The non-transitory computer-readable storage medium stores computer instructions, and the computer instructions are used to cause a computer to execute the method according to any one of claims 1 to 6.
10. A computer program product, characterized in that The method comprises computer program instructions, which, when executed on a computer, cause the computer to execute the method according to any one of claims 1 to 6.
Citation Information
Cited By
Software development resource scheduling method and system based on big data
CN120469814A
A software development resource scheduling method and system based on big data
CN120469814B
IPTV terminal edge calculation method and system
CN121567893A