IP Library Granted Patent US 8,869,158
Granted Patent B2
US 8,869,158 · App. 13/541,459 · Granted Oct 21, 2014

Job scheduling to balance energy consumption and schedule performance

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,869,158
App. No.
13/541,459
Granted
Oct 21, 2014
Kind
B2
Abstract

An energy-aware backfill scheduling method combines overestimation of job run-times and processor adjustments, such as dynamic voltage and frequency scaling, to balance overall schedule performance and energy consumption. Accordingly, some scheduled jobs are executed in a manner reducing energy consumption. A computer-implemented method comprises identifying job performance data for a plurality of representative jobs and running a simulation of backfill-based job scheduling of the jobs at various combinations of run-time over-estimation values and processor adjustment values. The simulation generates data including energy consumption and job delay. The method further identifies one of the combinations of values that optimizes the mathematical product of an energy consumption parameter and a job delay parameter using the simulation generated data for the plurality of jobs. Jobs submitted to a processor are then scheduled using the identified combination of a run-time over-estimation value and a processor adjustment value.

Claims (44)

1. A computer-implemented method, comprising:

identifying job performance data for a plurality of representative jobs;

running a simulation of backfill-based job scheduling of the plurality of jobs at various combinations of a run-time over-estimation value and a processor adjustment value, wherein the processor adjustment value is selected from a processor frequency value, a processor voltage value, and a combination thereof, and wherein the simulation generates data including energy consumption and job delay;

identifying one of the combinations of a run-time over-estimation value and a processor adjustment value that optimize the mathematical product of an energy consumption parameter and a job delay parameter using the simulation generated data for the plurality of jobs; and

scheduling jobs submitted to a processor using the identified combination of a run-time over-estimation value and a processor adjustment value.

2. The computer-implemented method of claim 1 , wherein the processor is enabled for dynamic frequency and voltage scaling.

3. The computer-implemented method of claim 1 , wherein identifying job performance data for the plurality of jobs includes accessing historical job performance data.

4. The computer-implemented method of claim 1 , further comprising:

estimating the run-time of each job; and

multiplying the run-time estimate by the run-time over-estimation factor to determine a run-time over-estimate for each job.

5. The computer-implemented method of claim 4 , wherein the run-time estimate is based on historical job data.

6. The computer-implemented method of claim 4 , further comprising: scheduling each job within a scheduling queue, wherein the schedule allocates resources necessary to run the job for the duration of the run-time over-estimate.

7. The computer-implemented method of claim 6 , wherein running a simulation of backfill-based job scheduling of the plurality of jobs includes promoting a job in the scheduling queue to execute earlier in response to determining that sufficient compute resources are available for the duration of the run-time over-estimate for the promoted job so that earlier execution of the promoted job will not delay execution of a reserved or running job.

8. The computer-implemented method of claim 1 , further comprising:

a processor executing the jobs according to the schedule; and

measuring the actual energy consumption and job delay of the executed jobs;

updating the job performance data to include actual energy consumption data and actual job delay data associated with the executed jobs.

9. The computer-implemented method of claim 1 , wherein the job delay parameter is the average wait time of the plurality of jobs.

10. The computer-implemented method of claim 1 , wherein the energy consumption parameter is the average energy reduction ratio of the plurality of jobs.

11. The computer-implemented method of claim 10 , wherein the average energy reduction ratio of the plurality of jobs is the average energy consumption without using processor adjustment value divided by the average energy consumption using the processor adjustment value.

12. The computer-implemented method of claim 1 , further comprising:

running each of the jobs applying dynamic frequency and voltage scaling (DVFS) and without applying DVFS;

for each of the jobs, determining a change in run-time attributed to the application of DVFS; and

selecting one or more of the jobs as DVFS candidates beginning with jobs having the smallest change in run-time due to the application of DVFS and continuing with jobs having greater changes in run-time.

13. The computer-implemented method of claim 1 , further comprising: calibrating each of the jobs to determine job characteristics including execution time and power consumption, wherein the job characteristics are used by the simulation.

14. The computer-implemented method of claim 1 , further comprising:

receiving user input identifying that a newly submitted job is to be run applying dynamic frequency and voltage scaling (DVFS);

tagging the newly submitted job as a DVFS candidate job; and

modeling the relationship between energy consumption and job performance for the DVFS candidate job.

15. The computer-implemented method of claim 14 , wherein modeling the relationship between energy consumption and job performance for the DVFS candidate job includes:

identifying system resources available in the data center;

modeling the performance of the system resources for various processor frequency settings;

using the performance model of the system resources to estimate the performance of a job for a given energy consumption; and

storing the estimated performance and energy consumption data in association with the job.

16. The computer-implemented method of claim 15 , further comprising: in response to the job being submitted for scheduling to a processor, using the stored performance and energy consumption data to determine a DVFS setting that is energy-performance optimal.

17. The computer-implemented method of claim 16 , wherein the DVFS setting that is energy performance optimal is subject to a maximum run-time.

18. The computer-implemented method of claim 17 , wherein the maximum run-time is determined to prevent delaying the next scheduled job.

19. The computer-implemented method of claim 17 , wherein the DVFS setting is the processor frequency.

20. The computer-implemented method of claim 16 , wherein the DVFS setting is determined separately for each DVFS candidate job.

21. The computer-implemented method of claim 16 , wherein the DVFS setting is determined collectively for all DVFS candidate jobs.

22. The computer-implemented method of claim 16 , further comprising:

applying the DVFS setting to the DVFS candidate job during execution by a processor; and

measuring energy consumption and run-time in response to running the DVFS candidate job at the DVFS setting.

23. The computer-implemented method of claim 15 , wherein identifying system resources available in the data center includes identifying the number and type or processor cores, their frequency settings, resultant thermal energy and power consumption.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2019
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE LTD.
To: LENOVO INTERNATIONAL LIMITED
Reel/Frame 050300/0570 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNMENT DOCUMENT CONTAINING TYPO ERRORS PREVIOUSLY RECORDED AT REEL: 037101 FRAME: 0969. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 28, 2015
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
To: LENOVO INTERNATIONAL LIMITED
Reel/Frame 037689/0190 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2015
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
To: LENOVO INTERNATIONAL LIMITED
Reel/Frame 037101/0969 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2014
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
Reel/Frame 034194/0111 →