Calculation resource management scheduling method and system

By adopting technologies such as machine learning prediction and multi-resource collaborative scheduling in the computing resource management and scheduling system, the problem of lack of flexibility and dynamic adaptability of computing resource management and scheduling in the existing technology is solved, and efficient resource management and scheduling in large-scale computing scenarios is realized, and system resource utilization and stability are improved.

CN119917258APending Publication Date: 2025-05-02AEROSPACE SCI & IND GRP INTELLIGENT TECH RES INST CO LTD
View PDF 0 Cites 5 Cited by

Patent Information

Application Number
CN202411828685.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-12
Publication Date
2025-05-02

AI Technical Summary

Technical Problem

The existing computing resource management scheduling methods lack flexibility and dynamic adaptability, and it is difficult to meet the resource allocation needs of large-scale computing scenarios. The scheduling scheme is limited to a single application scenario, so it is impossible to realize the implementation of high-performance resource scheduling under multiple workloads.

Method used

The resource management and scheduling platform adopts the Master-Slave architecture, and dynamic resource allocation and scheduling are realized through machine learning-based resource demand prediction, multi-resource collaborative scheduling, adaptive distributed multi-level scheduling architecture and intelligent load monitoring and scheduling feedback loops.

Benefits of technology

It improves the overall resource utilization rate of the system, reduces resource waste, and realizes efficient resource management and scheduling in large-scale computing scenarios. It can dynamically adapt to high-concurrency or burst tasks, ensuring the smooth and efficient operation of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119917258A_ABST
    Figure CN119917258A_ABST
Patent Text Reader

Abstract

The invention discloses a computing resource management scheduling method and system. The method comprises the following steps: carrying out resource demand prediction based on a machine learning algorithm; a main node main scheduler performs an allocation task by using the resource demand prediction result and the resource demand information provided by the execution node in combination with multiple computing resource allocation algorithms to realize multi-resource collaborative scheduling; the main scheduler realizes distributed scheduling of task, node and cluster levels based on a self-adaptive distributed multi-level scheduling architecture; and the main scheduler realizes monitoring data return through a feedback loop and carries out real-time distribution strategy adjustment. Aiming at the bottleneck problem in the resource management process, the invention provides a brand-new and dynamically adaptive computing resource management scheduling method and system, and the computing resource management scheduling performance is remarkably improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of computing resource management and scheduling, and in particular to a computing resource management and scheduling method and system. Background Art

[0002] With the rapid development of technologies such as big data, cloud computing, and artificial intelligence, the industry's demand for computing resources continues to grow. The scheduling and management of computing resources has also become a key technical issue supporting upper-level technologies. Computing resource management and scheduling technology can effectively allocate and optimize computing resources, achieve flexible resource allocation, improve the overall utilization of system computing resources, and reduce resource waste.

[0003] The main technical routes of existing computing resource scheduling and management methods are as follows:

[0004] (1) Static scheduling: Static scheduling is a scheduling method that pre-allocates resources based on predicted demand before a task starts. The most classic static scheduling method is priority-based resource scheduling, which allocates resources by preset priorities. Before each task starts, it is assigned a fixed priority based on the importance, urgency, or other criteria of the task. During the entire task execution, unless otherwise specified, the priority remains unchanged until the task ends. Although static scheduling is easy to implement and simplifies the decision-making process, it lacks the ability to automatically adjust according to real-time load changes. It is difficult to effectively optimize resource allocation under high load or multi-task conditions, resulting in resource waste.

[0005] (2) Dynamic scheduling: Dynamic scheduling is a scheduling method that dynamically adjusts resource allocation based on the workload conditions monitored in real time. The most classic method is threshold-based resource scheduling. This method uses predefined resource usage thresholds to trigger scheduling operations. For example, in a virtualized environment, when the CPU utilization on a physical machine is too high, some virtual machines can be migrated to other machines. Although threshold-based scheduling can better cope with changing workloads and improve resource utilization, this method is difficult to adapt to sudden or random changes in resource requests, and may cause resource waste or performance bottlenecks due to excessive delays or insufficient scheduling.

[0006] Traditional computing resource management and scheduling methods have shortcomings, lack of flexibility and dynamic adaptability, and are difficult to meet the resource allocation needs of large-scale computing scenarios. In addition, the scheduling scheme is limited to a single application scenario. For example, large model training and inference tasks can only be scheduled in clusters separately, and cannot be scheduled uniformly. Although the performance is good for a single workload, it is difficult to achieve high-performance resource scheduling under multiple workloads.

[0007] Therefore, the intelligent scheduling and optimal allocation of computing resources urgently require innovative solutions. Summary of the invention

[0008] In order to solve the above technical problems, the purpose of the present invention is to provide a computing resource intelligent management and scheduling method and system to achieve unified collaborative scheduling of multiple resources, meet the resource allocation requirements of large-scale computing scenarios, and improve the overall resource utilization of the system.

[0009] To achieve the purpose of the present invention, the present invention provides a method for intelligent management and scheduling of computing resources, and the technical solution adopted is as follows:

[0010] The resource management and scheduling platform adopts a Master-Slave architecture, which consists of a master node and several execution nodes. The method specifically includes the following steps:

[0011] Step 1. Predict resource demand based on machine learning algorithms;

[0012] Step 2. The master scheduler of the master node uses the resource demand prediction results of step 1 and the resource demand information provided by the execution node to combine multiple computing resource allocation algorithms to execute the allocation task and realize multi-resource collaborative scheduling;

[0013] Step 3. The main scheduler implements distributed scheduling at the task, node, and cluster levels based on an adaptive distributed multi-level scheduling architecture;

[0014] Step 4. The main scheduler transmits monitoring data back through the feedback loop and makes real-time allocation strategy adjustments.

[0015] According to another aspect of the present invention, a computing resource intelligent management and scheduling system is provided, which adopts the following technical solutions:

[0016] The platform adopts a Master-Slave architecture, consisting of a master node and several execution nodes. The master node includes the main scheduler, central monitoring center, and resource demand prediction module.

[0017] The resource demand prediction module performs resource demand prediction based on a machine learning algorithm;

[0018] The main scheduler uses the resource demand prediction results of the resource demand prediction module and the resource demand information provided by the execution node to integrate multiple computing resource allocation algorithms to execute the allocation task and realize multi-resource collaborative scheduling; based on the adaptive distributed multi-level scheduling architecture, distributed scheduling at the task, node and cluster levels is realized; the real-time allocation strategy is adjusted according to the returned monitoring data, and the parameters of the scheduling strategy are dynamically updated using the reinforcement learning algorithm to ensure the real-time effectiveness of the scheduling strategy;

[0019] The central monitoring center receives the load data reported by the execution node and stores it in the state cache and the queue monitoring cache, compares it with the set threshold, and reports the comparison result to the main scheduler through a feedback loop.

[0020] Compared with the prior art, the present invention has the following beneficial effects:

[0021] Aiming at the bottleneck problem in the resource management process, the present invention proposes a new and dynamically adaptive computing resource management scheduling method and system, which significantly improves the computing resource management scheduling performance. Compared with the prior art, it has the following beneficial effects:

[0022] (1) A resource demand prediction mechanism based on machine learning was established to solve the problem of intelligent resource allocation under dynamic resource demand.

[0023] In large-scale computing scenarios, task loads often change dynamically and resource requirements are uncertain. Most existing computing resource scheduling technologies are based on static allocation or simple threshold trigger mechanisms and cannot achieve dynamic adaptation. The present invention proposes a resource demand prediction module based on machine learning, which can predict future resource requirements by analyzing historical load data, task characteristics and current system status. Through the prediction results of resource usage, the system can allocate and schedule resources in advance, effectively reducing scheduling delays and improving response speed. The machine learning resource demand prediction model block builds an "active adaptation" capability for computing resource scheduling, allowing the system to maintain smooth and efficient operation when facing high concurrency or burst tasks. In addition, the self-learning model will continuously optimize the module's prediction results according to actual conditions, improve prediction accuracy, and further enhance the intelligence level of computing resource scheduling.

[0024] (2) A multi-resource collaborative scheduling mechanism was established to solve the problems of multi-resource coordination and resource imbalance.

[0025] Complex computing tasks often require multiple resources (such as CPU, GPU, memory, network bandwidth, etc.) to provide support at the same time, and the resource requirements vary in proportion. For example, task A may rely more on GPU computing, while task B has a high demand for memory. Most of the existing technologies are optimized for the management and scheduling of a single resource, and lack a collaborative scheduling mechanism for multiple resources, resulting in some resources being idle and other resources being overloaded in actual use, and the optimal utilization of resources cannot be achieved. The present invention proposes a multi-resource collaborative scheduling mechanism, which can jointly schedule multiple resource requirements such as CPU, GPU, memory, storage, network bandwidth, etc. and perform multi-dimensional resource joint optimization. This resource collaborative scheduling mechanism can synchronously manage different resources through a unified scheduling strategy, realize the synchronous utilization of multiple resources, ensure that resource allocation reaches the optimal balance state within the system, greatly reduce resource imbalance and idle problems, and provide better performance support for data-intensive and computing-intensive tasks to improve the overall resource utilization of the system.

[0026] (3) An adaptive distributed multi-level scheduling architecture was established to solve the cluster performance bottleneck problem caused by load imbalance.

[0027] In large computing clusters, the problem of load imbalance usually causes some nodes to be overloaded, while other node resources are idle, thereby limiting the overall performance of the cluster. Existing scheduling systems usually lack a distributed multi-level scheduling architecture, making it difficult to achieve dynamic balance between three-level resources at the task level, node level, and cluster level. Due to the lack of a global dynamic optimization mechanism, it is difficult for the system to effectively manage and optimize the resource load in a complex multi-node environment. The present invention designs an adaptive distributed multi-level scheduling architecture, which covers the scheduling mechanisms at the task level, node level, and cluster level. At the task level, the system performs personalized adaptive resource allocation according to task requirements to achieve single-point optimization of resources; at the node level, local optimization is achieved by achieving resource load balancing between nodes; at the cluster level, the system achieves global resource load balancing to ensure the stability of the entire cluster under high load conditions. The adaptive distributed multi-level scheduling architecture can adapt to application scenarios of different scales and complexities, and realize dynamic resource allocation and load balancing at each level. The adaptive multi-level scheduling architecture not only provides flexible scheduling granularity control, but also achieves global optimal allocation of resources, greatly improving resource utilization and stability in a large-scale cluster environment. This architecture can better deal with resource conflicts in complex scenarios and has strong fault tolerance and scalability.

[0028] (4) Intelligent load monitoring and scheduling feedback loop solves the problems of system lag response and task delay.

[0029] Current resource scheduling systems often rely on fixed scheduling strategies, which are lagging in scheduling and unable to adjust allocation strategies according to real-time task load and resource status. For example, the system usually triggers scheduling adjustments only when it finds that resources are insufficient or overloaded, resulting in delayed task responses and affecting user experience. The present invention introduces an intelligent load monitoring and scheduling feedback loop. By real-time monitoring of task running status, resource consumption, and node load data, the intelligent specified strategy dynamically adjusts the scheduling strategy, and gradually optimizes resource allocation parameters through the feedback loop. This "monitoring-feedback" mechanism effectively avoids the scheduling lag problem that occurs during resource scheduling, making resource scheduling more accurate and efficient. The intelligent feedback loop plays a self-regulating role in resource scheduling, builds a real-time scheduling closed loop, realizes rapid scheduling response and dynamic adaptation, and solves the problem that traditional computing resource scheduling schemes cannot adapt to dynamic tasks. BRIEF DESCRIPTION OF THE DRAWINGS

[0030] The included drawings are used to provide a further understanding of the embodiments of the present invention, which constitute a part of the specification, are used to illustrate the embodiments of the present invention, and together with the text description, explain the principles of the present invention. Obviously, the drawings in the following description are only some embodiments of the present invention, and for ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0031] Figure 1 A schematic diagram showing the principle of a resource management and scheduling system provided according to a specific embodiment of the present invention is shown.

[0032] Figure 2 A schematic diagram of the overall architecture design of a resource management and scheduling system provided according to a specific embodiment of the present invention is shown. DETAILED DESCRIPTION

[0033] It should be noted that, in the absence of conflict, the embodiments in this application and the features in the embodiments can be combined with each other. The technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. The following description of at least one exemplary embodiment is actually only illustrative and is by no means intended to limit the present invention and its application or use. Based on the embodiments in the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0034] As a computing resource intelligent management and scheduling method provided by an embodiment of the present invention, its resource management high scheduling platform adopts a Master-Slave architecture, which is composed of a master node and several execution nodes. The method specifically includes the following steps:

[0035] Step 1. Predict resource demand based on machine learning algorithms;

[0036] Step 2. The master scheduler of the master node uses the resource demand prediction results of step 1 and the resource demand information provided by the execution node to combine multiple computing resource allocation algorithms to execute the allocation task and realize multi-resource collaborative scheduling;

[0037] Step 3. The main scheduler implements distributed scheduling at the task, node, and cluster levels based on an adaptive distributed multi-level scheduling architecture;

[0038] Step 4. The main scheduler transmits monitoring data back through the feedback loop and makes real-time allocation strategy adjustments.

[0039] The step 1 uses machine learning technology to predict future resource requirements. The specific implementation method is as follows:

[0040] 1) Feature extraction: Extract key features from historical load data, including timestamp, task type, task priority, CPU / GPU utilization, memory usage, and network traffic. The extracted feature data is cleaned and regularized to ensure the consistency and stability of the input data and reduce model training errors.

[0041] 2) Select a machine learning model: Select a time series prediction model such as LSTM (Long Short-Term Memory Network) or GRU (Gated Recurrent Unit) based on the load forecasting requirements. These models are excellent in processing time series data and are particularly suitable for predicting short-term resource demand fluctuations. For scenarios with large demand fluctuations, you can add integrated learning technology (such as XGBoost) to build a multi-model prediction framework to improve the accuracy of the prediction.

[0042] 3) Model training and optimization: Use historical resource load data to continuously train the model and adjust model parameters based on feedback. The system is designed with an automatic optimization module to regularly compare the model's prediction results with actual usage, and adjust parameters such as learning rate, number of layers, number of neurons, etc. to improve model accuracy.

[0043] 4) Prediction results and allocation linkage: Output resource requirements within a certain period of time in the future, and reserve resources in the resource pool in advance based on the results to avoid delays in allocating resources under high load. Through the pre-allocation mechanism, CPU, GPU, memory and other resources are reserved in advance to ensure that the system always has the ability to meet high-load requests.

[0044] The specific implementation method of multi-resource coordinated scheduling in step 2 is as follows:

[0045] 1) The lightweight agent program on the execution node collects the resource requirement information of the task (CPU core number, GPU memory requirement, memory size, bandwidth, etc.) in real time, and reports the collected data to the master node master scheduler at a fixed period. At the same time, it accumulates the historical records of resource usage locally to provide a reference for resource scheduling.

[0046] 2) The main scheduler uses the resource demand information provided by the execution nodes and the resource demand prediction results based on machine learning as input, and integrates multiple computing resource allocation algorithms to perform allocation tasks. Resource allocation algorithms include: priority allocation algorithm, proportional allocation and load balancing algorithm, resource isolation algorithm, resource scheduling synchronization algorithm, and load prediction and scheduling adjustment algorithm.

[0047] Specifically,

[0048] The priority allocation algorithm: According to the type and priority of the task, the system uses a priority weight method to sort the tasks in the scheduling. For example, high-priority real-time tasks also have priority in obtaining resources during peak load periods, while ordinary tasks are based on resource availability.

[0049] The proportional allocation and load balancing algorithm: For the case of multiple concurrent tasks, a proportional allocation algorithm is used to allocate total resources to different tasks in proportion to task requirements to avoid excessive resource usage by a single task.

[0050] The resource isolation algorithm uses namespace isolation technology to limit resource usage of each task to a specific range when allocating resources, so as to avoid resource contention and interference between tasks.

[0051] The resource scheduling synchronization algorithm: synchronizes the allocation of each resource in real time through the main scheduler. When a resource tends to be exhausted, the main scheduler immediately notifies each agent to perform adaptive resource release and reallocation operations. The system records each resource allocation adjustment operation through the scheduling policy file, and adjusts the current scheduling model according to the policy file to ensure fairness among multiple tasks.

[0052] The load prediction and scheduling adjustment algorithm: This module relies on the real-time prediction data of the resource demand prediction module to increase resource allocation in advance when the load peak is about to occur, ensuring that high load demand does not lead to system bottlenecks.

[0053] The multi-level scheduling resource allocation algorithm in step 3 is specifically implemented as follows:

[0054] 1) Task-level computing resource scheduling. When each task is started, the task-level scheduler allocates resources and selects appropriate nodes to allocate resources based on the task resource requirements. At the same time, a dynamic task queue is set for the task, and the task is dynamically sorted based on the queue weight (task priority, expected running time, etc.) to ensure that key tasks get resources first.

[0055] 2) Node-level computing resource scheduling. Each node monitors the utilization rate of node resources through the node-level scheduler and performs dynamic balancing when the resource load is high. At the same time, when the resources of a node exceed the set threshold, the node-level scheduler will migrate some low-priority tasks to other nodes or suspend standby tasks to ensure that high-priority tasks obtain sufficient resources, thus realizing node-level load detection and load migration.

[0056] 3) Cluster-level computing resource scheduling. The cluster-level scheduler manages the resource allocation of each node from a global perspective and schedules the overall load status of the cluster. When the resource idle rate of some nodes is too high and other nodes are under high load, the system automatically triggers cross-node load balancing, allocates idle resources, and achieves cross-node load balancing. In extremely high-load situations, the system will automatically call external cloud computing resources to expand the resource pool according to the configuration to ensure that tasks can be completed on time and achieve distributed expansion of resources.

[0057] Step 4 implements monitoring data feedback and real-time allocation strategy adjustment through a feedback loop. The specific implementation method is as follows:

[0058] The agent program on the execution node collects load data in real time and reports it to the status cache and queue monitoring cache of the central monitoring center of the master node for comparison with the set threshold. When the real-time data deviates from the set threshold, the scheduling strategy is adjusted according to the deviation. At the same time, the system uses reinforcement learning algorithms such as Q-learning to dynamically update the parameters of the scheduling strategy to ensure the real-time effectiveness of the scheduling strategy.

[0059] Based on the above-mentioned computing resource intelligent management and scheduling method, another aspect of the present invention provides a computing resource intelligent management and scheduling system.

[0060] like Figure 1 As shown, the resource intelligent management and scheduling system adopts a Master-Slave architecture, which consists of a master node and several execution nodes. The master node includes a master scheduler, a central monitoring center, and a resource demand prediction module.

[0061] The resource demand prediction module performs resource demand prediction based on a machine learning algorithm to schedule resources in advance.

[0062] The main scheduler utilizes the resource demand prediction results of the resource demand prediction module and the resource demand information provided by the execution node to combine multiple computing resource allocation algorithms to execute allocation tasks and realize multi-resource collaborative scheduling; realizes distributed scheduling at the task, node and cluster levels based on an adaptive distributed multi-level scheduling architecture; adjusts the allocation strategy in real time according to the returned monitoring data, and uses reinforcement learning algorithms such as Q-learning to dynamically update the parameters of the scheduling strategy to ensure the real-time effectiveness of the scheduling strategy.

[0063] The central monitoring center receives the load data reported by the execution node and stores it in the state cache and the queue monitoring cache, compares it with the set threshold, and reports the comparison result to the main scheduler through a feedback loop.

[0064] The execution node collects the resource requirement information of the task (CPU core number, GPU memory requirement, memory size, bandwidth, etc.) in real time, and reports the collected data to the main scheduler at a fixed period, while accumulating historical records of resource usage locally to provide a reference for resource scheduling.

[0065] The resource demand prediction module performs resource demand prediction based on machine learning, and specifically includes the following submodules:

[0066] 1) Feature extraction submodule, which is used to extract key features from historical load data, including timestamp, task type, task priority, CPU / GPU utilization, memory usage, and network traffic. The extracted feature data is cleaned and regularized to ensure the consistency and stability of the input data and reduce model training errors.

[0067] 2) Machine learning model: select time series prediction models such as LSTM (Long Short-Term Memory Network) or GRU (Gated Recurrent Unit) according to the load forecasting requirements.

[0068] 3) Model training and optimization submodule: Use historical resource load data to continuously train the model, adjust model parameters based on feedback, regularly compare the model's prediction results with actual usage, and adjust parameters such as learning rate, number of layers, and number of neurons to improve model accuracy.

[0069] 4) Prediction result and allocation linkage submodule: The prediction result outputs the resource demand in a certain period of time in the future, and reserves resources in the resource pool in advance according to the result to avoid delays in allocating resources under high load. Through the pre-allocation mechanism, CPU, GPU, memory and other resources are reserved in advance to ensure that the system always has the ability to meet high-load requests.

[0070] The computing resource allocation algorithm includes: a priority allocation algorithm, a proportional allocation and load balancing algorithm, a resource isolation algorithm, a resource scheduling synchronization algorithm, and a load prediction and scheduling adjustment algorithm.

[0071] The multi-level scheduling executes the resource allocation algorithm of the corresponding level at the three levels of task, node and cluster respectively. The specific implementation method is as follows: 1) Task-level computing resource scheduling. When each task is started, the task-level scheduler allocates resources, and the system selects the appropriate node to allocate resources according to the task resource requirements. At the same time, a dynamic task queue is set for the task, and the queue weight is dynamically sorted to ensure that key tasks get resources first. 2) Node-level computing resource scheduling. Each node monitors the utilization rate of node resources through the node-level scheduler, and performs dynamic balancing when the resource load is high. At the same time, when the resources of a certain node exceed the set threshold, the node-level scheduler will migrate some low-priority tasks to other nodes, or suspend standby tasks to ensure that high-priority tasks obtain sufficient resources, and realize node-level load detection and load migration. 3) Cluster-level computing resource scheduling. The cluster-level scheduler manages the resource allocation of each node from a global perspective and schedules the overall load status of the cluster. When the resource idle rate of some nodes is too high and other nodes are under high load, the system automatically triggers cross-node load balancing, allocates idle resources, and realizes cross-node load balancing. Under extremely high load conditions, the system will automatically call external cloud computing resources to expand the resource pool according to the configuration, ensuring that tasks can be completed on time and achieving distributed expansion of resources.

[0072] like Figure 2 As shown, the master node and execution node provide distributed service management and resource management functions. There is no limitation on any programming interface and fixed programming language. It can be built on physical machines, containers, and virtual machines, providing application management, maintenance, and expansion mechanisms. It can easily manage the entire life cycle of services running across machines, such as starting and stopping services, health monitoring, failure migration, elastic scaling, etc.

[0073] The execution node runs a lightweight proxy service, which includes three functional modules: Resource management and collection proxy module - collects various resources on the node, including built-in resources and pluggable custom resources. GPU indicator collection proxy module - collects various indicators of various general and domestic GPUs on the node. Service management proxy module - manages the entire life cycle of services on the computing node, collects service resource usage data, and reports it to the global management module.

[0074] The master node consists of the following modules:

[0075] 1) Distributed cache module - caches node resource data and service status data, provides fast data access speed, thereby reducing frequent access to the underlying storage system, improving system performance, unifying the data access interface, providing a unified data access method for the system, simplifying the complexity of data access, and improving development and maintenance efficiency.

[0076] 2) Distributed message queue module – used to decouple the communication between the master node and the computing node, and between each module and process.

[0077] 3) Service registration / discovery module – Service providers register service information in this module so that service consumers can call it, such as the service's IP address, port number, etc.

[0078] 4) Configuration management module - used to centrally manage related scheduling configurations.

[0079] 5) Master Arbitration Election Module – Overall election of the master node role arbitration mechanism.

[0080] 6) Global resource management module – manages global resources for the service scheduler to select appropriate machines to run services and for the upper-level scheduling framework to schedule jobs.

[0081] 7) Global service management module – manages running services, such as service start and stop, failure migration, and elastic scaling.

[0082] 8) Service orchestration module – manages the dependencies between services and provides unified orchestration capabilities for services.

[0083] The master scheduler provides unified distributed scheduling functions, built-in multiple resource scheduling and management functions, and designed multiple efficient scheduling management strategies. Based on these scheduling strategies, each execution instance of the service is managed and scheduled as a job. The unified distributed scheduling framework supports various MPI parallel jobs, big data processing tasks, and artificial intelligence machine learning computing tasks, allowing various tasks to share computing resources.

[0084] The main modules of unified distributed scheduling are as follows:

[0085] 1) Scheduling strategy module: strategies for managing the allocation and execution order of processes or tasks. Different scheduling strategies can affect the execution order of processes, optimize system performance, and improve resource utilization. At the same time, through appropriate scheduling strategies, problems such as deadlock and starvation can be avoided in the system, and the stability and reliability of the system can be improved. The system also provides scheduling strategies including but not limited to the following: First come first served, scheduling is performed in the order in which tasks arrive, and the processes that arrive first get the opportunity to execute first. Priority scheduling, the execution order is determined according to the priority of the process, and the process with a high priority is executed first. Fair sharing scheduling strategy, each queue is assigned a priority, and each process is executed in turn according to the queue in which the task is located. Random scheduling, according to the random scheduling strategy, ensure that each task can be allocated and executed in redundancy and randomness. Exclusive scheduling, providing exclusive scheduling strategies for nodes or tasks to ensure that key businesses can monopolize resources. Preemptive scheduling, providing high-priority preemptive scheduling strategies for tasks.

[0086] 2) Task management module: provides global unified task management, including task initiation, queuing, scheduling, allocation, monitoring and other task management functions.

[0087] 3) Process management module: manages the processes involved in the task, monitors the process status and resource usage, and ensures the cleanup of residual processes for completed tasks.

[0088] 4) Queue management module: provides different queues to meet the needs of different business scenarios for system resources

[0089] 5) Resource limitation management module: provides various resource limitation functions, such as the maximum number of running GPUs, the maximum number of GPU jobs, and other resource limitation capabilities.

[0090] 6) Accounting service module: provides task accounting function, ensures the events reply capability of historical tasks and real-time tasks, and can perform statistical analysis and query on historical tasks.

[0091] 7) Task hook management module: provides pluggable task hook management capabilities, which can insert custom behavior scripts when submitting a task, before starting a task, and after completing a task to adapt to customization in different scenarios.

[0092] 8) http service module: provides built-in http service, so that third-party systems can query and call resources through the external RestFul interface provided by the http service.

[0093] The system of the present invention provides a unified interface service and provides various calling modes for various upper-layer businesses, including a CLI interface, an API interface and a RestFul interface.

[0094] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims

1. A computing resource management and scheduling method, wherein the resource management and scheduling platform adopts a Master-Slave architecture, and is composed of a master node and a plurality of execution nodes, and is characterized in that: The method specifically comprises the following steps: Step 1. Predict resource demand based on machine learning algorithms; Step 2. The master scheduler of the master node uses the resource demand prediction results of step 1 and the resource demand information provided by the execution node to combine multiple computing resource allocation algorithms to execute the allocation task and realize multi-resource collaborative scheduling; Step 3. The main scheduler implements distributed scheduling at the task, node, and cluster levels based on an adaptive distributed multi-level scheduling architecture; Step 4. The main scheduler transmits monitoring data back through the feedback loop and makes real-time allocation strategy adjustments.

2. A computing resource management and scheduling method according to claim 1, characterized in that: The step 1 uses machine learning technology to predict future resource requirements. The specific implementation method is as follows: 1) Feature extraction: Extract key features from historical load data, including timestamp, task type, task priority, CPU / GPU utilization, memory usage, and network traffic; 2) Select a machine learning model: Select a long short-term memory network (LSTM) or a gated recurrent unit (GRU) time series prediction model based on the load forecasting requirements. For scenarios with large demand fluctuations, add ensemble learning technology to build a multi-model prediction framework. 3) Model training and optimization; 4) Link prediction results with allocation: Output resource demand within a certain period of time in the future, and reserve resources in the resource pool in advance based on the results.

3. A computing resource management and scheduling method according to claim 1, characterized in that: The specific implementation method of multi-resource coordinated scheduling in step 2 is as follows: 1) The execution node collects the resource demand information of the task in real time, and reports the collected data to the master scheduler of the master node at a fixed period, while accumulating the historical records of resource usage locally; 2) The main scheduler takes the resource demand information provided by the execution node and the resource demand prediction results based on machine learning as input, and integrates multiple computing resource allocation algorithms to perform allocation tasks. The resource allocation algorithms include: priority allocation algorithm, proportional allocation and load balancing algorithm, resource isolation algorithm, resource scheduling synchronization algorithm, and load prediction and scheduling adjustment algorithm.

4. A computing resource management and scheduling method according to claim 1, characterized in that: The multi-level scheduling resource allocation algorithm in step 3 is specifically implemented as follows: Task-level computing resource scheduling: When each task is started, the task-level scheduler allocates resources. It selects appropriate nodes to allocate resources based on the task resource requirements. At the same time, it sets a dynamic task queue for the task and dynamically sorts it based on the queue weight to ensure that key tasks get resources first. Node-level computing resource scheduling: Each node monitors the utilization rate of node resources through the node-level scheduler and performs dynamic balancing when the resource load is high. At the same time, when the resources of a node exceed the set threshold, the node-level scheduler will migrate some low-priority tasks to other nodes or suspend standby tasks to ensure that high-priority tasks obtain sufficient resources, thus realizing node-level load detection and load migration; Cluster-level computing resource scheduling: The cluster-level scheduler manages the resource allocation of each node from a global perspective and schedules the overall load status of the cluster. When the resource idle rate of some nodes is too high and other nodes are under high load, the system automatically triggers cross-node load balancing and allocates idle resources to achieve cross-node load balancing. In extremely high-load situations, the system will automatically call external cloud computing resources to expand the resource pool according to the configuration.

5. A computing resource management and scheduling method according to claim 1, characterized in that: Step 4 implements monitoring data feedback and real-time allocation strategy adjustment through a feedback loop. The specific implementation method is as follows: The execution node collects load data in real time, reports it to the status cache and queue monitoring cache of the central monitoring center of the master node, and compares it with the set threshold. When the real-time data deviates from the set threshold, the main scheduler adjusts the scheduling strategy according to the deviation. At the same time, the system uses a reinforcement learning algorithm to dynamically update the parameters of the scheduling strategy to ensure the real-time effectiveness of the scheduling strategy.

6. A computing resource management and scheduling system, the platform adopts a Master-Slave architecture, consisting of a master node and several execution nodes, characterized in that: The main node includes the main scheduler, central monitoring center, and resource demand prediction module. The resource demand prediction module performs resource demand prediction based on a machine learning algorithm; The main scheduler uses the resource demand prediction results of the resource demand prediction module and the resource demand information provided by the execution node to integrate multiple computing resource allocation algorithms to execute the allocation task and realize multi-resource collaborative scheduling; based on the adaptive distributed multi-level scheduling architecture, distributed scheduling at the task, node and cluster levels is realized; the real-time allocation strategy is adjusted according to the returned monitoring data, and the parameters of the scheduling strategy are dynamically updated using the reinforcement learning algorithm to ensure the real-time effectiveness of the scheduling strategy; The central monitoring center receives the load data reported by the execution node and stores it in the state cache and the queue monitoring cache, compares it with the set threshold, and reports the comparison result to the main scheduler through a feedback loop.

7. A computing resource management and scheduling system according to claim 6, characterized in that: The resource demand prediction module performs resource demand prediction based on machine learning, and specifically includes the following submodules: 1) Feature extraction submodule, which is used to extract key features from historical load data, including timestamp, task type, task priority, CPU / GPU utilization, memory usage, and network traffic; 2) The machine learning model submodule selects the long short-term memory network LSTM or gated recurrent unit GRU time series prediction model according to the load forecasting requirements; 3) Model training and optimization submodule: Use historical resource load data to continuously train the model, adjust model parameters based on feedback, regularly compare the model's prediction results with actual usage, and adjust the learning rate, number of layers, and number of neurons to improve model accuracy; 4) Prediction result and allocation linkage submodule: The prediction result outputs the resource demand within a certain period of time in the future, and reserves resources in the resource pool in advance based on the results.

8. A computing resource management and scheduling system according to claim 6, characterized in that: The distributed scheduling at the task, node and cluster levels is implemented based on the adaptive distributed multi-level scheduling architecture. The specific implementation method is as follows: Task-level computing resource scheduling: When each task is started, the task-level scheduler allocates resources. It selects appropriate nodes to allocate resources based on the task resource requirements. At the same time, it sets a dynamic task queue for the task and dynamically sorts it based on the queue weight to ensure that key tasks get resources first. Node-level computing resource scheduling: Each node monitors the utilization rate of node resources through the node-level scheduler and performs dynamic balancing when the resource load is high. At the same time, when the resources of a node exceed the set threshold, the node-level scheduler will migrate some low-priority tasks to other nodes or suspend standby tasks to ensure that high-priority tasks obtain sufficient resources, thus realizing node-level load detection and load migration; Cluster-level computing resource scheduling: The cluster-level scheduler manages the resource allocation of each node from a global perspective and schedules the overall load status of the cluster. When the resource idle rate of some nodes is too high and other nodes are under high load, the system automatically triggers cross-node load balancing and allocates idle resources to achieve cross-node load balancing. In extremely high-load situations, the system will automatically call external cloud computing resources to expand the resource pool according to the configuration.

9. A computing resource management and scheduling system according to claim 6, characterized in that: The execution node runs a lightweight proxy service, which includes three functional modules: Resource management collection agent module: collects various resources on the node, including built-in resources and pluggable custom resources; GPU indicator collection agent module: collects various indicators of various general-purpose and domestic GPUs on the node; Service management agent module: manages the entire life cycle of services on computing nodes, collects service resource usage data, and reports it to the global management module.

10. A computing resource management and scheduling system according to claim 6, characterized in that: The main scheduler provides a unified distributed scheduling function, including a scheduling strategy module, a task management module, a process management module, a queue management module, a resource limitation management module, an accounting service module, a task hook management module, and an http service module.

Citation Information

Cited By

  • Regulation and control management method and system based on Kafka message queue

    CN120223760A

  • Heterogeneous computing power resource dynamic allocation method oriented to ocean supercomputing environment

    CN120336033A

  • Multi-agent asynchronous collaboration method and system under centralized architecture

    CN120952387A

  • Method for constructing ten-million-level high-load middle platform system oriented to intra-city distribution business

    CN120994413A

  • Intelligent scheduling method, model training method, device and system

    CN121349642A