A heterogeneous cloud center task scheduling method based on predicted completion time matrix

By employing a predictive completion time matrix and an optimistic scheduling length value in a heterogeneous cloud computing system, the problem of not considering subsequent tasks in task scheduling is solved, achieving efficient task scheduling, reducing scheduling length, and improving task execution efficiency.

CN116401027BActive Publication Date: 2026-07-31HUNAN UNIV OF TECH
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HUNAN UNIV OF TECH
Filing Date
2023-03-29
Publication Date
2026-07-31

AI Technical Summary

Technical Problem

In existing heterogeneous cloud computing systems, task scheduling methods fail to effectively consider the characteristics of subsequent tasks, which may lead to high-priority tasks being scheduled after low-priority tasks, resulting in inefficient task scheduling lists and affecting the execution efficiency of parallel applications.

Method used

A task scheduling method based on the predicted completion time matrix is ​​adopted. By calculating the predicted completion time matrix value and priority of each task, the task priorities are updated and sorted in descending order. Combined with the optimistic scheduling length value, virtual machines are selected to ensure that high-priority tasks are scheduled in reasonable positions and reduce scheduling length.

Benefits of technology

Under the condition of satisfying priority constraints, the scheduling length of the workflow application is reduced, the efficiency of task scheduling is improved, the situation of high-priority tasks being scheduled after low-priority tasks is avoided, and the efficiency of the entire algorithm is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116401027B_ABST
    Figure CN116401027B_ABST
Patent Text Reader

Abstract

This invention provides a heterogeneous cloud center task scheduling method based on a predicted completion time matrix. It mainly includes a task priority stage and a virtual machine selection stage. The predicted completion time matrix in the task priority stage not only generates an efficient task scheduling list but also positively influences the allocation of virtual machines corresponding to tasks in the virtual machine selection stage, minimizing the scheduling length of the workflow application while satisfying priority constraints. In summary, this invention considers not only the impact of direct successor tasks but also the importance of the current task, resulting in a more reasonable allocation of tasks and virtual machines. This invention minimizes the scheduling length (maximum completion time) of the workflow application without sacrificing algorithm time complexity.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of cloud computing technology, and more specifically to a method for calculating priority based on the Predicted Completion Time Matrix (PMMS). Background Technology

[0002] Cloud computing is a powerful distributed computing system formed through computer networks. It can store, integrate, and configure related resources on demand to provide personalized services to users. A cloud computing center is an excellent platform capable of deploying large-scale workflow applications, providing personalized services to users with its powerful computing systems. A heterogeneous cloud computing system is a computing platform composed of multiple sets of resources interconnected with a high-speed network.

[0003] Static task scheduling in heterogeneous cloud computing systems involves determining task execution time and other information before execution begins. It typically comprises two phases: task priority calculation and virtual machine selection. The task scheduling problem in cloud computing systems is essentially about selecting suitable virtual machines for workflow applications submitted to the cloud computing center. Each subtask in the application is allocated to the selected virtual machine according to certain constraints (such as priority constraints and budget constraints) to complete the scheduling of the entire application in a short time (or with low overhead). The efficiency of executing parallel applications in heterogeneous cloud computing systems heavily depends on the chosen scheduling method. In existing heterogeneous cloud computing systems, when selecting virtual machines, classic methods such as the Heterogeneous Earliest Complete Time (HEFT) method often do not consider the characteristics of subsequent tasks. Furthermore, during the priority calculation phase, high-priority tasks are easily scheduled after low-priority tasks, resulting in an inefficient task scheduling list and thus low overall efficiency. Therefore, using this method in heterogeneous cloud computing systems results in low efficiency for executing parallel applications.

[0004] A patent application with publication number CN115391039A discloses a distributed task scheduling system and method based on predicting the earliest completion time. The method includes: a task storage module for storing new tasks to be scheduled; a task scheduling module for acquiring a trained task completion time prediction model and scheduling tasks according to the model; and a concurrent task optimization module for optimizing the optimal number of concurrent tasks for each task processing node in the task processing node set. This invention can select the executor with the earliest completion time for a new task and dynamically optimize the selection in real time. However, it often does not consider the characteristics of the successor tasks of the current task, and during the priority calculation stage, it is easy for high-priority tasks to be scheduled after low-priority tasks, resulting in an inefficient task scheduling list, which leads to low efficiency of the entire method. Therefore, the efficiency of using this method to execute parallel applications in heterogeneous cloud computing systems is low. Summary of the Invention

[0005] To address the aforementioned technical problems, this invention provides a heterogeneous cloud center task scheduling method based on a predicted completion time matrix.

[0006] The present invention adopts the following specific technical solution:

[0007] A heterogeneous cloud center task scheduling method based on a predicted completion time matrix includes the following steps:

[0008] S1: Task prioritization phase, the steps of which are as follows:

[0009] S1.1: Obtain multiple tasks, calculate the predicted completion time matrix for each task, where rows in the predicted completion time matrix represent tasks and columns represent virtual machines, PM(ξ) i ,pr j ) represents the i-th task ξ i Assigned to the j-th virtual machine pr j The predicted completion time matrix values ​​executed above;

[0010] S1.2: Calculate the priority of each task and compare the priorities of the current task and the subsequent task. If the priority of the current task is less than the priority of the subsequent task, update the predicted completion time matrix value and the task priority, and then sort the tasks in descending order according to the updated task priorities to obtain the priority queue. If the priority of the current task is greater than the priority of the subsequent task, sort the tasks directly in descending order according to the task priorities to obtain the priority queue.

[0011] S2: The virtual machine selection phase, the steps of which are as follows:

[0012] S2.1: Calculate the earliest completion time and optimistic scheduling length for each task;

[0013] S2.2: Select the virtual machine with the smallest optimistic scheduling length value for each task for scheduling.

[0014] S2.3: Complete priority queue scheduling;

[0015] S3: Calculate the scheduling length of the entire application.

[0016] Preferably, in step S1.1, the prediction completion time matrix value PM(ξ) i ,pr j The formula for calculating ) is:

[0017]

[0018] succ(ξ i ) represents task ξ i The set of direct successor nodes, PM(ξ) γ ,pr j ) represents the prediction completion time matrix value of the successor node, ξ exit This indicates that you are exiting the task.

[0019] Preferably, the priority calculation formula in step S1.2 is as follows:

[0020]

[0021] Among them, rank PM (ξ i ) represents the task's level value, calculated from the average predicted completion time matrix value for each task, and |P| represents the number of virtual machines.

[0022] Preferably, if the priority of the preceding task is higher than the priority of the subsequent task, then the tasks are ranked according to their priority. PM (ξ i Arrange the values ​​in descending order to obtain a priority queue.

[0023] Preferably, in step S1.2, when updating the prediction completion time matrix value, a scaling down is performed, and the calculation formula for the scaling down is as follows:

[0024]

[0025] Among them, rank PM (ξ γ ) indicates the priority of the successor node.

[0026] Preferably, θ in the scaling formula is a constant with a value of 1.

[0027] Preferably, the formula for expressing the earliest completion time of the task in step S2.1 is:

[0028] EFT(ξ i ,pr j )=EST(ξ i ,pr j )+w(ξ i ,pr j )

[0029] Where EFT(ξ) i ,pr j ) for task ξ i In pr j The earliest completion time on EST(ξ) i ,pr j ) for task ξ i In pr j The earliest start time on, w(ξ) i ,pr j ) for task ξ i Assigned in pr j The computational overhead required.

[0030] Preferably, the formula for calculating the optimistic scheduling length value in step S2.1 is:

[0031] OSL(ξ i ,pr j )=EFT(ξ i ,pr j )+PM(ξ i ,pr j )

[0032] OSL(ξ i ,pr j Let ξ be the i-th task. i Assigned to the j-th virtual machine pr j The optimistic scheduling length value.

[0033] Preferably, if the priority queue scheduling is not completed in step S2.3, the process returns to step S2.2.

[0034] Preferably, the scheduling length in step S3, which is the actual completion time of the exit task, is expressed by the following formula:

[0035] Makespan = max{AFT(ξ) exit )}

[0036] The beneficial effects of this invention are as follows:

[0037] (1) Under the condition of satisfying priority constraints, the present invention minimizes the scheduling length of the workflow application. The prediction completion time matrix of the present invention predicts the impact of the current task on the entire workflow application while considering the impact of the current task, thereby achieving the purpose of reducing the scheduling length.

[0038] (2) In the priority calculation stage, this invention proposes a task priority calculation rule: the task level value is equal to the ratio of the sum of the predicted completion time matrix values ​​of each task on different virtual machines to the total number of virtual machines, that is, the average predicted completion time matrix value of each task. Due to the "look ahead and look back" characteristic of the predicted completion time matrix, the task priority calculation is more reasonable, and there will be no situation where high priority tasks are scheduled after low priority tasks, which can improve the efficiency of the entire algorithm. Attached Figure Description

[0039] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.

[0040] Figure 1 This is a flowchart illustrating the method for calculating priorities based on the predicted completion time matrix;

[0041] Figure 2 A schematic diagram of a parallel DAG application with 10 nodes;

[0042] Figure 3 This is a heterogeneous cloud computing system model. Detailed Implementation

[0043] The following examples further explain and clarify the invention, but the specific examples do not limit the invention in any way.

[0044] Example 1

[0045] The present invention adopts the following specific technical solution:

[0046] A heterogeneous cloud center task scheduling method based on a predicted completion time matrix includes the following steps:

[0047] S1: Task prioritization phase, the steps of which are as follows:

[0048] S1.1: Obtain multiple tasks, calculate the predicted completion time matrix for each task, where rows in the predicted completion time matrix represent tasks and columns represent virtual machines, PM(ξ) i ,pr j ) represents the i-th task ξ i Assigned to the j-th virtual machine pr j The predicted completion time matrix values ​​executed above;

[0049] In step S1, the prediction completion time matrix value PM(ξ) is...i ,pr j The formula for calculating ) is:

[0050]

[0051] succ(ξ i ) represents task ξ i The set of direct successor nodes, PM(ξ) γ ,pr j The prediction completion time matrix value of the successor node, ξ exit Indicates exiting the task;

[0052] S1.2: Calculate the priority of each task and compare the priorities of the current task and the subsequent task. If the priority of the current task is less than the priority of the subsequent task, update the predicted completion time matrix value and the task priority, and then sort the tasks in descending order according to the updated task priorities to obtain the priority queue.

[0053] If the current task priority is higher than the priority of the subsequent task, then the priority queue is obtained by directly sorting the tasks in descending order of priority.

[0054] The formula for calculating the priority in step S1.2 is as follows:

[0055]

[0056] Among them, rank PM (ξ i ) represents the task's level value, calculated from the average predicted completion time matrix value for each task, and |P| represents the number of virtual machines.

[0057] In step S1.2, when updating the prediction completion time matrix values, a scaling down is performed. The scaling down calculation formula is as follows:

[0058]

[0059] Among them, rank PM (ξ γ ) represents the priority of the successor node. In the formula for scaling down, θ is a constant with a value of 1.

[0060] In the task prioritization phase, after calculating the initial rank of all tasks... PM (ξ i After that, starting from the entry node, compare the current task nodes ξ sequentially. i Its direct successor node ξ γ (ξ γ ∈succ(ξ i )) of rank PM Value. If rank PM (ξi )≤rank PM (ξ γ The prediction completion time matrix values ​​are scaled down proportionally, thereby reducing the rank corresponding to the subsequent node. PM (ξ γ (until the priority constraint rank is met) PM (ξ i )≥rank PM (ξ γ Then rank the tasks. PM (ξ i Sort the values ​​in descending order to obtain a priority list;

[0061] S2: The virtual machine selection phase, which consists of the following steps:

[0062] S2.1: Calculate the earliest completion time and optimistic scheduling length for each task;

[0063] The formula for the earliest completion time of the task in step S2.1 is:

[0064] EFT(ξ i ,pr j )=EST(ξ i ,pr j )+w(ξ i ,pr j (4)

[0065] Where EFT(ξ) i ,pr j ) for task ξ i In pr j The earliest completion time, EST(ξ) i ,pr j ) for task ξ i In pr j The earliest start time on, w(ξ) i ,pr j ) for task ξ i Assigned in pr j The computational overhead required.

[0066] Task ξ i In pr j The earliest start time EST(ξ) i ,pr j The formula for calculating ) is:

[0067]

[0068] Among them, avail(pr j ) is pr jThe earliest time to be ready, AFT(ξ) k ξ represents the actual completion time of the predecessor node. For tasks without a predecessor, ξ... entry EST(ξ entry ,pr j ) = 0;

[0069] S2.2: Select the virtual machine with the smallest optimistic scheduling length value for each task for scheduling;

[0070] From step S2.1, we know that the formula for the optimistic scheduling length value is:

[0071] OSL(ξ i ,pr j )=EFT(ξ i ,pr j )+PM(ξ i ,pr j (6)

[0072] OSL(ξ i ,pr j Let ξ be the i-th task. i Assigned to the j-th virtual machine pr j The optimistic scheduling length value;

[0073] During the virtual machine (VM) selection phase, the first step is to calculate ξ for each task. i In pr j The OSL (Optical State Level) is then used. The PMMS algorithm then selects the VM with the smallest OSL value for execution, thereby minimizing the scheduling length.

[0074] S2.3: Complete the priority queue scheduling. If the priority queue scheduling is not completed, return to step S2.2.

[0075] S3: Calculate the scheduling length of the entire application.

[0076] In step S3, the scheduling length, which is the actual completion time of the exiting task, is expressed by the following formula:

[0077] Makespan = max{AFT(ξ) exit )} (7)

[0078] In summary, this invention minimizes the scheduling length of a workflow application while satisfying priority constraints; the predicted completion time matrix of this invention predicts the impact of subsequent tasks on the entire workflow application while considering the impact of the current task, thereby reducing the scheduling length.

[0079] In the priority calculation stage, this invention proposes a task priority calculation rule: the task's priority value is equal to the ratio of the sum of the predicted completion time matrix values ​​of each task across different virtual machines to the total number of virtual machines, i.e., the average predicted completion time matrix value for each task. Due to the "looking ahead and behind" characteristic of the predicted completion time matrix, task priority calculation is more reasonable, preventing high-priority tasks from being scheduled after low-priority tasks, thus improving the efficiency of the entire algorithm.

[0080] Example 2

[0081] In Example 2, based on a heterogeneous cloud computing system model, a workflow application described using a directed acyclic graph (DAG) is specifically applied, employing a heterogeneous cloud center task scheduling method based on a predicted completion time matrix proposed in Example 1. The workflow application is represented by G =<N,E,C,W> Let N be the set of task nodes, and ξ be the number of task nodes. i (ξ i The execution time of (∈N) varies on different virtual machines. E is the set of edges in the DAG that directly connect two task nodes, and each edge e i,j (e i,j ∈E) represents task ξ i and task ξ j Dependencies, task ξ j Cannot precede the task. i Execution. C is the set of communication edges that directly connect two task nodes. i,j (c i,j ∈C) represents e i,j The communication time, if and only if ξ i and ξ j When assigned to execute on the same virtual machine, c i,j =0. W is the set of computational overheads of task nodes on different virtual machines (VMs). In Example 2, the DAG workflow application has one and only one entry node and one exit node.

[0082] like Figure 2 As shown, this is an example of a typical DAG-based parallel application with 10 task nodes.

[0083] The steps of the method described in Example 1 of the parallel application based on DAG are as follows:

[0084] S1: Task prioritization phase, the steps of which are as follows:

[0085] S1.1: Obtain multiple tasks, calculate the predicted completion time matrix for each task, where rows in the predicted completion time matrix represent tasks and columns represent virtual machines, PM(ξ) i ,pr j ) represents the i-th task ξi Assigned to the j-th virtual machine pr j The predicted completion time matrix values ​​executed above;

[0086] In step S1, the prediction completion time matrix value PM(ξ) is... i ,pr j The formula for calculating ) is:

[0087]

[0088] succ(ξ i ) is represented as ξ i The set of direct successor nodes of the task;

[0089] S1.2: Calculate the priority of each task and compare the priorities of the current task and the subsequent task. If the priority of the current task is lower than the priority of the subsequent task, update the predicted completion time matrix value and the task priority, and then sort them in descending order according to the updated priorities to obtain the priority queue.

[0090] If the current task priority is higher than the priority of the subsequent task, then the priority queue is obtained by directly sorting the tasks in descending order of priority.

[0091] The formula for calculating task priority in step S1.2 is as follows:

[0092]

[0093] Among them, rank PM (ξ i ) represents the task's level value, calculated from the average predicted completion time matrix value for each task, and |P| represents the number of virtual machines.

[0094] In step S1.2, the prediction completion time matrix values ​​are updated and scaled down. The formula for calculating the scaling down is as follows:

[0095]

[0096] Among them, rank PM (ξ γ ) represents the priority of the successor node. In the formula for scaling down, θ is a constant with a value of 1.

[0097] In the task prioritization phase, after calculating the initial rank of all tasks... PM (ξ i After that, starting from the entry node, compare the current task nodes ξ sequentially. i Its direct successor node ξ γ (ξ γ ∈succ(ξ i )) of rankPM Value. If rank PM (ξ i )≤rank PM (ξ γ If the prediction completion time matrix value is scaled down proportionally, then the rank corresponding to that successor node will be reduced accordingly. PM (ξ γ (until the priority constraint rank is met) PM (ξ i )≥rank PM (ξ γ Then rank the tasks. PM (ξ i Sort the values ​​in descending order to obtain a priority list;

[0098] S2: The virtual machine selection phase, which consists of the following steps:

[0099] S2.1: Calculate the completion time and optimistic scheduling length for each task;

[0100] The formula for the earliest completion time of the task in step S2.1 is as follows:

[0101] EFT(ξ i ,pr j )=EST(ξ i ,pr j )+w(ξ i ,pr j (4)

[0102] Where EFT(ξ) i ,pr j ) for task ξ i In pr j The earliest completion time, EST(ξ) i ,pr j ) for task ξ i In pr j The earliest start time on, w(ξ) i ,pr j ) for task ξ i Assigned in pr j The computational overhead required.

[0103] Task ξ i In pr j The earliest start time EST(ξ) i ,pr j The formula for calculating ) is:

[0104]

[0105] Among them, avail(prj ) is pr j The earliest time to be ready, AFT(ξ) k ) represents the actual completion time of the predecessor node, for the entry task ξ. entry EST(ξ entry ,pr j ) = 0;

[0106] S2.2: Select the virtual machine with the smallest optimistic scheduling length value for each task for scheduling;

[0107] From step S2.1, we know that the formula for the optimistic scheduling length value is:

[0108] OSL(ξ i ,pr j )=EFT(ξ i ,pr j )+PM(ξ i ,pr j (6)

[0109] OSL(ξ i ,pr j Let ξ be the i-th task. i Assigned to the j-th virtual machine pr j The optimistic scheduling length value;

[0110] During the virtual machine selection phase, the first step is to calculate ξ for each task. i In pr j The OSL (Optical State Level) is then used. The PMMS algorithm then selects the virtual machine with the smallest OSL value to execute the task, thereby minimizing the application's scheduling length.

[0111] S2.3: Complete the priority queue scheduling. If the priority queue scheduling is not completed, return to step S2.2.

[0112] S3: Calculate the scheduling length of the entire application.

[0113] In step S3, the scheduling length, which is the actual completion time of the exiting task, is expressed by the following formula:

[0114] Makespan = max{AFT(ξ) exit )} (7)

[0115] The results of the parallel application based on DAG in Example 2, using the method described in Example 1, are shown in Table 1. Table 1 is... Figure 1 The computational overhead of each task node on three different VMs.

[0116] Table 1

[0117]

[0118] Taking task ξ3 as an example, ξ3 can only enter the ready state after its direct predecessor task ξ1 has been executed. The computational overhead values ​​in the second row and second column of Table 1 indicate that the execution time of task ξ1 on pr1 is 54. If task ξ1 and task ξ3 are not executed on the same virtual machine, then the communication time c from task ξ1 to task ξ3 is... 1,3 =12.

[0119] Example 3

[0120] In Example 3, a heterogeneous cloud computing system model is used to describe the application principle of the present invention, specifically applying the heterogeneous cloud center task scheduling method based on a predicted completion time matrix proposed in Example 1. The heterogeneous cloud computing system model consists of a matrix containing pr j The system consists of a set P of heterogeneous virtual machines. Based on a pre-designed scheduling strategy, and under certain constraints (such as priority constraints and energy consumption constraints), the cloud computing system maps tasks to resources.

[0121] A heterogeneous cloud computing system mainly consists of three modules: users, resource deployment, and resource management. The user module refers to the various applications and requests submitted by cloud users to the cloud center. The resource deployment module acts as a bridge between users and the resource management module. Requests submitted by users to the cloud center are preprocessed by the resource deployment module, including application processing and scheduling strategy design. Finally, the resource manager and task scheduler deliver the user-submitted applications to the resource management module. The resource management module finds suitable virtual machines (VMs) based on different applications to meet the user's personalized needs, aiming to save resources and reduce energy consumption. The method described in Example 1 is integrated into the task scheduler of the resource deployment module. The heterogeneous cloud computing system model is as follows: Figure 3 As shown.

[0122] Based on the heterogeneous cloud computing system model, the steps of applying the method described in Example 1 to Example 2 are as follows:

[0123] S1: Task prioritization phase, the steps of which are as follows:

[0124] S1.1: Obtain multiple tasks, calculate the predicted completion time matrix for each task, where rows in the predicted completion time matrix represent tasks and columns represent virtual machines, PM(ξ) i ,pr j ) represents the i-th task ξ i Assigned to the j-th virtual machine pr j The predicted completion time matrix values ​​executed above;

[0125] In step S1.1, the prediction completion time matrix value PM(ξ) is... i ,prj The formula for calculating ) is:

[0126]

[0127] succ(ξ i ) is represented as ξ i The set of direct successor nodes of the task;

[0128] S1.2: Calculate the priority of each task and compare the priorities of the current task and the subsequent task. If the priority of the current task is lower than the priority of the subsequent task, update the predicted completion time matrix value and the task priority, and then sort them in descending order according to the updated priorities to obtain the priority queue.

[0129] If the current task priority is higher than the priority of the subsequent task, then the priority queue is obtained by directly sorting the tasks in descending order of priority.

[0130] The formula for calculating task priority in step S1.2 is as follows:

[0131]

[0132] Among them, rank PM (ξ i ) represents the task's level value, calculated from the average predicted completion time matrix value for each task, and |P| represents the number of virtual machines.

[0133] In step S1.2, when updating the prediction completion time matrix values, a scaling down is performed. The scaling down calculation formula is as follows:

[0134]

[0135] Among them, rank PM (ξ γ ) represents the priority of the successor node. In the formula for scaling down, θ is a constant with a value of 1.

[0136] In the task prioritization phase, after calculating the initial rank of all tasks... PM (ξ i After that, starting from the entry node, compare the current task nodes ξ sequentially. i Its direct successor node ξ γ (ξ γ ∈succ(ξ i )) of rank PM Value. If rank PM (ξ i )≤rank PM (ξ γ The prediction completion time matrix values ​​are scaled down proportionally, thereby reducing the rank corresponding to the subsequent node.PM (ξ γ (until the priority constraint rank is met) PM (ξ i )≥rank PM (ξ γ Then rank the tasks. PM (ξ i Sort the values ​​in descending order to obtain a priority list;

[0137] S2: The virtual machine selection phase, which consists of the following steps:

[0138] S2.1: Calculate the completion time and optimistic scheduling length for each task;

[0139] The formula for the earliest completion time of the task in step S2.1 is as follows:

[0140] EFT(ξ i ,pr j )=EST(ξ i ,pr j )+w(ξ i ,pr j (4)

[0141] Where EFT(ξ) i ,pr j ) for task ξ i In pr j The earliest completion time, EST(ξ) i ,pr j ) for task ξ i In pr j The earliest start time on, w(ξ) i ,pr j ) for task ξ i Assigned in pr j The computational overhead required.

[0142] Task ξ i In pr j The earliest start time EST(ξ) i ,pr j The formula for calculating ) is:

[0143]

[0144] Among them, avail(pr j ) is pr j The earliest time to be ready, AFT(ξ) k ) represents the actual completion time of the predecessor node, for the entry task ξ. entry EST(ξ entry ,prj ) = 0;

[0145] S2.2: Select the virtual machine with the smallest optimistic scheduling length value for each task for scheduling;

[0146] The formula for the optimistic scheduling length is:

[0147] OSL(ξ i ,pr j )=EFT(ξ i ,pr j )+PM(ξ i ,pr j (6)

[0148] OSL(ξ i ,pr j Let ξ be the i-th task. i Assigned to the j-th virtual machine pr j The optimistic scheduling length value;

[0149] During the virtual machine selection phase, the first step is to calculate ξ for each task. i In pr j The OSL (Optical State Level) is then used. The PMMS algorithm then selects the virtual machine with the smallest OSL value to execute the task, thereby minimizing the application's scheduling length.

[0150] S2.3: Complete the priority queue scheduling. If the priority queue scheduling is not completed, return to step S2.2.

[0151] S3: Calculate the scheduling length of the entire application.

[0152] In step S3, the scheduling length, which is the actual completion time of the exiting task, is expressed by the following formula:

[0153] Makespan = max{AFT(ξ) exit )} (7)

[0154] Example 3, based on the computational cost table obtained by applying the method described in Example 1 in Example 2, yields the task priority results output by Example 3, as shown in Table 2. Table 2 shows the results obtained according to the PMMS method. Figure 1 Scheduling results for each task node.

[0155] Table 2

[0156]

[0157] Obviously, the above embodiments of the present invention are merely examples for clearly illustrating the present invention, and are not intended to limit the implementation of the present invention. Those skilled in the art can make other variations or modifications based on the above description. It is neither necessary nor possible to exhaustively describe all embodiments here. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention should be included within the scope of protection of the claims of the present invention.

Claims

1. A heterogeneous cloud center task scheduling method based on a predicted completion time matrix, characterized in that, The method mainly includes a task prioritization phase and a virtual machine selection phase, and its steps are as follows: S1: Task prioritization phase, the steps of which are as follows: S1.1: Obtain multiple tasks and calculate the predicted completion time matrix for each task, represented as: In the prediction completion time matrix, rows represent tasks and columns represent virtual machines. Represents the i-th task Assigned to the j-th virtual machine The prediction completion time matrix values ​​executed above. Represented as The set of direct successor nodes of the task. This represents the prediction completion time matrix value of the successor node. Indicates task Assigned to The computational overhead required, This indicates that there is no subsequent task; S1.2: Calculate the priority of each task. The formula for calculating the priority is: in The task's rating is calculated from the average predicted completion time matrix value for each task. This represents the number of virtual machines. The system compares the priorities of the current task and the subsequent task. If the priority of the current task is lower than that of the subsequent task, the predicted completion time matrix value and the task priority are updated, and then the task priorities are sorted in descending order to obtain the priority queue. If the priority of the current task is higher than that of the subsequent task, the task priorities are directly sorted in descending order to obtain the priority queue. S2: The virtual machine selection phase, the steps of which are as follows: S2.1: Calculate the earliest completion time and optimistic scheduling length for each task; S2.2: Select the virtual machine with the smallest optimistic scheduling length value for each task for scheduling; S2.3: Complete priority queue scheduling; S3: Calculate the scheduling length of the entire application.

2. The heterogeneous cloud center task scheduling method based on a predicted completion time matrix according to claim 1, characterized in that, If the current task priority is higher than the priority of the subsequent task, then the task will be assigned according to... Arrange the values ​​in descending order to obtain a priority queue.

3. The heterogeneous cloud center task scheduling method based on a predicted completion time matrix according to claim 1, characterized in that, In step S1.2, when updating the prediction completion time matrix value, the prediction completion time matrix value of the successor node is... The formula for calculating the proportional reduction is as follows: in This indicates the priority of the successor node.

4. The heterogeneous cloud center task scheduling method based on a predicted completion time matrix according to claim 3, characterized in that, In the formula for calculating the reduction in proportion It is a constant with a value of 1.

5. The heterogeneous cloud center task scheduling method based on a predicted completion time matrix according to claim 1, characterized in that, The formula for calculating the earliest completion time of the task in step S2.1 is as follows: in For the task exist The earliest completion time on For the task exist The earliest start time on For the task Assigned to The computational overhead required.

6. The heterogeneous cloud center task scheduling method based on a predicted completion time matrix according to claim 1, characterized in that, The formula for calculating the optimistic scheduling length value in step S2.1 is as follows: Represented as the i-th task Assigned to the jth The optimistic scheduling length value.

7. The heterogeneous cloud center task scheduling method based on a predicted completion time matrix according to claim 1, characterized in that, If the priority queue scheduling is not completed in step S2.3, then return to step S2.

2.

8. The heterogeneous cloud center task scheduling method based on a predicted completion time matrix according to claim 1, characterized in that, In step S3, the scheduling length, which is the actual completion time of the exiting task, is expressed by the following formula: 。