Distributed task scheduling method and system for heterogeneous tasks based on cloud native, and medium
By designing a cloud-native scheduling method for heterogeneous tasks in a distributed scheduling system, optimizing scheduling strategies and resource allocation, the problems of low resource utilization and insufficient task priority management in heterogeneous task processing are solved, and efficient management of heterogeneous computing resources and improving task execution efficiency are achieved.
Patent Information
- Application Number
- CN202510266405.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-07
- Publication Date
- 2025-04-04
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
When handling heterogeneous tasks, the existing distributed scheduling system fails to fully consider the task characteristics, resulting in low resource utilization; it is unable to perform optimal resource matching, and insufficient task priority management, resulting in delayed execution of critical tasks.
Design a cloud-native distributed task scheduling method for heterogeneous tasks, and realize efficient management and scheduling of heterogeneous computing resources by optimizing scheduling strategies and resource allocation mechanisms. The specific steps include real-time acquisition of the hardware status and task load information of the cluster node after the user submits the task, designing a variety of scheduling strategies, selecting the optimal strategy based on the task characteristics and resource status, assigning the task to the optimal computing node, and optimizing task execution through dynamic adjustment and preemptive scheduling mechanisms.
It realizes efficient utilization and optimized allocation of heterogeneous computing resources, improves the overall performance and resource utilization of the system, and ensures rapid response and efficient execution of critical tasks.
Smart Images

Figure CN119759594A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a cloud-native distributed task scheduling method, system, and medium for heterogeneous tasks. Background Art
[0002] With the development of cloud computing and artificial intelligence technologies, distributed computing systems are widely used to process large-scale data and complex computing tasks. However, existing distributed scheduling systems have the following problems when processing heterogeneous tasks (including computing-intensive tasks and data-intensive tasks): 1. Task characteristics are not fully considered: The scheduling system lacks differentiation in the way it handles different types of tasks, resulting in low resource utilization.
[0003] 2. Resource allocation is not efficient enough: It is impossible to perform optimal resource matching for heterogeneous hardware (such as CPUs and GPUs of different architectures).
[0004] 3. Lack of multi-task priority management: The priority relationship between tasks is not effectively reflected, resulting in the possible delay of key tasks.
[0005] For example, patent application CN116755851A discloses a task scheduling method and system based on heterogeneous priority and key task replication, including the steps: S1, input task information, determine the calculation cost matrix and task dependency matrix; S2: obtain the task scheduling order list according to the predetermined priority calculation method; S3: select the first task in the task scheduling order list, calculate the processor with the earliest completion time, and find its key parent task; S4: determine whether copying the key parent task to the processor can reduce the actual start time; S5: if the actual start time can be reduced, copy the key parent task to the processor; otherwise, schedule the current task to the processor; S6: determine whether the task scheduling list is empty, if not empty, return to step S3 for the next round of scheduling until all tasks are scheduled, the effect is: can better adapt to the heterogeneous multi-core scheduling environment, can effectively use the idle slots to reduce the overall scheduling length of the task. This method only considers the time when the processor executes the task, but does not consider the task type and the priority relationship between the tasks. The scheduling system lacks differentiation in the processing methods of different types of tasks, resulting in low resource utilization. The priority relationship between tasks is not effectively reflected, which may cause the delay of critical tasks.
[0006] Patent application CN117453370A discloses a real-time scheduling method for priority-constrained tasks on a heterogeneous information-physical computing platform, which belongs to the field of real-time scheduling technology. The present invention first proposes a task scheduling algorithm HOCT, which first uses the acceleration ratio to calculate the scheduling priority and uses the optimistic schedule as the basis for processor allocation. Then, the MCS algorithm uses the HOCT algorithm to generate candidate scheduling schemes, which use the acceleration ratio and the optimistic schedule. Finally, the execution of candidate schemes with different fuzzy execution times is considered in multiple Monte Carlo simulations, and the scheduling scheme that minimizes the overall execution time of the task set is selected as the optimal scheme by calculating the average value of all candidate scheduling schemes. The present invention effectively improves the stability of real-time scheduling and shortens the overall execution time of the task set. The present invention takes into account the task dependency and the uncertainty of the execution time, but does not consider the matching of task characteristics with heterogeneous hardware resources, and cannot perform optimal resource allocation.
[0007] Patent application CN103984595A discloses a static task scheduling method for heterogeneous CMP, including step 1: using a linear clustering method, merge all tasks in the DAG graph that meet the task merging conditions into their parent tasks; step 2: layering the DAG graph according to the top-down method, the smaller the layer value, the higher the task priority; for tasks in the same layer, critical tasks have high priority, and other non-critical tasks are added to the scheduling list in a non-increasing order of task priority weights; step 3: taking the first task from the scheduling list for allocation, performing redundancy detection on the copied tasks in the task mapping graph layer by layer, and deleting redundant tasks in the task mapping graph; adjusting the task mapping graph after deleting redundant tasks, and recalculating the earliest execution completion time of each subsequent task. This method is a static task scheduling method, and it is impossible to dynamically adjust the task priority and task execution status.
[0008] Therefore, designing a distributed task scheduling system that supports batch tasks and heterogeneous tasks is of great significance for improving resource utilization efficiency and task execution performance.
[0009] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of the present application, and therefore may include information that does not constitute the prior art known to ordinary technicians in the field. Summary of the invention
[0010] In order to provide a basic understanding of some aspects of the disclosed embodiments, a brief summary is given below. The summary is not an extensive review, nor is it intended to identify key / critical elements or delineate the scope of protection of these embodiments, but rather serves as a prelude to the detailed description that follows.
[0011] The embodiments of the present disclosure provide a cloud-native distributed task scheduling method, system, and medium for heterogeneous tasks, which achieve efficient management and scheduling of heterogeneous computing resources by optimizing scheduling strategies and resource allocation mechanisms, thereby improving the overall system performance and resource utilization.
[0012] In some embodiments, the method comprises: Step A: The user submits a task with description information, including the task type and resource requirements. Step B: Obtain the hardware status and task load information of all nodes in the cluster in real time. The hardware status includes CPU / GPU utilization, memory usage, and network bandwidth. The task load information includes task queue length, task running time, and task status. Step C: Design multiple scheduling strategies, analyze the task characteristics according to the task description information, and select the optimal scheduling strategy based on the hardware status of the node and the task load information; Step D: Allocate tasks to corresponding optimal computing nodes according to the optimal scheduling strategy, and start task execution; Step E: Continuously monitor the task status during task execution, and dynamically adjust resource allocation or perform preemptive scheduling based on the task status. As a further optimization, in step A, the tasks submitted by users include batch tasks and heterogeneous tasks. Tasks are prioritized according to their importance, submission time, and resource requirements. Tasks are divided into compute-intensive tasks and data-intensive tasks according to task description information. Tasks are queued using a dynamically adjusted multi-queue model, which includes data-intensive queues and compute-intensive queues. Computation-intensive tasks enter the compute-intensive queue for queueing, and data-intensive tasks enter the data-intensive queue for queueing.
[0013] As a further optimization, the dynamic adjustment of the multi-queue model is implemented by periodically obtaining current resource information and dynamically adjusting the priority of tasks based on the resource information and time urgency.
[0014] As a further optimization, in step C, the designed scheduling strategy includes scheduling computationally intensive tasks to GPU or high-performance CPU nodes, scheduling computationally intensive tasks to nodes close to data sources, and enabling a preemptive scheduling mechanism for high-priority tasks. The preemptive scheduling mechanism is to suspend low-priority tasks to free up resources.
[0015] As a further optimization, a performance prediction model based on historical operation data is set up. The performance prediction model predicts the task execution efficiency under different scheduling strategies, and adjusts the scheduling strategy according to the prediction results.
[0016] As a further optimization, step F hardware resource abstraction is also included. Kubernetes CRD is used to encapsulate different computing architectures and computing types into unified computing resources, providing a unified resource view for upper-level scheduling.
[0017] As a further optimization, in step E, CPU / GPU utilization, memory, and I / O requirements are monitored during task execution. When the requirements are met, Kubernetes HPA is used to automatically scale resources.
[0018] In some embodiments, the system includes a task management module configured to receive a task request submitted by a user, analyze task characteristics to determine the task type, assign priorities to the tasks, and queue the tasks based on a dynamically adjusted multi-queue model set up based on the task type; The resource monitoring module is configured to obtain the hardware status and task load information of all nodes in the cluster in real time. The hardware status includes CPU / GPU utilization, memory usage, and network bandwidth. The task load information includes task queue length, task runtime, and task status. The scheduling optimization module is configured to design multiple scheduling strategies, analyze the task characteristics according to the task description information, and select the optimal scheduling strategy in combination with the hardware status of the node and the task load information; The task distribution module is configured to distribute tasks to corresponding optimal computing nodes according to the optimal scheduling strategy and start task execution.
[0019] As a further optimization, it also includes a resource abstraction layer, which is configured to use Kubernetes CRD to encapsulate different computing architectures and computing types into unified computing resources, providing a unified resource view for upper-level scheduling.
[0020] In some embodiments, the storage medium stores program instructions, and when the program instructions are run, they execute the aforementioned cloud-native-based distributed task scheduling method for heterogeneous tasks.
[0021] The disclosed embodiments provide a cloud-native distributed task scheduling method, system and medium for heterogeneous tasks, which can achieve the following technical effects: A cloud-native distributed task scheduling method and system for heterogeneous tasks achieves efficient utilization and optimized allocation of heterogeneous computing resources by integrating advanced task management and resource scheduling technologies, and is particularly suitable for application scenarios that require processing multi-task concurrency, high-priority task preemption, and large-scale data processing. It not only improves the operating efficiency in fields such as artificial intelligence model training and scientific computing, but also ensures rapid response to critical tasks by introducing a dynamically adjusted multi-queue model and a preemptive scheduling mechanism. In addition, the system is widely compatible with hardware resources of different architectures, and supports performance prediction based on historical data to optimize scheduling strategies, thereby significantly improving the flexibility, scalability and resource utilization of the system, and bringing users more powerful computing power and lower operating costs. The above general description and the following description are exemplary and explanatory only and are not intended to limit the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] One or more embodiments are exemplarily described by corresponding drawings, which do not limit the embodiments. Elements with the same reference numerals in the drawings are shown as similar elements, and the drawings do not constitute a scale limitation, and wherein: Figure 1 is a flow chart of the method described in Example 1; Figure 2 It is a flowchart of priority management and queue optimization; Figure 3 is a schematic diagram of the system described in Example 2; Figure 4 Schematic diagram of the device described in Example 3. DETAILED DESCRIPTION
[0023] In order to be able to understand the features and technical contents of the embodiments of the present disclosure in more detail, the implementation of the embodiments of the present disclosure is described in detail below in conjunction with the accompanying drawings. The attached drawings are for reference only and are not used to limit the embodiments of the present disclosure. In the following technical description, for the convenience of explanation, a full understanding of the disclosed embodiments is provided through multiple details. However, one or more embodiments can still be implemented without these details. In other cases, to simplify the drawings, well-known structures and devices can be simplified for display.
[0024] The terms "first", "second", etc. in the embodiments of the present disclosure are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the terms used in this way can be interchanged where appropriate, so as to describe the embodiments of the present disclosure described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions.
[0025] Unless otherwise stated, the term "plurality" means two or more.
[0026] In the embodiment of the present disclosure, the character " / " indicates that the preceding and following objects are in an "or" relationship. For example, A / B indicates: A or B.
[0027] The term "and / or" is a description of the association relationship between objects, indicating that three relationships can exist. For example, A and / or B means: A or B, or, A and B.
[0028] The term "correspondence" may refer to an association relationship or a binding relationship. The correspondence between A and B means that there is an association relationship or a binding relationship between A and B.
[0029] Example 1 This embodiment discloses a cloud-native distributed task scheduling method for heterogeneous tasks. It is based on container orchestration technologies such as Kubernetes to solve the resource scheduling, task distribution and priority management problems in the environment of multiple types of computing tasks (such as computing-intensive tasks, data-intensive tasks) and heterogeneous computing resources (such as CPUs, GPUs and other hardware of different architectures). It aims to improve the utilization of computing resources and the efficiency of task scheduling. It is suitable for scenarios such as multi-task concurrency, high-priority task preemption, and heterogeneous hardware resource scheduling, and provides general and efficient infrastructure support for scenarios such as artificial intelligence, big data analysis, and high-performance computing.
[0030] like Figure 1 As shown, the present invention comprises the following steps: 1. Initialize and configure the Kubernetes cluster or other container orchestration environment. Install the system and configure the task management module, resource monitoring module, scheduling optimization module, and task distribution module. Set up a resource abstraction layer to ensure compatibility and unified management of heterogeneous hardware. The resource abstraction layer uses Kubernetes CRD, which can be used to extend the native API and support custom computing resource types (such as specific GPUs and NPUs). Define "unified computing resources" through Kubernetes CRD, abstract and encapsulate different computing architectures (x86, ARM64, MIPS64) and computing types (CPU, GPU, NPU), shield the physical differences of the underlying hardware, and achieve unified management through Kubernetes.
[0031] 2. Task submission and analysis. Users submit tasks to the task management module through the interface and provide necessary description information. The user description information includes task type, priority, and resource requirements. After receiving the task request, the task management module performs a preliminary analysis of the task. The tasks submitted by the user include batch tasks and heterogeneous tasks. Tasks are assigned priorities based on their importance, submission time, and resource requirements. Specifically, each task has a default deadline. The closer the task is to the deadline, the higher the priority, the fewer resources required, and the higher the priority. The higher the task importance, the higher the priority, and the simpler tasks are processed first.
[0032] The task management module divides tasks into computing-intensive tasks and data-intensive tasks according to the task description information. For example, when a user submits a task, if the task_type is specified as deep learning training, the system determines it as a computing-intensive task; if the data_size exceeds 40G (threshold setting), it is considered a data-intensive task. A dynamically adjusted multi-queue model is used to queue tasks. The multi-queue model includes data-intensive queues and computing-intensive queues. Computing-intensive tasks enter the computing-intensive queue for queuing, and data-intensive tasks enter the data-intensive queue for queuing.
[0033] In this embodiment, the dynamic adjustment of the multi-queue model is implemented by periodically obtaining current resource information and dynamically adjusting the priority of tasks according to the resource information and time urgency. For example, for computationally intensive tasks, if the current task GPU requirement is high, the current GPU resources are tight, and the current task urgency is normal, then the priority of the current task is lowered and scheduled later.
[0034] 3. Resource monitoring. The resource monitoring module continuously obtains real-time status information of all nodes in the cluster. The status information includes CPU / GPU utilization, memory usage, and network bandwidth. The monitoring module also tracks the task load information on each node. The task load information includes task queue length, task runtime, and task status.
[0035] 4. Scheduling decision, first design a variety of scheduling strategies, then analyze the task characteristics based on the task description information, and select the optimal scheduling strategy based on the hardware status of the node and the task load information.
[0036] In this embodiment, the designed scheduling strategy includes scheduling computationally intensive tasks to GPU or high-performance CPU nodes, scheduling computationally intensive tasks to nodes close to data sources, and enabling a preemptive scheduling mechanism for high-priority tasks. The preemptive scheduling mechanism is to suspend low-priority tasks to free up resources.
[0037] This step also sets a performance prediction model based on historical operation data. The performance prediction model predicts the task execution efficiency under different scheduling strategies, and adjusts the scheduling strategy according to the prediction results. In this embodiment, the performance prediction model is implemented based on the LSTM network, which can predict the task execution time. The LSTM network is a long short-term memory network, and the core is the cell state, which is similar to an information conveyor belt throughout the entire time series. The cell state can maintain relatively stable information transmission in each time step of the sequence, so that the network can remember long-distance information. At each time step, the cell state will update and transmit information according to the control of the input gate, the forget gate, and the output gate. The LSTM network has great advantages in time series parameter processing and prediction. First, the network and parameter optimization are trained using historical data, and then real-time data plus historical data are used for prediction. It is already a conventional technical means in this field to use LSTM networks for time series parameter prediction, and this embodiment will not be described in detail.
[0038] 5. Task distribution: assign tasks to the corresponding optimal computing nodes according to the optimal scheduling strategy, and start task execution. If the task is compute-intensive, try to schedule it on a node with a high-performance GPU or CPU; if it is a data-intensive task, deploy it as close to the data storage location as possible.
[0039] 6. Continuously monitor the progress of tasks and resource usage during task execution, and dynamically adjust resource allocation or perform preemptive scheduling based on task status. If necessary, dynamically adjust resource allocation, such as increasing or decreasing the number of CPU cores or memory size allocated to a task. When a higher priority task arrives, a preemptive operation can be performed to temporarily interrupt the running low priority task.
[0040] During task execution, if the CPU, GPU, memory, and I / O requirements exceed the estimate, resulting in slower execution or resource requirements being less than the allocated resources, resulting in resource waste, the number of CPU, GPU, and other resources will be increased or decreased. Kubernetes HPA is mainly used to automatically scale resources (set upper and lower thresholds for CPU and GPU usage, such as reducing the number if it is less than 30%, and increasing the number if it is more than 80%).
[0041] 7. Continuous improvement: constantly update and train performance prediction models based on historical operation data to make more accurate scheduling decisions. Regularly evaluate the overall performance and resource utilization of the system to find possible improvements, such as optimizing scheduling algorithms or enhancing resource monitoring accuracy.
[0042] like Figure 2As shown in the figure, the flowchart of the method for priority management and queue optimization is as follows: based on the priority, the task queue is divided into a high priority task queue, a medium priority task queue and a low priority task queue. The high priority task queue, the medium priority task queue and the low priority task queue are all connected to the queue management module and are managed by the queue management module, such as dynamically adjusting the priority of the task according to resource information and time urgency. The scheduler is connected to the queue management module to select the most suitable scheduling strategy based on the characteristics of the task and the status of the currently available resources, and feed the status back to the queue.
[0043] The method of the present invention has the following key technical innovations: 1. Multi-task priority management and queue optimization: Assign priorities to tasks based on their importance, submission time, and resource requirements, and use a dynamically adjusted multi-queue model to queue tasks. Introduce a preemptive scheduling mechanism to ensure that high-priority tasks can be executed quickly.
[0044] 2. Scheduling strategies based on task characteristics: Computation-intensive tasks are scheduled to GPU or high-performance CPU nodes first, and task slicing technology is used to support large-scale parallel computing. Data-intensive tasks are scheduled to nodes close to the data source first to reduce data transmission delays. A performance prediction model based on historical operation data is proposed, and the scheduling strategy is adjusted according to the prediction results. 3. Heterogeneous resource compatibility and unified management: Through the resource abstraction layer, the underlying hardware differences are shielded, providing a unified resource view for upper-level scheduling. It supports unified scheduling of multi-architecture hardware and dynamically adapts to newly added hardware types.
[0045] Example 2 This embodiment discloses a distributed task scheduling system for heterogeneous tasks based on cloud native. Figure 3 As shown, it includes a task management module, which is configured to receive task requests submitted by users, analyze task characteristics to determine task types, assign priorities to tasks, and queue tasks based on a multi-queue model that is dynamically adjusted based on task types; The resource monitoring module is configured to obtain the hardware status and task load information of all nodes in the cluster in real time. The hardware status includes CPU / GPU utilization, memory usage, and network bandwidth. The task load information includes task queue length, task runtime, and task status. The scheduling optimization module is configured to design multiple scheduling strategies, analyze the task characteristics according to the task description information, and select the optimal scheduling strategy in combination with the hardware status of the node and the task load information; The task distribution module is configured to distribute tasks to the corresponding optimal computing nodes according to the optimal scheduling strategy and start task execution; during task execution, it continuously monitors the progress of tasks and resource usage, and dynamically adjusts resource allocation or performs preemptive scheduling according to the task status. If necessary, dynamically adjust resource allocation, such as increasing or decreasing the number of CPU cores or memory size allocated to a task. When a higher priority task arrives, a preemptive operation can be performed to temporarily interrupt the running low-priority task.
[0046] The resource abstraction layer is configured to use Kubernetes CRD to encapsulate different computing architectures and computing types into unified computing resources, providing a unified resource view for upper-level scheduling.
[0047] In this embodiment, after receiving the task request, the task management module performs a preliminary analysis of the task. The tasks submitted by the user include batch tasks and heterogeneous tasks. The priorities of the tasks are assigned according to the importance of the tasks, the submission time and the resource requirements. Specifically, each task has a deadline set by default. The closer the task is to the deadline, the higher the priority. The fewer resources are required, the higher the priority. The higher the importance of the task, the higher the priority. Simpler tasks are processed first.
[0048] The task management module divides tasks into computing-intensive tasks and data-intensive tasks according to the task description information. For example, when a user submits a task, if the task_type is specified as deep learning training, the system determines it as a computing-intensive task; if the data_size exceeds 40G (threshold setting), it is considered a data-intensive task. A dynamically adjusted multi-queue model is used to queue tasks. The multi-queue model includes data-intensive queues and computing-intensive queues. Computing-intensive tasks enter the computing-intensive queue for queuing, and data-intensive tasks enter the data-intensive queue for queuing.
[0049] In this embodiment, the dynamic adjustment of the multi-queue model is implemented by periodically obtaining current resource information and dynamically adjusting the priority of tasks according to the resource information and time urgency. For example, for computationally intensive tasks, if the current task GPU requirement is high, the current GPU resources are tight, and the current task urgency is normal, then the priority of the current task is lowered and scheduled later.
[0050] The scheduling strategies designed by the scheduling optimization module include scheduling computationally intensive tasks to GPU or high-performance CPU nodes, scheduling computationally intensive tasks to nodes close to data sources, and enabling a preemptive scheduling mechanism for high-priority tasks. The preemptive scheduling mechanism is to suspend low-priority tasks to free up resources.
[0051] This embodiment also includes a continuous improvement module, which sets a performance prediction model based on historical operation data. The performance prediction model predicts the task execution efficiency under different scheduling strategies and adjusts the scheduling strategy according to the prediction results.
[0052] Example 3 Combination Figure 4 As shown, the embodiment of the present disclosure provides a cloud-native-based distributed task scheduling device 300 for heterogeneous tasks, including a processor 304 and a memory 301. Optionally, the device may also include a communication interface 302 and a bus 303. Among them, the processor 304, the communication interface 302, and the memory 301 can communicate with each other through the bus 303. The communication interface 302 can be used for information transmission. The processor 304 can call the logical instructions in the memory 301 to execute the cloud-native-based distributed task scheduling method for heterogeneous tasks of the above embodiment.
[0053] In addition, the logic instructions in the memory 301 described above can be implemented in the form of software functional units and can be stored in a computer-readable storage medium when sold or used as an independent product.
[0054] The memory 301 is a computer-readable storage medium that can be used to store software programs and computer executable programs, such as program instructions / modules corresponding to the method in the embodiment of the present disclosure. The processor 304 executes functional applications and data processing by running the program instructions / modules stored in the memory 301, that is, the distributed task scheduling method for heterogeneous tasks based on cloud native in the above embodiment is implemented.
[0055] The memory 301 may include a program storage area and a data storage area, wherein the program storage area may store an operating system and an application required for at least one function; the data storage area may store data created according to the use of the terminal device, etc. In addition, the memory 301 may include a high-speed random access memory and may also include a non-volatile memory.
[0056] Example 4 An embodiment of the present disclosure provides a computer-readable storage medium storing computer-executable instructions, wherein the computer-executable instructions are configured to execute the above-mentioned cloud-native-based distributed task scheduling method for heterogeneous tasks.
[0057] The computer-readable storage medium mentioned above may be a transient computer-readable storage medium or a non-transitory computer-readable storage medium.
[0058] The technical solution of the embodiment of the present disclosure can be embodied in the form of a software product, which is stored in a storage medium and includes one or more instructions for enabling a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in the embodiment of the present disclosure. The aforementioned storage medium may be a non-transient storage medium, including: a USB flash drive, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a disk or an optical disk, and other media that can store program codes, or a transient storage medium.
[0059] The above description and the accompanying drawings fully illustrate the embodiments of the present disclosure so that those skilled in the art can practice them. Other embodiments may include structural, logical, electrical, process and other changes. The embodiments represent only possible changes. Unless explicitly required, separate components and functions are optional, and the order of operation may vary. The parts and features of some embodiments may be included in or replace the parts and features of other embodiments. Moreover, the words used in this application are only used to describe the embodiments and are not used to limit the scope of protection. As used in the description in the text, unless the context clearly indicates, the singular forms of "a", "an" and "the" are intended to include plural forms as well. Similarly, the term "and / or" as used in this application refers to any and all possible combinations of one or more associated listings. In addition, when used in this application, the term "comprise" and its variants "comprises" and / or comprising refer to the presence of stated features, wholes, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or groups thereof. In the absence of further restrictions, the elements defined by the sentence "including one..." do not exclude the presence of other identical elements in the process, method or device including the elements. In this article, each embodiment may focus on the differences from other embodiments, and the same and similar parts between the embodiments may refer to each other. For the methods, products, etc. disclosed in the embodiments, if they correspond to the method part disclosed in the embodiments, then the relevant parts can refer to the description of the method part.
[0060] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software may depend on the specific application and design constraints of the technical solution. The technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the embodiments of the present disclosure. The technicians may clearly understand that for the convenience and simplicity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here.
[0061] In the embodiments disclosed herein, the disclosed methods and products (including but not limited to devices, equipment, etc.) can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units can be only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between each other shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms. The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to implement this embodiment. In addition, each functional unit in the embodiment of the present disclosure may be integrated in a processing unit, or each unit may exist physically separately, or two or more units may be integrated in one unit.
Claims
1. A cloud-native distributed task scheduling method for heterogeneous tasks, characterized in that: include: Step A: The user submits a task with description information, which includes the task type and resource requirements. Step B: Obtain the hardware status and task load information of all nodes in the cluster in real time. The hardware status includes CPU / GPU utilization, memory usage, and network bandwidth. The task load information includes task queue length, task running time, and task status. Step C: Design multiple scheduling strategies, analyze the task characteristics according to the task description information, and select the optimal scheduling strategy based on the hardware status of the node and the task load information; Step D: Allocate tasks to corresponding optimal computing nodes according to the optimal scheduling strategy, and start task execution; Step E: Continuously monitor the task status during task execution, and dynamically adjust resource allocation or perform preemptive scheduling based on the task status.
2. The cloud-native distributed task scheduling method for heterogeneous tasks according to claim 1 is characterized in that: In step A, the tasks submitted by users include batch tasks and heterogeneous tasks. Tasks are prioritized according to their importance, submission time, and resource requirements. Tasks are divided into compute-intensive tasks and data-intensive tasks according to task description information. Tasks are queued using a dynamically adjusted multi-queue model, which includes data-intensive queues and compute-intensive queues. Computation-intensive tasks enter the compute-intensive queue for queueing, and data-intensive tasks enter the data-intensive queue for queueing.
3. The cloud-native distributed task scheduling method for heterogeneous tasks according to claim 2 is characterized in that: The dynamic adjustment of the multi-queue model is implemented by periodically obtaining current resource information and dynamically adjusting the priority of tasks based on the resource information and time urgency.
4. The cloud-native distributed task scheduling method for heterogeneous tasks according to claim 1 is characterized in that: In step C, the designed scheduling strategy includes scheduling computationally intensive tasks to GPU or high-performance CPU nodes, scheduling computationally intensive tasks to nodes close to data sources, and enabling a preemptive scheduling mechanism for high-priority tasks. The preemptive scheduling mechanism is to suspend low-priority tasks to free up resources.
5. The cloud-native distributed task scheduling method for heterogeneous tasks according to claim 4 is characterized in that: A performance prediction model based on historical operation data is set up. The performance prediction model predicts the task execution efficiency under different scheduling strategies, and the scheduling strategy is adjusted according to the prediction results.
6. The cloud-native distributed task scheduling method for heterogeneous tasks according to claim 1 is characterized in that: It also includes step F, hardware resource abstraction, which uses Kubernetes CRD to encapsulate different computing architectures and computing types into unified computing resources, providing a unified resource view for upper-level scheduling.
7. The cloud-native distributed task scheduling method for heterogeneous tasks according to claim 1 is characterized in that: In step E, CPU / GPU utilization, memory, and I / O requirements are monitored during task execution. When the requirements are met, Kubernetes HPA is used to automatically scale resources.
8. A cloud-native distributed task scheduling system for heterogeneous tasks, characterized in that: include: A task management module is configured to receive task requests submitted by users, analyze task characteristics to determine task types, assign priorities to tasks, and queue tasks based on a dynamically adjusted multi-queue model set up based on task types; The resource monitoring module is configured to obtain the hardware status and task load information of all nodes in the cluster in real time. The hardware status includes CPU / GPU utilization, memory usage, and network bandwidth. The task load information includes task queue length, task runtime, and task status. The scheduling optimization module is configured to design multiple scheduling strategies, analyze the task characteristics according to the task description information, and select the optimal scheduling strategy in combination with the hardware status of the node and the task load information; The task distribution module is configured to distribute tasks to corresponding optimal computing nodes according to the optimal scheduling strategy and start task execution.
9. The cloud-native distributed task scheduling system for heterogeneous tasks according to claim 8, characterized in that: It also includes a resource abstraction layer, which is configured to use Kubernetes CRD to encapsulate different computing architectures and computing types into unified computing resources, providing a unified resource view for upper-level scheduling.
10. A storage medium storing program instructions, characterized in that: When the program instructions are run, they execute the cloud-native based distributed task scheduling method for heterogeneous tasks as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Isomerous CMP (Chip Multi-Processor) static state task scheduling method
CN103984595A
Real-time scheduling method for priority-limited tasks on heterogeneous information physical computing platform
CN117453370A
Virtual GPU (Graphics Processing Unit) allocation method and system under container cloud environment based on API (Application Program Interface) interception and forwarding
CN116991553A
Task scheduling method and device
CN117632394A
Multitask scheduling method and device based on heterogeneous distributed cluster
CN118227291A
Cited By
Task processing method of artificial intelligence processor, storage medium and electronic equipment
CN120066806A
Dynamic computing power scheduling method for distributed heterogeneous nodes
CN120066808A
Inference acceleration method, device and equipment
CN120235252A
Cloud task scheduling method and device based on intelligent agent, equipment and medium
CN120256065A
Processor system
CN120256130A