Batch processing application scheduling framework and method for hybrid components in a hybrid cloud platform
Patent Information
- Application Number
- CN202210878863.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-25
- Publication Date
- 2026-10-27
- Estimated Expiration
- 2042-07-25
AI Technical Summary
[0027]本发明的混合云计算范式中的软件,即服务(SaaS)提供商可以将其本地服务无缝扩展到公共云中。通过这种方式,可以通过租用公共云中的实例灵活地处理动态的工作负载,混合云相比私有云可以节省成本且具有可观的租赁成本,本发明主要关注于可并行计算的批处理任务,通过在线学习和预测算法的技术手段,评估节点可用的计算能力,从而将任务分配到计算能力“合适”的实例上运行,既避免了计算能力的浪费,节省了成本,又保证了任务的按时完成。通过这种调度方案,也有效地节省用户的租赁成本。
Smart Images

Figure CN115168047B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of cloud computing, and in particular relates to a batch processing application scheduling framework and method for hybrid cloud platforms. Background Technology
[0002] Hybrid cloud, as a form of cloud computing, combines private and public clouds to improve resource utilization across clouds. It allows enterprises to use easily scalable public clouds to handle dynamic workloads while relegating less volatile or more sensitive workloads to private clouds or on-premises data centers. It also enables the allocation of public cloud resources for short-term projects at a lower cost, eliminating the need to purchase temporary equipment. However, hybrid cloud involves higher rental costs for public clouds. These rental costs are related to task scheduling strategies; optimizing these strategies can help enterprises save on the expenses associated with renting public cloud instances.
[0003] Another important goal of cluster management is to improve resource utilization. As cluster size increases and infrastructure costs rise, resource utilization issues become increasingly prominent, leading to the emergence of mixed deployment technology. However, in mixed deployment scenarios, the competition for resources between online and offline tasks significantly increases the difficulty of task scheduling.
[0004] However, hybrid cloud + mixed deployment technology has become a new trend. In this scenario, task scheduling strategies directly impact the rental costs incurred by enterprises on the public cloud. However, this scenario currently presents significant challenges, and based on relevant scheduling strategy research, it is necessary to provide a scheduling method for batch processing tasks in this scenario. Summary of the Invention
[0005] To address the shortcomings of existing technologies, this invention provides a batch processing application scheduling framework and method for hybrid cloud platforms.
[0006] This invention is achieved through the following technical solution: a batch processing application scheduling method in a hybrid cloud platform, the method comprising the following steps:
[0007] (1) Task Request Processing: At the beginning of each scheduling cycle, the workload that needs to be completed in the current cycle is calculated based on the cluster information of the private cloud, and then sorted from largest to smallest according to the workload; the workload is calculated as the ratio of the workload that should be completed in the current scheduling cycle to the amount of idle resources in the private cloud, and the specific calculation method is as follows:
[0008]
[0009] Where i represents the i-th scheduling cycle; Let z be the amount of work that task j should complete in the i-th cycle; j The remaining workload for task j; d j N represents the remaining time for task j; i The amount of idle resources in the private cloud during the current period; This represents the historical average amount of idle resources in a private cloud.
[0010] (2) Scheduling Algorithm: Tasks are scheduled sequentially according to the order in step (1). Each task may have multiple allocation schemes. The allocation scheme with the lowest cost is selected by calculating the total cost using a cost function. The formula for calculating the total cost is as follows:
[0011]
[0012] in, is the number of private cloud instances assigned to task j; n is the number of the private cloud instances assigned to task j. For α n The price of a public cloud instance with the same computing power as the corresponding private cloud instance; λ is the weight of opportunity cost; Cost is the cost of renting a public cloud node; Penalty is the penalty for not completing the workload;
[0013] (3) Adjusting scheduling algorithm parameters: The scheduling algorithm parameter adjustment component uses the private cloud load data and public cloud bidding instance price data within the current scheduling cycle to simulate the cost of setting the scheduling algorithm module to other values in the last stage of the current scheduling cycle, and adjusts the parameters of the scheduling algorithm module in the next scheduling cycle according to the simulated cost.
[0014] (4) Update cluster status: The cluster status update component uses the private cloud load data in the current scheduling cycle to predict the private cloud load in the next scheduling cycle at the last stage of the current scheduling cycle, and updates the cluster status information with the predicted load based on the prediction results, in preparation for the request processing module in the next scheduling cycle.
[0015] The framework includes a request processing module, a scheduling algorithm module, and an adjustment module:
[0016] The request processing module receives task requests and calculates the amount of work that all tasks to be processed need to complete in the current scheduling cycle.
[0017] The scheduling algorithm module selects the lowest-cost allocation scheme from the processed set of tasks to be scheduled based on the cluster status information of load prediction.
[0018] The algorithm adjustment module includes a scheduling algorithm parameter adjustment component and a cluster status update component. The scheduling algorithm parameter adjustment component adjusts the parameter values of the scheduling algorithm module using private cloud load data and public cloud auction instance price data within the current scheduling period through online learning. The cluster status update component predicts the load for the next scheduling period using private cloud load data within the current scheduling period and updates the cluster status information based on the predicted load to prepare for the request processing module in the next scheduling period.
[0019] The scheduling algorithm module uses the concept of opportunity cost to calculate the opportunity cost for nodes in the private cloud. The value is the weight multiplied by the price of the corresponding node in the public cloud. The cost of each allocation scheme includes: the opportunity cost of the private cloud node, the rental cost of the public cloud node, and the penalty for not completing the workload that should be completed in the current scheduling cycle.
[0020] Specifically, in the request processing, all unfinished tasks are first described by a triple including remaining time, remaining workload, and maximum concurrency, and then the workload that all unfinished tasks should complete within the current scheduling cycle is calculated.
[0021] Furthermore, the cost function includes three factors: opportunity cost, actual rental cost, and penalty for failing to complete the specified workload. The opportunity cost is the cost of allocating instances with longer availability to tasks with smaller workloads and the waste caused by underutilization of instance computing power. The actual rental cost is the fee that the allocation scheme needs to pay to the public cloud. The penalty is the cost incurred when the workload that the allocation scheme is expected to complete is less than the workload required by the task, and the cost of purchasing on-demand instances from the public cloud.
[0022] Specifically, the workload calculation is a scheduling algorithm. The scheduling result is affected by the parameter values of the algorithm. There are N possible parameter value setting schemes for the scheduling algorithm, and N≥1. The setting scheme is randomly selected during scheduling, and the probability of selecting a certain scheme is also affected by the weight of that scheme.
[0023] Specifically, in the aforementioned adjustment scheduling algorithm, the parameters affecting its scheduling include: the weight of opportunity cost, the price of auction instances in the public cloud, and availability; the algorithm selects a certain number of optional values for each parameter according to the value range and gradient of the three parameters; at the end of the cycle, the weight of each scheme in the next cycle is adjusted based on the rental cost of different schemes simulated in the previous cycle; the method for adjusting the weight of each scheme is as follows: the rental cost of the k-th scheme in the simulation is C. k The average cost of all simulated schemes is The new weight values for each option are:
[0024]
[0025] Among them, w k This represents the original weight value of the k-th scheme.
[0026] The beneficial effects of this invention are as follows:
[0027] In this invention's hybrid cloud computing paradigm, Software as a Service (SaaS) providers can seamlessly extend their on-premises services to the public cloud. This allows for flexible handling of dynamic workloads by renting instances in the public cloud. Compared to private clouds, hybrid clouds offer cost savings and substantial rental costs. This invention primarily focuses on batch processing tasks that can be computed in parallel. Through online learning and prediction algorithms, it assesses the available computing power of nodes, thereby allocating tasks to instances with "suitable" computing power. This avoids wasting computing power, saves costs, and ensures timely task completion. This scheduling scheme also effectively reduces rental costs for users. Attached Figure Description
[0028] Figure 1 This is a flowchart illustrating the framework and method of the present invention. Detailed Implementation
[0029] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0030] like Figure 1 As shown, this invention discloses a batch processing application scheduling framework and method for hybrid cloud platforms. The framework includes a request processing module, a scheduling algorithm module, and an adjustment module. The request processing module receives task requests at the start of a scheduling cycle and calculates the workload required for all incomplete tasks within the current scheduling cycle. Then, it schedules these tasks sequentially according to their workload, from largest to smallest. The scheduling algorithm module selects the lowest-cost allocation scheme based on the current private cloud cluster status. The algorithm adjustment module includes a scheduling algorithm parameter adjustment component and a cluster status update component. The scheduling algorithm parameter adjustment component uses private cloud load data and public cloud auction instance price data within the current scheduling cycle to adjust the parameter values of the scheduling algorithm module through online learning. The cluster status update component uses private cloud load data within the current scheduling cycle to predict the load for the next scheduling cycle and updates the cluster status information based on the predicted load, preparing for the request processing module in the next scheduling cycle. The method specifically includes the following steps:
[0031] (1) Task Request Processing: At the beginning of each scheduling cycle, all unfinished batch processing tasks in the cluster will be processed uniformly by the request processing module; through the triple {d j ,z j ,δ j Let z be used to describe task j, where z j The remaining workload for task j; d j δ represents the remaining time for task j; j Let `j` be the maximum concurrency of task `j`. Based on the cluster information of the private cloud, calculate the workload required for the current cycle of the task and sort them in descending order of workload.
[0032] (2) Task Scheduling: Tasks are scheduled according to the order completed in step (1). Considering opportunity cost, actual rental cost, and penalty for failing to complete the specified workload, the allocation scheme with the lowest cost is selected. The cost function includes three factors: opportunity cost, actual rental cost, and penalty for failing to complete the specified workload. The opportunity cost is the cost of allocating a more available instance to a task with a smaller workload and the waste caused by underutilization of instance computing power. The actual rental cost is the fee that the allocation scheme needs to pay to the public cloud. The penalty is the cost incurred when the workload that the allocation scheme is expected to complete is less than the workload required by the task, and the cost of purchasing on-demand instances of the public cloud.
[0033] (3) Scheduling algorithm parameter adjustment: The scheduling algorithm parameter adjustment component uses the private cloud load data and public cloud bidding instance price data within the current scheduling cycle to simulate the cost of setting the scheduling algorithm module to other values in the last stage of the current scheduling cycle, and adjusts the parameters of the scheduling algorithm module in the next scheduling cycle according to the simulated cost.
[0034] (4) Cluster status update: The cluster status update component uses the private cloud load data in the current scheduling cycle to predict the private cloud load in the next scheduling cycle at the last stage of the current scheduling cycle, and updates the cluster status information with the predicted load based on the prediction results, in preparation for the request processing module in the next scheduling cycle.
[0035] Specifically, in step (1), the task request processing involves all unfinished batch processing tasks in the cluster being processed uniformly by the request processing module at the beginning of each scheduling cycle. This is achieved through the triple {d} j ,z j ,δ j Let z be used to describe task j. Where z j The remaining workload for task j; d j δ represents the remaining time for task j; jLet j be the maximum concurrency of task j. Based on the private cloud cluster information, calculate the workload that should be completed in the current scheduling cycle. The workload to be completed in the current scheduling cycle is proportional to the amount of idle resources in the private cloud. The specific calculation method is as follows:
[0036]
[0037] Where, N i The amount of idle resources in the private cloud during the current period; This represents the historical average amount of idle resources in a private cloud.
[0038] After calculating the workload of all tasks, sort them from largest to smallest according to the workload value.
[0039] In step (2), task scheduling takes into account that tasks with larger workloads are more urgent and require more resources per unit time. Therefore, tasks are scheduled sequentially according to the task order in step (1).
[0040] The node types in the cluster, ranked from lowest to highest price, are: private cloud instances, public cloud spot instances, and public cloud on-demand instances. At any given time, task j can acquire a maximum of δ machines. j Therefore, for task j in the i-th scheduling cycle, all feasible allocation schemes are:
[0041]
[0042]
[0043]
[0044]
[0045] in, This refers to the number of private cloud instances. This refers to the number of public cloud spot instances. This refers to the number of on-demand instances for the public cloud.
[0046] Taking into account opportunity cost, actual rental cost, and penalties for failing to complete the specified workload, the total cost is calculated using the following formula:
[0047]
[0048] in, is the number of private cloud instances assigned to task j; n is the number of the private cloud instances assigned to task j. For α nThe price of a public cloud instance with the same computing power as the corresponding private cloud instance; λ is the opportunity cost weight; Cost is the cost of leasing a public cloud node; Penalty is the penalty for incomplete workload. The scheme with the lowest total cost is selected for scheduling.
[0049] The parameters of the scheduling algorithm in step (3) need to be adjusted according to the current task volume, the remaining resources of the private cloud, the price of the bidding instance, and the availability.
[0050] The parameters in the scheduling algorithm are adjusted through online learning. For parameters affecting scheduling, including the opportunity cost weight, the price of auction instances in the public cloud, and availability, a certain number of optional values are selected for each parameter according to their range and gradient. These optional values are then combined to form n different parameter setting schemes. At the end of the scheduling cycle, the rental costs under different schemes from the previous cycle are simulated, and the weights of each scheme are adjusted accordingly.
[0051] The weights of each option are adjusted as follows: the rental cost of option k in the simulation is C. k The average cost of all simulated schemes is The new weight values for each option are: Among them, w k This represents the original weight value of the k-th scheme.
[0052] The cluster status update in step (4) takes into account that a considerable amount of online service load in the mixed-distribution cluster is predictable, and the remaining resources in the private cloud are the total resources occupied by online services. At the end of the scheduling cycle, the Time Series Data Prediction Algorithm (ARIMA) is used to predict the remaining resources in the private cloud for the next scheduling cycle. This provides data for task request processing in the next scheduling cycle.
Claims
1. A batch processing application scheduling method for hybrid cloud platforms, characterized in that, The method includes the following steps: (1) Task request processing: At the beginning of each scheduling cycle, the workload that the task needs to complete in the current cycle is calculated based on the cluster information of the private cloud, and sorted from largest to smallest according to the workload; the workload is calculated as the ratio of the workload that should be completed in the current scheduling cycle to the amount of idle resources in the private cloud, and the specific calculation method is as follows: ; Where i represents the i-th scheduling cycle; ; The remaining workload for task j; The remaining time for task j; The amount of idle resources in the private cloud during the current period; This represents the historical average amount of idle resources in a private cloud. (2) Scheduling Algorithm: Tasks are scheduled sequentially according to the order in step (1). Each task may have multiple allocation schemes. The allocation scheme with the lowest cost is selected by constructing a cost function to calculate the total cost. The formula for calculating the total cost is as follows: ; in, Let n be the number of private cloud instances assigned to task j; n is the number of the private cloud instances assigned to task j, 1 <= n <= , for The price of a public cloud instance with the same computing power as a private cloud instance of the same type; Weighting for opportunity cost; The cost of renting public cloud nodes; As a penalty for not completing the workload; (3) Adjusting scheduling algorithm parameters: The scheduling algorithm parameter adjustment component uses the private cloud load data and public cloud bidding instance price data within the current scheduling cycle to simulate the cost of setting the scheduling algorithm module to other values in the last stage of the current scheduling cycle, and adjusts the parameters of the scheduling algorithm module in the next scheduling cycle according to the simulated cost. (4) Update cluster status: The cluster status update component uses the private cloud load data in the current scheduling cycle to predict the private cloud load in the next scheduling cycle at the last stage of the current scheduling cycle, and updates the cluster status information with the predicted load based on the prediction results, in preparation for the request processing module in the next scheduling cycle.
2. The batch processing application scheduling method for hybrid cloud platforms according to claim 1, characterized in that, In the request processing, all unfinished tasks are first described by a triple including remaining time, remaining workload, and maximum concurrency, and then the workload that all unfinished tasks should complete within the current scheduling period is calculated.
3. The batch processing application scheduling method for hybrid cloud platforms according to claim 1, characterized in that, The cost function includes three factors: opportunity cost, actual rental cost, and penalty for failing to complete the specified workload. The opportunity cost is the cost of allocating a longer available instance to a task with a smaller workload and the waste caused by underutilization of instance computing power. The actual rental cost is the fee that the allocation scheme needs to pay to the public cloud. The penalty is the cost incurred when the workload that the allocation scheme is expected to complete is less than the workload required by the task, and the cost of purchasing on-demand instances from the public cloud.
4. The batch processing application scheduling method for hybrid cloud platforms according to claim 1, characterized in that, The workload calculation is performed using a scheduling algorithm. The scheduling result is affected by the algorithm's parameter values. There are N possible parameter value settings for the scheduling algorithm, and N...
1. During scheduling, a setting scheme is randomly selected, and the probability of selecting a certain scheme is also affected by the weight of that scheme.
5. The batch processing application scheduling method for hybrid cloud platforms according to claim 1, characterized in that, In the aforementioned scheduling adjustment algorithm, the parameters affecting scheduling include: the opportunity cost weight, the price of auction instances in the public cloud, and availability; the algorithm selects a certain number of optional values for each parameter according to their range and gradient; at the end of the cycle, the weight of each scheme in the next cycle is adjusted based on the rental cost of different schemes simulated in the previous cycle; the method for adjusting the weight of each scheme is as follows: the rental cost of the k-th scheme in the simulation is... The average cost of all simulated schemes is The new weight values for each option are: ; in, This represents the original weight value of the k-th scheme.
6. A system for executing the batch processing application scheduling method in a hybrid cloud platform according to any one of claims 1-5, characterized in that, The system includes a request processing module, a scheduling algorithm module, and an algorithm adjustment module: The request processing module receives task requests and calculates the amount of work that all tasks to be processed need to complete in the current scheduling cycle. The scheduling algorithm module selects the cost of the processed task set to be scheduled based on the cluster status information of load prediction. The lowest possible allocation scheme; The algorithm adjustment module includes a scheduling algorithm parameter adjustment component and a cluster state update component. The scheduling algorithm... The parameter adjustment component uses private cloud load data and public cloud auction instance price data within the current scheduling cycle to adjust the parameter values of the scheduling algorithm module through online learning. The cluster status update component uses private cloud load data within the current scheduling cycle to predict the load for the next scheduling cycle, and updates the cluster status information based on the predicted load to prepare for the request processing module in the next scheduling cycle.
7. A batch processing application scheduling system for a hybrid cloud platform according to claim 6, characterized in that, The scheduling algorithm module uses the concept of opportunity cost to calculate the opportunity cost for nodes in the private cloud. The value is the weight multiplied by the price of the corresponding node in the public cloud. The cost of each allocation scheme includes: the opportunity cost of the private cloud node, the rental cost of the public cloud node, and the penalty for not completing the workload that should be completed in the current scheduling cycle.
Citation Information
Patent Citations
Time-perceptible request scheduling method in hybrid cloud environment
CN107317836A
Workflow cost-delay optimization task allocation method based on hybrid cloud
CN110308967A