A loop feedback scheduling method and system for energy-constrained parallel applications

Through the circular feedback scheduling method, the allocation of surplus energy consumption is optimized, and the problems of uneven energy consumption allocation and insufficient scheduling iterations in the existing scheduling algorithm are solved, and better task scheduling effect and energy consumption management are achieved.

CN119557106BActive Publication Date: 2025-04-18NANCHANG UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510108607.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-01-23
Publication Date
2025-04-18
Estimated Expiration
2045-01-23

AI Technical Summary

Technical Problem

The existing various scheduling algorithms have problems such as uneven energy consumption allocation and insufficient number of scheduling iterations when processing tasks, which affects the overall scheduling effect.

Method used

The cyclic feedback scheduling method is adopted to calculate the sum of the minimum energy consumption required by the task by introducing a static scheduling task set, and surplus energy consumption is obtained based on the pre-allocated total energy consumption minus the sum of the minimum energy consumption, and surplus energy consumption allocation and simulation scheduling are optimized based on the use of energy consumption linear weighted allocation strategy, scheduling time linear weighted allocation strategy, and average distribution strategy to optimize the scheduling results.

Benefits of technology

Through the optimization of cyclic algorithms and reverse loop algorithms, the optimal allocation of surplus energy consumption is achieved, task scheduling length is optimized, energy consumption is reduced, and the overall utilization rate of processor resources is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119557106B_ABST
    Figure CN119557106B_ABST
Patent Text Reader

Abstract

The present invention provides a loop feedback scheduling method and system for energy-constrained parallel applications, which relates to the fields of distributed computing and energy consumption optimization. The loop feedback scheduling method comprises the following steps: introducing a set of statically scheduled task sets and calculating the surplus energy consumption, respectively allocating the surplus energy consumption to each task according to the linear weighted allocation strategy of energy consumption, the linear weighted allocation strategy of scheduling time, and the average allocation strategy, and performing simulation scheduling, and recording the actual energy consumption and scheduling length of the three strategies; optimizing the linear weighted allocation strategy of energy consumption based on the loop algorithm, optimizing the linear weighted allocation strategy of scheduling time and the average allocation strategy based on the reverse loop algorithm, selecting the scheduling result with the shortest scheduling length after optimization, and outputting the detailed scheduling strategy of the scheduling result. The loop feedback scheduling method provided by the present invention can optimize the task scheduling length, reduce energy consumption, and improve the overall utilization of processor resources.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of distributed computing and energy consumption optimization, and in particular to a loop feedback scheduling method and system for energy-constrained parallel applications. Background Art

[0002] With the widespread application of heterogeneous distributed computing systems, the complexity of modern computing tasks has shown a significant growth trend. This trend has put forward higher requirements for task scheduling strategies, aiming to achieve effective reduction of energy consumption and synchronous shortening of task scheduling length. In large-scale heterogeneous systems, the performance and energy consumption characteristics of various processors vary significantly. This characteristic poses a severe challenge to traditional static scheduling strategies, making it difficult to optimize scheduling performance while strictly meeting energy constraints.

[0003] At present, there are many existing scheduling algorithms, such as MSLECC, ESECC and ISAECC. These algorithms have achieved certain results in reducing energy consumption or shortening scheduling time through their own unique optimization strategies. However, in practical applications, these algorithms still have problems such as uneven energy distribution when processing tasks, insufficient scheduling iterations, and inability to fully tap the system potential, which affects the overall scheduling effect. Therefore, it is urgent to provide a solution to solve the above problems. Summary of the invention

[0004] The purpose of the present invention is to provide a loop feedback scheduling method and system for energy-constrained parallel applications, improve the scheduling algorithm of energy-constrained parallel applications, and improve the problems of uneven energy consumption distribution of different tasks and insufficient scheduling iterations.

[0005] The present invention provides a loop feedback scheduling method for energy-constrained parallel applications using the following technical solutions:

[0006] A set of statically scheduled tasks is introduced, and the minimum energy consumption required to run each task in the task set is calculated. The surplus energy consumption is obtained by subtracting the sum of the minimum energy consumption from the pre-allocated total energy consumption. The surplus energy consumption is allocated to each task according to the linear weighted allocation strategy of energy consumption, the linear weighted allocation strategy of scheduling time, and the average allocation strategy, and simulated scheduling is performed. The actual energy consumption and scheduling length of the three strategies are recorded.

[0007] based on The loop algorithm optimizes the energy consumption linear weighted allocation strategy to obtain the first scheduling result, based on The reverse loop algorithm optimizes the scheduling time linear weighted allocation strategy and the average allocation strategy to obtain the second scheduling result and the third scheduling result, compares the first scheduling result, the second scheduling result and the third scheduling result, selects the scheduling result with the shortest scheduling length, and outputs the detailed scheduling strategy of the scheduling result.

[0008] Optionally, the process of allocating surplus energy consumption to each task and performing simulation scheduling according to the energy consumption linear weighted allocation strategy, the scheduling time linear weighted allocation strategy, and the average allocation strategy respectively includes:

[0009] The linear weighted allocation strategy based on energy consumption is as follows: determine the minimum allocated energy consumption and the maximum allocated energy consumption of each task, calculate the average energy consumption consumed by each task execution based on the minimum allocated energy consumption and the maximum allocated energy consumption, determine the weight of each task based on the average energy consumption, allocate the surplus energy consumption based on the weight of each task and perform simulation scheduling;

[0010] The linear weighted allocation strategy based on the scheduling time is as follows: let each task run under the maximum allocated energy consumption, calculate the running scheduling length of each task, determine the weight of each task based on the running scheduling length, allocate the surplus energy consumption based on the weight of each task and perform simulated scheduling;

[0011] The average allocation strategy is: directly allocate the surplus energy consumption evenly to each processor and perform simulated scheduling.

[0012] Optional, based on The process of obtaining the first scheduling result by using the energy consumption linear weighted allocation strategy in the cyclic algorithm optimization includes:

[0013] Actual energy consumption calculation coefficient based on pre-allocated total energy consumption and linear weighted allocation strategy of energy consumption , based on the coefficient Update the surplus energy consumption allocation and perform multiple rounds of energy consumption loop feedback iterations, record the scheduling length and actual energy consumption in each round of iteration, and terminate the iteration when two data loop nodes with equal scheduling length and actual energy consumption appear in the loop. Select the scheduling result with the smallest scheduling length while meeting the energy consumption requirements as the first scheduling result.

[0014] Optional, based on coefficient The process of updating surplus energy consumption allocation and performing multiple rounds of energy consumption feedback iterations includes:

[0015] Update the coefficient based on the actual energy consumption obtained in the previous iteration , based on the coefficient Update the surplus energy allocation, traverse each task and its available processor and frequency combination, obtain the combination with the shortest completion time and effective energy consumption, calculate and return the actual energy consumption and scheduling length of the entire task set for simulation scheduling, invert the calculation matrix and communication matrix, and keep other algorithm links unchanged. During the second iterative run, recalculate the scheduling length using the reverse task order and compare the result with the result of the first run, and select the smaller of the two scheduling lengths as the final output.

[0016] Optional, based on coefficient The following formula is used to update the surplus energy consumption allocation:

[0017] ;

[0018] in, To pre-allocate the energy to each processor, The minimum amount of energy required to run each processor, is the surplus energy consumption, is the coefficient determined by linear weighting of energy consumption. The cumulative multiplication of , For the The coefficients obtained from the iterations of the loop .

[0019] Optionally, the energy consumption requirement is met when the actual energy consumption in the current round is less than or equal to the pre-allocated total energy consumption.

[0020] Optional, based on The reverse loop algorithm optimizes the scheduling time linear weighted allocation strategy and the average allocation strategy to obtain the second scheduling result and the third scheduling result, including:

[0021] Actual energy consumption calculation coefficient based on pre-allocated total energy consumption and scheduling time linear weighted allocation strategy , based on the coefficient Update the surplus energy consumption allocation, and perform multiple rounds of energy consumption loop feedback iterations, record the scheduling length and actual energy consumption in each round of iteration, and terminate the iteration when the difference between two consecutive scheduling lengths in the cycle is less than the threshold or reaches the preset maximum number of iterations. Select the scheduling result with the smallest scheduling length as the second scheduling result;

[0022] Actual energy consumption calculation coefficient based on pre-allocated total energy consumption and average allocation strategy , based on the coefficient Update the surplus energy consumption allocation, and perform multiple rounds of energy consumption loop feedback iterations, record the scheduling length and actual energy consumption in each round of iteration, and terminate the iteration when the difference between two consecutive scheduling lengths in the cycle is less than the threshold or reaches the preset maximum number of iterations. Select the scheduling result with the smallest scheduling length as the third scheduling result.

[0023] Optional, based on coefficient The process of updating the surplus energy allocation includes:

[0024] Based on coefficient Update the surplus energy consumption allocation in the linear weighted allocation strategy of scheduling time using the following formula:

[0025] ;

[0026] in, To pre-allocate the energy to each processor, The minimum amount of energy required to run each processor, is the surplus energy consumption, is the coefficient determined by linear weighting of the scheduling time, the coefficient The cumulative multiplication of , For the The coefficients obtained from the iterations of the loop ;

[0027] Based on coefficient Update the surplus energy consumption allocation in the average allocation strategy using the following formula:

[0028] ;

[0029] in, To pre-allocate the energy to each processor, The minimum amount of energy required to run each processor, is the surplus energy consumption, is the total number of processors, the coefficient The cumulative multiplication of , For the The coefficients obtained from the iterations of the loop .

[0030] Optionally, the maximum number of iterations is limited to 51.

[0031] In a second aspect of the present invention, a loop feedback scheduling system for energy-constrained parallel applications is provided, comprising a pre-allocation energy consumption module and a loop feedback scheduling module, wherein:

[0032] The pre-allocated energy consumption module is configured to introduce a set of statically scheduled tasks, calculate the minimum energy consumption required to run each task in the task set, obtain the surplus energy consumption based on the pre-allocated total energy consumption minus the minimum energy consumption, allocate surplus energy consumption to each task according to the linear weighted allocation strategy of energy consumption, the linear weighted allocation strategy of scheduling time, and the average allocation strategy, and perform simulated scheduling, and record the actual energy consumption and scheduling length of the three strategies;

[0033] Loop feedback scheduling module, configured for The loop algorithm optimizes the energy consumption linear weighted allocation strategy to obtain the first scheduling result, based on The reverse loop algorithm optimizes the scheduling time linear weighted allocation strategy and the average allocation strategy to obtain the second scheduling result and the third scheduling result, compares the first scheduling result, the second scheduling result and the third scheduling result, selects the scheduling result with the shortest scheduling length, and outputs the detailed scheduling strategy of the scheduling result.

[0034] The present invention provides a loop feedback scheduling method and system for energy-constrained parallel applications, which has the following beneficial effects:

[0035] 1. The present invention is The loop algorithm and The reverse loop algorithm optimizes the allocation of surplus energy consumption so that the underloaded processors and fully loaded processors in the system can obtain the best energy allocation in multiple rounds of iterations, thereby optimizing the task scheduling length, reducing energy consumption, and improving the overall utilization of processor resources. BRIEF DESCRIPTION OF THE DRAWINGS

[0036] Figure 1 A flow chart of the loop feedback scheduling method provided by the present invention;

[0037] Figure 2 A logic flow chart of the loop feedback scheduling method provided by the present invention. DETAILED DESCRIPTION

[0038] In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention. Unless otherwise defined, the technical terms or scientific terms used herein should be understood by people with general skills in the field to which the present invention belongs. "Including" and similar words used in this article mean that the elements or objects appearing before the word include the elements or objects listed after the word and their equivalents, without excluding other elements or objects.

[0039] The embodiment of the present invention provides a loop feedback scheduling method for energy-constrained parallel applications, see Figure 1 ,include:

[0040] S1. Introduce a set of statically scheduled tasks, calculate the sum of the minimum energy consumption required to run each task in the task set, obtain the surplus energy consumption based on the pre-allocated total energy consumption minus the sum of the minimum energy consumption, allocate surplus energy consumption to each task according to the linear weighted allocation strategy of energy consumption, the linear weighted allocation strategy of scheduling time, and the average allocation strategy, and perform simulated scheduling, and record the actual energy consumption and scheduling length of the three strategies;

[0041] S2, based on The loop algorithm optimizes the energy consumption linear weighted allocation strategy to obtain the first scheduling result, based on The reverse loop algorithm optimizes the scheduling time linear weighted allocation strategy and the average allocation strategy to obtain the second scheduling result and the third scheduling result, compares the first scheduling result, the second scheduling result and the third scheduling result, selects the scheduling result with the shortest scheduling length, and outputs the detailed scheduling strategy of the scheduling result.

[0042] In some embodiments, the process of executing step S1 includes:

[0043] S1.1, introduce static scheduling task set and calculate surplus energy consumption;

[0044] S1.2, simulate scheduling based on the linear weighted allocation strategy of energy consumption;

[0045] S1.3, simulation scheduling based on linear weighted allocation strategy of scheduling time;

[0046] S1.4. Simulate scheduling based on average allocation strategy.

[0047] Specifically, in the process of executing step S1.1, introducing a statically scheduled task set and calculating the surplus energy consumption, it includes: introducing a set of statically scheduled task sets, calculating the sum of the minimum energy consumption required to run each task in the task set, and obtaining the surplus energy consumption based on the pre-allocated total energy consumption minus the sum of the minimum energy consumption.

[0048] Specifically, in the process of executing step S1.2, the process of simulating scheduling based on the use of the energy consumption linear weighted allocation strategy includes: determining the minimum allocated energy consumption and the maximum allocated energy consumption of each task, calculating the average energy consumption consumed by the execution of each task based on the minimum allocated energy consumption and the maximum allocated energy consumption, determining the weight of each task based on the average energy consumption, allocating surplus energy consumption based on the weight of each task and performing simulated scheduling, and recording the actual energy consumption and scheduling length using the energy consumption linear weighted allocation strategy.

[0049] Specifically, in the process of executing step S1.3, the scheduling simulation based on the linear weighted allocation strategy of scheduling time includes: allowing each task to run under the maximum allocated energy consumption, calculating the running scheduling length of each task, determining the weight of each task based on the running scheduling length, allocating surplus energy consumption based on the weight of each task and performing simulated scheduling, and recording the actual energy consumption and scheduling length of the linear weighted allocation strategy of scheduling time.

[0050] Specifically, in the process of executing step S1.4, simulating scheduling based on the average allocation strategy, it includes: directly distributing the surplus energy consumption evenly to each processor and performing simulated scheduling, and recording the actual energy consumption and scheduling length of the average allocation strategy.

[0051] In some embodiments, the process of executing step S2 includes:

[0052] S2.1, based on The round-robin algorithm optimizes the use of a linear weighted allocation strategy for energy consumption;

[0053] S2.2, based on The reverse loop algorithm optimizes the linear weighted allocation strategy of scheduling time;

[0054] S2.3, based on The reverse cycle algorithm optimizes the average allocation strategy;

[0055] S2.4. Screen and obtain the best scheduling strategy.

[0056] Specifically, in step S2.1, based on The process of optimizing the energy consumption linear weighted allocation strategy using the loop algorithm includes:

[0057] Actual energy consumption calculation coefficient based on pre-allocated total energy consumption and linear weighted allocation strategy of energy consumption , based on the coefficient Update the surplus energy consumption allocation and perform multiple rounds of energy consumption loop feedback iterations, record the scheduling length and actual energy consumption in each round of iteration, and terminate the iteration when two data loop nodes with equal scheduling length and actual energy consumption appear in the loop. Select the scheduling result with the smallest scheduling length while meeting the energy consumption requirements as the first scheduling result.

[0058] In fact, the coefficient The calculation method is to divide the total pre-allocated energy consumption by the actual energy consumption of the current loop feedback iteration.

[0059] Furthermore, based on the coefficient The process of updating surplus energy consumption allocation and performing multiple rounds of energy consumption feedback iterations includes:

[0060] Update the coefficient based on the actual energy consumption obtained in the previous iteration , based on the coefficient Update the surplus energy allocation, traverse each task and its available processor and frequency combination, obtain the combination with the shortest completion time and effective energy consumption, calculate and return the actual energy consumption and scheduling length of the entire task set for simulation scheduling, invert the calculation matrix and communication matrix, and keep other algorithm links unchanged. During the second iterative run, recalculate the scheduling length using the reverse task order and compare the result with the result of the first run, and select the smaller of the two scheduling lengths as the final output.

[0061] Specifically, based on the coefficient The following formula is used to update the surplus energy consumption allocation:

[0062] ;

[0063] in, To pre-allocate the energy to each processor, The minimum amount of energy required to run each processor, is the surplus energy consumption, is the coefficient determined by linear weighting of energy consumption. The cumulative multiplication of , For the The coefficients obtained from the iterations of the loop .

[0064] In fact, the energy consumption requirement is met when the actual energy consumption of the current round is less than or equal to the pre-allocated total energy consumption.

[0065] Specifically, in step S2.2, based on The process of optimizing the linear weighted allocation strategy of scheduling time by the reverse loop algorithm includes:

[0066] Actual energy consumption calculation coefficient based on pre-allocated total energy consumption and scheduling time linear weighted allocation strategy , based on the coefficient Update the surplus energy consumption allocation, and perform multiple rounds of energy consumption loop feedback iterations, record the scheduling length and actual energy consumption in each round of iteration, and terminate the iteration when the difference between two consecutive scheduling lengths in the cycle is less than the threshold or reaches the preset maximum number of iterations. Select the scheduling result with the smallest scheduling length as the second scheduling result.

[0067] In fact, the coefficient The calculation method is to divide the actual energy consumption of the current loop feedback iteration by the pre-allocated total energy consumption.

[0068] Furthermore, based on the coefficient Update the surplus energy consumption allocation in the linear weighted allocation strategy of scheduling time using the following formula:

[0069] ;

[0070] in, To pre-allocate the energy to each processor, The minimum amount of energy required to run each processor, is the surplus energy consumption, is the coefficient determined by linear weighting of the scheduling time, the coefficient The cumulative multiplication of , For the The coefficients obtained from the iterations of the loop .

[0071] Furthermore, the process of performing multiple rounds of energy consumption feedback iterations includes:

[0072] Calculate the minimum, maximum and average energy consumption of each task, determine the minimum and maximum energy consumption of the entire task graph, use the β feedback mechanism to calculate and adjust the pre-allocated energy of each task, traverse each task and its available processor and frequency combinations, and recalculate the energy using the β adjustment factor. If the energy meets the energy allocation of the task, calculate the earliest completion time. If it is earlier than the currently known actual completion time, the processor and frequency allocation will be updated together with the task completion time, thereby obtaining the combination with the shortest completion time and effective energy consumption. Calculate and return the actual energy consumption and scheduling length of the entire task set for simulation scheduling, invert the computation matrix and communication matrix, and keep other algorithm links unchanged. During the second iterative run, recalculate the scheduling length using the opposite task order, and compare the result with the result of the first run. Select the smaller of the two scheduling lengths as the final output.

[0073] Specifically, in step S2.3, based on The process of optimizing the average allocation strategy by the reverse cycle algorithm includes:

[0074] Actual energy consumption calculation coefficient based on pre-allocated total energy consumption and average allocation strategy , based on the coefficient Update the surplus energy consumption allocation, and perform multiple rounds of energy consumption loop feedback iterations, record the scheduling length and actual energy consumption in each round of iteration, and terminate the iteration when the difference between two consecutive scheduling lengths in the cycle is less than the threshold or reaches the preset maximum number of iterations. Select the scheduling result with the smallest scheduling length as the third scheduling result.

[0075] In fact, the coefficient The calculation method is to divide the actual energy consumption of the current loop feedback iteration by the pre-allocated total energy consumption.

[0076] Furthermore, based on the coefficient Update the surplus energy consumption allocation in the average allocation strategy using the following formula:

[0077] ;

[0078] in, To pre-allocate the energy to each processor, The minimum amount of energy required to run each processor, is the surplus energy consumption, is the total number of processors, the coefficient The cumulative multiplication of , For the The coefficients obtained from the iterations of the loop .

[0079] Furthermore, the process of performing multiple rounds of energy consumption feedback iterations includes:

[0080] Calculate the minimum, maximum and average energy consumption of each task, determine the minimum and maximum energy consumption of the entire task graph, use the β feedback mechanism to calculate and adjust the pre-allocated energy of each task, traverse each task and its available processor and frequency combinations, and recalculate the energy using the β adjustment factor. If the energy meets the energy allocation of the task, calculate the earliest completion time. If it is earlier than the currently known actual completion time, the processor and frequency allocation will be updated together with the task completion time, thereby obtaining the combination with the shortest completion time and effective energy consumption. Calculate and return the actual energy consumption and scheduling length of the entire task set for simulation scheduling, invert the computation matrix and communication matrix, and keep other algorithm links unchanged. During the second iterative run, recalculate the scheduling length using the opposite task order, and compare the result with the result of the first run. Select the smaller of the two scheduling lengths as the final output.

[0081] In fact, using When the reverse loop algorithm optimizes the scheduling time linear weighted allocation strategy and the average allocation strategy, the preset maximum number of iterations is limited to 51 times.

[0082] Specifically, in the process of executing step S2.4, screening and obtaining the best scheduling strategy includes:

[0083] The first scheduling result, the second scheduling result and the third scheduling result are compared, a scheduling result with the shortest scheduling length is selected, and a detailed scheduling strategy of the scheduling result is output.

[0084] In other embodiments, see Figure 2 ,include:

[0085] A set of statically scheduled task sets are introduced, which use linear weighted allocation of energy consumption to allocate processor surplus energy consumption, use linear weighted allocation of scheduling time to allocate processor surplus energy consumption, and evenly allocate processor surplus energy consumption.

[0086] When using linear weighted allocation of processor surplus energy to simulate scheduling, determine the total pre-allocated energy consumption and calculate the coefficient , based on the coefficient Update the energy consumption linear weighted allocation of processor surplus energy consumption simulation scheduling, and reverse the DAG structure to calculate again. When two data loop nodes with scheduling lengths equal to the actual energy consumption appear in the loop, terminate the iteration, find the scheduling result with the minimum scheduling length in the current result, and output the detailed scheduling strategy of the scheduling result;

[0087] When using the scheduling time to linearly weight the processor surplus energy consumption and evenly allocate the processor surplus energy consumption, determine the total pre-allocated energy consumption, and calculate the coefficient β. Based on the coefficient β, update the energy consumption linear weighted allocation of the processor surplus energy consumption simulation scheduling, and reverse the DAG structure to calculate again. When the difference between two consecutive scheduling lengths in the loop is less than the threshold or reaches the preset maximum number of iterations, terminate the iteration, find the scheduling result with the minimum scheduling length in the current result, and output the detailed scheduling strategy of the scheduling result;

[0088] Furthermore, the one with the shortest scheduling length among the above-mentioned scheduling results is selected as the target output of the final static scheduling, and the detailed energy consumption and scheduling policy of each processor are output simultaneously.

[0089] The embodiment of the present invention provides a cyclic feedback scheduling system for energy-constrained parallel applications, including a pre-allocation energy consumption module and a cyclic feedback scheduling module, wherein:

[0090] The pre-allocated energy consumption module is configured to introduce a set of statically scheduled tasks, calculate the minimum energy consumption required to run each task in the task set, obtain the surplus energy consumption based on the pre-allocated total energy consumption minus the minimum energy consumption, allocate surplus energy consumption to each task according to the linear weighted allocation strategy of energy consumption, the linear weighted allocation strategy of scheduling time, and the average allocation strategy, and perform simulated scheduling, and record the actual energy consumption and scheduling length of the three strategies;

[0091] Loop feedback scheduling module, configured for The loop algorithm optimizes the energy consumption linear weighted allocation strategy to obtain the first scheduling result, based on The reverse loop algorithm optimizes the scheduling time linear weighted allocation strategy and the average allocation strategy to obtain the second scheduling result and the third scheduling result, compares the first scheduling result, the second scheduling result and the third scheduling result, selects the scheduling result with the shortest scheduling length, and outputs the detailed scheduling strategy of the scheduling result.

[0092] Although the embodiments of the present invention are described in detail above, it is obvious to those skilled in the art that various modifications and variations can be made to these embodiments. However, it should be understood that such modifications and variations are within the scope and spirit of the present invention as described in the claims. Moreover, the present invention described herein may have other embodiments and may be implemented or realized in a variety of ways.

Claims

1. A loop feedback scheduling method for energy-constrained parallel applications, characterized in that: The following steps are involved: A set of statically scheduled tasks is introduced, and the minimum energy consumption required to run each task in the task set is calculated. The surplus energy consumption is obtained by subtracting the sum of the minimum energy consumption from the pre-allocated total energy consumption. The surplus energy consumption is allocated to each task according to the linear weighted allocation strategy of energy consumption, the linear weighted allocation strategy of scheduling time, and the average allocation strategy, and simulated scheduling is performed. The actual energy consumption and scheduling length of the three strategies are recorded. The linear weighted allocation strategy based on energy consumption is as follows: determine the minimum allocated energy consumption and the maximum allocated energy consumption of each task, calculate the average energy consumption consumed by each task execution based on the minimum allocated energy consumption and the maximum allocated energy consumption, determine the weight of each task based on the average energy consumption, allocate the surplus energy consumption based on the weight of each task and perform simulation scheduling; The linear weighted allocation strategy based on the scheduling time is as follows: let each task run under the maximum allocated energy consumption, calculate the running scheduling length of each task, determine the weight of each task based on the running scheduling length, allocate the surplus energy consumption based on the weight of each task and perform simulated scheduling; According to the average allocation strategy: directly allocate the surplus energy consumption evenly to each processor and perform simulation scheduling; based on The loop algorithm optimizes the energy consumption linear weighted allocation strategy to obtain the first scheduling result, based on The reverse loop algorithm optimizes the scheduling time linear weighted allocation strategy and the average allocation strategy to obtain the second scheduling result and the third scheduling result, compares the first scheduling result, the second scheduling result and the third scheduling result, selects the scheduling result with the shortest scheduling length, and outputs the detailed scheduling strategy of the scheduling result.

2. A loop feedback scheduling method for energy-constrained parallel applications according to claim 1, characterized in that: based on The process of obtaining the first scheduling result by using the energy consumption linear weighted allocation strategy in the cyclic algorithm optimization includes: Actual energy consumption calculation coefficient based on pre-allocated total energy consumption and linear weighted allocation strategy of energy consumption , based on the coefficient Update the surplus energy consumption allocation and perform multiple rounds of energy consumption loop feedback iterations, record the scheduling length and actual energy consumption in each round of iteration, and terminate the iteration when two data loop nodes with equal scheduling length and actual energy consumption appear in the loop. Select the scheduling result with the smallest scheduling length while meeting the energy consumption requirements as the first scheduling result.

3. A loop feedback scheduling method for energy-constrained parallel applications according to claim 2, characterized in that: The process of updating the surplus energy consumption allocation based on the coefficient and performing multiple rounds of energy consumption cycle feedback iterations includes: Update the coefficient based on the actual energy consumption obtained in the previous iteration, update the surplus energy consumption allocation based on the coefficient, traverse each task and its available processor and frequency combination, obtain the combination with the shortest completion time and effective energy consumption, calculate and return the actual energy consumption and scheduling length of the entire task set for simulation scheduling, invert the calculation matrix and communication matrix, and keep other algorithm links unchanged. During the second iterative run, recalculate the scheduling length using the opposite task order, and compare the result with the result of the first run, and select the smaller of the two scheduling lengths as the final output.

4. A loop feedback scheduling method for energy-constrained parallel applications according to claim 3, characterized in that: Based on coefficient The following formula is used to update the surplus energy consumption allocation: ; in, To pre-allocate the energy to each processor, The minimum amount of energy required to run each processor, is the surplus energy consumption, is the coefficient determined by linear weighting of energy consumption. The cumulative multiplication of No. The coefficients obtained from the iterations of the loop .

5. A loop feedback scheduling method for energy-constrained parallel applications according to claim 2, characterized in that: The energy consumption requirement is met when the actual energy consumption in the current round is less than or equal to the pre-allocated total energy consumption.

6. A loop feedback scheduling method for energy-constrained parallel applications according to claim 1, characterized in that: based on The reverse loop algorithm optimizes the scheduling time linear weighted allocation strategy and the average allocation strategy to obtain the second scheduling result and the third scheduling result, including: Actual energy consumption calculation coefficient based on pre-allocated total energy consumption and scheduling time linear weighted allocation strategy , based on the coefficient Update the surplus energy consumption allocation, and perform multiple rounds of energy consumption loop feedback iterations, record the scheduling length and actual energy consumption in each round of iteration, and terminate the iteration when the difference between two consecutive scheduling lengths in the cycle is less than the threshold or reaches the preset maximum number of iterations. Select the scheduling result with the smallest scheduling length as the second scheduling result; Actual energy consumption calculation coefficient based on pre-allocated total energy consumption and average allocation strategy , based on the coefficient Update the surplus energy consumption allocation, and perform multiple rounds of energy consumption loop feedback iterations, record the scheduling length and actual energy consumption in each round of iteration, and terminate the iteration when the difference between two consecutive scheduling lengths in the cycle is less than the threshold or reaches the preset maximum number of iterations. Select the scheduling result with the smallest scheduling length as the third scheduling result.

7. A loop feedback scheduling method for energy-constrained parallel applications according to claim 6, characterized in that: Based on coefficient The process of updating the surplus energy allocation includes: Based on coefficient Update the surplus energy consumption allocation in the linear weighted allocation strategy of scheduling time using the following formula: ; in, To pre-allocate the energy to each processor, The minimum amount of energy required to run each processor, is the surplus energy consumption, is the coefficient determined by linear weighting of the scheduling time, the coefficient The cumulative multiplication of , For the The coefficients obtained from the iteration of the loop; Based on coefficient Update the surplus energy consumption allocation in the average allocation strategy using the following formula: ; in, To pre-allocate the energy to each processor, The minimum amount of energy required to run each processor, is the surplus energy consumption, is the total number of processors, the coefficient The cumulative multiplication of , For the The coefficients obtained from the iterations of the loop .

8. A loop feedback scheduling method for energy-constrained parallel applications according to claim 6, characterized in that: The preset maximum number of iterations is limited to 51.

9. A loop feedback scheduling system for energy-constrained parallel applications, characterized in that: It includes a pre-allocation energy consumption module and a loop feedback scheduling module, where: The pre-allocated energy consumption module is configured to introduce a set of statically scheduled task sets, calculate the sum of the minimum energy consumption required to run each task in the task set, obtain the surplus energy consumption based on the pre-allocated total energy consumption minus the sum of the minimum energy consumption, allocate surplus energy consumption to each task according to the linear weighted allocation strategy of energy consumption, the linear weighted allocation strategy of scheduling time, and the average allocation strategy, and perform simulated scheduling, and record the actual energy consumption and scheduling length of the three strategies; according to the linear weighted allocation strategy of energy consumption, the minimum allocated energy consumption and the maximum allocated energy consumption of each task are determined, the average energy consumption consumed by the execution of each task is calculated based on the minimum allocated energy consumption and the maximum allocated energy consumption, the weight of each task is determined based on the average energy consumption, and the surplus energy consumption is allocated based on the weight of each task and simulated scheduling is performed; according to the linear weighted allocation strategy of scheduling time, each task is run at the maximum allocated energy consumption, the running scheduling length of each task is calculated, the weight of each task is determined based on the running scheduling length, and the surplus energy consumption is allocated based on the weight of each task and simulated scheduling is performed; according to the average allocation strategy, the surplus energy consumption is directly evenly allocated to each processor and simulated scheduling is performed; Loop feedback scheduling module, configured for The loop algorithm optimizes the energy consumption linear weighted allocation strategy to obtain the first scheduling result, based on The reverse loop algorithm optimizes the scheduling time linear weighted allocation strategy and the average allocation strategy to obtain the second scheduling result and the third scheduling result, compares the first scheduling result, the second scheduling result and the third scheduling result, selects the scheduling result with the shortest scheduling length, and outputs the detailed scheduling strategy of the scheduling result.

Citation Information

Patent Citations

  • Energy management optimizing method of microgrid including sodium-sulfur cells

    CN105958479A

  • Mixed type scheduling method and system for cloud platform wide node scientific workflow

    CN108108245A