Task scheduling method and device, and electronic device
Patent Information
- Application Number
- CN202610685220.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-05-18
- Publication Date
- 2026-09-18
- Estimated Expiration
- 2046-05-18
AI Technical Summary
然而,相关技术大多采用静态或半静态的资源分配策略,难以灵活适应任务运行过程中对于资源需求的动态波动,从而影响集群的整体吞吐效率与任务执行性能
[0026]The task scheduling method, apparatus, and electronic device provided in the embodiments of this disclosure obtain reasonable initial resource configuration information by retrieving historical similar tasks based on the generated initial feature vector. This allows for full utilization of historical scheduling information, enabling rapid initialization during the task submission stage and reducing cold start time. Furthermore, by acquiring dynamic running data during task execution to generate a fused feature vector for the task, a more comprehensive and accurate "semantic profile" of the task features is established. This extends the understanding of the task to the perception level of semantic information such as task computational features, model structure, or execution rules. Based on the accurate semantic profile of the task features, historical similar tasks can be retrieved again, enabling the reuse of scheduling experience from the perspective of the task's essence and improving the rationality and dynamic adaptability of resource scheduling.
Smart Images

Figure CN122220117B_ABST
Abstract
Description
Technical Field
[0001] The embodiments disclosed herein relate to the field of artificial intelligence technology, specifically to task scheduling methods, apparatus and electronic devices, storage media and computer program products. Background Technology
[0002] With the rapid growth in the scale of AI (Artificial Intelligence) models, training methods based on distributed architectures have become the mainstream computing paradigm. Distributed training involves rationally allocating tasks such as model training or inference to multiple nodes in a cluster according to their resource allocation requirements, with multiple nodes collaboratively processing the tasks.
[0003] Currently, mainstream scheduling systems widely adopt resource-based scheduling strategies, which make scheduling decisions based on the number of GPUs (Graphics Processing Units) and memory capacity requirements declared when a task is submitted, combined with the real-time load status of the system. However, most related technologies use static or semi-static resource allocation strategies, which are difficult to flexibly adapt to the dynamic fluctuations in resource requirements during task execution, thus affecting the overall throughput efficiency of the cluster and the task execution performance. Summary of the Invention
[0004] Embodiments of this disclosure provide task scheduling methods, apparatus, electronic devices, storage media, and computer program products.
[0005] In a first aspect, embodiments of this disclosure provide a task scheduling method applied to a distributed computing resource cluster, comprising: generating an initial feature vector based on the static characteristics of a target task; determining historically similar tasks corresponding to the target task from historical task data based on the initial feature vector; and determining an initial scheduling strategy based on the scheduling strategy corresponding to the historically similar tasks; configuring resources for the target task based on the initial scheduling strategy to enable the target task to run; generating a fused feature vector based on the static characteristics and the dynamic characteristics during the operation of the target task; and, if the deviation between the fused feature vector and the initial feature vector exceeds a preset first threshold, re-determining historically similar tasks corresponding to the target task from historical task data based on the fused feature vector; determining a target scheduling strategy based on the scheduling strategy corresponding to the re-determined historically similar tasks; and adjusting the resource configuration of the target task based on the target scheduling strategy.
[0006] In some embodiments, the target task includes a training task or an inference task of an artificial intelligence model; when the target task is a training task, the static features include at least one of the following: model structure features, training paradigm features, distributed strategy features, training script structure features, hyperparameter configuration, dataset characteristics, framework and environment features, and task scale level; the initial scheduling strategy includes at least one of the following: resource nodes allocated to the target task, resource type, and resource configuration parameters.
[0007] In some embodiments, determining historically similar tasks corresponding to the target task from historical task data based on an initial feature vector includes: determining a first similarity between the target task and each historical task based on the initial feature vector and the historical feature vector of each historical task in the historical task data, and determining a first candidate task set from the historical task data based on the first similarity; wherein the historical feature vector of each historical task includes the initial feature vector or fused feature vector of each historical task; generating a first semantic vector based on the static feature description of the target task, and determining a first semantic matching score between the target task and each candidate historical task in the first candidate task set based on the first semantic vector and the historical semantic vector of each candidate historical task in the first candidate task set; wherein the static feature description is determined based on the static features of the target task; determining a first comprehensive similarity between the target task and each candidate historical task in the first candidate task set based on the first similarity and the first semantic matching score, and determining historically similar tasks from the first candidate task set based on the first comprehensive similarity.
[0008] In some embodiments, determining an initial scheduling strategy based on the scheduling strategy corresponding to historically similar tasks includes: determining a first maximum comprehensive similarity based on the highest value of the first comprehensive similarity between the target task and each candidate historical task in the first candidate task set; if the first maximum comprehensive similarity is greater than a first similarity threshold, determining the candidate historical task corresponding to the first maximum comprehensive similarity as a historically similar task, and determining the scheduling strategy of the historically similar task as the initial scheduling strategy of the target task; if the first maximum comprehensive similarity is greater than or equal to a second similarity threshold and less than or equal to the first similarity threshold, determining at least one historically similar task from the candidate historical tasks whose first comprehensive similarity is greater than or equal to the second similarity threshold and less than or equal to the first similarity threshold, and performing weighted fusion on the scheduling configuration parameters in the scheduling strategies of at least one historically similar task to obtain the initial scheduling strategy of the target task.
[0009] In some embodiments, generating a fused feature vector based on static features and dynamic features during the operation of the target task includes: acquiring dynamic features during the operation of the target task and generating a dynamic feature vector of the target task based on the dynamic features; and weighting and fusing the initial feature vector and the dynamic feature vector according to the determined weight factors of the initial feature vector and the dynamic feature vector to generate a fused feature vector of the target task; wherein the weight factor of the dynamic feature vector gradually increases from a first initial value to a first maximum value as the duration of the target task operation increases, and the weight factor of the initial feature vector gradually decreases from a second initial value to a second minimum value as the duration of the target task operation increases.
[0010] In some embodiments, re-determining historically similar tasks corresponding to the target task from historical task data based on fused feature vectors includes: determining a second similarity between the target task and each historical task based on the fused feature vector and the fused feature vector of each historical task in the historical task data, and determining a second candidate task set from the historical task data based on the second similarity; generating semantic prompt words based on the complete feature description of the target task, and determining a second semantic matching score between the target task and each candidate historical task in the second candidate task set based on the semantic prompt words; wherein the complete feature description is determined based on the static and dynamic features of the target task; determining a second comprehensive similarity between the target task and each candidate historical task in the second candidate task set based on the second similarity and the second semantic matching score, and re-determining historically similar tasks from the second candidate task set based on the second comprehensive similarity.
[0011] In some embodiments, generating semantic prompts based on the complete feature description of the target task, and determining a second semantic matching score between the target task and each candidate historical task in the second candidate task set based on the semantic prompts, includes: generating a first semantic vector based on the static feature description of the target task, and determining a first semantic matching score between the target task and each candidate historical task in the second candidate task set based on the first semantic vector and the historical semantic vector of each candidate historical task in the second candidate task set; determining a semantic matching candidate set from the second candidate task set based on the first semantic matching score; generating semantic prompts based on the complete feature description of the target task, and using a semantic matching model to determine a second semantic matching score between the target task and each candidate historical task in the semantic matching candidate set.
[0012] Before determining the second similarity, the process also includes: filtering out historical task data that does not match the meta-features of the target task from the historical task data based on the meta-features of the target task; wherein the meta-features include at least one of the following: task type, service level agreement requirements, and task priority.
[0013] In some embodiments, the method further includes: in response to the target task reaching a preset stage, updating the fused feature vector based on the dynamic features of the target task during its operation within a preset time window; if the offset of the updated fused feature vector exceeds a preset second threshold, determining historical similar tasks corresponding to the target task again from historical task data based on the updated fused feature vector; updating the target scheduling strategy based on the scheduling strategy corresponding to the re-determined historical similar tasks, and adjusting the resource configuration of the target task based on the updated target scheduling strategy; wherein the dynamic features include at least one of the following associated with the operation of the target task: resource usage time-series data, performance indicator time-series data, and communication indicator time-series data.
[0014] In some embodiments, dynamic features are divided into instantaneous behavioral features and steady-state behavioral features; the preset time window includes a first preset time window and a second preset time window; the first preset time window is used to capture the instantaneous behavioral features of the target task, and the second preset time window is used to capture the steady-state behavioral features of the target task.
[0015] In some embodiments, the target task reaches a preset stage, including at least one of the following: the target task completes the warm-up stage; the preset resource indicators and performance indicators of the resource node where the target task is running enter a stable state; the duration of the target task's operation reaches a preset periodic check cycle.
[0016] In some embodiments, updating the fused feature vector based on the dynamic features of the target task during its operation within a preset time window includes at least one of the following: generating a current dynamic feature summary based on the currently acquired dynamic features; updating the fused feature vector if the difference between the current dynamic feature summary and the dynamic feature summary at the time of the last update is greater than a preset difference; and updating the fused feature vector if the time since the last update of the fused feature vector meets a preset minimum time interval.
[0017] In some embodiments, the preset periodic inspection cycle is determined based on at least one of the target task's task type and task operation stage. The method further includes adjusting the periodic inspection cycle when the offset after the fused feature vector update exceeds a preset third threshold.
[0018] In some embodiments, determining a target scheduling strategy based on the redefined scheduling strategy corresponding to a historically similar task includes: determining a second maximum comprehensive similarity based on the highest value of the second comprehensive similarity between the target task and each candidate historical task in the second candidate task set; if the second maximum comprehensive similarity is greater than a first similarity threshold, determining the candidate historical task corresponding to the second maximum comprehensive similarity as a historically similar task, and determining the scheduling strategy of the historically similar task as the target scheduling strategy; if the second maximum comprehensive similarity is greater than or equal to the second similarity threshold and less than or equal to the first similarity threshold, determining at least one historically similar task from the candidate historical tasks whose second comprehensive similarity is greater than or equal to the second similarity threshold and less than or equal to the first similarity threshold, and performing weighted fusion on the scheduling configuration parameters in the scheduling strategy of the at least one historically similar task to obtain the target scheduling strategy; wherein the second similarity threshold is less than the first similarity threshold.
[0019] In some embodiments, the method further includes: when the second highest comprehensive similarity is less than the second similarity threshold, generating a scheduling configuration strategy using a strategy configuration model based on at least one of the static features, dynamic features, and meta-features of the target task; and updating the initial scheduling strategy according to the scheduling configuration strategy to obtain the target scheduling strategy.
[0020] In some embodiments, the method further includes: determining anomaly levels based on anomaly information during the execution of the target task, and performing corresponding processing according to the anomaly levels; wherein, the anomaly information during the execution of the target task includes at least one of the following: the offset after updating the fused feature vector; the fluctuation range of key performance indicators associated with the execution of the target task; the anomaly score of the behavioral sequence of the target task; and the corresponding processing includes at least one of the following: improving the monitoring granularity of the target task execution process; allocating resources or migrating the target task; pausing the execution of the target task and reporting the anomaly information.
[0021] Secondly, embodiments of this disclosure provide a task scheduling apparatus applied to a distributed computing resource cluster, comprising: a task feature embedding module configured to generate an initial feature vector based on static features of a target task, and to generate a fused feature vector based on the static features and dynamic features during the operation of the target task; a similar task identification module configured to determine historical similar tasks corresponding to the target task from historical task data based on the initial feature vector, and to determine an initial scheduling strategy based on the scheduling strategy corresponding to the historical similar tasks; and, if the deviation between the fused feature vector and the initial feature vector exceeds a preset first threshold, to re-determine historical similar tasks corresponding to the target task from historical task data based on the fused feature vector; and a scheduling decision module configured to configure resources for the target task according to the initial scheduling strategy to enable the target task to run; and to determine a target scheduling strategy based on the re-determined scheduling strategy corresponding to the historical similar tasks, and to adjust the resource configuration of the target task based on the target scheduling strategy.
[0022] In some embodiments, the task scheduling device described above further includes a feature acquisition module, configured to acquire dynamic features during the execution of the target task; and an anomaly detection module, configured to determine the anomaly level based on the anomaly information during the execution of the target task, and to perform corresponding processing according to the anomaly level.
[0023] Thirdly, embodiments of this disclosure provide an electronic device, including: one or more processors; and a storage device having one or more computer programs stored thereon, wherein when the one or more computer programs are executed by the one or more processors, the one or more processors implement the task scheduling method mentioned in any of the first aspects.
[0024] Fourthly, embodiments of this disclosure provide a computer-readable medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the task scheduling method as mentioned in any of the first aspects.
[0025] Fifthly, embodiments of this disclosure provide a computer program product, including a computer program that, when executed by a processor, implements the task scheduling method mentioned in any of the first aspects.
[0026] The task scheduling method, apparatus, and electronic device provided in the embodiments of this disclosure obtain reasonable initial resource configuration information by retrieving historical similar tasks based on the generated initial feature vector. This allows for full utilization of historical scheduling information, enabling rapid initialization during the task submission stage and reducing cold start time. Furthermore, by acquiring dynamic running data during task execution to generate a fused feature vector for the task, a more comprehensive and accurate "semantic profile" of the task features is established. This extends the understanding of the task to the perception level of semantic information such as task computational features, model structure, or execution rules. Based on the accurate semantic profile of the task features, historical similar tasks can be retrieved again, enabling the reuse of scheduling experience from the perspective of the task's essence and improving the rationality and dynamic adaptability of resource scheduling.
[0027] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description
[0028] Other features, objects, and advantages of this disclosure will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings: Figure 1 This is an exemplary system architecture diagram to which one embodiment of this disclosure can be applied; Figure 2 This is a flowchart of an embodiment of the task scheduling method according to the present disclosure; Figure 3 This is a flowchart of another embodiment of the task scheduling method according to the present disclosure; Figure 4 This is an exemplary flowchart of determining the initial scheduling strategy during the task submission phase according to this disclosure; Figure 5 This is an exemplary flowchart of optimizing and adjusting the scheduling strategy during the task execution phase according to this disclosure; Figure 6 This is a schematic diagram of a structure of a task scheduling apparatus according to an embodiment of the present disclosure; Figure 7 This is a schematic diagram of the composition of an electronic device suitable for implementing embodiments of the present disclosure. Detailed Implementation
[0029] The present disclosure will now be described in further detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and not intended to limit it. Furthermore, it should be noted that, for ease of description, only the parts relevant to the invention are shown in the accompanying drawings.
[0030] It should be noted that, unless otherwise specified, the embodiments and features described in this disclosure can be combined with each other. This disclosure will now be described in detail with reference to the accompanying drawings and embodiments.
[0031] In related technologies, task scheduling in distributed computing resource clusters mainly relies on static resource descriptions or real-time performance indicators for decision-making, making it difficult to identify differences and similarities in tasks in terms of computation graph structure, model type, or hyperparameter configuration. On the one hand, since resources need to be re-evaluated and configured each time a task is submitted, the cold start time for scheduling is long, and each scheduling requires re-exploring the optimal strategy, making it impossible to reuse historical scheduling experience. On the other hand, even if resource allocation can be optimized and adjusted by sensing changes in task throughput and performance indicators during task execution, traditional scheduling optimization schemes rely on posterior performance indicators, resulting in a delayed response and making it difficult to achieve proactive optimization. In addition, anomaly detection during task execution mainly relies on threshold rules, making it difficult to identify abnormal states in the current task execution based on historical task behavior patterns, leading to delays in anomaly identification and response.
[0032] The task scheduling method, apparatus, and electronic device provided according to the embodiments of this disclosure at least partially solve the above-mentioned problems existing in the related art.
[0033] The present disclosure will now be described in detail with reference to the accompanying drawings and embodiments. It should be noted that, unless otherwise specified, the embodiments and features described in the present disclosure can be combined with each other. Furthermore, unless explicitly limited or contradicted by the context, the specific steps included in the methods described in this disclosure are not limited to the order in which they are described, but can be performed in any order or in parallel.
[0034] Figure 1 An exemplary system architecture 100 is shown, to which embodiments of the task scheduling method or task scheduling apparatus of this disclosure may be applied.
[0035] like Figure 1 As shown, system architecture 100 may include terminal devices 101, 102, and 103, a network 104, and a server 105. Network 104 serves as the medium for providing communication links between terminal devices 101, 102, and 103 and server 105. Network 104 may include various connection types, such as wired or wireless communication links, or fiber optic cables, etc.
[0036] Users can use terminal devices 101, 102, and 103 to interact with server 105 via network 104 to receive or send messages, etc. Terminal devices 101, 102, and 103 can be various electronic devices with displays that support receiving messages from the server, including but not limited to smartphones, tablets, e-book readers, electronic players, laptops, and desktop computers, etc.
[0037] Terminal devices 101, 102, and 103 can be either hardware or software. When terminal devices 101, 102, and 103 are hardware, they can be various electronic devices. When terminal devices 101, 102, and 103 are software, they can be installed in the electronic devices listed above. They can be implemented as multiple software programs or software modules (e.g., multiple software modules used to provide distributed services), or as a single software program or software module, such as a client / server application or a web browser application. No specific limitations are made here.
[0038] Server 105 can be a server providing various services. Taking the provision of task scheduling services for distributed computing resource clusters as an example, server 105 can achieve the following effects: First, an initial feature vector is generated based on the static characteristics of the target task. Based on the initial feature vector, historical similar tasks corresponding to the target task are determined from historical task data, and an initial scheduling strategy is determined based on the scheduling strategy corresponding to the historical similar tasks. Then, resources are configured for the target task based on the initial scheduling strategy to enable the target task to run. Next, a fused feature vector is generated based on the static characteristics and the dynamic characteristics during the operation of the target task. If the deviation between the fused feature vector and the initial feature vector exceeds a preset first threshold, historical similar tasks corresponding to the target task are re-determined from historical task data based on the fused feature vector. Finally, a target scheduling strategy is determined based on the scheduling strategy corresponding to the re-determined historical similar tasks, and resource configuration for the target task is adjusted based on the target scheduling strategy.
[0039] It's important to note that a server can be either hardware or software. When a server is hardware, it can be implemented as a distributed server cluster consisting of multiple servers, or as a single server. When a server is software, it can be implemented as multiple software programs or software modules (e.g., multiple software programs or software modules used to provide distributed services), or as a single software program or software module. No specific limitations are made here. A server can also be a server for a distributed system, or a server integrated with blockchain technology. A server can also be a cloud server, or an intelligent cloud computing server or intelligent cloud host with artificial intelligence technology.
[0040] It should be noted that the task scheduling method or apparatus provided in this embodiment is generally executed by server 105, and correspondingly, the task scheduling apparatus is generally set in server 105.
[0041] It should be understood that Figure 1 The number of terminal devices, networks, and servers shown is merely illustrative. Depending on implementation needs, any number of terminal devices, networks, and servers can be included.
[0042] Please refer to Figure 2 , Figure 2 A flowchart of an embodiment of a task scheduling method according to the present disclosure is shown. This task scheduling method can be applied to distributed computing resource clusters, and the flowchart 200 includes the following steps: Step 201: Generate an initial feature vector based on the static features of the target task, determine historical similar tasks corresponding to the target task from historical task data based on the initial feature vector, and determine the initial scheduling strategy based on the scheduling strategy corresponding to the historical similar tasks.
[0043] This step is intended for the execution entity of the task scheduling method, such as... Figure 1 The server 105 shown extracts static features of the target task and generates an initial feature vector based on the extracted static features. This initial feature vector can be understood as a static feature vector, which will serve as the basis for subsequent historical similar task retrieval and initial scheduling decisions.
[0044] In the embodiments of this disclosure, the target task may be a distributed training task or an inference task of an AI model, etc.
[0045] In some optional implementations, multi-dimensional feature data of the target task is collected during the submission phase of the target task, and static features of the target task are extracted based on the collected multi-dimensional feature data. These static features may include, but are not limited to, at least one of the following: model structure, hyperparameters, dataset features, and code information.
[0046] In some alternative implementations, based on the extracted static features of the target task, a static encoder, such as an autoencoder of a neural network or a Transformer encoder, can be used to perform feature reduction, embedding, and other processing on the static features to generate an initial feature vector.
[0047] In some other alternative implementations, the collected multi-dimensional feature data can be preprocessed and then input into a pre-trained LLM (Large Language Model) to extract and process features and output an initial feature vector.
[0048] In some optional implementations, based on the generated initial feature vector, the historical task with the highest similarity to the target task can be selected from historical task data through vector similarity matching. This historical similar task is then identified as the historical similar task corresponding to the target task. Subsequently, the initial scheduling strategy for the target task is determined based on the scheduling strategy corresponding to the historical similar task. The initial scheduling strategy is used to perform initial resource configuration for the target task. The initial scheduling strategy may include, for example, the resource type allocated to the target task, resource configuration parameters, resource nodes, etc.
[0049] In some exemplary embodiments, historical task data may come from a maintained historical task repository, which may include various data related to historical tasks, such as task features, task feature vectors, and task execution data. Task features may include static features, dynamic features, and meta-features; task feature vectors may include initial feature vectors and subsequently updated task feature vectors; task execution data may include task execution data and performance metrics data during the execution of historical tasks; and meta-features may include task type, service level agreement requirements, and task priority. For example, task data corresponding to a task may be created at the task submission stage and continuously updated throughout the task's lifecycle.
[0050] Step 202: Configure resources for the target task based on the initial scheduling policy so that the target task can run.
[0051] In this step, the aforementioned execution entity can configure resources for the target task based on a determined initial scheduling strategy, such as allocating the GPU resources required for the target task to run and scheduling it to the corresponding resource nodes in the cluster.
[0052] Step 203: Generate a fused feature vector based on static features and dynamic features during the operation of the target task. If the deviation between the fused feature vector and the initial feature vector exceeds a preset first threshold, redetermine the historical similar task corresponding to the target task from the historical task data based on the fused feature vector.
[0053] In this step, the aforementioned execution entity can acquire dynamic features during the operation of the target task in real time. These dynamic features may include data associated with the operation of the target task. The static features and the acquired dynamic features are then fused to generate a fused feature vector of the target task.
[0054] Taking model training tasks as an example, the execution of a task may involve multiple sub-tasks such as computation, communication, and kernel scheduling. The aforementioned execution entities can delve into the training stack to monitor fine-grained training behavior and collect various operational data during the training process in real time, such as resource usage time-series data, key performance indicator data, and communication indicator time-series data. By filtering and aggregating these time-series data or performance indicator data, the dynamic characteristics of the target task can be obtained, serving as the basis for accurately understanding and establishing the semantic representation of the task.
[0055] In some alternative implementations, a dynamic feature vector of the target task can be generated based on dynamic features, and the initial feature vector and the dynamic feature vector can be weighted and fused to generate a fused feature vector of the target task.
[0056] In some alternative implementations, the collected static data and runtime data can be preprocessed, and then a dynamic encoder, such as a pre-trained large language model, can be used for feature extraction and fusion to output a fused feature vector.
[0057] In some alternative implementations, the fused feature vector of the target task can also be stored as historical task data, for example, in a historical task database.
[0058] In some optional implementations, after the initial generation of the fused feature vector, historically similar tasks can be re-determined from historical task data based on this initially generated fused feature vector. That is, after the target task enters the execution phase, if the fused feature vector generated based on the acquired dynamic and static features is a more complete and accurate task feature vector, then the process of re-retrieval of historically similar tasks is triggered based on this fused feature vector, in order to avoid the initial scheduling strategy being unable to adapt to the dynamic changes in the target task's behavior patterns and resource requirements after entering the execution phase.
[0059] In some exemplary implementations, after the initial generation of the fused feature vector, the generated fused feature vector can be compared with the initial feature vector for similarity. For example, based on the cosine distance between the fused feature vector and the initial feature vector, if the cosine distance exceeds a preset first threshold, such as 0.15, it is considered that the behavioral characteristics of the target task have changed significantly. Then, based on the fused feature vector, the historical similar tasks corresponding to the target task can be re-determined from the historical task data.
[0060] Step 204: Determine the target scheduling strategy based on the redefined scheduling strategy corresponding to the historical similar tasks, and adjust the resource allocation of the target task based on the target scheduling strategy.
[0061] In this step, the aforementioned execution entity can update the initial scheduling strategy based on the newly determined scheduling strategy corresponding to similar historical tasks to obtain the target scheduling strategy, or it can directly use the target scheduling strategy. Then, based on the determined target scheduling strategy, resource allocation for the target task is adjusted to ensure that scheduling decisions are always based on the most similar historical tasks, avoiding overload or idleness of resources such as GPUs, thereby making the scheduling of the target task more reasonable and efficient.
[0062] The task scheduling method provided in the above embodiments of this disclosure generates an initial feature vector based on multi-dimensional static data and obtains reasonable initial resource configuration information by retrieving similar historical tasks. It can make full use of historical scheduling information, achieve rapid initialization at the task submission stage, and reduce cold start time. Furthermore, by acquiring dynamic running data during task execution, it generates a unified task feature representation and establishes a more comprehensive and accurate "semantic profile" of task features. This breaks through the limitation of traditional task scheduling strategies, which mainly focus on the resource level in understanding tasks. It extends the understanding of tasks to the perception level of semantic information such as task computational features, model structure, or execution rules. Based on the accurate task feature profile, it can re-retrieve similar historical tasks, realize the reuse of scheduling experience from the perspective of task essence, and improve the rationality and dynamic adaptability of resource scheduling.
[0063] See also Figure 3 , Figure 3 A flow 300 of another embodiment of the task scheduling method according to this disclosure is shown. The flow 300 of the task scheduling method is as follows: Step 301, Task Submission.
[0064] In this step, the execution body of the task scheduling method, such as... Figure 1 The server 105 shown, or the scheduling center of the distributed computing power resource cluster, receives the submitted tasks and adds them to the scheduling queue.
[0065] For example, the aforementioned executing entity can obtain information such as task type, priority, and resource requirements by parsing task instructions. The task type can be a large model training task, inference task, or data preprocessing task, etc. Task priority can be determined based on an SLA (Service Level Agreement), or it can be determined based on the importance and timeliness of the task, serving as a basis for prioritization decisions when resources are scarce. Resource requirements can refer to the amount of computing resources required for task execution, including but not limited to the required CPU resources, memory resources, and network bandwidth.
[0066] Step 302: Extract static features.
[0067] For tasks waiting to be scheduled in the queue, their static features are collected during the task submission phase to generate an initial feature vector.
[0068] For example, the collected static features may include, but are not limited to, the following features: 1. Model structure features, which may include the number of network layers, number of parameters, attention mechanism structure, model type, etc. Among them, model type includes Transformer, CNN (Convolutional Neural Network), RNN (Recurrent Neural Network), etc.
[0069] 2. Training paradigm features, which may include training method identifiers, such as full parameter fine-tuning, LoRA (Low-Rank Adaptation), MoE (Mixture of Experts), pre-training paradigms, etc.
[0070] 3. Distributed strategy characteristics, which may include parallelism, inter-node communication modes, etc. Parallelism may include data parallelism, model parallelism, pipeline parallelism, or hybrid parallelism.
[0071] 4. Training script structure features, which may include key function calls, data loading and preprocessing methods, etc.
[0072] 5. Hyperparameter configuration, which may include batch size, learning rate and its scheduling strategy, optimizer type, etc.
[0073] 6. Dataset characteristics, which may include data size, sparsity, feature dimensionality, etc.
[0074] 7. Framework and environment characteristics, which may include deep learning framework type, CUDA (Compute Unified Device Architecture) version, driver version, etc. Among them, deep learning framework type may include PyTorch (a deep learning framework based on Python), TensorFlow (a machine learning framework), JAX (a deep learning framework), etc.
[0075] 8. Task scale level, which may include the classification of model parameter quantity, such as less than 1B (Billion), 1-10B, 10-100B, greater than 100B, etc.
[0076] It should be understood that, depending on the actual application requirements, in addition to the static features listed above, other dimensions of static features can also be collected, and this disclosure does not impose specific restrictions on this.
[0077] Step 303: Generate the initial task embedding vector.
[0078] Based on the extracted static features, an initial task embedding vector, i.e., the initial feature vector of the task, can be generated using an autoencoder or a pre-trained LLM.
[0079] For details on generating the initial feature vector, please refer to the relevant explanation in step 201 above, which will not be repeated here.
[0080] For example, immediately after a task is submitted, its static features are extracted and an initial task embedding vector is generated, with a latency that can be controlled to within 100 milliseconds.
[0081] Step 304: Initially search for similar historical tasks.
[0082] In this step, based on the initial feature vector, historical similar tasks corresponding to or matching the task to be scheduled can be determined from historical task data through vector similarity matching.
[0083] As an optional implementation, determining historically similar tasks corresponding to the task to be scheduled from historical task data through vector similarity matching may include: calculating the cosine similarity between the initial feature vector of the task to be scheduled and the historical feature vector of each historical task in the historical task database, and selecting the historical task with the highest cosine similarity from the historical task database as the historically similar task corresponding to the task to be scheduled, in descending order of cosine similarity. Here, the historical feature vector of each historical task can be either the initial feature vector of each historical task or a fused feature vector of each historical task.
[0084] In some optional implementations, meta-features of the task to be scheduled can also be obtained, such as the task type, task priority, and task context information. These meta-features can be used to assist in scheduling decisions. For example, before performing vector similarity matching, filtering conditions can be set based on the meta-features of the task to be scheduled to filter out historical task data that does not match the meta-features of the task to be scheduled. For example, preliminary screening can be performed based on the task type and task priority of the task to be scheduled, selecting only historical tasks in the historical task database that have the same task type and task priority as the task to be scheduled for similarity calculation, thereby narrowing the scope of data retrieval in the historical task database, reducing computational load, and improving retrieval efficiency.
[0085] Step 305, Initial scheduling decision.
[0086] In some implementations, based on the number of historically similar tasks, if there is only one historically similar task, the initial scheduling strategy for the current task can be determined directly based on the scheduling strategy corresponding to that historically similar task; if there are multiple historically similar tasks, the scheduling configuration parameters in the scheduling strategies corresponding to multiple historically similar tasks can be weighted and fused to obtain the initial scheduling strategy for the current task.
[0087] In some implementations, if no similar historical tasks are matched, the corresponding initial scheduling configuration parameters can be matched based on static features to generate an initial scheduling strategy.
[0088] Then, based on the determined initial scheduling strategy, the current task is initially configured with resources, such as allocating the corresponding resources to the task and scheduling it to the corresponding resource node in the cluster.
[0089] According to the above implementation method, during the task submission stage, similar historical tasks can be quickly matched based on the initial feature vector, and verified initialization configurations can be provided for them, solving the problems of blind decision-making and low efficiency in the cold start stage.
[0090] Step 306: The task enters the execution phase.
[0091] After making the initial scheduling decision for the current task, the task execution phase begins.
[0092] Step 307: Obtain dynamic features.
[0093] During the task execution, dynamic features are continuously collected, such as time-series data of resource usage, time-series data of key performance indicators, and time-series data of communication indicators, in order to update the task embedding vector.
[0094] For example, to reduce computational and storage overhead, the system performs aggregated summaries on the original time-series data, such as by calculating statistical measures like mean, variance, and quantiles to obtain dynamic feature summaries, which are then used as input to the vector embedding.
[0095] For example, the following dynamic features can be collected in real time during task execution: 1. Resource usage time-series data, which may include GPU utilization, GPU memory usage, CPU utilization, memory usage curve, network bandwidth utilization, disk I / O metrics, etc. 2. Time series data of performance metrics, which may include Step Time distribution, Throughput curve, model convergence curve, gradient statistics such as gradient norm, gradient distribution, etc. 3. Communication metrics time series data, which may include the proportion of communication time, communication overhead between nodes, and latency of aggregate communication operations such as AllReduce and AllGather.
[0096] As an exemplary implementation, the sampling frequency of the dynamic feature can be set to 1 to 5 seconds.
[0097] Step 308: Determine whether to enter the preset stage. If yes, proceed to step 309; otherwise, return to step 307.
[0098] If it is determined that the current task has reached a preset stage, such as the optimization stage, then based on the static features of the current task and the dynamic features during its operation within the preset time window, a fused feature vector is generated or updated based on the static and dynamic features. This fused feature vector is a complete feature vector representation of the task. Otherwise, return to step 307 to continue acquiring dynamic features.
[0099] In some optional implementations of this embodiment, determining that the current task has reached a preset stage may include at least one of the following situations: the task has completed the warm-up stage; the preset resources and performance indicators of the resource node where the task is running have entered a stable state; the duration of task running has reached a preset periodic check cycle. The preset resources of the resource node may include the critical resources of the resource node, etc.
[0100] As an exemplary implementation, the current task is determined to have reached the optimization stage when any of the following triggering conditions are met: Triggering condition 1: Warm-up phase completed For example, a combined decision mechanism can be used, which requires that the following two sub-conditions be met simultaneously: a) Minimum observation window condition: The number of task execution steps reaches the preset warm-up step size. This warm-up step size is determined based on the task size level and experience from similar historical tasks.
[0101] For example, for training small models with fewer than 1B parameters, the warm-up step size can be set from 50 to 150 steps, with a typical value of 100 steps. For training medium-sized models with between 1B and 10B parameters, the warm-up step size can be set from 150 to 400 steps, with a typical value of 200 to 300 steps. For training large models with more than 10B parameters, the warm-up step size can be set from 300 to 1000 steps, with a typical value of 500 to 800 steps.
[0102] For reasoning tasks, warm-up is usually not required, or only a very short warm-up is needed, such as less than 50 steps or the first 1 to 2 minutes.
[0103] For setting the warm-up step size, you can search for warm-up step size records of similar historical tasks and recommend them to the current task after weighted averaging based on similarity; if there is no historical reference data, you can select the above typical values as the default warm-up step size according to the magnitude of the model parameters of the task.
[0104] b) Stable performance indicators: Key performance indicators enter a stable state, for example, the fluctuation range of the indicators is lower than the preset fluctuation threshold.
[0105] Triggering condition two: Key resource indicators and performance indicators are stable.
[0106] For example, during task execution, key performance indicators (KPIs) are continuously monitored. A stable state is defined as when the fluctuations of all monitored KPIs are below their respective thresholds. Examples of key resource and performance indicators are provided below.
[0107] 1. Resource-related indicators
[0108] GPU utilization, based on the ratio of standard deviation to mean within the most recent time window, fluctuates by less than 5%; GPU memory usage fluctuates by less than 5%; CPU utilization fluctuates by less than 10%; memory usage fluctuates by less than 5%; network bandwidth utilization fluctuates by less than 10%.
[0109] 2. Performance Indicators
[0110] The step time for a single iteration fluctuates by less than 8%.
[0111] 3. Communication-related indicators
[0112] For the percentage of communication time, considering that distributed communication is affected by network jitter and has a high tolerance, the fluctuation range indicator can be set to less than 10%.
[0113] It should be noted that different types of indicators can use different fluctuation thresholds for judging stability because their physical characteristics and fluctuation patterns are different. Resource indicators (such as GPU utilization and video memory usage) should remain highly stable in a steady state, so the fluctuation threshold can be set to 5%. Communication indicators (such as communication time percentage and network bandwidth utilization) are affected by external factors such as network congestion and switch scheduling, and their fluctuation amplitude is naturally larger, so the fluctuation threshold can be relaxed to 10%. Performance indicators (such as the time taken for a single iteration) are affected by both computation and communication, so the fluctuation threshold can be set to 8% to balance sensitivity and fault tolerance.
[0114] Triggering condition 3: Periodic checkpoint reached
[0115] The pre-defined periodic checkpoints, or periodic check cycles, serve as the triggering conditions. Furthermore, the periodic check cycle can employ an adaptive adjustment strategy; for example, the check frequency can be dynamically adjusted based on the task's execution phase or the rate of change of the task's embedding vector.
[0116] For example, in the initial stages of task execution, such as within the first 30 minutes after task start, the interval between periodic checkpoints is shorter to capture rapidly changing behavioral characteristics. Once the task enters a stable operational phase, the interval between periodic checkpoints is extended to reduce computational overhead.
[0117] Depending on the task type and model size, for training tasks of small models with fewer than 1B parameters, checks can be performed every 3 to 5 minutes; for training tasks of large models with more than 10B parameters, checks can be performed every 10 to 15 minutes. Inference tasks can be checked every 1 to 2 minutes.
[0118] In some optional implementations, the frequency of periodic checkpoints can be adjusted based on the rate of change of the task embedding vector. For example, if the offset of the updated task embedding vector is detected twice consecutively, such as the cosine distance between the updated and unupdated task embedding vectors, is greater than a preset third threshold (e.g., the cosine distance is greater than 0.1), it may indicate that the current task has entered a new behavior pattern transition period. In this case, the frequency of periodic checkpoints can be increased, or raised to the level of the early stage of task execution, until the task embedding vector stabilizes again.
[0119] The adaptive adjustment mechanism for periodic checkpoints is based on the fact that the behavioral characteristics of training tasks, such as gradient distribution and resource usage patterns, change drastically in the early stages of operation, so high-frequency sampling is required to accurately capture dynamic changes; inference tasks usually enter a steady state after warm-up, so shorter time intervals can be used to quickly confirm stability; large-scale models have longer stability periods due to the complexity of computational graphs and high communication overhead, so the check intervals for periodic checkpoints are extended accordingly.
[0120] It should be noted that for any one of the three triggering conditions mentioned above, the task is considered to have entered the optimization phase, and the task embedding vector will be dynamically updated. This ensures timely response to stable signals of task behavior, regardless of whether the signal originates from the completion of the warm-up phase, stable performance metrics, or the arrival of a periodic check cycle.
[0121] As an exemplary implementation, in order to prevent frequent updates to the task embedding vector, the following dual protection mechanism is also set up: The first layer of protection mechanism, the minimum trigger interval limit, requires that the update interval of the Embedding vector between two tasks should not be less than the preset minimum time interval, for example, at least 3 minutes, to avoid excessively frequent update operations when the indicator fluctuates in the short term.
[0122] The second protection mechanism is a threshold limit for the magnitude of change. When any triggering condition is met, the difference between the dynamic feature summary of the current task and the dynamic feature summary of the last update is first calculated. If the difference between the two is less than a preset difference, such as the Euclidean distance being less than 0.08, it is considered that there is no substantial change, and the update of the Embedding vector for this task is skipped.
[0123] The aforementioned dual protection mechanism can be active simultaneously. That is, after either trigger condition is met, both the minimum trigger interval limit and the change amplitude threshold limit must be met before the update operation on the task embedding vector can be performed. This design can effectively avoid false triggering caused by drastic fluctuations in resource indicators or short-term network congestion, while ensuring timely response to changes in task behavior.
[0124] Furthermore, based on different patterns of task behavior, dynamic features can be divided into instantaneous behavioral features and steady-state behavioral features. To effectively capture different patterns of task behavior, dynamic feature extraction can employ a dual-time-window strategy combining short and long time windows. That is, the preset time window can include a first preset time window and a second preset time window, wherein the length of the first preset time window is no greater than that of the second preset time window.
[0125] The first preset time window, or short time window, can be used to capture the instantaneous behavioral characteristics of a task, for example, it can be set to 1-2 minutes. This short time window strategy can support fine-grained updates of the task embedding vector and can also be used for anomaly detection during task execution, such as identifying sudden anomalies such as a sharp drop in GPU utilization or communication timeouts.
[0126] The second preset time window, namely the long window, can be used to capture the steady-state behavior characteristics of the task. For example, it can be set to 5-10 minutes. This long window strategy is mainly used for the steady-state update of the task embedding vector and the long-term optimization of the scheduling strategy to reflect the average behavior pattern of the task over a longer time scale, such as the average iteration time and stable resource consumption level.
[0127] Through the synergistic effect of the aforementioned dual-time-window strategy, the acquired dynamic feature data can not only support robust task feature profile construction and updates, but also be used to achieve rapid response and anomaly detection, thus simultaneously meeting the requirements for real-time performance and accuracy.
[0128] Step 309: Generate the fused feature vector.
[0129] If the triggering conditions above determine that the current task has reached the optimization stage, the initial embedding vector is updated based on the acquired dynamic features. For example, the static features of the current task can be fused with the dynamic features acquired in real time to generate a fused feature vector, thereby obtaining a more comprehensive and accurate complete task embedding vector.
[0130] For example, the task embedding vector is generated as follows:
[0131] in, Embedding_updated For generated or updated task embedding vectors, Embedding_ static This is the initial embedding vector generated based on static features. Embedding_dynamic This is a dynamic embedding vector generated based on dynamic features. α_dynamic This is the weighting factor for the dynamic feature vector, with a value range of 0 to 1.
[0132] Step 310: Determine whether the deviation of the task embedding vector before and after the update is greater than a preset threshold. If yes, proceed to step 311; otherwise, return to step 307.
[0133] After generating the complete task embedding vector, the cosine distance between the generated task embedding vector and the initial embedding vector can be used to determine whether the deviation between the two exceeds a preset first threshold, such as 0.15. If it is greater than 0.15, it indicates that the behavior pattern of the current task may have changed significantly, and the re-retrieval of similar historical tasks will be triggered to ensure that the scheduling decision is always based on the most accurate task feature profile.
[0134] For the generated task embedding vector, during the execution of subsequent tasks, the determination of the optimization stage will continue based on the aforementioned triggering conditions. If the current task is determined to have reached the optimization stage and the minimum trigger interval limit and change magnitude threshold limit have not been triggered, the current task embedding vector can be updated based on the dynamic features obtained by the aforementioned long-term window strategy. Furthermore, if the offset between the updated task embedding vector and the original task embedding vector is greater than a preset second threshold, a re-search of historical similar tasks will be triggered to re-determine historical similar tasks. Then, the current scheduling strategy will be updated based on the scheduling strategy corresponding to the re-determined historical similar tasks, and resource allocation adjustments will be made for the current task based on the updated scheduling strategy.
[0135] In some alternative implementations, a progressively weighted fusion algorithm can be used to update the task embedding vector. That is, the weight factors of the dynamic feature vector... α_dynamic The value gradually increases as the task runs longer. For example, α_dynamic The value gradually increases from a preset initial value of 0 to a preset maximum value of 0.8 as the task runs. Correspondingly, the weight factor of the static feature vector, i.e. (1- α_dynamic The value gradually decreases as the task runs longer. For example, (1- α_dynamic The value of ) gradually decreases from 1 to 0.2.
[0136] As an exemplary implementation, the adjustment strategy for the dynamic weighting factor is as follows: In the initial stage of the task, such as within 0 to 5 minutes, α_dynamic =0, at which point the task embedding vector is completely dependent on static features; During the warm-up phase, for example, within 5 to 30 minutes of operation, α_dynamic The value increases linearly from 0 to 0.6; During the stable operation phase, for example, after running for 30 minutes, α_dynamic The value continues to increase to the preset maximum value of 0.8, and then remains constant.
[0137] Step 311: Re-search for similar historical tasks.
[0138] Based on the updated fused feature vector, the historical similar tasks corresponding to the current task are re-determined from the historical task data through vector similarity matching. This allows the scheduling strategy of the current task to be updated according to the scheduling strategy of the re-retrieved historical similar tasks. For example, by optimizing and updating the scheduling configuration parameters, the resource configuration and task scheduling strategy that best suits the current task can be obtained.
[0139] During the task execution phase, updating the task embedding vector triggers a re-retrieval of historically similar tasks, thereby ensuring that task scheduling decisions are always based on the most accurate task profile, further improving the overall resource utilization and scheduling efficiency of the GPU cluster.
[0140] Step 312: Update the scheduling strategy.
[0141] In some implementations, the current scheduling policy can be updated based on the redefined historical similar tasks and the scheduling policy corresponding to the historical similar tasks to obtain the target scheduling policy, and the resource allocation of the current task can be adjusted according to the target scheduling policy.
[0142] Step 313: Update the task data in the historical task library.
[0143] In some implementations, after updating the scheduling strategy for the current task, the updated task embedding vector can be stored as historical task data, for example, in a historical task database, to update the task profile features of the current task. Simultaneously, task data related to the current task, including dynamic features, task execution data, performance metrics, etc., can also be stored as historical task data in the historical task database.
[0144] The task scheduling method provided in the above embodiments of this disclosure generates a task feature vector by fusing multi-dimensional features of the task, which deepens the understanding of the task to the semantic information level such as task execution, performance indicators and behavioral patterns. It establishes a unified task profile at the semantic level, thereby enabling more accurate measurement of the similarity between different tasks. This allows scheduling decisions to shift from resource adaptation to semantic adaptation. When facing similar training or inference tasks, it can effectively reuse existing historical scheduling experience and avoid repeated resource evaluation and exploratory learning processes for similar tasks.
[0145] Based on any of the above embodiments, this disclosure also provides specific implementation schemes for determining the initial scheduling strategy during the task submission phase and optimizing and adjusting the scheduling strategy during the task execution phase.
[0146] Please refer to Figure 4 , Figure 4 An exemplary processing flow 400 for determining an initial scheduling policy during the task submission phase is illustrated. This processing flow 400 may include the following steps: Step 401: Based on the initial feature vector and the historical feature vector of each historical task in the historical task data, determine the first similarity between the target task and each historical task, and determine the first candidate task set from the historical task data according to the first similarity.
[0147] For example, the first similarity is calculated using a cosine similarity algorithm. This is based on the initial feature vector of the target task. E_ current Calculate the first one in the historical task database respectively. i Feature vectors of historical tasks E_history_i Cosine similarity between cosine_similarity_i :
[0148] Among them, the i Feature vectors of historical tasks E_history_i It can be the initial feature vector of the historical task, or it can be the complete task feature vector of the historical task, i.e., the fused feature vector. This disclosure does not impose too many restrictions on it.
[0149] For example, based on a set basic similarity threshold, such as 0.6, historical tasks in the historical task library with a cosine similarity greater than this threshold can be selected as candidate historical tasks to form the first candidate task set. Alternatively, historical tasks can be sorted in descending order according to their cosine similarity values, and the Top-50 or Top-100 historical tasks can be selected as candidate historical tasks to form the first candidate task set.
[0150] The main purpose of this basic similarity measurement layer is to leverage the efficiency of cosine similarity calculation to quickly filter out obviously irrelevant historical tasks, reduce the size of the candidate task set to a controllable range, and achieve efficient and fast similarity matching for massive historical tasks.
[0151] It should be understood that the matching of similarity between tasks is not limited to the cosine similarity algorithm mentioned above. Other distance or divergence measurement mechanisms, such as Euclidean distance, Manhattan distance, Mahalanobis distance, or KL (Kullback-Leibler) divergence, may also be used, or other similarity measurement mechanisms may be selected. This disclosure does not impose too many restrictions on this.
[0152] Step 402: Generate the first semantic vector based on the static feature description of the target task.
[0153] For the target task, its static feature description is determined based on the collected static features, and a first semantic vector is generated based on the static feature description.
[0154] For example, by extracting key static features, such as text descriptions of model type, training paradigm, distributed strategy, and framework type, a lightweight semantic encoding model, such as multilingual BERT (Bidirectional Encoder Representations from Transformers) or Sentence-BERT (an improved model based on BERT), is used to encode the text descriptions into semantic vectors, resulting in the first semantic vector.
[0155] Step 403: Based on the first semantic vector and the historical semantic vector of each candidate historical task in the first candidate task set, determine the first semantic matching score between the target task and each candidate historical task in the first candidate task set.
[0156] Based on the generated first semantic vector of the target task, the cosine similarity between it and the historical semantic vector of the candidate historical tasks in the first candidate task set is calculated, and this cosine similarity is used as the first semantic matching score. The historical semantic vector is generated based on the static feature description of the candidate historical tasks.
[0157] Because cosine similarity only calculates the angle between vectors, it is sensitive to the direction of the vectors but not to their magnitude. Furthermore, it is prone to the "curse of dimensionality" when dealing with high-dimensional sparse feature spaces, leading to a decrease in its ability to distinguish subtle semantic differences. For example, two tasks may be similar in the numerical distribution of their embeddings, i.e., have high cosine similarity, but they may have fundamental differences in key scheduling requirements such as model architecture type (e.g., Transformer vs. CNN) or parallel strategies (e.g., data parallelism vs. model parallelism).
[0158] To overcome the limitations of cosine similarity in high-dimensional semantic feature representation, a hybrid semantic matching scheme is adopted to calculate the first semantic matching score between the target task and the candidate historical tasks. Based on the semantic enhancement matching layer between these tasks, the recognition accuracy of deep semantic correlation between tasks can be improved.
[0159] Step 404: Determine the first comprehensive similarity between the target task and each candidate historical task in the first candidate task set based on the first similarity and the first semantic matching score.
[0160] For example, based on the obtained first similarity and first semantic matching score, the first comprehensive similarity is determined as follows: S_final :
[0161] in, cosine_similarity The first similarity score, semantic_scoreThe first semantic matching score is represented by α, and β are the weighting coefficients for the first similarity score and the first semantic matching score, respectively, used to balance the influence of the two types of similarity on the final similarity result.
[0162] For example, the values of α and β can be set to 0.4 and 0.6 respectively, meaning that the semantic matching score has a higher weight to fully utilize its deep semantic understanding capabilities. It should be understood that the values of α and β can be adjusted according to different needs in actual applications. For example, in scenarios with limited computing resources, α can be adjusted to 0.6 and β to 0.4 to reduce the reliance on semantic matching.
[0163] Step 405: Based on the first comprehensive similarity, determine the historical similar tasks corresponding to the target task from the first candidate task set.
[0164] For example, it can be based on the first comprehensive similarity between tasks. S_final Based on the score, one or more historically similar tasks are determined from the first candidate task set.
[0165] As an exemplary implementation, multiple similarity thresholds can be set, and the target task can be determined based on the first comprehensive similarity between the target task and candidate historical tasks in the first candidate task set. S_final The highest value, the highest overall similarity S Historically similar tasks are identified using the following method: if S A score >0.85 indicates that the target task is highly similar to a candidate historical task, and the scheduling requirements are basically the same. Therefore, the highest comprehensive similarity score will be selected. S The corresponding candidate historical tasks were identified as historically similar tasks; If 0.7≤ S A similarity score of ≤0.85 indicates that the similarity between the target task and multiple historical tasks is at a moderate level, with no single task holding a dominant position. In this case, a score of ≤0.7 can be used. S Multiple historically similar tasks were identified from the candidate historical tasks in the ≤0.85 range.
[0166] if S If the similarity is less than 0.7, it is considered that the overall similarity between the target task and all candidate historical tasks in the first candidate task set is low, and there is no suitable historical scheduling experience to reuse or learn from. In this case, historically similar tasks may not be determined.
[0167] Step 406: Determine the initial scheduling strategy based on the scheduling strategies corresponding to similar historical tasks.
[0168] For example, based on the different scenarios corresponding to the highest comprehensive similarity and the determined historical similar tasks, different initial scheduling strategies are adaptively selected. The specific decision-making mechanism is as follows: (1) For high similarity scenarios, such as S If the value is greater than 0.85, the scheduling experience of similar historical tasks can be directly reused. The optimal scheduling template proven by the experience of similar historical tasks can be used to determine the initial scheduling strategy for the target task. The optimal scheduling template may include resource configuration information such as resource types and core configuration parameters.
[0169] For example, resource configuration information may include at least one of the following: 1. Computing resource allocation GPU quantity and model selection strategy; Single-node GPU configuration, such as 8 or 4 cards per node; Memory allocation, such as the pre-allocated size of host memory and GPU video memory.
[0170] 2. Network and Communication Configuration
[0171] Inter-node communication topology, such as ring topology and tree topology; Network bandwidth requirements and reservation strategies; Key parameters of the communication library, such as environment variable settings for MCCL (Matrix Completion using Contrastive Learning); Parallel strategy configuration, such as combinations of data parallelism, model parallelism, and pipeline parallelism; Model segmentation strategies, such as segmentation by layer or segmentation by tensor; Gradient accumulation steps, mixed precision training switch.
[0172] 3. Scheduling strategy metadata
[0173] The historical execution success rate of this optimal scheduling template; Average task completion time; Resource utilization efficiency, such as GPU utilization and communication efficiency.
[0174] In some exemplary implementations, although the historical scheduling strategy is directly reused, several candidate historical tasks with the second highest similarity will still be detected. For example, if there are resource configuration parameters that are better than the optimal scheduling template among the top-3 candidate historical tasks, the corresponding resource configuration parameters in the optimal scheduling template can be optimized or adjusted according to the better resource configuration parameters.
[0175] (2) For scenes with moderate similarity, such as 0.7≤ S If the value is ≤0.85, the initial scheduling strategy for the target task can be determined by weighted fusion of the scheduling configuration parameters in the scheduling strategies of at least one historically similar task.
[0176] For example, from 0.7≤ S From the candidate historical tasks in the range ≤0.85, identify the Top-K historical similar tasks to form a similar task set, where K is a positive integer greater than 1.
[0177] For the first in the similar task set i A historically similar task, its weight w_i The calculation is as follows:
[0178] in, S_final_i For the target task and the first i The first comprehensive similarity among historically similar tasks success_ rate_i For the first i Historical success rate of similar historical tasks time_decay_i For the first i The time decay factor for historically similar tasks.
[0179] The time decay factor can be determined as follows:
[0180] Where λ is the attenuation coefficient, and λ can be, for example, 0.01. days_since_execution For the distance of the first i The time decay factor, calculated from the number of days since a historically similar task was completed, aims to increase the weight of more recent historically similar tasks. The higher.
[0181] For the Top-K historical similar tasks in the similar task set, the weights are normalized by iterating through each historical similar task to obtain the normalized weights. w_i_normalized As shown below:
[0182] in, This is the sum of the weights of the Top-K historically similar tasks.
[0183] Therefore, the configuration rules for the initial scheduling strategy are as follows: For numerical configuration parameters, such as the number of GPUs and memory size, a weighted average is taken and rounded to obtain the following final configuration parameters. :
[0184] in, param_i For the first i Configuration parameters for historically similar tasks. param_final These are the final configuration parameters.
[0185] For discrete configuration parameters, such as GPU model and parallel strategy type, the configuration with the highest weighted voting score can be selected; if there is a tie, the configuration with the highest similarity in historical tasks can be selected.
[0186] The strategy for handling configuration conflicts can be determined based on one or more of the following principles: The consensus-first principle applies: if the majority of tasks recommend the same configuration, for example, if the total weight exceeds 60%, then this configuration is adopted. The principle of prioritizing similarity as a fallback is adopted. If there is no clear consensus, the configuration of the historically similar task with the highest similarity is selected as the fallback solution. In accordance with the principle of ensuring security, for critical resource parameters such as the number of GPUs and the size of memory, if the final configuration parameters are lower than the minimum required value, they will be automatically adjusted to the minimum required value to prevent task failure due to insufficient resources.
[0187] (3) For low similarity scenarios, such as S If the value is less than 0.7, then a completely new resource allocation suggestion can be generated using the strategy allocation model based on the static and meta-features of the target task.
[0188] For example, the strategy configuration model can be a trained large language model. The initial embedding vector of the target task is input into the large language model. Based on the knowledge and reasoning ability of the large language model, the key dimensions, model architecture, training paradigm, dataset size and other information of the initial embedding vector are converted into a structured natural language description. The large language model is required to output reasonable resource configuration suggestions from the perspective of distributed training resource requirements, such as recommending the appropriate number of GPUs, parallel strategies, communication configurations, etc., and then the initial scheduling strategy can be determined based on the resource configuration suggestions.
[0189] As an exemplary implementation, further security mechanisms can be provided for the resource configuration suggestions output by the large language model. Due to the lack of historical verification, a conservative strategy is adopted for the resource configuration suggestions generated by the large language model, such as appropriately increasing the resource reservation amount and enabling stricter monitoring and anomaly detection to ensure the stability of task execution. Reasonableness checks can also be performed, such as ensuring that the number of GPUs does not exceed the cluster's available limit and that memory requirements do not exceed the node's physical memory, ultimately determining the initial scheduling strategy.
[0190] Finally, the target task is initially configured with resources according to the determined initial scheduling strategy. For example, the target task is allocated corresponding computing resources according to the resource configuration parameters, and the target task is assigned to multiple computing nodes in the cluster.
[0191] It should be noted that, without departing from the teachings of this publication, the aforementioned vector dimension settings, vector index structure, retrieval of historically similar tasks, and initial scheduling decision scheme can be implemented through various alternative methods. For example, the vector index structure can employ various indexing methods or combinations thereof, such as inverted file indexing, hierarchical navigable small-world graphs, and product quantization, to strike a balance between retrieval accuracy and system overhead. Simultaneously, the vector dimension of the task feature vector can be dynamically adjusted according to actual resource conditions; for example, high-dimensional encoding can be used to improve representation capabilities, or dimensionality reduction methods can be used to compress it to medium or low dimensions to improve retrieval speed. The retrieval of historically similar tasks can be built based on mature vector retrieval engines or vector databases, supporting indexing methods such as approximate nearest neighbor retrieval, which can effectively improve the retrieval efficiency of massive task feature profiles. Furthermore, the generation of the initial scheduling strategy is not limited to the aforementioned method of weighted fusion based on historical scheduling strategies; it can also be implemented based on heuristic rules, linear programming models, or reinforcement learning frameworks.
[0192] Next, refer to Figure 5 , Figure 5 An exemplary processing flow 500 is shown, which optimizes and adjusts the scheduling strategy during the task execution phase. This processing flow 500 may include the following steps: Step 501: Based on the fused feature vector and the fused feature vector of each historical task in the historical task data, determine the second similarity between the target task and each historical task, and determine the second candidate task set from the historical task data according to the second similarity.
[0193] The second similarity can be achieved using cosine similarity. In this step, based on the target task's current task embedding vector, i.e., the fused feature vector, the cosine similarity between the target task and the fused feature vector of each historical task in the historical task database is calculated, and the second candidate task set is determined from the historical task database based on the calculated cosine similarity.
[0194] The specific processing of step 501 can be referred to in the aforementioned step 401, which describes the determination of the first candidate task set in the historical task database based on the initial feature vector of the target task through a basic similarity measurement mechanism. The only difference between the two is that in step 501, the cosine similarity is calculated based on the fused feature vector of the target task and the fused feature vector of the historical task. For the sake of brevity, it will not be elaborated here.
[0195] Step 502: Generate the first semantic vector based on the static feature description of the target task.
[0196] Step 503: Based on the first semantic vector and the historical semantic vector of each candidate historical task in the second candidate task set, determine the first semantic matching score between the target task and each candidate historical task in the second candidate task set.
[0197] For the specific processing of steps 502 and 503 above, please refer to the relevant descriptions in steps 402-403 above. For example, the first semantic matching score may be the same as or similar to the first semantic matching score in step 403, which will not be described in detail here.
[0198] Step 504: Determine the semantic matching candidate set from the second candidate task set based on the first semantic matching score.
[0199] As an exemplary implementation, candidate historical tasks with the highest first semantic matching scores, such as Top-10 or Top-20, can be selected from the second candidate task set to determine the semantic matching candidate set, which can then be used as the candidate set for subsequent deep semantic matching.
[0200] Step 505: Generate semantic prompts based on the complete feature description of the target task, and use a semantic matching model to determine the second semantic matching score between the target task and each candidate historical task in the semantic matching candidate set.
[0201] Based on the static features, dynamic features, and meta-features of the target task, a complete feature description of the task is generated. This complete feature description may include the key dimension explanation of the task embedding vector, static text description, dynamic feature summary, etc., and then structured semantic prompt words are generated through a lightweight semantic coding model.
[0202] Based on the generated semantic prompts, for each candidate historical task in the semantic matching candidate set, the semantic matching model is used to output the semantic similarity or correlation between the target task and the historical task, thus obtaining the second semantic matching score.
[0203] For example, the semantic matching model can employ a pre-trained large language model. The generated semantic prompts are input into the large language model, guiding it to focus on essential scheduling-related features such as model architecture, parallel strategies, and resource demand patterns. From the perspective of scheduling requirements, the model analyzes the semantic similarity or correlation between the target task and each candidate historical task, outputting a semantic matching score between 0 and 1. Optionally, the large language model can also be asked to output a brief explanation of the similarity analysis.
[0204] In some optional implementations, before performing the second similarity or semantic matching between the target task and historical tasks as described above, coarse-grained filtering can be performed based on the meta-features of the target task, such as task type and SLA priority, to filter out historical tasks from the historical task database that do not match the meta-features of the target task. This limits the scope of similarity measurement to historical tasks of the same type and priority. For example, for training tasks, comparison is only made with historical training tasks; for inference tasks, comparison is only made with inference tasks; and for high-priority tasks, scheduling experience from high-priority historical tasks is retrieved first.
[0205] For example, the meta-features of a task may include a task type identifier, such as a training task, an inference task, or a data preprocessing task; and may also include service level agreement priorities, such as high-priority tasks, standard-priority tasks, low-priority tasks, etc.
[0206] In some alternative implementations, meta-features may also include task contextual information to aid scheduling decisions. For example, the meta-features of a historical task may also include historical task data, such as statistical data on task execution success rate, average completion time, and resource utilization efficiency.
[0207] In some alternative implementations, the contribution weights of the three types of features—static features, dynamic features, and meta-features—to the task embedding vector may differ at different stages of task execution.
[0208] As an exemplary implementation, in the initial stage of a task, such as before the task is submitted and the preheating is completed, static features dominate with a weight of approximately 100%; dynamic features have not yet been fully accumulated and have a weight close to 0%; meta-features are mainly used for task classification and coarse-grained screening.
[0209] During the stabilization phase after warm-up, the weight of static features can be gradually reduced to 40%-60%; the weight of dynamic features can be increased to 40%-60%; meta-features continue to play an auxiliary filtering role in this phase.
[0210] Once a task enters a steady-state execution phase, dynamic features become dominant, with their weight increasing to 80%; static features, on the other hand, can have their weight reduced to around 20%, primarily used to maintain consistency in task identity; while meta-features can serve as hard constraints, limiting the retrieval scope of historical tasks.
[0211] According to the embodiments of this disclosure, meta-features mainly serve as auxiliary filters and classification functions throughout the entire task lifecycle. When retrieving historical similar tasks, coarse-grained filtering is first performed based on meta-features, such as searching only among tasks of the same type and priority, thereby narrowing the search scope, improving search efficiency, and enhancing the relevance of search results.
[0212] Step 506: Determine the second comprehensive similarity between the target task and each candidate historical task based on the second similarity and the second semantic matching score.
[0213] The obtained second similarity and second semantic matching scores are used as the scores of the basic similarity measurement layer and the semantic enhancement matching layer, respectively, to determine the second comprehensive similarity between the target task and the candidate historical tasks in the semantic matching candidate set.
[0214] The specific processing of step 506 can be referred to the relevant explanation of determining the first comprehensive similarity in step 404 above. For example, the second comprehensive similarity can be determined by an algorithm that is the same as or similar to the first comprehensive similarity. The main difference is that the matching score as the semantic enhancement layer is the second semantic matching score, while in step 404 it is the first semantic matching score. For the sake of brevity, it will not be elaborated here.
[0215] Step 507: Based on the second comprehensive similarity, redetermine the historical similar tasks corresponding to the target task from the second candidate task set.
[0216] In some implementations, the determined second comprehensive similarity can be used as a basis. S′_final The score is used to redetermine one or more historically similar tasks from the semantic matching candidate set.
[0217] For example, the second highest comprehensive similarity can be determined based on the highest value of the second comprehensive similarity between the target task and the candidate historical tasks. S′ ,if S′ If the score is greater than 0.85, then the second highest comprehensive similarity score will be... S′ The corresponding candidate historical task is determined to be a historically similar task. If 0.7 ≤ S′ If the similarity is ≤0.85, then according to the second comprehensive similarity... S′_final The candidate historical tasks in the semantic matching candidate set are sorted in descending order, and one or more candidate historical tasks with the highest similarity are selected as historical similar tasks. For example, the top-5 tasks with the highest similarity scores can be selected as historical similar tasks to form the basis for subsequent scheduling strategy decisions.
[0218] For details on the specific processing of identifying one or more historically similar tasks in step 507, please refer to the relevant explanation in step 405 above. For the sake of brevity, it will not be repeated here.
[0219] Step 508: Determine the target scheduling strategy based on the scheduling strategies corresponding to the redefined historical similar tasks.
[0220] In some implementations, when only one historically similar task is identified, the scheduling policy corresponding to that task can be directly determined as the target scheduling policy for the current task. When multiple historically similar tasks are identified, the scheduling configuration parameters from the scheduling policies corresponding to these tasks can be weighted and fused to obtain the target scheduling policy for the current task. Furthermore, if the second highest comprehensive similarity is less than 0.7, a scheduling configuration policy is generated using a policy configuration model based on at least one of the target task's static features, dynamic features, and meta-features. This policy is then used to update the initial scheduling policy, resulting in the target scheduling policy. Thus, during task execution, by updating the task feature vector and triggering a re-retrieval of historically similar tasks, the scheduling policy for the target task is optimized, ensuring that the resource allocation for the target task remains consistent with its behavior pattern and improving the rationality and balance of cluster resource scheduling.
[0221] Furthermore, according to some embodiments of this disclosure, during task execution, early detection and graded response to abnormal behavior can be achieved by monitoring the dynamic evolution trajectory of the task embedding vector and the degree of deviation of key performance indicators.
[0222] As an exemplary implementation, anomaly detection can be performed based on the following three dimensions: Dimension 1: Task Embedding Vector Offset Detection To ensure fairness in comparison, a dynamic alignment mechanism based on the relative execution progress of tasks can be used for vector offset detection. For example, the behavioral characteristics of a task that requires 10,000 steps and a task that requires 50,000 steps are comparable at 30% progress, but the absolute number of steps is not comparable.
[0223] First, calculate the current task's execution progress percentage; second, extract snapshots of the task embedding vectors of historical similar tasks with the same progress node from the historical similar task set; finally, calculate the cosine distance between the current task's task embedding vector and the mean of the task embedding vectors of historical similar tasks.
[0224] The anomaly detection criteria are as follows: if the cosine distance exceeds the set offset threshold, such as 0.15, it is determined that the task embedding vector has a significant offset; and if three consecutive checkpoints are detected to exceed the offset threshold, it is determined to be a persistent anomaly.
[0225] Dimension Two: Deviation Detection of Key Performance Indicators
[0226] The monitoring metrics mainly include GPU utilization, single iteration time, communication time percentage, GPU memory usage, and gradient statistics and loss convergence curves for the training task. Each metric uses historical statistics from similar tasks as a benchmark; for example, a normal range can be defined by adding or subtracting a certain number of standard deviations from the mean. For instance, the normal range for GPU utilization is the mean of historical similar tasks ± 3 standard deviations. If the current value is below the lower bound of this range, for example, dropping from 90% of the historical mean to below 70%, it is considered abnormal.
[0227] The selection of monitoring indicators is based on the following three considerations: first, comprehensiveness, which needs to cover multiple key dimensions such as calculation, communication and convergence; second, collectability, which requires that all indicators can be obtained in real time through standard monitoring tools; and third, early warning capability, which requires that the relevant indicators have been verified to have early warning value in historical anomaly analysis.
[0228] The two dimensions of anomaly detection mentioned above combine the task embedding vector and the fluctuation comparison of key performance indicators. The former reflects the overall behavior pattern of the task, while the latter provides interpretable specific anomaly clues. The combination of the two can improve the accuracy and reliability of detection. Furthermore, by combining the statistical measures of short time windows with the long-term trends reflected by long time windows, it is possible to capture both sudden anomalies and slow degradation problems.
[0229] Dimension 3: Semantic Anomaly Scoring in Large Language Models
[0230] In some optional implementations, the recent behavior sequence of the task, such as the update evolution trajectory of the task embedding vector, performance index curves, and anomaly event logs, can be converted into a natural language description, input into a trained large language model, evaluated from an expert perspective, and output, for example, an anomaly score of 0 to 1 and a brief analysis. This dimension is mainly used to assist in the diagnosis of complex anomalies, such as scenarios where multiple indicators deviate slightly at the same time but do not individually reach the alarm threshold.
[0231] In some implementations, the anomaly level can be determined based on the abnormal information during task execution, and corresponding processing can be carried out according to the anomaly level.
[0232] As an exemplary implementation, anomalies can be classified according to their severity, and corresponding response measures can be taken based on the anomaly level: Level 1 anomaly Level 1 anomalies indicate minor anomalies. Criteria for this include: a slight deviation in a single metric, such as a deviation of 1.5 to 2 standard deviations; or, the offset distance of the task embedding vector being at the threshold edge, such as between 0.10 and 0.15, etc. Response measures primarily involve logging the anomaly and increasing the monitoring granularity, such as increasing the sampling frequency from 5 seconds to 2 seconds or 1 second, and continuously observing whether the anomaly escalates.
[0233] Level 2 anomaly
[0234] Level 2 anomalies indicate moderate anomalies. Criteria for this include: moderate deviations from multiple metrics, such as a deviation of 2 to 3 standard deviations; significant exceedances of the task embedding vector threshold, such as between 0.15 and 0.25; or an anomaly score for the large language model between 0.5 and 0.7. Response measures include automatically triggering dynamic resource adjustments, such as expanding GPU capacity, optimizing communication configurations, initiating automated diagnostic processes, and sending notifications to users.
[0235] Level 3 abnormality
[0236] Level 3 anomalies indicate severe anomalies. Criteria for judgment may include: significant deviations from key metrics (e.g., GPU utilization below 50%, gradient norm explosion exceeding 100 times); extremely large offset distances in the task embedding vectors (e.g., exceeding 0.25); or an anomaly score for large language models exceeding 0.7. Response measures include immediately pausing the task, sending high-priority alerts, saving a complete task state snapshot, and optionally automatically rolling back to the most recent normal checkpoint.
[0237] In some implementations, anomaly detection can be flexibly enabled or disabled via a configuration switch. When disabled, the three types of anomaly detection mentioned above will not be performed, but the short-time window strategy for dynamic features will still be effective to support fine-grained updates of task embedding vectors, while resource configuration can still be adjusted based on the identification results of historically similar tasks.
[0238] To facilitate understanding, the task scheduling method provided in this disclosure will be illustrated below with a specific application scenario. Taking a typical AI training platform as an example, the execution entity of the task scheduling method can be a scheduling system, and the processing flow of this task scheduling method can be divided into the following stages: Phase 1: Task Submission and Initial Task Profile Generation Users submit large language model training tasks, and the scheduling system collects their static features, including model structure features, training paradigm features, distributed strategy features, hyperparameter configuration, dataset characteristics, and framework features. Specifically, the model structure is Transformer with 7 bytes of parameters, the training paradigm feature is full parameter fine-tuning, the distributed strategy feature is data parallelism, and the framework type is PyTorch. Subsequently, the static features are input into the large language model encoder to generate an initial embedding vector of dimension 1024. This process takes approximately 80 milliseconds.
[0239] Phase 2: Historical Similar Task Retrieval and Scheduling Template Reuse
[0240] The task profile is retrieved based on the initial embedding vector in the task profile database, which can be, for example, a set of task feature vectors in a historical task database, and may include vector indices. First, it is filtered by task type, then the cosine similarity is calculated with historical tasks, and candidate tasks with a similarity greater than 0.60 are selected. Finally, the historical similar task with the highest fusion similarity is obtained, S=0.88.
[0241] Since the similarity exceeds 0.85, the optimal scheduling template that has been verified for this historically similar task is directly reused, including 8 S5000 configuration, 512GB host memory, 8-way data parallelism and communication settings, etc.
[0242] Phase 3: Task Execution and Dynamic Update of Task Embedding Vectors
[0243] After the task starts, dynamic features are collected every 5 seconds during the process, such as GPU utilization of about 92%, iteration time of 2.1 seconds, and communication ratio of 18%.
[0244] After approximately 8 minutes of operation, the optimization trigger conditions were met: the warm-up phase was completed and performance fluctuations were less than 5%. At this point, static and dynamic features were fused to generate a complete task embedding vector, with the dynamic feature weight at approximately 0.5. The similarity between the updated task embedding vector and historically similar tasks increased to 0.91, validating the scheduling accuracy.
[0245] Phase 4: Fine-tuning and optimization of scheduling strategy
[0246] The scheduling strategy was fine-tuned based on the updated task embedding vector and dynamic feature summary. It was detected that the current task's communication time percentage was slightly higher than the historical best task, at 18% and 15% respectively. The MCCL concurrency parameter in the current scheduling strategy was automatically adjusted, and gradient communication grouping was optimized. After fine-tuning, the current task's communication percentage decreased to 16%, and the iteration time was shortened to 2.0 seconds.
[0247] Phase 5: Anomaly Detection and Automated Intervention
[0248] At the 30-minute mark, a sudden drop in GPU utilization to 65% and an increase in iteration time to 3.2 seconds were detected. Anomaly detection analysis was then performed across the following dimensions: The offset distance after the task embedding vector update is 0.18, exceeding the preset threshold of 0.15; the GPU utilization deviates by more than 3 standard deviations, and the iteration time deviates by more than 2.5 standard deviations; the large language model anomaly score is 0.65, and the analysis suggests "suspected data loading bottleneck or network congestion".
[0249] Based on the above analysis, the system determined it to be a level 2 anomaly and automatically triggered a response: increasing the number of data preloading threads, switching communication routes, and notifying the user.
[0250] After intervention, GPU utilization recovered to 90%, and iteration time was reduced to 2.1 seconds.
[0251] Phase 6: Continuous Monitoring and Long-Term Optimization
[0252] During the steady-state operation of the task, the system updates the task embedding vector every 10 minutes and triggers a re-retrieval of historical similar tasks when the offset exceeds a preset threshold, ensuring that the scheduling strategy is consistent with the current behavior pattern.
[0253] During and after a task is completed, its task embedding vector is stored in the task profile library, and its scheduling configuration parameters, task execution data, and performance index data are also stored in the historical task library in real time for subsequent retrieval and reuse of scheduling experience.
[0254] Next reference Figure 6 As an implementation of the methods in the above embodiments, this disclosure provides an embodiment of a task scheduling device, which corresponds to the aforementioned method embodiments, and the device can be specifically applied to various electronic devices.
[0255] like Figure 6 As shown, the task scheduling device 600 of this embodiment includes: a task feature embedding module 610, a similar task identification module 620, and a scheduling decision module 630.
[0256] In this embodiment, the task feature embedding module 610 is configured to generate an initial feature vector based on the static features of the target task, and to generate a fused feature vector based on the static features and the dynamic features during the operation of the target task. The similar task identification module 620 is configured to determine historical similar tasks corresponding to the target task from historical task data based on the initial feature vector, and to determine an initial scheduling strategy based on the scheduling strategy corresponding to the historical similar tasks; and, if the deviation between the fused feature vector and the initial feature vector exceeds a preset first threshold, to re-determine historical similar tasks corresponding to the target task from historical task data based on the fused feature vector. The scheduling decision module 630 is configured to allocate resources to the target task according to the initial scheduling strategy to enable the target task to run; and to determine a target scheduling strategy based on the re-determined scheduling strategy corresponding to the historical similar tasks, and to adjust the resource allocation of the target task based on the target scheduling strategy.
[0257] In some embodiments, the task feature embedding module 610 is further configured to acquire dynamic features during the execution of the target task, and generate a dynamic feature vector of the target task based on the dynamic features; according to the determined weight factors of the initial feature vector and the dynamic feature vector, the initial feature vector and the dynamic feature vector are weighted and fused to generate a fused feature vector of the target task. Specifically, the weight factor of the dynamic feature vector gradually increases from a first initial value to a first maximum value as the target task continues to run, while the weight factor of the initial feature vector gradually decreases from a second initial value to a second minimum value as the target task continues to run.
[0258] In some embodiments, the similar task identification module 620 is further configured to: determine a first similarity between the target task and each historical task in the historical task data based on an initial feature vector and a historical feature vector of each historical task in the historical task data; determine a first candidate task set from the historical task data based on the first similarity; generate a first semantic vector based on the static feature description of the target task; determine a first semantic matching score between the target task and each candidate historical task based on the first semantic vector and the historical semantic vector of each candidate historical task in the first candidate task set; determine a first comprehensive similarity between the target task and each candidate historical task based on the first similarity and the first semantic matching score; and determine historical similar tasks from the first candidate task set based on the first comprehensive similarity. The historical feature vector of each historical task can be the initial feature vector or a fused feature vector of each historical task; the static feature description can be determined based on the static features of the target task.
[0259] In some embodiments, the scheduling decision module 630 is further configured to determine a first maximum comprehensive similarity based on the highest value of the first comprehensive similarity between the target task and each candidate historical task in the first candidate task set; if the first maximum comprehensive similarity is greater than a first similarity threshold, the candidate historical task corresponding to the first maximum comprehensive similarity is determined as a historical similar task, and the scheduling strategy of the historical similar task is determined as the initial scheduling strategy of the target task; if the first maximum comprehensive similarity is greater than or equal to a second similarity threshold and less than or equal to a first similarity threshold, at least one historical similar task is determined from the candidate historical tasks whose first comprehensive similarity is greater than or equal to the second similarity threshold and less than or equal to the first similarity threshold, and the scheduling configuration parameters in the scheduling strategies of at least one historical similar task are weighted and fused to obtain the initial scheduling strategy of the target task.
[0260] In some embodiments, the similar task identification module 620 is further configured to determine a second similarity between the target task and each historical task based on the fused feature vector and the fused feature vector of each historical task in the historical task data, and to determine a second candidate task set from the historical task data based on the second similarity; generate semantic prompt words based on the complete feature description of the target task, and determine a second semantic matching score between the target task and each candidate historical task in the second candidate task set based on the semantic prompt words; determine a second comprehensive similarity between the target task and each candidate historical task in the second candidate task set based on the second similarity and the second semantic matching score, and re-determine historical similar tasks from the second candidate task set based on the second comprehensive similarity. The complete feature description can be determined based on the static and dynamic features of the target task.
[0261] In some embodiments, the similar task identification module 620 is further configured to generate semantic prompts based on the complete feature description of the target task, and determine a second semantic matching score between the target task and each candidate historical task in the second candidate task set based on the semantic prompts, including: generating a first semantic vector based on the static feature description of the target task, and determining a first semantic matching score between the target task and each candidate historical task in the second candidate task set based on the first semantic vector and the historical semantic vector of each candidate historical task in the second candidate task set; determining a semantic matching candidate set from the second candidate task set based on the first semantic matching score; generating semantic prompts based on the complete feature description of the target task, and determining a second semantic matching score between the target task and each candidate historical task in the semantic matching candidate set using a semantic matching model.
[0262] In some embodiments, the scheduling decision module 630 is further configured to determine a second highest comprehensive similarity based on the highest value of the second comprehensive similarity between the target task and each candidate historical task in the second candidate task set; if the second highest comprehensive similarity is greater than a first similarity threshold, the candidate historical task corresponding to the second highest comprehensive similarity is determined as a historically similar task, and the scheduling strategy of the historically similar task is determined as the target scheduling strategy; if the second highest comprehensive similarity is greater than or equal to the second similarity threshold and less than or equal to the first similarity threshold, at least one historically similar task is determined from the candidate historical tasks whose second comprehensive similarity is greater than or equal to the second similarity threshold and less than or equal to the first similarity threshold, and the scheduling configuration parameters in the scheduling strategies of the at least one historically similar task are weighted and fused to obtain the target scheduling strategy. Wherein, the second similarity threshold is less than the first similarity threshold.
[0263] In some embodiments, the scheduling decision module 630 is further configured to, when the second highest comprehensive similarity is less than the second similarity threshold, generate a scheduling configuration strategy using a strategy configuration model based on at least one of the static features, dynamic features and meta-features of the target task; and update the initial scheduling strategy according to the scheduling configuration strategy to obtain the target scheduling strategy.
[0264] In some optional implementations of this embodiment, the task scheduling device 600 may further include a feature acquisition module (not shown), which is configured to acquire dynamic features during the execution of the target task.
[0265] In some optional implementations of this embodiment, the task scheduling device 600 may further include an anomaly detection module (not shown), which is configured to determine the anomaly level based on the anomaly information in the operation of the determined target task, and to perform corresponding processing according to the anomaly level.
[0266] In some embodiments, the feature acquisition module is further configured to acquire dynamic features of the target task during its execution within a preset time window, wherein the dynamic features include at least one of the following associated with the execution of the target task: resource usage time-series data, performance indicator time-series data, and communication indicator time-series data. The task feature embedding module 610 is further configured to update the fused feature vector based on the acquired dynamic features of the target task during its execution within the preset time window, in response to the target task reaching a preset stage. The similar task identification module 620 is further configured to, if the offset of the updated fused feature vector exceeds a preset second threshold, re-determine historical similar tasks corresponding to the target task from historical task data based on the updated fused feature vector. The scheduling decision module 630 is configured to update the target scheduling strategy according to the scheduling strategy corresponding to the re-determined historical similar tasks, and adjust the resource allocation of the target task based on the updated target scheduling strategy.
[0267] In some embodiments, dynamic features are divided into instantaneous behavior features and steady-state behavior features; the dynamic features of the target task during operation within a preset time window acquired by the feature acquisition module include: instantaneous behavior features of the target task captured within a first preset time window, and steady-state behavior features of the target task captured within a second preset time window.
[0268] In some embodiments, the task feature embedding module 610 is further configured to generate a current dynamic feature summary based on the currently acquired dynamic features; update the fused feature vector if the difference between the current dynamic feature summary and the dynamic feature summary at the last update is greater than a preset difference; and skip the update of the fused feature vector if the difference is less than the preset difference. The fused feature vector is also updated if the time elapsed since the last update of the fused feature vector meets a preset minimum time interval; and skip the update of the fused feature vector if the minimum time interval has not been exceeded.
[0269] In some embodiments, the anomaly detection module is further configured to detect anomaly information during the execution of the target task. The anomaly information includes at least one of the following: the offset after the fused feature vector is updated; the fluctuation range of key performance indicators associated with the execution of the target task; and the anomaly score of the behavioral sequence of the target task. Further, the corresponding processing performed by the anomaly detection module includes at least one of the following: improving the monitoring granularity of the target task's execution process; allocating resources or migrating the target task; pausing the execution of the target task and reporting the anomaly information.
[0270] In this embodiment, further details regarding the task feature embedding module 610, similar task identification module 620, and scheduling decision module 630 of the task scheduling device 600, as well as the feature acquisition module and anomaly detection module, can be found in the following references. Figures 2 to 5 The relevant descriptions of the processing flow or steps in the aforementioned method embodiments will not be repeated here.
[0271] It should be noted that the collection, gathering, updating, analysis, processing, use, transmission, and storage of user personal information involved in this disclosed technical solution all comply with relevant laws and regulations, are used for legitimate purposes, and do not violate public order and good morals. Necessary measures are taken to prevent unauthorized access to user personal information data and to safeguard user personal information security and network security.
[0272] According to embodiments of this disclosure, this disclosure also provides an electronic device and a readable storage medium.
[0273] An electronic device includes: one or more processors; and a storage device having one or more computer programs stored thereon, wherein when the one or more computer programs are executed by the one or more processors, the one or more processors implement the method described in process 200 or 300.
[0274] A computer-readable medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the method described in process 200 or 300.
[0275] Figure 7 A schematic block diagram of an example electronic device 700 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0276] like Figure 7 As shown, the electronic device 700 includes a computing unit 701, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 702 or a computer program loaded from a storage unit 708 into a random access memory (RAM) 703. The RAM 703 may also store various programs and data required for the operation of the electronic device 700. The computing unit 701, ROM 702, and RAM 703 are interconnected via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.
[0277] Multiple components in electronic device 700 are connected to I / O interface 705, including: input unit 706, such as keyboard, mouse, etc.; output unit 707, such as various types of displays, speakers, etc.; storage unit 708, such as disk, optical disk, etc.; and communication unit 709, such as network card, modem, wireless transceiver, etc. Communication unit 709 allows electronic device 700 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0278] The computing unit 701 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 701 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 701 performs the various methods and processes described above, such as task scheduling methods. For example, in some embodiments, the task scheduling method may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 708. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 700 via ROM 702 and / or communication unit 709. When the computer program is loaded into RAM 703 and executed by the computing unit 701, one or more steps of the task scheduling method described above may be performed. Alternatively, in other embodiments, the computing unit 701 may be configured to perform the task scheduling method by any other suitable means (e.g., by means of firmware).
[0279] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0280] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0281] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0282] Those skilled in the art will understand that embodiments of this disclosure can be provided as methods, systems, or computer program products. This disclosure can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Embodiments of this disclosure can be implemented, in whole or in part, by software, hardware, firmware, or any other combination. When implemented in software, the above embodiments can be implemented, in whole or in part, as a computer program product. This application can take the form of a computer program product embodied on one or more computer-usable storage media containing computer-usable program code. A computer program product includes one or more computer instructions. When the computer program instructions are loaded or executed on a computer, all or part of the flow or function according to embodiments of this disclosure is generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device.
[0283] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.
Claims
1. A task scheduling method, characterized in that, Applied to distributed computing resource clusters, the method includes: An initial feature vector is generated based on the static features of the target task. Based on the initial feature vector, historical similar tasks corresponding to the target task are determined from historical task data. An initial scheduling strategy is determined based on the scheduling strategy corresponding to the historical similar tasks. The static features include at least one of model structure, hyperparameters, dataset features, and code information. Based on the initial scheduling policy, resources are configured for the target task to enable the target task to run; A fused feature vector is generated based on the static features and the dynamic features during the operation of the target task. If the deviation between the fused feature vector and the initial feature vector exceeds a preset first threshold, a historical similar task corresponding to the target task is re-determined from the historical task data based on the fused feature vector. The dynamic features include at least one of the following associated with the operation of the target task: resource usage time-series data, performance index time-series data, and communication index time-series data. A target scheduling strategy is determined based on the redefined scheduling strategy corresponding to the historically similar tasks, and resource allocation for the target tasks is adjusted based on the target scheduling strategy.
2. The method according to claim 1, characterized in that, The target task includes training or inference tasks for artificial intelligence models; When the target task is a training task, the static features also include at least one of the following: training paradigm features, distributed strategy features, training script structure features, framework and environment features, and task scale level; The initial scheduling strategy includes at least one of the following: resource nodes, resource types, and resource configuration parameters allocated to the target task.
3. The method according to claim 1, characterized in that, The step of determining historical similar tasks corresponding to the target task from historical task data based on the initial feature vector includes: Based on the initial feature vector and the historical feature vector of each historical task in the historical task data, a first similarity between the target task and each historical task is determined, and a first candidate task set is determined from the historical task data according to the first similarity; wherein, the historical feature vector of each historical task includes the initial feature vector or the fused feature vector of each historical task. A first semantic vector is generated based on the static feature description of the target task, and a first semantic matching score is determined between the target task and each candidate historical task in the first candidate task set based on the first semantic vector and the historical semantic vector of each candidate historical task in the first candidate task set; wherein, the static feature description is determined based on the static features of the target task. The first comprehensive similarity between the target task and each candidate historical task in the first candidate task set is determined based on the first similarity and the first semantic matching score, and the historical similar task is determined from the first candidate task set based on the first comprehensive similarity.
4. The method according to claim 3, characterized in that, The step of determining the initial scheduling strategy based on the scheduling strategies corresponding to the historical similar tasks includes: The first highest comprehensive similarity is determined based on the highest value of the first comprehensive similarity between the target task and each candidate historical task in the first candidate task set. If the first highest comprehensive similarity is greater than the first similarity threshold, the candidate historical task corresponding to the first highest comprehensive similarity is determined as the historical similar task, and the scheduling strategy of the historical similar task is determined as the initial scheduling strategy of the target task. If the first highest comprehensive similarity is greater than or equal to the second similarity threshold and less than or equal to the first similarity threshold, at least one historical similar task is determined from the candidate historical tasks whose first comprehensive similarity is greater than or equal to the second similarity threshold and less than or equal to the first similarity threshold, and the scheduling configuration parameters in the scheduling strategies of the at least one historical similar task are weighted and fused to obtain the initial scheduling strategy of the target task; wherein, the second similarity threshold is less than the first similarity threshold.
5. The method according to claim 1, characterized in that, The step of generating a fused feature vector based on the static features and the dynamic features during the execution of the target task includes: The dynamic features of the target task during its execution are obtained, and a dynamic feature vector of the target task is generated based on the dynamic features. Based on the determined weight factors of the initial feature vector and the dynamic feature vector, the initial feature vector and the dynamic feature vector are weighted and fused to generate the fused feature vector of the target task. The weight factor of the dynamic feature vector gradually increases from a first initial value to a first maximum value as the target task continues to run, while the weight factor of the initial feature vector gradually decreases from a second initial value to a second minimum value as the target task continues to run.
6. The method according to claim 5, characterized in that, The step of re-determining historically similar tasks corresponding to the target task from the historical task data based on the fused feature vector includes: Based on the fused feature vector and the fused feature vector of each historical task in the historical task data, a second similarity between the target task and each historical task is determined, and a second candidate task set is determined from the historical task data according to the second similarity. Semantic prompts are generated based on the complete feature description of the target task, and a second semantic matching score is determined between the target task and each candidate historical task in the second candidate task set based on the semantic prompts; wherein the complete feature description is determined based on the static and dynamic features of the target task; The second comprehensive similarity between the target task and each candidate historical task in the second candidate task set is determined based on the second similarity and the second semantic matching score, and the historical similar task is re-determined from the second candidate task set based on the second comprehensive similarity.
7. The method according to claim 6, characterized in that, The step of generating semantic prompt words based on the complete feature description of the target task, and determining a second semantic matching score between the target task and each candidate historical task in the second candidate task set based on the semantic prompt words, includes: A first semantic vector is generated based on the static feature description of the target task, and a first semantic matching score between the target task and each candidate historical task in the second candidate task set is determined based on the first semantic vector and the historical semantic vector of each candidate historical task in the second candidate task set. A semantic matching candidate set is determined from the second candidate task set based on the first semantic matching score; Semantic prompts are generated based on the complete feature description of the target task, and a semantic matching model is used to determine the second semantic matching score between the target task and each candidate historical task in the semantic matching candidate set.
8. The method according to claim 6, characterized in that, Before determining the second similarity, the process also includes: Based on the meta-features of the target task, filter out historical task data that does not match the meta-features of the target task from the historical task data; The meta-features include at least one of the following: task type, service level agreement requirements, and task priority.
9. The method according to claim 5, characterized in that, Also includes: In response to the target task reaching a preset stage, the fused feature vector is updated based on the dynamic features of the target task during its operation within the preset time window. If the offset of the updated fused feature vector exceeds a preset second threshold, the historical similar task corresponding to the target task is determined again from the historical task data based on the updated fused feature vector. as well as The target scheduling strategy is updated based on the scheduling strategy corresponding to the re-determined historical similar tasks, and the resource configuration of the target task is adjusted based on the updated target scheduling strategy.
10. The method according to claim 9, characterized in that, The dynamic characteristics are divided into instantaneous behavior characteristics and steady-state behavior characteristics; The preset time window includes a first preset time window and a second preset time window; The first preset time window is used to capture the instantaneous behavioral characteristics of the target task, and the second preset time window is used to capture the steady-state behavioral characteristics of the target task.
11. The method according to claim 9, characterized in that, The target task has reached a preset stage, including at least one of the following: The target task has completed the preheating phase; The preset resource and performance indicators of the resource node where the target task is running have entered a stable state. The target task runs for a duration that reaches the preset periodic inspection cycle.
12. The method according to claim 9, characterized in that, The step of updating the fused feature vector based on the dynamic features of the target task during its operation within a preset time window includes at least one of the following: A current dynamic feature summary is generated based on the currently acquired dynamic features. If the difference between the current dynamic feature summary and the dynamic feature summary at the last update is greater than a preset difference, the fused feature vector is updated. The fused feature vector is updated when the time interval between the last update of the fused feature vector and the last update time meets a preset minimum time interval.
13. The method according to claim 11, characterized in that, The preset periodic inspection cycle is determined based on at least one of the target task's task type and task operation phase, and the method further includes: If the offset of the updated fused feature vector exceeds a preset third threshold, the periodic inspection cycle is adjusted.
14. The method according to claim 6, characterized in that, The step of determining the target scheduling strategy based on the redefined scheduling strategy corresponding to the historically similar tasks includes: The second highest comprehensive similarity is determined based on the highest value of the second comprehensive similarity between the target task and each candidate historical task in the second candidate task set. If the second highest comprehensive similarity is greater than the first similarity threshold, the candidate historical task corresponding to the second highest comprehensive similarity is determined as the historical similar task, and the scheduling strategy of the historical similar task is determined as the target scheduling strategy. If the second highest comprehensive similarity is greater than or equal to the second similarity threshold and less than or equal to the first similarity threshold, at least one historical similar task is determined from the candidate historical tasks whose second comprehensive similarity is greater than or equal to the second similarity threshold and less than or equal to the first similarity threshold, and the scheduling configuration parameters in the scheduling strategy of the at least one historical similar task are weighted and fused to obtain the target scheduling strategy; wherein, the second similarity threshold is less than the first similarity threshold.
15. The method according to claim 14, characterized in that, The method further includes: If the second highest comprehensive similarity is less than the second similarity threshold, a scheduling configuration strategy is generated using a strategy configuration model based on at least one of the static features, dynamic features, and meta-features of the target task. The initial scheduling policy is updated according to the scheduling configuration policy to obtain the target scheduling policy.
16. The method according to any one of claims 1-15, characterized in that, The method further includes: The anomaly level is determined based on the abnormal information during the operation of the target task, and corresponding processing is carried out according to the anomaly level. The abnormal information during the execution of the target task includes at least one of the following: The offset after the fused feature vector is updated; The fluctuation range of key performance indicators associated with the operation of the target task; Anomaly scoring of the behavioral sequence of the target task; The corresponding processing includes at least one of the following: increasing the granularity of monitoring the operation of the target task; allocating resources or migrating the target task; pausing the operation of the target task and reporting abnormal information.
17. A task scheduling device, characterized in that, The device is applied to a distributed computing resource cluster and includes: The task feature embedding module is configured to generate an initial feature vector based on the static features of the target task, and to generate a fused feature vector based on the static features and the dynamic features during the operation of the target task; the static features include at least one of model structure, hyperparameters, dataset features and code information; the dynamic features include at least one of the following associated with the operation of the target task: resource usage time-series data, performance index time-series data, and communication index time-series data. The similar task identification module is configured to determine historical similar tasks corresponding to the target task from historical task data based on the initial feature vector, and to determine an initial scheduling strategy according to the scheduling strategy corresponding to the historical similar tasks; and, if the deviation between the fused feature vector and the initial feature vector exceeds a preset first threshold, to re-determine historical similar tasks corresponding to the target task from the historical task data based on the fused feature vector. The scheduling decision module is configured to configure resources for the target task according to the initial scheduling policy so that the target task can run; and to determine a target scheduling policy according to the re-determined scheduling policy corresponding to the historical similar task, and to adjust the resource configuration of the target task based on the target scheduling policy.
18. The apparatus according to claim 17, characterized in that, The device further includes: The feature acquisition module is configured to acquire dynamic features during the execution of the target task; The anomaly detection module is configured to determine the anomaly level based on the anomaly information during the operation of the target task, and to perform corresponding processing according to the anomaly level.
19. An electronic device, characterized in that, include: One or more processors; Storage device, on which one or more computer programs are stored, When the one or more computer programs are executed by the one or more processors, the one or more processors implement the task scheduling method as described in any one of claims 1-16.
20. A computer-readable storage medium, characterized in that, It stores a computer program, wherein the computer program, when executed by a processor, implements the task scheduling method as described in any one of claims 1-16.
21. A computer program product, characterized in that, It includes a computer program that, when executed by a processor, implements the task scheduling method as described in any one of claims 1-16.
Citation Information
Patent Citations
Intelligent decision model generalization method and device based on task similarity
CN117648585A
Method and device for determining resource allocation strategy and electronic equipment
CN121071507A