Power-performance based system management
A method comprises receiving a workload for a computer system; sweeping at least one parameter of the computer system while executing the workload; monitoring one or more characteristics of the computer system while sweeping the at least one parameter, the one or more characteristics including total power consumption of the computer system; generating a power profile for the workload that indicates a respective selected value for the at least one parameter based on analysis of the monitored total power consumption of the computer system while sweeping the at least one parameter; and executing the workload based on the respective selected value of the at least one parameter.
1 . A method comprising:
receiving a workload for a computer system;
sweeping a plurality of parameters of the computer system while executing the workload;
monitoring one or more characteristics of the computer system while sweeping the plurality of parameters, the one or more characteristics including total power consumption and performance measurement of the computer system;
generating a power profile for the workload that specifies a single value for each parameter of the plurality of parameters, the single value for each parameter selected to maximize performance per power usage based on analysis of the monitored total power consumption and performance measurement of the computer system while sweeping the plurality of parameters; and
executing the workload concurrently with one or more other workloads based on the specified value of each parameter of the plurality of parameters in the power profile being within a predefined threshold of corresponding specified values of parameters in power profiles of the one or more other workloads.
2 . The method of claim 1 , further comprising receiving one or more constraints on the plurality of parameters of the computer system.
3 . The method of claim 1 , further comprising dividing the workload into two or more stages;
wherein sweeping the plurality of parameters comprises sweeping the plurality of parameters for each of the two or more stages;
wherein monitoring the one or more characteristics comprises monitoring the one or more characteristics while sweeping the plurality of parameters for each of the two or more stages; and
wherein generating a power profile comprises generating a respective power profile for each of the two or more stages.
4 . The method of claim 1 , wherein sweeping the plurality of parameters comprises sweeping at least two parameters selected from the group consisting of central processing unit (CPU) frequency, graphics processing unit (GPU) frequency, and number of active cores in a multi-core processor.
5 . The method of claim 1 , wherein the monitored one or more characteristics of the computer system include one or more of central processing unit (CPU) power usage, graphics processing unit (GPU) power usage, fan power usage, memory power usage, disk power usage, memory bandwidth, memory latency, disk input/output bandwidth, and network bandwidth.
6 . The method of claim 1 , further comprising receiving an initial power profile for the workload; and
wherein generating the power profile comprises updating the initial power profile based on analysis of the monitored total power consumption of the computer system while sweeping the plurality of parameters.
7 . A computer management system comprising:
a storage device; and
a processor communicatively coupled to the storage device, wherein the processor is configured to:
receive a workload for a computer system;
iteratively adjust a plurality of parameters of the computer system while the workload is executed;
monitor one or more characteristics of the computer system while adjusting the plurality of parameters, the one or more characteristics including total power consumption and performance measurement of the computer system;
generate a power profile for the workload that specifies a single value for each parameter of the plurality of parameters, the single value for each parameter selected to maximize performance per power usage based on analysis of the monitored total power consumption and performance measurement of the computer system while sweeping the plurality of parameters;
store the power profile on the storage device; and
execute the workload concurrently with one or more other workloads based on the specified value of each parameter of the plurality of parameters in the power profile being within a predefined threshold of corresponding specified values of parameters in power profiles of the one or more other workloads.
8 . The computer management system of claim 7 , wherein the processor is further configured to receive one or more constraints on the plurality of parameters of the computer system.
9 . The computer management system of claim 7 , wherein the processor is further configured to:
divide the workload into two or more stages;
iteratively adjust the plurality of parameters for each of the two or more stages;
monitor the one or more characteristics while adjusting the plurality of parameters for each of the two or more stages; and
generate a respective power profile for each of the two or more stages.
10 . The computer management system of claim 7 , wherein the processor is configured to iteratively adjust at least two parameters selected from the group consisting of central processing unit (CPU) frequency, graphics processing unit (GPU) frequency, number of active cores in a multi-core processor.
11 . The computer management system of claim 7 , wherein the monitored one or more characteristics of the computer system include one or more of central processing unit (CPU) power usage, graphics processing unit (GPU) power usage, fan power usage, memory power usage, disk power usage, memory bandwidth, memory latency, disk input/output bandwidth, and network bandwidth.
12 . The computer management system of claim 7 , wherein the processor is further configured to:
receive an initial power profile for the workload; and
update the initial power profile based on analysis of the monitored total power consumption of the computer system while adjusting the plurality of parameters.
13 . A computer management system comprising:
a power-performance management engine configured to:
sweep a plurality of parameters of a computer system while a workload is executed;
monitor one or more characteristics of the computer system while sweeping the plurality of parameters, the one or more characteristics including total power consumption and performance measurement of the computer system; and
generate a power profile for the workload that specifies a single value for each parameter of the plurality of parameters, the single value for each parameter selected to maximize performance per power usage based on analysis of the monitored total power consumption and performance measurement of the computer system; and
a power-performance workload scheduler configured to schedule the workload for execution concurrently with one or more other workloads based on the specified value of each parameter of the plurality of parameters in the generated power profile being within a predefined threshold of corresponding specified values of parameters in power profiles of the one or more other workloads.
14 . A method comprising:
comparing, by a power-performance management engine (PPME), respective power performance tables for each of a plurality of workloads, each power performance table specifying a single value for at least one parameter of a plurality of parameters of a computer system for executing the respective workload, and wherein the specified values of the plurality of parameters are selected to maximize performance per power usage based on monitoring one or more characteristics of the computer system, including power consumption and performance measurement of the computer system, while iteratively adjusting the plurality of parameters;
identifying, by the PPME, at least two compatible workloads based on determining respective specified values for the plurality of parameters in the respective power performance tables are within a predefined threshold from the comparison of the respective power performance tables;
scheduling, by a power-performance workload scheduler, the at least two compatible workloads to be executed concurrently by the a second computer system; and
concurrently executing the at least two compatible workloads on the second computer system based on the respective specified values for the plurality of parameters in the respective power performance tables being within a predefined threshold from the comparison of the respective power performance tables.
15 . The method of claim 14 , wherein the plurality of parameters includes at least two parameters selected from the group consisting of central processing unit (CPU) frequency, graphics processing unit (GPU) frequency, number of active cores in a multi-core processor.
16 . The method of claim 14 , wherein the one or more monitored characteristics include one or more of central processing unit (CPU) power usage, graphics processing unit (GPU) power usage, fan power usage, memory power usage, disk power usage, memory bandwidth, memory latency, disk input/output bandwidth, and network bandwidth.
17 . A computer program product comprising a computer readable storage medium having a computer readable program stored therein, wherein the computer readable program, when executed by a processor, causes the processor to:
iteratively adjust plurality of parameters of a computer system while a workload is executed;
monitor one or more characteristics of the computer system while adjusting the plurality of parameters, the one or more characteristics including total power consumption and performance measurement of the computer system;
generate a power profile for the workload that specifies a single value for each parameter of the plurality of parameters, the single value for each parameter selected to maximize performance per power usage based on analysis of the monitored total power consumption and performance measurement of the computer system; and
execute the workload concurrently with one or more other workloads based on the specified value of each parameter of the plurality of parameters in the generated power profile being within a predefined threshold of corresponding specified values of parameters in power profiles of the one or more other workloads.
18 . The computer program product of claim 17 , wherein the one or more monitored characteristics include one or more of central processing unit (CPU) power usage, graphics processing unit (GPU) power usage, fan power usage, memory power usage, disk power usage, memory bandwidth, memory latency, disk input/output bandwidth, and network bandwidth.
19 . The computer program product of claim 17 , wherein the computer readable program is further configured to cause the processor to iteratively adjust the plurality of parameters in accordance with one or more constraints on the plurality of parameters of the computer system.
20 . The computer program product of claim 17 , wherein the computer readable program is further configured to cause the processor to:
divide the workload into two or more stages;
iteratively adjust the plurality of parameters for each of the two or more stages;
monitor the one or more characteristics while adjusting the plurality of parameters for each of the two or more stages; and
generate a respective power profile for each of the two or more stages.
21 . The computer program product of claim 17 , wherein the computer readable program is further configured to cause the processor to iteratively adjust at least two parameters selected from the group consisting of central processing unit (CPU) frequency, graphics processing unit (GPU) frequency, number of active cores in a multi-core processor.