Task execution time uncertain cloud workflow reliable scheduling method

By setting scheduling priorities and dynamically adjusting reliability requirements in the cloud environment, the cloud workflow reliability problem caused by uncertain task execution time is solved, and reliability guarantee and resource efficiency improvement in resource interference and fault environments are achieved.

CN120562764APending Publication Date: 2025-08-29CHUZHOU UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510632388.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-16
Publication Date
2025-08-29

AI Technical Summary

Technical Problem

In the prior art, the reliable scheduling method of cloud workflow fails to effectively handle the uncertainty of task execution time, resulting in the inability to meet the reliability scheduling requirements of cloud workflows with uncertain task execution time. Especially in cloud environments with resource interference and failure, the reliability of workflows is insufficient.

Method used

A reliable scheduling method for cloud workflows with uncertain task execution time is adopted, including workflow analysis, task allocation and online adjustment stages. By setting scheduling priorities, virtual machine selection and replica allocation, the reliability requirements and deadlines of tasks are dynamically adjusted to ensure the reliability of tasks on virtual machines and resource utilization efficiency.

Benefits of technology

It realizes the reliability requirements of workflows when task execution time is uncertain, while improving the utilization efficiency of cloud computing resources and reducing resource leasing costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120562764A_ABST
    Figure CN120562764A_ABST
Patent Text Reader

Abstract

The invention belongs to the technical field of cloud workflow scheduling, and particularly relates to a reliable cloud workflow scheduling method with uncertain task execution time, which specifically comprises the following steps of: (1) setting a scheduling priority for each task in a workflow; (2) searching available active virtual machines in the cloud system for the ready tasks according to the scheduling sequence; (3) finding a plurality of available active virtual machines, and deciding to use a certain virtual machine; (4) if the task of the available active virtual machine is not found, activating a new virtual machine for the task; (5) calculating the prediction reliability for the task of which the appropriate virtual machine is found, and ensuring that the prediction reliability meets the task sub-reliability requirement, otherwise, repeating each step of the task allocation stage; and (6) for the completed task, updating the sub-reliability requirement and the sub-deadline of the subsequent task, and updating the active virtual machine set. On one hand, the reliability requirement of the workflow instance is ensured, and on the other hand, the utilization efficiency of cloud computing resources is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of cloud workflow scheduling, and in particular relates to a reliable scheduling method for cloud workflows with uncertain task execution time. Background Art

[0002] Reliability is a critical quality of service requirement across multiple domains, such as mobile e-commerce, advanced manufacturing, and industrial automation. In recent years, the preference for cloud services for performing these tasks has increased dramatically due to their cost-effectiveness and adaptable computing capabilities. Notably, Infrastructure as a Service (IaaS) clouds offer pre-configured virtual machines (VMs) for rent, allowing customers access to a virtually unlimited number of VMs on a pay-per-use basis. Despite these significant benefits, cloud resources are susceptible to resource failures. Furthermore, each cloud server is virtualized into multiple VMs that share the same hardware resources, such as CPU, I / O, storage, and network. This model often leads to resource interference between different VMs on the same server. Both resource failures and resource interference can lead to variability in VM performance, resulting in uncertainty in task execution times. This uncertainty can significantly impact the reliability of cloud services, particularly for tasks with deadlines. The impact is even more severe for priority-constrained tasks. This is because the uncertain execution time of a task usually leads to completion delays, which not only harms the reliability of the VM but also spreads to other tasks on the same VM and subsequently to their successor tasks, thus negatively affecting the reliability of the cloud service and, consequently, the reliability of the workflow.

[0003] In practice, a service is considered reliable if it meets specified reliability requirements, as no service can guarantee 100% reliability. To improve the service reliability of workflow instances, existing research has explored various techniques, including replication, resubmission, failure prevention, and failure prediction. Among these techniques, replication is a popular approach. Traditionally, replication involves generating multiple replicas of a single task and assigning them to different resources. Over the past few decades, a large number of replication-based algorithms have emerged to ensure the reliability of workflows in distributed systems. However, a significant limitation of these algorithms is that they assume precise task execution times are known before scheduling. In these techniques, the number of replicas for each task and the strategies for ensuring service reliability are carefully designed based on the predetermined task execution times. However, real-world cloud scenarios often encounter resource interference and failures, resulting in uncertain task execution times. The unpredictability of task execution times undermines the effectiveness of previously proposed algorithms in meeting the reliability and deadline requirements of workflow instances in real cloud environments. Therefore, it is necessary to provide effective and reliable scheduling mechanisms for deadline-constrained workflows in cloud systems facing uncertain task execution times. Summary of the Invention

[0004] The purpose of the present invention is to provide a reliable scheduling method for cloud workflows with uncertain task execution time. The technical problem to be solved is: the reliable scheduling method for cloud workflows in the existing technology does not take into account the uncertainty of task execution time, and cannot meet the reliability scheduling requirements of cloud workflows with uncertain task execution time. The reliability guarantee of workflows with uncertain task execution time in cloud environments is insufficient.

[0005] The reliable scheduling method for cloud workflows with uncertain task execution time includes a workflow analysis phase, a task allocation phase, and an online adjustment phase, and specifically includes the following steps:

[0006] Workflow analysis phase:

[0007] (1) For the workflows accepted by the cloud computing system, the modules are divided according to the workflow deadlines, and the scheduling priority is set for each task in the workflow to determine the scheduling order; at the same time, the ready tasks among these tasks are added to the ready queue Q r In ,a ready task refers to a task that has no predecessor task or a task whose all direct predecessor tasks have been mapped to a virtual machine and at least one predecessor task has been completed;

[0008] Task allocation stage:

[0009] (2) For the ready queue Q rFor tasks in,compute their sub-reliability requirements and find available active virtual machines in the cloud system for,ready tasks according to the scheduling order by finding available virtual machine,module;

[0010] (3) For a task, if multiple available active virtual machines are found in the cloud computing system, a virtual machine selection module is used to decide which virtual machine to use;

[0011] (4) For a task that does not find an available active virtual machine in the cloud computing system, a new virtual machine is activated for the task according to the virtual machine activation module;

[0012] (5) For tasks that have found a suitable virtual machine, a copy of the task is assigned to the virtual machine for execution, and its predicted reliability is calculated at the same time; if the predicted reliability of the task does not meet its sub-reliability requirement, the steps of the task assignment phase are repeated until the predicted reliability meets the task sub-reliability requirement;

[0013] Online adjustment phase:

[0014] (6) For a completed task, if there is no task waiting to be executed on the assigned virtual machine and the integer billing cycle has not been reached, the virtual machine is added to the active virtual machine set of the cloud computing system; for the successor task of the completed task, the sub-reliability requirement and sub-deadline of the successor task are updated.

[0015] Preferably, the cloud computing system provides users with |V| virtual machines V={v 1 , v 2 ,…,v |V|}, same type v m All virtual machines of the same type have the same configuration. m Use collection express, Indicates that the virtual machine type is v m The nth virtual machine, virtual machine The price is expressed as Use F(v m ) represents the processing time weight of the m-type virtual machine. When a virtual machine is created, the time to complete the corresponding initialization work is expressed as T boot , virtual machines are charged based on the billing cycle. If a virtual machine is idle for longer than a billing cycle, the virtual machine resources will be released; all virtual machines are in the same data center or region, and the network bandwidth NBand between virtual machines is the same.

[0016] Preferably, a set of workflows W submitted to the cloud computing system is W={w 1 , w 2 ,…,w|W|}, workflow instance w s The parameters are arrival time A s , soft deadline D s and reliability requirements R req (w s ); workflow instance w s Using the directed acyclic graph G s =(T s , E s ) means; is a set of non-preemptive, non-periodic independent tasks, E s =T s ×T s is a set of directed edges between tasks; a directed edge Indicates a task and tasks There is a partial order dependency between tasks. For the task Direct predecessor task; Indicates a task The set of immediate predecessor tasks, Indicates a task A set of direct successor tasks; a task that has no direct predecessor task in a workflow is called an entry task, denoted by A task without a direct successor task is called an exit task, denoted by Due to the partial order dependency between tasks, tasks Execution can only begin after receiving the output data of all direct predecessor tasks; and Represents tasks and tasks The amount of data transferred and the time it takes to transfer data, if the task and tasks are allocated on different virtual machines. Otherwise, it is zero. Since the virtual machine performance is unstable, the approximate weight is used to estimate the uncertain task execution time caused by the virtual machine performance fluctuation. Given As the task execution time, The approximate weight of Defined as:

[0017]

[0018] in, and express The expected value and variance of .

[0019] Preferably, in step (1), the workflow instance w s Mission Earliest start time Defined as:

[0020]

[0021] Accordingly, the task Earliest completion time Defined as:

[0022]

[0023] The earliest completion time of a task is used as the priority of the task scheduling; the earliest start time, earliest completion time and latest completion time of the task are used to divide the deadline of the workflow into sub-deadlines of the tasks in the workflow; the latest completion time Defined as:

[0024]

[0025] Task The sub-deadline of is defined as:

[0026]

[0027] Preferably, in step (2), the active virtual machines available in the cloud computing system need to meet the following conditions:

[0028] 1) The virtual machine can only be used once by the same task;

[0029] 2) The virtual machine is in an idle state or in a non-idle state and has no tasks waiting to be executed;

[0030] 3) The virtual machine can complete the execution of the task before the sub-deadline of the task.

[0031] Preferably, whether condition 3) is met is checked based on the two situations where condition 2) is met in the following manner:

[0032] A. If an active virtual machine Idle: Task The time to receive the output data of all direct predecessor tasks Defined as:

[0033]

[0034] in Indicates a task In the virtual machine The actual completion time of the task After receiving all the data in the virtual machine Execute on, at this time the task The actual start time is expressed as Φ represents the current time of the cloud computing system. Since the execution time is uncertain, the actual execution time of the task can only be determined after it is actually completed. In the virtual machine The predicted execution time on The predicted completion time is expressed as

[0035] B. If a virtual machine In a non-idle state and with no tasks waiting to be executed: the predicted start of the task on this virtual machine is represented by The tasks Is running in a virtual machine tasks performed on

[0036] C. The above A and B need to be further met to ensure That is, condition 3) is satisfied.

[0037] Preferably, in step (3), cost and virtual machine idle time are selected as indicators, and task A copy of In the virtual machine The execution cost on is expressed as:

[0038]

[0039] Therefore, the task The cost is expressed as:

[0040]

[0041] When selecting, priority will be given to the virtual machine with the lowest cost; when the cost is the same, priority will be given to the virtual machine with the shortest idle time. The idle time of the virtual machine is expressed as

[0042]

[0043] in Indicates the task ready time, Represents a virtual machine Free time.

[0044] Preferably, in step (4), the task The actual start time is expressed as The activated virtual machine needs to ensure the task Execution time on the virtual machine satisfy At the same time, in order to reduce the number of virtual machines used, the selected virtual machine type needs to be minimized After activating a virtual machine that meets the above conditions, add it to the active virtual machine set v active .

[0045] Preferably, in step (5) and step (6), the method for calculating reliability and reliability requirements includes: virtual machine The reliability probability of the task follows the Poisson distribution. The reliability on this virtual machine is:

[0046]

[0047] in and Represents virtual machines respectively Failure rate and tasks In the virtual machine The execution time of a workflow w s Reliability requirement R req (w s ) is decomposed into sub-reliability requirements for each task, let and Represents tasks The sub-reliability requirements and actual reliability guarantees of the workflow w s Entry task Its sub-reliability requirement is defined as

[0048]

[0049] To meet the task Sub-reliability requirements Task Multiple copies are distributed to different virtual machines; tasks The replica set of Then the task The reliability guarantees obtained are:

[0050]

[0051] in and Represents tasks The sum of the xth copy of Assigned virtual machines; for workflow w s , if the first i-1(1≤i-1 <i≤|T s |) has been completed, then the subsequent task The reliability requirement is defined as

[0052]

[0053] If Ts All tasks in have been completed, then the workflow w s The actual reliability obtained is

[0054]

[0055] The present invention has the following advantages:

[0056] 1. The present invention configures cloud computing resources based on workflow information submitted by users and cloud computing resource characteristics, schedules tasks based on scheduling priorities, and designs a dynamic reliability assurance strategy based on sub-reliability requirements.

[0057] 2. When analyzing the workflow, the present invention determines the reliability requirements and deadlines of tasks, and dynamically adjusts the reliability requirements and deadlines of tasks according to the actual completion time of their predecessor tasks, thereby realizing an online adjustment mechanism for ready tasks.

[0058] This allows the cloud computing system to ensure the reliability requirements of workflow instances while improving the utilization efficiency of cloud computing resources, thereby reducing resource leasing costs. BRIEF DESCRIPTION OF THE DRAWINGS

[0059] Figure 1 This is a general flow chart of a reliable scheduling method for cloud workflows with uncertain task execution time according to the present invention.

[0060] Figure 2 This is a flow chart of the cloud workflow reliable scheduling method in the present invention.

[0061] Figure 3 This is a system block diagram of the cloud workflow reliable scheduling method in the present invention. DETAILED DESCRIPTION

[0062] The specific implementation methods of the present invention will be further explained in detail below through the description of embodiments with reference to the accompanying drawings, so as to help those skilled in the art to have a more complete, accurate and in-depth understanding of the inventive concept and technical solution of the present invention.

[0063] like Figure 1-Figure 3 As shown, the present invention provides a reliable scheduling method for cloud workflows with uncertain task execution times. A cloud computing system employing this method provides services to users through a scheduling system and schedules received workflows. The scheduling system includes a workflow analyzer, a task allocator, an online adjuster, and a task pool. The workflow analyzer is used to implement the workflow analysis phase of the reliable cloud workflow scheduling method; the task pool is used to store divided tasks; the task allocator is used to implement the task allocation phase of the reliable cloud workflow scheduling method; and the online adjuster is used to implement the online adjustment phase of the reliable cloud workflow scheduling method.

[0064] The cloud computing system provides users with |V| virtual machines V={v 1 , v 2 ,…,v |V|}. The same type v m All virtual machines in a cloud have the same configuration, such as processor (CPU), storage capacity, and network. Through virtualization technology, cloud computing systems can provide unlimited resources, so for virtual machines of the same type, m Use collection express, Indicates that the virtual machine type is v m The nth virtual machine, virtual machine The price is expressed as Different types of virtual machines have different levels of processing capabilities. Generally, a higher level virtual machine means a shorter task execution time and a higher execution cost. m ) represents the processing time weight of the m-type virtual machine. Virtual machines are charged based on the billing cycle. When a virtual machine is created, the system needs a certain amount of time to complete the corresponding initialization work before the virtual machine is available. This time is represented by T boot To reduce costs, if a virtual machine is idle for longer than a billing cycle, its resources are released. Furthermore, all virtual machines are located in the same data center or region, and the network bandwidth NBand between virtual machines is essentially the same.

[0065] A set of workflows W submitted by users to the cloud computing system is 1 ,w 2 1…,w |W|}, workflow instance w s The parameters are arrival time A s , soft deadline D s and reliability requirements R req (w s ). Workflow instance w s Using the directed acyclic graph G s =(T s , E s ) indicates that. is a set of non-preemptive, non-periodic independent tasks, E s =T s ×T s is the set of directed edges between tasks. A directed edge Indicates a task and tasks There is a partial order dependency between tasks. For the task direct predecessor task. Indicates a task The set of immediate predecessor tasks, Indicates a task A set of direct successor tasks. A task in a workflow that does not have a direct predecessor task is called an entry task, denoted by A task without a direct successor task is called an exit task, denoted by Due to the partial order dependency between tasks, tasks Execution can only begin after receiving the output data of all direct predecessor tasks. and Represents tasks and tasks The amount of data transferred and the time it takes to transfer data, if the task and tasks are allocated on different virtual machines. Otherwise, it is zero. Since the virtual machine performance is unstable, an approximate weight is used to estimate the uncertain task execution time caused by the virtual machine performance fluctuation. As the task execution time, The approximate weight of Defined as:

[0066]

[0067] in, and express The expected value and variance of .

[0068] Virtual Machine The reliability probability of the task follows the Poisson distribution. The reliability on this virtual machine is

[0069]

[0070] in and Represents virtual machines respectively Failure rate and tasks In the virtual machine The execution time on .

[0071] A workflow s Reliability requirement R req (w s ) can be decomposed into the sub-reliability requirements of each task. If each task can meet its sub-reliability requirements, the reliability of the workflow will be met. and Represents tasks The sub-reliability requirements and the actual reliability guarantee obtained. s Entry task Its sub-reliability requirement is defined as

[0072]

[0073] To meet the task Sub-reliability requirements Task Multiple copies are distributed to different virtual machines. The replica set of Then the task The reliability guarantee obtained is

[0074]

[0075] in and Represents tasks The sum of the xth copy of Assigned virtual machines. For workflow w s , if the first i-1(1≤i-1 <i≤|T s |) has been completed, then the subsequent task The sub-reliability requirement is defined as

[0076]

[0077] If T s All tasks in have been completed, then the workflow w s The actual reliability obtained is

[0078]

[0079] A reliable scheduling method for cloud workflows with uncertain task execution time includes a workflow analysis phase, a task allocation phase, and an online adjustment phase, and specifically includes the following steps.

[0080] (a) Workflow analysis phase:

[0081] (1) For the workflows accepted by the cloud computing system, the modules are divided according to the workflow deadlines, and the scheduling priority is set for each task in the workflow to determine the scheduling order; at the same time, the ready tasks among these tasks are added to the ready queue Q r middle.

[0082] The specific steps are:

[0083] The workflow instance w s Task Earliest start time Defined as:

[0084]

[0085] Accordingly, the task Earliest completion time Defined as:

[0086]

[0087] The earliest completion time of a task is used as the priority of the task scheduling. In order to better meet the deadline requirements of the workflow, the deadline of the workflow is divided into sub-deadlines of the tasks in the workflow using the earliest start time, earliest completion time and latest completion time of the task. Defined as:

[0088]

[0089] Task The sub-deadline of is defined as:

[0090]

[0091] A ready task is a task that has no predecessor task or all its direct predecessor tasks have been mapped to the virtual machine and at least one predecessor task has been completed. The ready tasks that meet this condition are added to the ready queue Q r middle.

[0092] (b) Task allocation stage:

[0093] (2) For the ready queue Q r For tasks in, calculate their sub-reliability requirements, and find available active virtual machines in the cloud system for ready tasks according to the scheduling order through the Find Available Virtual Machine module.

[0094] Specifically, the following conditions must be met for active virtual machines available in the cloud computing system:

[0095] 1) The virtual machine can only be used once by the same task.

[0096] 2) The virtual machine is in an idle state or in a non-idle state and has no tasks waiting to be executed.

[0097] 3) The virtual machine can complete the execution of the task before the sub-deadline of the task.

[0098] Checking whether condition 1) is satisfied is simple. Then check whether condition 2) is satisfied. Then, based on condition 2), consider whether condition 3 is satisfied. Whether condition 3) is satisfied is checked in the following manner based on the two cases where condition 2) is satisfied.

[0099] A. If an active virtual machine Idle state: The predicted completion time of the task on this virtual machine needs to be determined based on the predicted completion time of its predecessor task and the current time (Φ) of the cloud computing system. The time to receive the output data of all direct predecessor tasks Defined as:

[0100]

[0101] in Indicates a task In the virtual machine The actual completion time of the task After receiving all the data, you can Execute on, at this time the task The actual start time is expressed as Since the execution time is uncertain, the actual execution time of a task can only be determined after it is actually completed. In the virtual machine The predicted execution time on The predicted completion time is expressed as Just need to ensure That is, condition 3) is satisfied.

[0102] B. If a virtual machine In a non-idle state and with no tasks waiting to be executed: the predicted start of the task on this virtual machine is represented by The tasks Is running in a virtual machine Similarly, only the tasks to be performed on That is, condition 3) is satisfied.

[0103] (3) For a task, if multiple available active virtual machines are found in the cloud computing system, a virtual machine selection module is used to decide which virtual machine to use.

[0104] The specific steps of this step are: cost and virtual machine idle time are important indicators for selection. A copy of In the virtual machine The execution cost on is expressed as:

[0105]

[0106] Therefore, the task The cost is expressed as:

[0107]

[0108] The virtual machine with the lowest cost will be given priority when selecting. When the cost is the same, the virtual machine with the shortest idle time will be given priority. The idle time of the virtual machine is expressed as

[0109]

[0110] in Indicates the task ready time, Represents a virtual machine Free time.

[0111] (4) For a task that does not find an available active virtual machine in the cloud computing system, a new virtual machine is activated for the task according to the virtual machine activation module.

[0112] The specific tasks of this step are: The actual start time is expressed as The activated virtual machine needs to ensure the task Execution time on the virtual machine satisfy At the same time, in order to reduce the number of virtual machines used, the selected virtual machine type needs to be minimized After activating a virtual machine that meets the above conditions, add it to the active virtual machine set v active .

[0113] (5) For tasks for which a suitable virtual machine has been found, a copy of the task is assigned to the virtual machine for execution, and its predicted reliability is calculated. If the predicted reliability of the task does not meet its sub-reliability requirement, the steps of the task assignment phase are repeated until the predicted reliability meets the task sub-reliability requirement.

[0114] This step is specifically: assigning the task to the virtual machine obtained in step (3) or step (4) Simultaneous computing tasks in virtual machines The prediction reliability of the task is calculated by In this virtual machine If the predicted reliability of the task does not meet its sub-reliability requirements, the virtual machine will not be selected. And repeat steps (2), (3), (4) and (5) of the task assignment phase until the calculated predicted reliability meets the sub-reliability requirements of the task.

[0115] (c) Online adjustment stage:

[0116] (6) For a completed task, if there is no task waiting to be executed on the assigned virtual machine and the billing period has not reached an integer, add the virtual machine to the set of active virtual machines in the cloud computing system. For the successor task of the completed task, update the sub-reliability requirement and sub-deadline of the successor task.

[0117] The specific steps are: if there is no task waiting to be executed on the virtual machine assigned to the task and the virtual machine has not reached an integer billing cycle, then add the virtual machine to the active virtual machine set v of the cloud computing system. active The task is then updated and the sub-deadline and sub-reliability requirements of the successor task are updated. If the successor task is a ready task, it is added to the ready queue.

[0118] The concepts of some parameter symbols used in the above methods are as follows:

[0119]

[0120] In the workflow analysis phase, for each accepted workflow, the method calculates the scheduling priority and sub-deadline for each task in the workflow. In the task allocation phase, for the tasks processed in the workflow analysis phase, the method allocates appropriate cloud computing resources to the task while ensuring reliability constraints. In the online adjustment phase, the method dynamically adjusts the sub-reliability requirements and sub-deadlines of subsequent tasks based on the completed tasks. The present invention effectively solves the problem of workflow scheduling reliability assurance in cloud environments with uncertain task execution times. While meeting the reliability requirements of the workflow, it reduces the cost of workflow reliability assurance and improves the workflow completion rate.

[0121] The present invention is described above by way of example in conjunction with the accompanying drawings. It is obvious that the specific implementation of the present invention is not limited to the above-mentioned method. As long as various non-substantial improvements are made using the inventive concept and technical solution of the present invention, or the inventive concept and technical solution are directly applied to other occasions without improvement, they are all within the scope of protection of the present invention.

Claims

1. A reliable scheduling method for cloud workflows with uncertain task execution times, characterized by: It includes the workflow analysis phase, task allocation phase and online adjustment phase, and specifically includes the following steps: Workflow analysis phase: (1) For the workflows accepted by the cloud computing system, the modules are divided according to the workflow deadlines, and the scheduling priority is set for each task in the workflow to determine the scheduling order; at the same time, the ready tasks among these tasks are added to the ready queue Q r In ,a ready task refers to a task that has no predecessor task or a task whose all direct predecessor tasks have been mapped to a virtual machine and at least one predecessor task has been completed; Task allocation stage: (2) For Q r For the ready tasks in, calculate their sub-reliability requirements, and find the available active virtual machines in the cloud system for the ready tasks according to the scheduling order by finding the available virtual machine module; (3) For a task, if multiple available active virtual machines are found in the cloud computing system, a virtual machine selection module is used to decide which virtual machine to use; (4) For a task that does not find an available active virtual machine in the cloud computing system, a new virtual machine is activated for the task according to the virtual machine activation module; (5) For tasks that have found a suitable virtual machine, a copy of the task is assigned to the virtual machine for execution, and its predicted reliability is calculated at the same time; if the predicted reliability of the task does not meet its sub-reliability requirement, the steps of the task assignment phase are repeated until the predicted reliability meets the task sub-reliability requirement; Online adjustment phase: (6) For a completed task, if there is no task waiting to be executed on the assigned virtual machine and the integer billing cycle has not been reached, the virtual machine is added to the active virtual machine set of the cloud computing system; for a completed task, the sub-reliability requirement and sub-deadline of its subsequent task are updated.

2. The reliable scheduling method for cloud workflows with uncertain task execution time according to claim 1, characterized in that: The cloud computing system provides users with |V| virtual machines V={v 1 , v 2 ,…,v |V| }, same type v m All virtual machines of the same type have the same configuration. m Use collection express, Indicates that the virtual machine type is v m The nth virtual machine, virtual machine The price is expressed as Use F(v m ) represents the processing time weight of the m-type virtual machine. When a virtual machine is created, the time to complete the corresponding initialization work is expressed as T boot , virtual machines are charged based on the billing cycle. If a virtual machine is idle for longer than a billing cycle, the virtual machine resources will be released; all virtual machines are in the same data center or region, and the network bandwidth NBand between virtual machines is the same.

3. The reliable scheduling method for cloud workflows with uncertain task execution time according to claim 2, characterized in that: A set of workflows W submitted to the cloud computing system = {w 1 , w 2 ,…,w |W| }, workflow instance w s The parameters are arrival time A s , soft deadline D s and reliability requirements R req (w s ); workflow instance w s Using the directed acyclic graph G s =(T s , E s ) means; is a set of non-preemptive, non-periodic independent tasks, E s =T s ×T s is a set of directed edges between tasks; a directed edge Indicates a task and tasks There is a partial order dependency between tasks. For the task Direct predecessor task; Indicates a task The set of immediate predecessor tasks, Indicates a task A set of direct successor tasks; a task that has no direct predecessor task in a workflow is called an entry task, denoted by A task without a direct successor task is called an exit task, denoted by Due to the partial order dependency between tasks, tasks Execution can only begin after receiving the output data of all direct predecessor tasks; and Represents tasks and tasks The amount of data transferred and the time it takes to transfer data, if the task and tasks are allocated on different virtual machines. Otherwise, it is zero. Due to the instability of virtual machine performance, the approximate weight is used to estimate the uncertain task execution time caused by the virtual machine performance fluctuation. Given As the task execution time, The approximate weight of Defined as: in, and express The expected value and variance of .

4. The method for reliable scheduling of cloud workflows with uncertain task execution time according to claim 3, characterized in that: In step (1), the workflow instance w s Tasks in Earliest start time Defined as: Accordingly, the task Earliest completion time Defined as: The earliest completion time of a task is used as the priority of the task scheduling; the earliest start time, earliest completion time and latest completion time of the task are used to divide the deadline of the workflow into sub-deadlines of the tasks in the workflow; the latest completion time Defined as: Task The sub-deadline of is defined as:

5. The reliable scheduling method for cloud workflows with uncertain task execution time according to claim 4, characterized in that: In step (2), the following conditions must be met for the active virtual machines available in the cloud computing system: 1) The virtual machine can only be used once by the same task; 2) The virtual machine is in an idle state or in a non-idle state and has no tasks waiting to be executed; 3) The virtual machine can complete the execution of the task before the sub-deadline of the task.

6. The reliable scheduling method for cloud workflows with uncertain task execution time according to claim 5, characterized in that: Check whether condition 3) is met based on the two cases where condition 2) is met using the following method: A. If an active virtual machine Idle: Task The time to receive the output data of all direct predecessor tasks Defined as: in Indicates a task In the virtual machine The actual completion time of the task After receiving all the data, you can Execute on, at this time the task The actual start time is expressed as Φ represents the current time of the cloud computing system; since the execution time is uncertain, the actual execution time of the task can only be determined after it is actually completed; In the virtual machine The predicted execution time on The predicted completion time is expressed as B. If a virtual machine In a non-idle state and with no tasks waiting to be executed: the predicted start of the task on this virtual machine is represented by The tasks Is running in a virtual machine tasks performed on C. A and B above need to be further satisfied That is, condition 3) is satisfied.

7. The reliable scheduling method for cloud workflows with uncertain task execution time according to claim 6, characterized in that: In step (3), cost and virtual machine idle time are the selected indicators, and the task A copy of In the virtual machine The execution cost on is expressed as: Therefore, the task The cost is expressed as: When selecting, priority will be given to the virtual machine with the lowest cost; when the cost is the same, priority will be given to the virtual machine with the shortest idle time. The idle time of the virtual machine is expressed as in Indicates the task ready time, Represents a virtual machine Free time.

8. The method for reliable scheduling of cloud workflows with uncertain task execution time according to claim 7, characterized in that: In step (4), the task The actual start time is expressed as The activated virtual machine needs to ensure the task Execution time on the virtual machine satisfy At the same time, in order to reduce the number of virtual machines used, the selected virtual machine type needs to be minimized After activating a virtual machine that meets the above conditions, add it to the active virtual machine set v active .

9. The method for reliable scheduling of cloud workflows with uncertain task execution time according to claim 8, characterized in that: In step (5) and step (6), the method for calculating reliability and reliability requirement includes: virtual machine The reliability probability of the task follows the Poisson distribution. The reliability on this virtual machine is: in and Represents virtual machines respectively Failure rate and tasks In the virtual machine The execution time of a workflow w s Reliability requirement R req (w s ) is decomposed into sub-reliability requirements for each task, let and Represents tasks The sub-reliability requirements and actual reliability guarantees of the workflow w s Entry task Its sub-reliability requirement is defined as To meet the task Sub-reliability requirements Task Multiple copies are distributed to different virtual machines; tasks The replica set of Then the task The reliability guarantees obtained are: in and Represents tasks The sum of the xth copy of Assigned virtual machines; for workflow w s , if the first i-1(1≤i-1 <i≤|T s |) has been completed, then the subsequent task The reliability requirement is defined as If T s All tasks in have been completed, then the workflow w s The actual reliability obtained is