AI-assisted cloud computing resource intelligent scheduling method and scheduling system
Through the AI-assisted intelligent scheduling method of cloud computing resources, the cross-tenant resource optimization strategy and machine learning model are used to solve the problems of uneven resource allocation and service quality in the traditional scheduling method, and achieve efficient resource, intelligent scheduling and tenant satisfaction improvement .
Patent Information
- Application Number
- CN202411342147.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-25
- Publication Date
- 2025-01-03
AI Technical Summary
Traditional cloud computing resource scheduling methods are difficult to accurately predict and evaluate changes in resource demand in a multi-tenant environment, resulting in uneven resource allocation and waste, lack of flexibility and intelligence, and cannot guarantee the service quality of tenants.
Using AI-assisted intelligent scheduling method for cloud computing resources, it uses cross-tenant resource optimization strategies to receive task requests, parse metadata, evaluate resource requirements, query idle resources in real time, use machine learning models to predict future needs, and formulate resources in combination with multi-objective optimization algorithms. Allocation plan to realize dynamic and intelligent scheduling of resources.
It improves resource utilization and tenant satisfaction, ensures that the service quality of all tenants meets SLA requirements, and realizes efficient and intelligent scheduling of resources.
Smart Images

Figure CN119254834A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of cloud computing technology, and in particular to an AI-assisted cloud computing resource intelligent scheduling method and scheduling system. Background Art
[0002] With the rapid development of cloud computing technology, multi-tenant environment has become a service model widely adopted by cloud service providers. Multi-tenant environment allows multiple tenants to share the same set of computing resources and services, thereby significantly improving resource utilization and reducing operating costs. However, this model also brings challenges in resource scheduling and management. How to achieve dynamic, efficient and intelligent resource scheduling while ensuring the quality of service (QoS) and service level agreement (SLA) of each tenant has become a problem that needs to be solved in the current cloud computing field.
[0003] Traditional cloud computing resource scheduling methods are often based on static rules or simple heuristic algorithms, which are incapable of coping with complex and changing multi-tenant environments. On the one hand, they cannot accurately predict and evaluate the changes in resource requirements of different tenants, resulting in uneven resource allocation and waste; on the other hand, they lack flexibility and intelligence, making it difficult to dynamically adjust resource allocation strategies according to real-time conditions, thus failing to guarantee the service quality of all tenants.
[0004] Therefore, it is necessary to provide an AI-assisted cloud computing resource intelligent scheduling method and scheduling system to solve the above technical problems. Summary of the invention
[0005] In order to solve the above technical problems, the present invention provides an AI-assisted cloud computing resource intelligent scheduling method and scheduling system, which realizes efficient and intelligent scheduling of resources in a multi-tenant environment by introducing a cross-tenant resource optimization strategy.
[0006] The present invention provides an AI-assisted cloud computing resource intelligent scheduling method, which is applied to a multi-tenant environment. The scheduling method comprises the following steps:
[0007] Receive a new task, and obtain the tenant ID to which the task belongs and the resources required to calculate the task;
[0008] Determine whether the idle resources in the resource pool preconfigured by the tenant ID to which the task belongs are not less than the resources of the task. If not, allocate the task to the resource pool preconfigured by the tenant ID to which it belongs. If yes, selectively temporarily allocate unused resources from the remaining tenant resource pools to the tenant to which the task belongs, and use the temporarily allocated resources to process the task;
[0009] During the temporary resource allocation process, a cross-tenant resource optimization strategy is used to evaluate the current usage and future predicted demand of the remaining tenant resource pools for temporary resource allocation.
[0010] Preferably, receiving a new task and obtaining a tenant ID to which the task belongs and resources required for calculating the task include:
[0011] Get task request;
[0012] Parse the metadata in the task request to identify the tenant ID to which the task belongs;
[0013] According to the specification requirements in the task request, the resource type and quantity required for the task are calculated through a preset resource evaluation model.
[0014] Preferably, the calculating of the resource type and quantity required for the task by a preset resource evaluation model according to the specification requirements in the task request includes:
[0015] Extract multiple requirement parameters according to the specification requirements of the task request;
[0016] Inputting the extracted multiple demand parameters into a preset resource evaluation model, wherein the resource evaluation model is a neural network model obtained by training based on historical data, a task type library, and a performance benchmark;
[0017] The resource evaluation model calculates and outputs the resource type and resource quantity required for the task according to multiple input requirement parameters.
[0018] Preferably, the determining whether the idle resources in the resource pool preconfigured by the tenant ID to which the task belongs are not less than the resources of the task includes:
[0019] Real-time query of resource usage in the resource pools of tenants other than the tenant to which the task belongs, wherein the resource usage includes allocated resources and idle resources;
[0020] The queried idle resources are compared with the resources required for the task to determine whether the task requirements are met.
[0021] Preferably, in the process of temporary resource allocation, a cross-tenant resource optimization strategy is used to evaluate the current usage and future predicted demand of the resource pools of other tenants for temporary resource allocation, including:
[0022] Collect and analyze historical usage data and current status information of resource pools of other tenants;
[0023] Based on the historical usage data and current status information of the resource pools of the remaining tenants, a machine learning model is used to predict the resource requirements of the remaining tenants within a preset time period, wherein the resource requirements of the remaining tenants include resource requirement types, average demand for each resource type, maximum demand, and probability distribution of demand changes;
[0024] Based on the resource requirements of other tenants, a temporary resource allocation plan is formulated and executed in combination with the cross-tenant resource optimization algorithm.
[0025] Preferably, the temporary resource allocation plan is formulated and executed based on the resource requirements of other tenants in combination with a cross-tenant resource optimization algorithm, including:
[0026] A multi-objective optimization function is defined, wherein the expression of the multi-objective optimization function is:
[0027]
[0028] Among them, α, β and γ are weight factors used to balance the importance of different objectives. i ) represents the additional resources x allocated to tenant i i The cost, B(x i ) represents the delay caused by resource allocation, c i represents the pre-configured resources of tenant i, x i represents the additional resources that tenant i can temporarily allocate, d i represents the demand of tenant i, f(·) represents the multi-objective optimization function;
[0029] Set constraints, where the constraints include total resource constraints, SLA constraints, and resource borrowing constraints, and the expressions are:
[0030]
[0031] (c i +x i )≥SLA i
[0032] 0≤x i ≤X max
[0033] Among them, R represents the total amount of available idle resources, SLA i represents the minimum amount of resources that tenant i should get according to its SLA, X max represents the maximum amount of additional resources that tenant i can borrow;
[0034] Input the multi-objective optimization function and the constraint conditions into the selected solver for solving, and obtain the additional resources that can be temporarily allocated to each tenant;
[0035] Resource scheduling is performed based on the additional resources that can be temporarily allocated to each tenant to meet the resources required for the task.
[0036] Preferably, the resource scheduling is performed according to the additional resources that can be temporarily allocated to each tenant to meet the resources required for the task, including:
[0037] Resources are borrowed sequentially from other tenants that have temporarily allocated additional resources until the resource requirements of the task are met.
[0038] The present invention also provides an AI-assisted cloud computing resource intelligent scheduling system, which is used to execute an AI-assisted cloud computing resource intelligent scheduling method, and the scheduling system includes:
[0039] The task resource parsing module is used to receive a new task and obtain the tenant ID to which the task belongs and the resources required to calculate the task;
[0040] A resource allocation module, used to determine whether the idle resources in the resource pool preconfigured by the tenant ID to which the task belongs are not less than the resources of the task. If not, the task is allocated to the resource pool preconfigured by the tenant ID to which it belongs. If so, unused resources are selectively temporarily allocated from the remaining tenant resource pools to the tenant to which the task belongs, and the task is processed using the temporarily allocated resources;
[0041] The cross-tenant optimization module is used to evaluate the current usage and future predicted demand of the resource pools of other tenants to make temporary resource allocations by adopting the cross-tenant resource optimization strategy during the temporary resource allocation process.
[0042] Compared with related technologies, the AI-assisted cloud computing resource intelligent scheduling method and scheduling system provided by the present invention have the following beneficial effects:
[0043] The present invention first receives a new task request and identifies the tenant ID to which the task belongs and the required resources; then, based on the task requirements and the actual situation of the tenant resource pool, it intelligently chooses whether to temporarily allocate unused resources from other tenant resource pools; finally, in the process of temporary resource allocation, a cross-tenant resource optimization strategy is adopted, and the optimal resource allocation plan is formulated by comprehensively considering the current usage and future predicted needs. This method can not only improve resource utilization and tenant satisfaction, but also ensure that the service quality of all tenants meets the SLA requirements. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] Figure 1 A flowchart of an AI-assisted cloud computing resource intelligent scheduling method provided by the present invention;
[0045] Figure 2A module structure diagram of an AI-assisted cloud computing resource intelligent scheduling system provided by the present invention. DETAILED DESCRIPTION
[0046] The present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments. It is to be understood that the specific embodiments described herein are only used to explain the present invention, rather than to limit the present invention. It should also be noted that, for ease of description, only the parts related to the present invention, rather than all structures, are shown in the accompanying drawings. In addition, the embodiments of the present invention and the features in the embodiments may be combined with each other without conflict.
[0047] It should also be noted that, for ease of description, only the part relevant to the present invention but not all the content is shown in the accompanying drawings. It should be mentioned before discussing the exemplary embodiments in more detail that some exemplary embodiments are described as the processing or method described as a flow chart. Although the flow chart describes each operation (or step) as being processed sequentially, many operations therein can be implemented in parallel, concurrently or simultaneously. In addition, the order of each operation can be rearranged. When its operation is completed, the processing can be terminated, but it can also have additional steps not included in the accompanying drawings. The processing can correspond to a method, a function, a procedure, a subroutine, a subprogram, etc.
[0048] Embodiment 1
[0049] The present invention provides an AI-assisted cloud computing resource intelligent scheduling method, which is applied to a multi-tenant environment. Figure 1 As shown, the scheduling method includes the following steps:
[0050] S1: Receive a new task, and obtain the tenant ID to which the task belongs and the resources required to calculate the task.
[0051] Specifically, step S1 includes the following steps:
[0052] S101: Obtain a task request.
[0053] In a cloud computing environment, users submit various types of task requests that involve computing, storage, or other resource requirements. In order to effectively manage and schedule these requests, it is necessary to be able to capture and process these task requests quickly and accurately.
[0054] In this embodiment, task requests from users are received through the front-end interface. These requests are submitted through methods including but not limited to API calls, command line tools, etc. At the same time, basic information such as the timestamp and source of the request is recorded and prepared for further processing.
[0055] S102: Parse metadata in the task request to identify the tenant ID to which the task belongs.
[0056] In a cloud computing environment, different tenants have different permissions and resource quotas. Therefore, before scheduling a task, it is necessary to accurately identify the tenant to which the task belongs so that corresponding resources can be allocated according to its tenant identity.
[0057] In this step, the metadata part in the task request is first parsed, which contains the unique identifier of the tenant to which the task belongs (such as the tenant ID). The tenant ID is extracted from the metadata by table lookup and used as an important basis for the subsequent scheduling process.
[0058] Ensure that tasks can be accurately scheduled according to the permissions and resource quotas of the tenants to which they belong, effectively preventing resource abuse and permission violations between tenants.
[0059] S103: According to the specification requirements in the task request, the resource type and resource quantity required for the task are calculated using a preset resource evaluation model.
[0060] Specifically, in step S103, the step of obtaining the resource type and resource quantity required for the task includes:
[0061] S103a: Extracting multiple requirement parameters according to the specification requirements of the task request.
[0062] In a cloud computing environment, different tasks may have different specification requirements, such as CPU requirements, memory requirements, storage requirements, network bandwidth requirements, etc. These requirement parameters are crucial for accurately evaluating the resources required for a task. Therefore, the first step is to parse and extract the specification requirements in the task request in detail.
[0063] Read relevant information from the received task request, which is contained in the JSON data of the HTTP request or other formats of data. Extract necessary specification parameters from the task request, such as the number of CPU cores, memory size, storage capacity, network bandwidth, etc.
[0064] Convert the extracted demand parameters into a standard format within the system, such as converting memory requirements from GB to MB and normalizing the number of CPU cores to an integer value. Verify that the extracted demand parameters are within a reasonable range, such as memory requirements cannot be negative and the number of CPU cores cannot be zero. Store the extracted and standardized parameters in the system database or cache for subsequent calls.
[0065] S103b: Inputting the extracted multiple demand parameters into a preset resource evaluation model, wherein the resource evaluation model is a neural network model obtained through training based on historical data, a task type library, and a performance benchmark.
[0066] In this embodiment, in order to more accurately evaluate the type and quantity of resources required for a task, a trained resource evaluation model is used. The model is trained using multiple factors such as historical data, a task type library, and performance benchmarks to improve the accuracy of resource evaluation.
[0067] Collect historical task data, including resource usage of completed tasks, resource demand characteristics of different types of tasks, etc. Perform feature engineering on the collected data to extract useful features for model training. Select a suitable neural network model (including but not limited to LSTM, CNN), and use the prepared data set for training.
[0068] The demand parameters extracted in step S103a are used as input data and passed to the trained resource evaluation model. The model predicts the type and quantity of resources required for the task based on the input demand parameters. The model outputs the predicted resource demand results, including specific values such as the number of CPU cores, memory size, and storage capacity.
[0069] Automatically assessing resource requirements through machine learning models reduces human errors and improves the intelligence level of resource allocation. Using historical data for model training enables the model to better respond to different types of task requirements and improves the accuracy of resource assessment. The model can provide resource demand forecasts in a short period of time, which speeds up the response speed of resource scheduling.
[0070] S103c: The resource evaluation model calculates and outputs the resource type and resource quantity required for the task according to the input multiple requirement parameters.
[0071] In this embodiment, after the extraction and input of the demand parameters are completed, the resource evaluation model will calculate the type and quantity of resources required for the task based on these parameters, which is a key step in determining the resource allocation strategy.
[0072] Specifically, the demand parameters extracted in step S103a are input into the resource evaluation model trained in step S103b. The model uses internal calculation logic to obtain the required resource type and quantity based on the input demand parameters. The model outputs specific resource demand results, such as 4 CPU cores, 8GB memory size, 100GB storage capacity, etc.
[0073] Record the resource demand results output by the model to facilitate resource allocation decisions in subsequent steps. Use the calculated resource demand results as the basis for subsequent resource allocation to ensure that the task can be executed smoothly. The model can quickly calculate resource requirements, which speeds up the entire scheduling process. Ensure that the resource type and quantity required for the task are accurately configured, avoid over-allocation or under-allocation of resources, and improve resource utilization and service quality. Record the resource demand results output by the model for subsequent auditing and optimization.
[0074] S2: Determine whether the idle resources in the resource pool pre-configured by the tenant ID to which the task belongs are not less than the resources of the task. If not, allocate the task to the resource pool pre-configured by the tenant ID to which it belongs. If so, selectively temporarily allocate unused resources from the remaining tenant resource pools to the tenant to whom the task belongs, and use the temporarily allocated resources to process the task.
[0075] Specifically, step S2 includes the following steps:
[0076] S201: querying in real time the resource usage in the resource pools of tenants other than the tenant to which the task belongs, wherein the resource usage includes allocated resources and idle resources.
[0077] In a multi-tenant environment, in order to ensure the effective use of resources, it is necessary to monitor the resource usage of each tenant in real time. In particular, when a new task requires resources, it is necessary to understand whether there are enough idle resources to support the task or whether resources can be temporarily borrowed from other tenants.
[0078] The specific contents of this step are:
[0079] Regularly or in real time, query the resource pool status of each tenant, including allocated resources and idle resources, collect the current usage of each tenant's resource pool, including detailed information of allocated resources (such as allocated CPU, memory, etc.) and detailed information of idle resources (such as free CPU, memory, etc.), store the collected resource usage in the database for subsequent query and analysis, ensure the real-time and accuracy of the data, and regularly update the resource usage in the database.
[0080] In addition, the resource usage of each tenant can be displayed through a graphical interface to help administrators intuitively understand the resource allocation status. When a tenant's resources are close to the upper limit, the system can issue a warning notification to remind the administrator to take action.
[0081] S202: Compare the queried idle resources with the resources required for the task to determine whether the task requirements are met.
[0082] After determining the type and quantity of resources required for the task, you need to check whether there are enough idle resources in the current system to support the task. If there are not enough resources, you need to consider temporarily borrowing resources from other tenants.
[0083] The detailed implementation content of this step is:
[0084] First, the resource type and quantity required for the task are obtained in step S103, and the idle resources queried in step S201 are compared with the resources required for the task to determine whether the requirements are met.
[0085] Secondly, if there are enough idle resources, directly allocate resources to the task and record the allocation status.
[0086] If the idle resources are insufficient, proceed to the next step and consider temporarily borrowing resources from other tenants.
[0087] This step can ensure that the resources required for the task can be accurately matched, avoiding waste or shortage of resources. At the same time, when resources are insufficient, the backup plan can be activated in time, improving the flexibility and response speed of the system.
[0088] S3: During the temporary resource allocation process, a cross-tenant resource optimization strategy is used to evaluate the current usage and future predicted demand of the remaining tenant resource pools for temporary resource allocation.
[0089] Specifically, step S3 includes the following steps:
[0090] S301: Collect and analyze historical usage data and current status information of resource pools of other tenants.
[0091] In order to ensure efficient use of resources, in a multi-tenant environment, it is necessary to comprehensively consider the historical usage data and current status information of each tenant in order to better evaluate resource requirements and perform resource scheduling. By analyzing this data, future resource requirements can be predicted and reasonable resource allocation decisions can be made accordingly.
[0092] The specific implementation content includes: First, collect the resource usage records of each tenant in the past period of time, including but not limited to CPU usage, memory usage, storage usage, etc. At the same time, monitor the current resource usage of each tenant in real time, including the specific values of allocated resources and idle resources.
[0093] Next, conduct trend analysis on historical data to find out the changing patterns of resource usage, such as peak hours and trough hours.
[0094] In addition, the current status information is analyzed to evaluate the saturation level of current resource usage of each tenant.
[0095] In terms of storage mechanism, the collected historical data and current status information are stored in the system database for subsequent analysis and query.
[0096] In terms of update mechanism, the data in the database is updated regularly to ensure the real-time and accuracy of the information. Through these steps, we can better understand the resource usage habits and needs of tenants and improve the accuracy of resource forecasting; monitor the current status information in real time to ensure the immediacy and effectiveness of resource management.
[0097] S302: Based on the historical usage data and current status information of the resource pools of the remaining tenants, a machine learning model is used to predict the resource demands of the remaining tenants within a preset time period, wherein the resource demands of the remaining tenants include resource demand types, average demand for each resource type, maximum demand, and probability distribution of demand changes.
[0098] Based on the historical usage data and current status information of the resource pools of the remaining tenants, a machine learning model is used to predict the resource demands of the remaining tenants within a preset time period, wherein the resource demands of the remaining tenants include resource demand type, average demand for each resource type, maximum demand, and probability distribution of demand changes.
[0099] The specific implementation contents include:
[0100] Prepare a dataset for training, including historical resource usage data, task type features, etc. Preprocess the data to extract useful features, such as time series features, task type features, etc. Select the LSTM machine learning model and train it using the prepared dataset. Use the current state information as input to predict the resource requirements of each tenant in the future. Output the predicted resource demand results, including resource demand type, average demand for each resource type, maximum demand, and probability distribution of demand changes. Use the prediction results as the basis for subsequent resource scheduling to ensure the forward-looking nature of resource allocation, and record the prediction results for subsequent auditing and optimization.
[0101] S303: Based on the resource requirements of the remaining tenants, a temporary resource allocation plan is formulated and executed in combination with a cross-tenant resource optimization algorithm.
[0102] In order to achieve optimal resource allocation in a multi-tenant environment, it is necessary to formulate a temporary resource allocation plan based on the resource requirements of other tenants and combine the cross-tenant resource optimization algorithm, and actually implement the plan. Through the optimization algorithm, it is possible to maximize resource utilization while meeting the resource requirements of each tenant.
[0103] The detailed implementation content of this step is:
[0104] Define a multi-objective optimization function that takes into account the importance of multiple objectives, such as resource cost, latency, etc. At the same time, set weight factors to balance the importance of different objectives.
[0105] Then, set constraints, including:
[0106] Total resource constraint: Ensure that the total amount of allocated resources does not exceed the total amount of available idle resources.
[0107] SLA constraint: Ensures that the amount of resources each tenant receives according to its own SLA is not less than its minimum requirement.
[0108] Resource borrowing constraints: Ensure that the amount of additional resources borrowed by a tenant does not exceed the maximum amount of additional resources that it can borrow.
[0109] Select a linear programming solver, and input the multi-objective optimization function and constraints into the solver for solving. The solver outputs the amount of additional resources that can be temporarily allocated to each tenant. Based on the results output by the solver, resources are borrowed in turn from the remaining tenants with additional resources that can be temporarily allocated until the resource requirements of the task are met.
[0110] Specifically, S303 includes the following steps:
[0111] S303a: Define a multi-objective optimization function, wherein the expression of the multi-objective optimization function is:
[0112]
[0113] Among them, α, β and γ are weight factors used to balance the importance of different objectives. i ) represents the additional resources x allocated to tenant i i The cost, B(x i ) represents the delay caused by resource allocation, c i represents the pre-configured resources of tenant i, x i represents the additional resources that tenant i can temporarily allocate, d i represents the demand of tenant i, and f(·) represents the multi-objective optimization function.
[0114] In a multi-tenant environment, in order to maximize resource utilization while meeting the resource requirements of each tenant, a multi-objective optimization function is defined in step S303a. This function considers the importance of multiple objectives, such as resource cost, latency, etc., and sets weight factors to balance the importance of different objectives.
[0115] S303b: Setting constraints, wherein the constraints include total resource constraints, SLA constraints and resource borrowing constraints, and the expressions are:
[0116]
[0117] (c i +x i )≥SLA i
[0118] 0≤x i ≤X max
[0119] Among them, R represents the total amount of available idle resources, SLA i represents the minimum amount of resources that tenant i should get according to its SLA, X max Indicates the maximum amount of additional resources that tenant i can borrow.
[0120] In this embodiment, in order to ensure the feasibility of the resource allocation plan, a series of constraints are set, including total resource constraints, SLA constraints and resource borrowing constraints. Among them, the total resource constraints can ensure that the total amount of allocated resources does not exceed the total amount of available idle resources; the SLA constraints can ensure that the amount of resources obtained by each tenant according to its own SLA is not less than its minimum demand; the resource borrowing constraints can ensure that the additional resources borrowed by the tenant does not exceed the maximum additional resources that it can borrow.
[0121] S303c: Input the multi-objective optimization function and the constraint conditions into the selected solver for solving, and obtain the additional resources that can be temporarily allocated to each tenant.
[0122] In this embodiment, after the multi-objective optimization function and constraint conditions are defined, they need to be input into the selected solver for solving to obtain the additional resources that can be temporarily allocated to each tenant.
[0123] The multi-objective optimization function and constraints are input into the linear programming solver, which solves the problem based on the input data and outputs the amount of additional resources that can be temporarily allocated to each tenant.
[0124] S303d: Perform resource scheduling according to the additional resources that can be temporarily allocated to each tenant to meet the resources required for the task.
[0125] In this embodiment, after completing the resource demand prediction and solving the optimization algorithm, it is necessary to perform actual resource scheduling operations based on the additional resources that can be temporarily allocated to each tenant to ensure that the new task can obtain the required resources.
[0126] The specific implementation contents include:
[0127] First, confirm the type and quantity of resources required for the task to ensure that the demand is clear; according to the solution result of step S303c, obtain a list of additional resources that can be temporarily allocated to each tenant; prioritize the additional resources according to certain rules (including but not limited to resource cost, delay time, etc.) to ensure that resources with lower cost or less delay are borrowed first; start from the tenant with the highest priority and borrow their additional resources that can be temporarily allocated in turn; initiate a resource borrowing request to the tenant with the highest priority and try to allocate the required resources; once the resources are successfully borrowed, immediately record the resource allocation and update the resource pool status; if the first attempt fails to fully meet the demand, continue to initiate a request to the next priority tenant until all resources required for the task are met; once the resource borrowing is completed, send a notification to the tenant who borrowed the resource to inform it that the resource has been borrowed; record the final resource borrowing situation, including which tenants have provided additional resources and their quantity, for subsequent audit and resource return; formulate a resource return schedule and strategy according to the resource borrowing agreement to ensure that the borrowed resources are returned to the original tenant within the scheduled time; continuously monitor the use of borrowed resources to ensure that resources are used on demand and released in time after the task is completed.
[0128] For example, assume that there is a multi-tenant cloud computing environment, in which there are three tenants: Tenant A, Tenant B, and Tenant C. Currently, a new task T1 has made a resource request, and T1 requires 2 CPU cores, 4 GB of memory, and 50 GB of storage space.
[0129] 1. Confirm resource requirements
[0130] First, confirm the resource type and quantity required for the new task T1:
[0131] Number of CPU cores: 2
[0132] Memory size: 4GB
[0133] Storage capacity: 50GB
[0134] 2. Get a list of additional resources
[0135] According to the solution result of step S303c, it is assumed that the following additional resource list is obtained:
[0136] Tenant A: The additional resources that can be temporarily allocated are 1 CPU core, 2 GB of memory, and 30 GB of storage space.
[0137] Tenant B: The additional resources that can be temporarily allocated are 2 CPU cores, 4 GB of memory, and 70 GB of storage space.
[0138] Tenant C: The additional resources that can be temporarily allocated are 1 CPU core, 3 GB of memory, and 60 GB of storage space.
[0139] 3. Resource borrowing sorting
[0140] Prioritize additional resources based on factors such as resource cost and latency. Assume the following is the order of priority:
[0141] Tenant B: Lower resource costs and less latency.
[0142] Tenant A: Moderate resource cost and moderate latency.
[0143] Tenant C: higher resource costs and greater latency.
[0144] 4. Resource allocation execution
[0145] Starting with the tenants with the highest priority, their temporarily allocated additional resources are borrowed in turn.
[0146] Initiate a resource borrowing request to tenant B and try to allocate the required resources:
[0147] The resources that tenant B can provide are 2 CPU cores, 4 GB of memory, and 70 GB of storage space.
[0148] Tenant B's resources fully meet T1's needs.
[0149] Record resource allocation: Tenant B is allocated 12 CPU cores, 4 GB of memory, and 50 GB of storage space to T.
[0150] Update resource pool status: Tenant B's idle resources decrease.
[0151] 5. Resource borrowing feedback
[0152] A notification is sent to Tenant B, informing it that its resources have been borrowed.
[0153] Record the final resource borrowing situation: Tenant B provides 2 CPU cores, 4GB of memory, and 50GB of storage space.
[0154] 6. Resource return plan
[0155] Develop a resource return schedule and strategy to ensure that borrowed resources are returned to the original tenant within the scheduled time.
[0156] Continuously monitor the usage of borrowed resources to ensure that resources are used as needed and released in a timely manner after the task is completed.
[0157] Through the above steps, task T1 successfully obtains the required resources. Specifically:
[0158] Tenant B's resources are borrowed to meet T1's needs.
[0159] The system records the resource borrowing situation and notifies the relevant tenants.
[0160] A resource return plan was developed to ensure that resources can be returned in a timely manner after the task is completed.
[0161] In this way, not only can new tasks quickly obtain the required resources, improving the efficiency of task processing, but also the fairness of resource allocation is ensured through priority sorting and resource borrowing protocols, and the flexibility and adaptability of the system are enhanced. In addition, recording resource borrowing and return ensures the transparency of resource management, which is convenient for subsequent auditing and optimizing resource allocation.
[0162] The working principle of an AI-assisted cloud computing resource intelligent scheduling method provided by the present invention is as follows:
[0163] First, it receives a new task request, determines the tenant ID to which the task belongs by parsing the metadata, and uses the preset resource evaluation model (a neural network model trained based on historical data, task type library, and performance benchmark) to accurately calculate the type and quantity of resources required for the task.
[0164] Subsequently, a real-time query is performed to determine whether the idle resources in the tenant's pre-configured resource pool meet the task requirements. If not, a cross-tenant resource scheduling solution is considered, that is, the current idle situation and future predicted demand of other tenant resource pools are evaluated.
[0165] In the process of cross-tenant resource allocation, a machine learning model is used to predict the resource needs of other tenants in the future, and a temporary resource allocation plan is formulated in combination with a cross-tenant resource optimization algorithm. This plan ensures the rationality and effectiveness of resource allocation by defining a multi-objective optimization function (considering cost, latency, and pre-configured resources) and setting corresponding constraints (total resources, SLA constraints, and resource borrowing constraints).
[0166] Finally, according to the optimized resource allocation plan, necessary idle resources are borrowed from other tenants until all resource requirements of the current task are met, realizing intelligent scheduling and efficient utilization of resources.
[0167] Embodiment 2
[0168] The present invention also provides an AI-assisted cloud computing resource intelligent scheduling system for executing an AI-assisted cloud computing resource intelligent scheduling method, referring to Figure 2 As shown, the scheduling system includes:
[0169] The task resource parsing module 100 is used to receive a new task, and obtain the tenant ID to which the task belongs and the resources required for calculating the task.
[0170] The resource allocation module 200 is used to determine whether the idle resources in the resource pool pre-configured by the tenant ID to which the task belongs are not less than the resources of the task. If not, the task is allocated to the resource pool pre-configured by the tenant ID to which it belongs. If so, unused resources are selectively temporarily allocated from the remaining tenant resource pools to the tenant to whom the task belongs, and the task is processed using the temporarily allocated resources.
[0171] The cross-tenant optimization module 300 is used to evaluate the current usage and future predicted demand of the resource pools of other tenants to perform temporary resource allocation by adopting a cross-tenant resource optimization strategy during the temporary resource allocation process.
[0172] The present application is described with reference to flowcharts and / or block diagrams of methods, devices (systems) and computer program products according to embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0173] A person of ordinary skill in the art can understand that all or part of the steps in the various methods of the above embodiments can be completed by instructing related hardware through a program, and the program can be stored in a computer-readable storage medium, and the storage medium includes a read-only memory (ROM), a random access memory (RAM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), a one-time programmable read-only memory (OTPROM), an electronically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, magnetic disk storage, magnetic tape storage, or any other computer-readable medium that can be used to carry or store data.
[0174] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
Claims
1. An AI-assisted cloud computing resource intelligent scheduling method, applied to a multi-tenant environment, characterized in that: The scheduling method comprises the following steps: Receive a new task, and obtain the tenant ID to which the task belongs and the resources required to calculate the task; Determine whether the idle resources in the resource pool preconfigured by the tenant ID to which the task belongs are not less than the resources of the task. If not, allocate the task to the resource pool preconfigured by the tenant ID to which it belongs. If yes, selectively temporarily allocate unused resources from the remaining tenant resource pools to the tenant to which the task belongs, and use the temporarily allocated resources to process the task; During the temporary resource allocation process, a cross-tenant resource optimization strategy is used to evaluate the current usage and future predicted demand of the remaining tenant resource pools for temporary resource allocation.
2. According to claim 1, an AI-assisted cloud computing resource intelligent scheduling method is characterized in that: The receiving of a new task and obtaining the tenant ID to which the task belongs and the resources required for calculating the task include: Get task request; Parse the metadata in the task request to identify the tenant ID to which the task belongs; According to the specification requirements in the task request, the resource type and quantity required for the task are calculated through a preset resource evaluation model.
3. According to claim 2, an AI-assisted cloud computing resource intelligent scheduling method is characterized in that: The method of calculating the resource type and quantity required for the task through a preset resource evaluation model according to the specification requirements in the task request includes: Extract multiple requirement parameters according to the specification requirements of the task request; Inputting the extracted multiple demand parameters into a preset resource evaluation model, wherein the resource evaluation model is a neural network model obtained by training based on historical data, a task type library, and a performance benchmark; The resource evaluation model calculates and outputs the resource type and resource quantity required for the task according to multiple input requirement parameters.
4. According to claim 3, an AI-assisted cloud computing resource intelligent scheduling method is characterized in that: The determining whether the idle resources in the resource pool preconfigured by the tenant ID to which the task belongs are not less than the resources of the task includes: Real-time query of resource usage in the resource pools of tenants other than the tenant to which the task belongs, wherein the resource usage includes allocated resources and idle resources; The queried idle resources are compared with the resources required for the task to determine whether the task requirements are met.
5. According to claim 4, an AI-assisted cloud computing resource intelligent scheduling method is characterized in that: In the process of temporary resource allocation, a cross-tenant resource optimization strategy is used to evaluate the current usage and future predicted demand of the resource pools of other tenants to perform temporary resource allocation, including: Collect and analyze historical usage data and current status information of resource pools of other tenants; Based on the historical usage data and current status information of the resource pools of the remaining tenants, a machine learning model is used to predict the resource requirements of the remaining tenants within a preset time period, wherein the resource requirements of the remaining tenants include resource requirement types, average demand for each resource type, maximum demand, and probability distribution of demand changes; Based on the resource requirements of other tenants, a temporary resource allocation plan is formulated and executed in combination with the cross-tenant resource optimization algorithm.
6. The AI-assisted cloud computing resource intelligent scheduling method according to claim 5, characterized in that: The temporary resource allocation plan is formulated and executed based on the resource requirements of other tenants in combination with the cross-tenant resource optimization algorithm, including: A multi-objective optimization function is defined, wherein the expression of the multi-objective optimization function is: Among them, α, β and γ are weight factors used to balance the importance of different objectives. i ) represents the additional resources x allocated to tenant i i The cost, B(x i ) represents the delay caused by resource allocation, c i represents the pre-configured resources of tenant i, x i represents the additional resources that can be temporarily allocated to tenant i, d i represents the demand of tenant i, f(·) represents the multi-objective optimization function; Set constraints, where the constraints include total resource constraints, SLA constraints, and resource borrowing constraints, and the expressions are: (c i +x i )≥SLA i 0≤x i ≤X max Among them, R represents the total amount of available idle resources, SLA i represents the minimum amount of resources that tenant i should get according to its SLA, X max represents the maximum amount of additional resources that tenant i can borrow; Input the multi-objective optimization function and the constraint conditions into the selected solver for solving, and obtain the additional resources that can be temporarily allocated to each tenant; Resource scheduling is performed based on the additional resources that can be temporarily allocated to each tenant to meet the resources required for the task.
7. The AI-assisted cloud computing resource intelligent scheduling method according to claim 6, characterized in that: The resource scheduling is performed according to the additional resources that can be temporarily allocated to each tenant to meet the resources required for the task, including: Resources are borrowed sequentially from other tenants that have temporarily allocated additional resources until the resource requirements of the task are met.
8. An AI-assisted cloud computing resource intelligent scheduling system, used to execute an AI-assisted cloud computing resource intelligent scheduling method as claimed in any one of claims 1 to 7, characterized in that: The dispatching system comprises: The task resource parsing module is used to receive a new task and obtain the tenant ID to which the task belongs and the resources required to calculate the task; A resource allocation module, used to determine whether the idle resources in the resource pool preconfigured by the tenant ID to which the task belongs are not less than the resources of the task. If not, the task is allocated to the resource pool preconfigured by the tenant ID to which it belongs. If so, unused resources are selectively temporarily allocated from the remaining tenant resource pools to the tenant to which the task belongs, and the task is processed using the temporarily allocated resources; The cross-tenant optimization module is used to evaluate the current usage and future predicted demand of the resource pools of other tenants to make temporary resource allocations by adopting the cross-tenant resource optimization strategy during the temporary resource allocation process.
Citation Information
Cited By
Multi-tenant grouped dynamic cloud password computing resource allocation method and middleware device
CN119995877A
