Abstract:
A method for estimating power consumption by a target host involves estimating a per-workload in-scenario utilization function of time for each workload running on said host in said what-if scenario so as to yield per-workload in-scenario utilization functions of time. The utilization functions are aggregated to yield a target host utilization function of time. The target host utilization function of time is converted to a host power-consumption function of time.

Description:
This patent document claims the benefit of the filing date of 2008 Aug. 14 filing date of U.S. Provisional Application 61/089,040. 
    
    
     BACKGROUND 
     With energy costs rising and computer systems demanding more power, power-consumption has become an increasingly important consideration in planning data centers. Some large installations must address infrastructure limits on the amount of power that can be delivered to a computer system without causing a problem, e.g., tripping a circuit breaker. Accordingly, power ratings for computers and their components can be taken into account when allocating workloads to hosts for running those workloads. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The figures depict implementations/embodiments of the invention and not the invention itself. 
         FIG. 1  is a schematic block diagram of a system in accordance with an embodiment of the invention. 
         FIG. 2  is a flow chart of a method in accordance with an embodiment of the invention. 
     
    
    
     DETAILED DESCRIPTION 
     In the course of the present invention, it was recognized that using power ratings for computers and components often results in an inaccurate estimation of power consumption for a system configuration under consideration. Most of the time, computers and components operate at power levels substantially below their maximum ratings. 
     The present invention provides an accurate estimation of power-consumption by a proposed “what-if” host computer configuration. This estimate is generated by aggregating utilization functions of time for individual workloads and then converting the resulting aggregate utilization function of time to a power-consumption function of time for a target host. The power-consumption function of time can be statistically analyzed to provide a variety of possible power consumption statistics, such as average power consumption, peak power consumption, 90% peak power consumption, etc. This approach not only takes the actual requirements of individual workloads into account, but also takes into account packing efficiencies achieved when workload demands peak at different times (e.g., night versus day). 
     In accordance with an embodiment of the invention, a computer system AP 1  includes a data center  11  and a console  13  through which a human administrator  15  can manage data center AP 1 . Data center  11  includes a management server  17  and managed workload hosts  21  and  23 . These systems communicate over a network  25 , while console  13  communicates with data center  11  over the Internet  26 , or corporate wide-area network (WAN), or a local-area network (LAN). In an example described hereinbelow, host  21  is the source or original of a migrant workload, while host  23  is its target or destination. Accordingly, herein, host  21  is referred to as “source host  21 ” and host  23  is referred to as “target host  23 ”. 
     Source host  21  includes a per-workload utilization monitor  27 , which indicates the contribution of each workload to utilization of computing resources on source host  21 . Utilization monitor  27  tracks processor utilization on a per-workload basis. At the time represented in  FIG. 1 , workloads WA, WB, and WC are running on source host  21 . Accordingly, utilization monitor  27  provides individual utilization histories UA(t), UB(t), and UC(t) respectively for workloads WA, WB, and WC. 
     Target host  23  includes a utilization monitor  29  and a power monitor  31 . At the time represented in  FIG. 1 , workloads WD and WE are running on target host  23 . Utilization monitor  29  provides per-workload utilization histories, e.g., utilization histories UD(t) and UE(t) respectively for workloads WD and WE. Utilization monitor  29  also provides an overall utilization history U(t) for target host  23 . Power monitor  31  provides an overall power-consumption history P(t) for target host  23 . (Utilization monitor  27  also provides an overall utilization history for source host  21 , which also includes a power monitor that provides an overall power consumption history for source host  21  so that the roles of source host  21  and target host  23  can be reversed.) 
     In the illustrated embodiment, workloads WA-WE are virtual machine guests, running in a virtual machine host on source host  21  and target host  23 , each with their own applications, operating systems and management agents. Hosts  21  and  23  are hardware servers plus a host operating system for virtual-machine guests, e.g., workloads WA-WE. Other embodiments of the invention include different types of workloads, e.g., each of plural applications running on a common operating system can be considered a workload that can be migrated independently of other applications running on the same operating system. In the illustrated embodiment, the utilization is processor utilization, the percentage of processor cycles actually doing work. Processor utilization has been shown to correlate well with power consumption of a system as a whole. In other embodiments, utilization of other components, e.g., storage media and communications devices, can be monitored instead of or in addition to processors. 
     Management server  17  includes processors  33 , communications devices  35 , and computer-readable storage media  37 , a manufacture for storing physical manifestations of data and instructions for manipulation and execution by processors  33 . These programs include a node manager  40 , which includes a data collector  41 , a utilization-power calibrator  43 , a utilization projector  45 , a utilization converter  47 , a utilization aggregator  49 , utilization-to-power converter  51 , a statistical analyzer  53 , a user interface  55 , and a web server  57 . In addition, node manager  40  can include a power-consumption estimation model  59 , as explained further below. 
     Node manager  40 , directly or by virtue of its components  41 - 57 , manages hosts  21  and  23  and workloads WA-WE. In particular, node manager  40  provides for adding, deleting, and migrating workloads to, from, and between hosts  21  and  23 . This functionality is provided to administrator  15  through a user interface  55 , which is made available to a console  13  via web server  57 . The what-if configuration represented at graphical representation  23   i  of host  23  depicts the simulated migrations of workloads from, and between hosts  21  and  23 , that is the desired state for target  23 . 
     Console  13  includes a processor  61 , communications devices  63 , and a manufacture in the form of computer-readable storage media  65  encoded with data and programs computer-executable instructions. In particular, media  65  can store a world-wide-web browser  67  and a model  70  of data center  11 . Console  13  includes a touchscreen display  71 .  FIG. 1  represents a state after user  15  has manipulated workload icons to represent a what-if configuration  73  for target host  23 . In what-if configuration  73 , host  23  runs workloads WB-WD. Workload WE has been deleted from target host  23 , and workloads WB and WC have been migrated from source host  21  to target host  23 . Workload WA remains on source host  21 . 
     System AP 1  provides for projecting a power-consumption function U″(t) of time for configuration  73  using a method ME 1 , flow charted in  FIG. 2 . At method segment M 1 , monitors  27 ,  29 , and  31  track per-workload utilization, overall host utilization, and overall-host power consumption. Monitors  27 ,  29 , and  31  provide and data collector  41  collects utilization and power histories. In particular: 1) utilization monitor  27  provides per-workload utilization histories UB(t) and UC(t) for workloads WB and WC in their pre-migration location on source host  21 ; 2) utilization monitor  29  provides a pre-migration per-workload utilization history UD(t) for workload WD on target host  23 ; 3) utilization monitor  29  provides a utilization history U(t) for target host  23 ; and 4) power monitor  31  provides a power history P(t) for target host  23 . Other histories are provided as well, but are not used in projecting power-consumption for the configuration of host  23  represented at  23   i.    
     At method segment M 2 , utilization-to-power calibrator  43  determines a function P(U) for calculating power consumption by target host  23  as a function of utilization by host  23 . This calculation can involve correlating utilization and power-consumption histories for target host  23 . More specifically, a linear regression can be applied to the histories. For hosts without suitable historical data, a power-consumption function of utilization can be obtained by linearly interpolating between minimum and maximum power-consumption specifications for host  23 . 
     At method segment M 3 , utilization projector  45  projects utilization functions of time for the workloads. In particular, utilization projector  45  detects patterns and trends in per-workload utilization histories and uses them to project respective utilization functions of time. Alternatively, utilization projector  45  can have a user specified growth forecast for each utilization metric including CPU, memory, network, and disk, etc. Specifically, utilization projector  45  determines utilization functions UB′(t), UC′(t), and UD′(t), for workloads WA-WC from histories UB(t), UC(t), and UD(t). Of course, information other than the histories can be used to help project utilization functions of time. 
     At method segment M 4 , administrator  15  specifies a what-if reconfiguration of data center  11  to be considered for implementation. To this end, administrator  15  interacts with console  13 , which in turn interacts with management server  17 . Administrator  15  manipulates objects on touchscreen display  71  to generate new configuration  73  for target host  23 . In the illustrated case, workload WE is deleted or migrated to host  21 , while workloads WE and WC migrate from source host  21  to target host  23 , joining still-resident workload WD. 
     Method ME 1  provides for alternative modes for implementing method segment M 4 , as well as method segments M 5 -M 8 . In a basic mode, administrator  15  is basically interacting with management server  17 , with console  13  relegated to the role of a conduit for the interactions. In an enhanced mode, model  59  is copied to provide model  70 , which is downloaded to console  13 . In this case, administrator  15  interacts with model  70  for the remainder of method ME 1 . The enhanced approach tends to be more responsive and minimizes network traffic. However, it requires a java or other runtime environment that not all browsers have. The basic mode accommodates browsers with more basic feature sets. 
     At method segment M 5 , utilization converter  47  or model  70  projects post-migration utilization functions UB′(t). UC′(t), and UD′(t) for workloads WB-WD. If source host  21  and target host  23  have different numbers and/or types of processors, it is likely that a workload will represent different utilization percentages on the two hosts. Thus, some conversion is required to obtain a post-migration utilization function of time for a migrant workload. In the case of still-resident workload WB no conversion is required, UB′(t)=UB(t). However, in the case of migrant workloads WC and WD, a conversion is required. Typically a linear coefficient will do such that UC′(t)−k*UC(t) and UD′(t)−k*UD(t). The same coefficient is applied to both workloads WC and WD since they are from the same source host. For workloads from different source hosts, different conversion coefficients would generally be required. 
     At method segment M 6 , utilization aggregator  49  or model  70  projects target host utilization function U″(t) of time by summing individual workload utilizations UB′(t), UC′(t), and UD′ (t). Since time functions are being added, the sum of the peaks is typically higher than the peak of the sums. Thus, workloads can be more efficiently combined using the time functions rather than a constant manufacturer specification. 
     At method segment M 7 , utilization-to-power converter  51  or model  70  projects post-migration power consumption P″(t), e.g., by converting post-migration utilization function U″(t) and using power consumption function P′(U) determined at method segment M 2 . 
     At method segment M 8 , administrator  15  requests a statistic characterizing power consumption function P″(t). In response, statistical analyzer  53  or model  70  evaluates post-migration power-consumption function P″(t) to yield one or more statistics such as average power Pavg, peak power Ppeak, or some percentage of peak power. 
     At method segment M 9 , console  13  presents the request statistic or statistics on display  71  for administrator  15  to read. Steps M 4 -M 9  can be iterated to evaluate alternative plans for reconfiguring data center  11 . A best reconfiguration can be selected based on power consumption alone or based on power consumption and other parameters, such as utilization. These and other variations upon and modifications to the illustrated embodiment are provided by the present invention, the scope of which is defined by the following