A workflow fault-tolerant scheduling method of a geographically distributed data center system
Patent Information
- Application Number
- CN202311583691.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-23
- Publication Date
- 2026-08-21
- Estimated Expiration
- 2043-11-23
AI Technical Summary
但是这些方法都没有考虑跨数据中心传输的工作流容错调度
[0063]本发明所述方法能够在地理分布式数据中心环境下综合考虑工作流的数据存储、数据传输、任务执行可靠性以及截止期限的需求,实现总成本最低的工作流优化调度方案。
Smart Images

Figure CN117421161B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of cross-data center data transmission and data backup technology, and more specifically to a workflow fault-tolerant scheduling method in a geographically distributed data center system. Background Technology
[0002] Today, cloud data centers receive massive amounts of data, and this volume is growing rapidly. According to Statista, 48% of enterprises migrated their workloads to the public cloud in 2020. Through various virtualization technologies such as server virtualization and storage virtualization, users can access on-demand cloud resources and pay-as-you-go billing with minimal management effort, without significant upfront investment. Therefore, cost is one of the main considerations for cloud services. To achieve globalization of cloud computing services, cloud service providers (CSPs) connect cloud data centers in different regions to form cross-regional distributed data center systems, creating a better cloud service environment for users with lower operating costs and greater application elasticity. Furthermore, cloud service providers such as Amazon EC2 and IBM Softlayer can provide virtual machine (VM) instances with varying CPU capacities to meet the diverse needs of various workflows. However, during workflow scheduling, CSPs and VMs are inevitably subject to various failures. Reliability requirements are also an important Quality of Service (QoS) standard; for example, Amazon EC2's Service Level Agreement (SLA) provides 99.99% uptime, ensuring a reliability requirement of 0.9999%. In a geographically distributed data center environment, introducing fault-tolerant technology based on active replication into workflow scheduling can effectively enhance workflow reliability and reduce system costs.
[0003] Currently, scholars have made some progress in the research of task scheduling in cloud computing. However, there is still no highly reliable scheduling method for workflows transmitted across data centers in geographically distributed data center systems. For example, the paper "Quantitative Fault-Tolerance for Reliable Workflows on Heterogeneous IaaS Clouds" discloses a quantitative fault-tolerant scheduling method for workflows on heterogeneous Infrastructure as a Service (IaaS) clouds. This method can minimize execution costs and reduce replica redundancy while meeting the reliability requirements of workflow task execution. The paper "Multi-objective optimization of data deployment and scheduling based on the minimum cost in geo-distributed cloud" discloses a data deployment method for geographically distributed data centers. This method shortens application completion time and reduces cluster resource consumption while improving cluster throughput under the constraints of cost, capacity, and load balancing. The paper "Uncertainty-aware scheduling of real-time workflows under deadline constraints on multi-cloud systems" discloses a real-time workflow scheduling method for multi-cloud systems. This method minimizes the total rental cost of virtual machines while meeting deadline constraints and using checkpointing technology to ensure the reliability requirements of task execution. However, none of these methods take into account fault-tolerant scheduling of workflows transmitted across data centers.
[0004] Existing task scheduling schemes in geographic distributed data center environments do not fully consider scenarios where failures occur during data storage, data transmission, and task execution. When workflows have high reliability requirements, data center failures or inter-data center transmission failures can lead to extended completion times and resource waste, and may even prevent the workflow from being successfully completed. The technical problem addressed by this invention is to enable highly reliable workflow execution in a geographic distributed data center environment by creating fault-tolerant replicas of data storage, data transmission, and task execution. Under the constraints of workflow reliability and deadlines, an optimized workflow scheduling scheme is obtained, effectively reducing the data storage, data transmission, and task execution costs (total cost) of the geographic distributed data center system. Summary of the Invention
[0005] To address the aforementioned problems, this invention provides a workflow fault-tolerant scheduling method for a geographically distributed data center system. The aim is to effectively reduce the costs incurred during workflow scheduling while ensuring that the workflow's data storage reliability, data transmission reliability, task execution reliability requirements, and deadline constraints are met.
[0006] Technical solution:
[0007] A fault-tolerant workflow scheduling method for a geographically distributed data center system involves obtaining a replica allocation strategy by using a fault-tolerant workflow scheduling algorithm that creates data storage replicas, data transmission replicas, and task execution replicas. Based on the obtained scheduling scheme, data replicas and task replicas are allocated to data centers and VMs in different geographical locations. The main steps include:
[0008] Step S1: Read relevant information about the workflow (including the data volume of each task in the workflow and the average number of computation cycles required per MB of data, the partial order relationship between tasks in the workflow, deadline constraints, and reliability requirements during data storage, data transmission, and task execution, etc.) and resource information of each data center (including the probability of successful data storage and the unit price of data storage in the data center, the probability of successful data transmission between data centers, the bandwidth of data transmission, the unit price of data transmission, the failure rate, computation frequency, and task execution unit price of each VM in the data center, etc.).
[0009] Step S2: Use a fault-tolerant scheduling method to schedule and allocate resources for each task in the workflow to obtain a scheduling scheme (the scheme includes a deployment decision scheme for data storage replicas, data transmission replicas, and task execution replicas of the task, as well as the minimum total system cost). The fault-tolerant scheduling method includes selecting the first task in the task pool of the workflow to be completed as the current task (see step S21), determining whether the current task can be executed (see step S22, the criterion for determining whether the current task can be executed is that all the predecessor tasks of the current task have been completed), if the task can be executed, selecting a data center and VM to create data storage replicas, data transmission replicas, and task execution replicas according to the reliability requirements and minimum cost of the task (see steps S23-S210), determining whether the task scheduling has ended (see step S211), and outputting the optimal solution (see step S212).
[0010] In step S3, each data center creates a corresponding number of data storage replicas, data transmission replicas, and task execution replicas according to the scheduling scheme, and executes the workflow according to the scheduling scheme.
[0011] Step S2, which uses a fault-tolerant scheduling method to schedule and allocate resources for each task in the task sequence to obtain a scheduling scheme, includes the following main steps:
[0012] Step S21: Select the first task in the workflow task pool to be completed as the current task, and parse the current workflow task information;
[0013] Step S22: Determine whether the current task can be executed;
[0014] Step S23: Initialize the current task and virtual machine pool;
[0015] Step S24: Calculate the data transfer copies of the predecessor tasks required for the current task to be executed in each data center, and calculate the transfer cost.
[0016] Step S25: Determine whether the current task execution reliability meets the reliability requirements. If not, iterate through the virtual machine pool, calculate the total cost of deploying the execution copy of the current task to each VM. This total cost includes data storage cost, data transfer cost, and task execution cost. Select the VM with the lowest total cost to deploy the task execution copy, calculate the completion time of executing the task copy on that VM, and update the total cost by calculating the data storage cost, data transfer cost, and task execution cost. Then continue with subsequent steps. If the task execution reliability requirements and deadline constraints are met, the task copy execution is complete, and proceed to step S210.
[0017] Step S26: Determine whether the data center d where the VM executing the task is located has a storage copy of the current task. If not, deploy the data storage copy to data center d.
[0018] Step S27: Update the status of the VM of the currently deployed task execution replica, and update the reliability of task execution, then proceed to step S25;
[0019] Step S28: Calculate the reliability of data storage for the current task;
[0020] Step S29: Determine whether the created data storage replica meets the data storage reliability requirements. If it does not meet the reliability requirements, select the data storage replica that has not been deployed and has the highest storage reliability to create the data storage replica, and proceed to step S28. If it meets the data storage reliability requirements, the current task scheduling is completed, and proceed to step S210.
[0021] Step S210: The current task scheduling is completed, and the current task is removed from the task pool to be completed;
[0022] Step S211: Determine whether the task pool to be completed after scheduling is empty. If it is empty, the task scheduling ends and proceeds to step S212; otherwise, proceed to step S21.
[0023] Step S212: Output the optimal solution (replica deployment scheme).
[0024] In step S21, the first task in the task pool to be completed is selected as the current task. The current workflow task information is parsed, including but not limited to the status information of all predecessor tasks of the current task, the sub-reliability requirements of the task in data storage, data transmission and task execution, and the data volume a of the task. ij The average number of computation cycles c required for each bit of data in the task. ij wait;
[0025] In step S21, the user may randomly submit multiple workflows to the system, which are represented as a set W = {W1, W2, ..., W...} m Unfinished tasks are placed in the pending workflow task pool. Each workflow can be described as follows: These represent workflow w respectively. i The task set, the edge set between tasks, and the reliability requirements during data storage, data transmission, and task execution are defined. The task set of the i-th application with n tasks can be represented by T. i ={t i1 , t i2 , ..., t in}express;
[0026] Task t in step S21 ij The specific method for calculating the sub-reliability requirements is as follows:
[0027]
[0028]
[0029]
[0030] in, These are the current tasks t. ij Sub-reliability requirements during data storage, data transmission, and task execution;
[0031] Step S22 determines whether the current task can be executed. It requires iterating through all its predecessor tasks to see if they have been completed. If all predecessor tasks are completed, the current task can be executed and proceed to step S2. If the current task has unfinished predecessor tasks, the current task enters the tail of the task pool and proceeds to step S11.
[0032] In step S23, the current task is initialized to have zero data storage, data transmission, sub-reliability of task execution, and cost. The virtual machine pool is initialized so that virtual machines in all data centers can deploy task execution replicas.
[0033] In step S24, the data transmission copy is determined by iterating through each predecessor task of the current task for each data center, selecting the data transmission with the highest reliability between the data copy storage location of the predecessor task and the current data center as the transmission copy until the reliability requirements of the current task's data transmission are met, and then updating the required transmission copy and transmission cost for the current data center.
[0034] The determination of data transmission replicas in step S24 is related to data transmission reliability, which is defined as the probability of successful data transmission. This invention uses an active replication scheme to perform replica fault tolerance. Active replication can generate multiple replicas for each data item or task to ensure reliability. Current data d ij If any one of the data copies successfully transmits the data, then the transmission of that data is reliable. Assume a data center... and The probability of normal data transmission between them is The reliability of data transmission is then expressed as:
[0035]
[0036] Data d ij The transmission reliability is calculated as follows:
[0037]
[0038] in, It is the decision variable for transferring copies. Representing data d ij The rd data transfer copy passes through the data center and Transmit data;
[0039] The data transmission cost calculation in step S24 is related to the transmission replica. Specifically, it is calculated by multiplying the data transmission volume of the previous task by the transmission unit price between data centers. It should be noted that if the transmission replica chooses to transmit data in the same data center, then the transmission cost of that transmission replica is 0.
[0040] The calculation of task execution reliability in step S25 is defined as the probability of successful task execution. This invention considers the transient failure of the VM. ij The probability of a transient failure during execution follows a Poisson distribution, denoted by λ. d,k This represents the k-th virtual machine (vm) in data center d. d,k Failure rate, task t ij In VM d,k The reliability of the execution is:
[0041]
[0042] The probability of task execution failure is:
[0043]
[0044] t ij If any one of the copies completes successfully, then the task execution has not failed. Task t ij A replica set can be represented as With rt ij The task of the instance t ij Reliability calculation is
[0045]
[0046] Step S25 selects the VM with the lowest cost to deploy the task execution replica, first initializing the minimum total cost. min Set MAXVALUE, then iterate through each VM in the deployable execution replica VM pool and calculate the total cost of data storage, data transfer, and task execution replicas. min Compare, if cost < cost min Then cost min Update the cost until the virtual machine pool is traversed and the lowest scheduling cost is found. Then return that virtual machine as the optimal execution replica deployment scheme.
[0047] The data storage cost in step S25 is related to the deployment of data replicas. The data center d where the VM is currently located has t. ij If the data is a copy, then the storage cost is 0; otherwise, the storage cost is calculated as t. ij Multiply the amount of data by the unit storage cost of data center d;
[0048] Step S25: Task Execution Copy In VM d,k Execution overhead The specific calculation is as follows:
[0049]
[0050]
[0051] in Execute a copy for the mission In VM d,k Execution time, p d,k and η d,k respectively vm d,k Task execution unit price and calculation frequency;
[0052] The task completion time calculation in step S25 is the earliest start time of the task. Execution time of the mission instance The sum of the starting tasks t of any workflow i1 The earliest start time is 0; other non-starting quest instances... In VM d,k Earliest start time of execution and quest completion time The calculation is as follows:
[0053]
[0054]
[0055] Among them, AT d,k Indicates VM d,k During free time, and They represent t respectively ij The completion time of the predecessor task and the transmission time of the copy;
[0056] Step S27 updates the state of the VM of the currently deployed execution replica, including updating the idle time slot of the VM and removing the VM of the currently deployed task execution replica from the virtual machine pool of deployable task replicas;
[0057] The data storage reliability calculation in step S28 is defined as the probability of successful data storage, d ij If any one of the data copies is successfully stored, then the storage of that data is reliable, using a data center (DC). d Online rate P d To represent its reliability, the reliability of data storage is expressed as:
[0058]
[0059] With rd ij Data d of each copy ij The reliability calculation is as follows:
[0060]
[0061] The output of step S212 is the optimal solution (replica deployment scheme), which includes the deployment decision scheme for data storage replicas, data transmission replicas, and task execution replicas of the task, as well as the minimum total cost of the multi-datacenter system.
[0062] Beneficial effects of the present invention
[0063] The method described in this invention can comprehensively consider the requirements of workflow data storage, data transmission, task execution reliability, and deadlines in a geographically distributed data center environment, and achieve a workflow optimization scheduling scheme with the lowest total cost. Attached Figure Description
[0064] Figure 1 This is a schematic diagram of the overall process of a workflow fault-tolerant scheduling method for a geographic distributed data center system according to a specific embodiment of the present invention.
[0065] Figure 2 This is a schematic diagram of the specific process of the fault-tolerant scheduling method in a specific embodiment of the present invention. Detailed Implementation
[0066] This application proposes a fault-tolerant scheduling method for workflows in a geographically distributed data center system, minimizing system costs under the constraints of workflow reliability requirements and deadlines. Currently, research in cloud computing only considers the reliability requirements of workflows during data storage and task execution, neglecting the high reliability requirements of data transmission across data centers. However, due to the complexity of geographically distributed data centers, failures in any stage of workflow—data storage, data transmission, or task execution—can prevent the workflow from completing successfully. The method described in this application comprehensively considers the reliability requirements of workflows during data storage, data transmission, and task execution. It not only uses data storage and task execution copies but also creates data transmission copies through proactive replication. The system effectively solves the fault-tolerant scheduling problem of workflows in geographically distributed data center environments, demonstrating high innovation and novelty.
[0067] The following is combined with Figure 1 The embodiment is described in detail. In this embodiment, there are two user upload workflow applications. Each user workflow has 3 tasks to be processed. The requirement is to complete the workflow scheduling of these 6 tasks in a geographically distributed data center system with 3 data centers and 9 VMs and obtain the optimal solution with the minimum total system cost.
[0068] The basic information about the task is as follows:
[0069]
[0070] The data storage, data transmission, and task execution reliability of each workflow are set to 0.98, 0.95, and 0.95, respectively.
[0071] The basic information about the data center is as follows:
[0072]
[0073] Transmission parameter settings for data center 0 and other data centers:
[0074]
[0075]
[0076] The basic information of the VM is as follows:
[0077]
[0078] Step S1: Read relevant information about the workflow, including the data volume of each task in the workflow and the average number of computation cycles required per MB of data, the partial order relationship between tasks in the workflow, deadline constraints, and reliability requirements during data storage, data transmission, and task execution. Read resource information for each data center, including the probability of successful data storage and the unit price of data storage, the probability of successful data transmission between data centers, the bandwidth of data transmission, the unit price of data transmission, the failure rate, computation frequency, and task execution unit price of each VM in the data center. Define the task set as π = {π0, π1, π2, π3, π4, π5} and establish the relevant scheduling model.
[0079] Step S2: Use a fault-tolerant scheduling method to schedule and allocate resources for each task in the workflow to obtain a scheduling scheme (the scheme includes a deployment decision scheme for data storage replicas, data transmission replicas, and task execution replicas of the task, as well as the minimum total system cost). The fault-tolerant scheduling method includes features such as selecting the first task in the task pool of the workflow to be completed as the current task, determining whether the current task can be executed, if the task can be executed, selecting data centers and VMs to create data storage replicas, data transmission replicas, and task execution replicas based on the reliability requirements and cost of the task, determining whether the task scheduling has ended, and outputting the optimal solution.
[0080] The fault-tolerant scheduling method in step S2 schedules and allocates resources for each task in the workflow to obtain a scheduling scheme, including the following main steps:
[0081] Step S21: Select the first task in the workflow task pool to be completed as the current task, and parse the current workflow task information;
[0082] Step S22: Determine whether the current task can be executed;
[0083] Step S23: Initialize the current task and virtual machine pool. The data storage, data transmission, and task execution reliability required for each task are calculated according to formulas 1-3 as 0.993, 0.983, and 0.983, respectively.
[0084] Step S24: Calculate the data transmission copies of the predecessor tasks required for the current task to be executed in each data center according to Formula 5, and calculate the transmission cost.
[0085] Step S25: Calculate the current task execution reliability according to Formula 8, and determine whether the execution reliability meets the reliability requirements. If it does not meet the requirements, traverse the virtual machine pool, select the VM with the lowest total cost to deploy the task execution replica and update the total cost, and then continue with the subsequent steps. If the task execution reliability requirements and deadline constraints are met, the task replica execution is completed, and proceed to step S210.
[0086] Step S26: Determine whether the data center d where the VM executing the task is located has a storage copy of the current task. If not, deploy the data storage copy to data center d.
[0087] Step S27: Update the status of the VM of the currently deployed task execution replica, and update the reliability of task execution according to Formula 8, then proceed to step S25;
[0088] Step S28: Calculate the data storage reliability of the current task according to Formula 13;
[0089] Step S29: Determine whether the created data storage replica meets the data storage reliability requirements. If it does not meet the reliability requirements, select the data storage replica that has not been deployed and has the highest storage reliability to create the data storage replica, and proceed to step S28. If it meets the data storage reliability requirements, the current task scheduling is completed, and proceed to step S210.
[0090] Step S210: The current task scheduling is completed, and the current task is removed from the task pool to be completed;
[0091] Step S211: Determine whether the task pool to be completed after scheduling is empty. If it is empty, proceed to step S212; otherwise, proceed to step S21.
[0092] Step S212, output the optimal solution (replica deployment scheme and minimum total system cost of $169.519752);
[0093] In step S3, each data center creates a corresponding number of data storage replicas, data transmission replicas, and task execution replicas according to the scheduling scheme, and executes the workflow according to the scheduling scheme.
[0094] This invention provides a workflow fault-tolerant scheduling method for a geographically distributed data center system. Many methods and approaches exist for implementing this technical solution; the above description is merely a preferred embodiment of the invention. It should be noted that those skilled in the art can make various improvements and modifications without departing from the principles of this invention, and these improvements and modifications should also be considered within the scope of protection of this invention. All components not explicitly stated in this embodiment can be implemented using existing technologies.
Claims
1. A workflow fault-tolerant scheduling method for a geographically distributed data center system, characterized in that... A fault-tolerant scheduling algorithm that creates replicas is used to meet the high reliability requirements of the workflow under deadline constraints and minimize the total system cost. The algorithm includes the following steps: Step S1: Read relevant workflow information and resource information for each data center; Step S2 involves using a fault-tolerant scheduling method to schedule and allocate resources for each task in the workflow, resulting in a scheduling scheme. This scheme includes deployment decisions for task data storage copies, data transmission copies, and task execution copies, as well as the minimum total system cost. Specifically, it includes: Step S21: Select the first task in the workflow task pool to be completed as the current task, and parse the current workflow task information; Step S22: Determine if the current task can be executed; iterate through all its predecessor tasks to see if they are ready. If all predecessor tasks are ready, the current task can be executed and proceed to step S23; if the current task has any unfinished predecessor tasks, the current task enters the tail of the task pool and proceeds to step S21. Step S23: Initialize the current task and virtual machine pool; calculate the sub-reliability requirements of the current task in data storage, data transmission and task execution, and initialize the virtual machine pool so that virtual machines in all data centers can deploy task execution replicas; Step S24: Calculate the data transmission copies of the predecessor tasks required for the current task to be executed in each data center, and calculate the transmission cost; the data transmission cost is calculated by multiplying the data transmission volume of the predecessor task by the transmission unit price between data centers; if the transmission copies choose to transmit data in the same data center, then the transmission cost of the transmission copy is 0. Step S25: Determine whether the current task execution reliability meets the reliability requirements. If not, iterate through the virtual machine pool, calculate the total cost of deploying the execution copy of the current task to each VM. This total cost includes data storage cost, data transfer cost, and task execution cost. Select the VM with the lowest total cost to deploy the task execution copy, calculate the completion time of executing the task copy on that VM, and update the total cost by calculating the data storage cost, data transfer cost, and task execution cost. Then continue with subsequent steps. If the task execution reliability requirements and deadline constraints are met, the task copy execution is complete, and proceed to step S210. Step S26: Determine whether there is a storage copy of the current task in the data center d where the VM executing the task is located. If not, deploy the data storage copy to the data center d. Step S27: Update the state of the VM of the currently deployed task execution replica and update the reliability of task execution, then proceed to step S25; Specifically, updating the state of the VM of the currently deployed task execution replica involves updating the idle time slot of the VM and removing the VM of the currently deployed task execution replica from the virtual machine pool of deployable task replicas. Step S28: Calculate the reliability of data storage for the current task; Step S29: Determine whether the created data storage replica meets the data storage reliability requirements. If it does not meet the reliability requirements, select the data storage replica that has not been deployed and has the highest storage reliability to create the data storage replica, and proceed to step S28. If it meets the data storage reliability requirements, the current task scheduling is completed, and proceed to step S210. Step S210: The current task scheduling is completed, and the current task is removed from the task pool to be completed; Step S211: Determine whether the task pool to be completed after scheduling is empty. If it is empty, proceed to step S212; otherwise, proceed to step S21. Step S212: Output the optimal solution as the scheduling scheme; In step S3, each data center creates a corresponding number of data storage replicas, data transmission replicas, and task execution replicas according to the scheduling scheme, and executes the workflow according to the scheduling scheme.
2. The method according to claim 1, characterized in that, In S1: The relevant information of the workflow includes the data volume of each task in the workflow and the average number of computation cycles required per MB of data, the partial order relationship between tasks in the workflow, deadline constraints, and reliability requirements during data storage, data transmission, and task execution. The resource information of each data center includes the probability of successful data storage and the unit price of data storage, the probability of successful data transmission between data centers, the bandwidth of data transmission, the unit price of data transmission, and the failure rate, computing frequency, and task execution unit price information of each VM in the data center. In S2: Step S21, parsing the current workflow task information includes, but is not limited to, parsing the current workflow task information and all virtual machine information in the virtual machine pool, including but not limited to the status information of all predecessor tasks of the current task, the sub-reliability requirements of the task in data storage, data transmission and task execution, and the data volume of the task. The number of CPU cycles required for each bit of data in the task ; Step S23, initializing the current task and virtual machine pool specifically involves: calculating the data storage reliability requirements of the current task according to the following formula. Data transmission reliability requirements Sub-reliability requirements for task execution : In the formula, Workflow The reliability requirements for data storage, data transmission, and task execution are initialized to 0 for the current task's sub-reliability in data storage, data transmission, and task execution, as well as the current task's cost.
3. The method according to claim 2, characterized in that, In step S24, the data transmission replica is determined. Specifically, for each data center, each predecessor task of the current task is traversed, and the data transmission with the highest reliability between the data replica storage location of the predecessor task and the current data center is selected as the transmission replica. This process continues until the reliability requirements of the current task's data transmission are met. Then, the required transmission replica and transmission cost for the current data center are updated.
4. The method according to claim 3, characterized in that, In step S24, the calculation of data transmission reliability specifically involves: data transmission reliability is defined as the probability of successful data transmission. An active replication scheme is used to perform replica fault tolerance. Active replication generates multiple replicas for each data item or task to ensure reliability. The current data... If any one of the data copies successfully transmits the data, then the transmission of that data is reliable, and the data transmission reliability is... By each data transmission copy In data center and Data transmission reliability between The calculation is as follows: In the formula, Representing data Transmission reliability, Representing data The One data transfer copy, and Indicates data center, It is the decision variable for transferring copies. Representing data The Each data transfer copy passes through the data center and Transmitting data Indicates data transfer copy Through data center and Data transmission reliability Indicates data center arrive The probability of reliable transmission.
5. The method according to claim 2, characterized in that, In step S25, the task execution reliability is defined as the probability of successful task execution, taking into account the temporary failure of the VM. The probability of transient failures during execution follows a Poisson distribution. If any one task replica successfully completes, then the task execution has not failed, and the task execution reliability is [not specified]. Execute a copy of each task. In virtual machine Reliability of task execution The calculation is as follows: In the formula, Indicates task Execution reliability, Indicates task The One data transfer copy, It's a virtual machine. It is the decision variable for executing a copy of the task. Indicates task The A data transfer copy in the virtual machine Up processing, Indicates a mission instance In virtual machine The reliability of task execution processed on the above Represents virtual machine Failure rate, Indicates a mission instance In virtual machine Execution time.
6. The method according to claim 2, characterized in that, Step S25 calculates the total cost of deploying the execution copy of the current task to each VM. The total cost includes data storage cost, data transfer cost, and task execution cost. The VM with the lowest cost is selected to deploy the task execution copy. Specifically, the minimum total cost is initialized first. for Then it iterates through each VM in the deployable execution replica VM pool and calculates the total cost of data storage, data transfer, and task execution replicas. ,and If a comparison is made, Then Updated to The process continues until the entire virtual machine pool is traversed and the lowest scheduling cost is found. The VM is then returned as the optimal scheduling solution.
7. The method according to claim 2, characterized in that, Step S25 calculates the total cost of deploying the execution copy of the current task to the VM. Data storage cost calculation in total expenditure: Data storage cost is related to the deployment of data replicas. The data center d where the current VM resides has... If the data is a copy, then the storage cost is 0; otherwise, the storage cost is calculated as follows: Multiply the amount of data by the unit storage cost of data center d; The data transmission cost calculation in step S25 is the transmission cost of all transmission replicas of all predecessor tasks. The cost of a single transmission replica of a single predecessor task is the product of the amount of data transmitted by the predecessor task and the unit price of transmission between data centers. If the transmission replica chooses to transmit data in the same data center, then the transmission cost of that transmission replica is 0. Step S25 Calculation of the execution cost of the task copy: multiply the execution time of the task in the virtual machine by the execution unit price of the virtual machine.
8. The method according to claim 2, characterized in that, The quest copy in step S25 In virtual machine Completion time Calculate according to the following formula: In the formula, the completion time is... Earliest start time for the task Execution time of the mission instance The sum of, among which, Calculate according to the following formula: In the formula, express During free time, and express The completion time of the predecessor task and the data transmission copy of the predecessor task from the data center. Transmitted to Transmission time; starting task of any workflow The earliest start time is 0, and the earliest start time for other non-initial task replicas is the maximum of the virtual machine idle time and the previous task completion time plus the transmission time. Calculated using the following formula: In the formula, Execute a copy for the mission exist Execution time, and Tasks Data volume and average computational cost for The calculation frequency.
9. The method according to claim 2, characterized in that, Data storage reliability in step S28 Defined as the probability of successful data storage. If any one of the data copies is successfully stored, then the storage of that data is reliable, and the data storage reliability is guaranteed. By each data storage copy In data center Data storage reliability The calculation is as follows: In the formula, Representing data Storage reliability, Representing data The One data storage copy, It is a data center. It is a decision variable for data storage replication. Representing data The Each data storage copy is deployed in the data center. , Represents a data storage copy In data center Storage reliability, Indicates data center The probability of storage reliability.
Citation Information
Patent Citations
Hybrid fault-tolerant scheduling method for cloud computing resources based on combination of task primary copy and re-submission
CN107885577A
Workflow-oriented fault-tolerant scheduling method in mobile edge computing environment
CN110780974A