A data center includes a power distribution network having a power capacity, and a plurality of computers drawing power from the power distribution network. Each of the computers has a peak power draw. The power capacity is less than a maximum power draw defined by summing the peak power draw from each of the plurality of computers.

Patent
   8595515
Priority
Jun 08 2007
Filed
Jun 06 2008
Issued
Nov 26 2013
Expiry
Dec 30 2029
Extension
572 days
Assg.orig
Entity
Large
41
185
currently ok
1. A data center, comprising:
a power distribution network having a power capacity;
a first deployment of a plurality of computers installed in the data center that draw power from the power distribution network, each of the computers having a peak power draw, wherein the power capacity is less than a maximum power draw defined by summing the peak power draw from each of the plurality of computers, and
a second deployment of a cluster of computers installed in the data center subsequent to, and electrically isolatable from, the first deployment of the plurality of computers and comprising between approximately 7% and approximately 46% of the first deployment of the plurality of computers, such that a maximum power draw defined by summing the peak power draw from each of the computers in the first and second deployments of computers is greater than the power capacity, and an operating power draw defined by summing an actual power draw from each of the computers in the first and second deployments of computers is less than the power capacity;
wherein an amount of the computers in the cluster of computers of the second deployment installed in the data center subsequent to the first deployment of the plurality of computers is based, at least partially, on a workload type executing on the computers, and
the amount of the computers in the cluster of computers of the second deployment installed in the data center subsequent to the first deployment of the plurality of computers is further based, at least partially, on a percentage of operating time of the computers in the first and second deployments spent in a power-capping mode.
9. A method of operating a data center, comprising:
deploying a first plurality of computers to a data center;
operating the first plurality of computers in the data center, each of the computers having a peak power draw;
distributing power to the plurality of computers through a power distribution network having a power capacity, wherein the power capacity is less than a maximum power draw defined by summing the peak power draw from each of the plurality of computers;
subsequently to deploying the first plurality of computers, deploying a second plurality of computers to the data center comprising between approximately 7% and approximately 46% of the first plurality of computers, such that a maximum power draw defined by summing the peak power draw from each of the computers in the first and second plurality of computers is greater than the power capacity, and an operating power draw defined by summing an actual power draw from each of the computers in the first and second plurality of computers is less than the power capacity, the first plurality of computers being operable while the second plurality of computers is being deployed;
prior to deploying the second plurality of computers to the data center, determining an amount of the computers in the cluster of computers of the second deployment installed in the data center subsequent to the first deployment of the plurality of computers is based, at least partially, on a workload type executing on the computers; and
prior to deploying the deploying a second plurality of computers to the data center, determining the amount of the computers in the cluster of computers of the second deployment installed in the data center subsequent to the first deployment of the plurality of computers is further based, at least partially, on a percentage of operating time of the computers in the first and second deployments spent in a power-capping mode.
2. The data center of claim 1, wherein the peak power draw of a computer is a power draw under a maximum utilization of a central processing unit of the computer.
3. The data center of claim 1, wherein each of the plurality of computers runs an application, and the peak power draw of a computer is a maximum power draw exhibited by the computer while running the application.
4. The data center of claim 3, wherein different computers in the plurality of computers run different applications.
5. The data center of claim 1, wherein different computers in the plurality of computers have different nameplate peak power draws.
6. The data center of claim 1, wherein the plurality of computers includes at least 1000 computers.
7. The data center of claim 6, wherein the maximum power draw is more than 5% greater than the power capacity.
8. The data center of claim 1, wherein the plurality of computers includes at least 5000 computers.
10. The method of claim 9, wherein the peak power draw of a computer is a power draw under a maximum utilization of a central processing unit of the computer.
11. The method of claim 9, wherein each of the plurality of computers runs an application, and the peak power draw of a computer is a maximum power draw exhibited by the computer while running the application.
12. The method of claim 11, wherein different computers in the plurality of computers run different applications.
13. The method of claim 9, wherein different computers in the plurality of computers have different peak power draws.
14. The method of claim 9, wherein the plurality of computers includes at least 1000 computers.
15. The method of claim 14, wherein the maximum power draw is more than 5% greater than the power capacity.
16. The method of claim 9, wherein the plurality of computers includes at least 5000 computers.
17. The method of claim 16, wherein the maximum power draw is more than 7% greater than the power capacity.
18. The method of claim 17, wherein the maximum power draw is about 40% greater than the power capacity.
19. The data center of claim 1, wherein a utilization of the processing unit of the computer is determined based at least in part on experimentally measured data that correlates the utilization with a platform-type of the computer and a type of an application executed with the computer.
20. The data center of claim 19, wherein the peak power draw of the computer is determined based on a linear regression of the utilization of the computer.
21. The data center of claim 1, wherein a utilization of the processing unit of the computer is determined based at least in part on a model that correlates the utilization with a platform-type of the computer and a type of an application executed with the computer.
22. The data center of claim 21, wherein the correlation of utilization with a platform-type of the computer and a type of an application executed with the computer comprises an interpolation of experimentally measured data that correlates a utilization of another computer in the plurality of computers with a platform-type of the other computer and a type of an application executed with the other computer.
23. The data center of claim 1, wherein the second deployment of the cluster of computers comprises between approximately 7% and approximately 16% of the first deployment of the plurality of computers.
24. The data center of claim 23, wherein the peak power draw is a peak actual power draw from the computer.
25. The data center of claim 1, wherein the second deployment of the cluster of computers comprises between approximately 80% and approximately 130% of the first deployment of the plurality of computers.
26. The data center of claim 1, wherein the peak power draw from each of the computers is a nameplate power draw.
27. The data center of claim 1, wherein the second deployment of the cluster of computers installed in the data center subsequent to the first deployment of the plurality of computers comprises approximately 7% of the first deployment of the plurality of computers based on the workload type of the first and second deployment of computers being only a websearch application.
28. The data center of claim 1, wherein the second deployment of the cluster of computers installed in the data center subsequent to the first deployment of the plurality of computers comprises approximately 40% of the first deployment of the plurality of computers based on the workload type of the first and second deployment of computers being a plurality of different applications.
29. The data center of claim 1, wherein the second deployment of the cluster of computers installed in the data center subsequent to the first deployment of the plurality of computers comprises approximately 7% of the first deployment of the plurality of computers based on the workload type of the first and second deployment of computers being only a websearch application and a percentage of operating time of the computers in the first and second deployments spent in a power-capping mode being approximately 0%.
30. The data center of claim 1, wherein the second deployment of the cluster of computers installed in the data center subsequent to the first deployment of the plurality of computers comprises approximately 7% of the first deployment of the plurality of computers based on the workload type of the first and second deployment of computers being a plurality of different applications and a percentage of operating time of the computers in the first and second deployments spent in a power-capping mode being approximately 2%.
31. The method of claim 9, wherein the peak power draw from each of the computers is a nameplate power draw.
32. The method of claim 9, further comprising:
determining that the second deployment of the cluster of computers installed in the data center subsequent to the first deployment of the plurality of computers comprises approximately 7% of the first deployment of the plurality of computers based on the workload type of the first and second deployment of computers being only a websearch application.
33. The method of claim 9, further comprising:
determining that the second deployment of the cluster of computers installed in the data center subsequent to the first deployment of the plurality of computers comprises approximately 40% of the first deployment of the plurality of computers based on the workload type of the first and second deployment of computers being a plurality of different applications.
34. The method of claim 9, further comprising:
determining that the second deployment of the cluster of computers installed in the data center subsequent to the first deployment of the plurality of computers comprises approximately 7% of the first deployment of the plurality of computers based on the workload type of the first and second deployment of computers being only a websearch application and a percentage of operating time of the computers in the first and second deployments spent in a power-capping mode being approximately 0%.
35. The method of claim 9, further comprising:
determining that the second deployment of the cluster of computers installed in the data center subsequent to the first deployment of the plurality of computers comprises approximately 7% of the first deployment of the plurality of computers based on the workload type of the first and second deployment of computers being a plurality of different applications and a percentage of operating time of the computers in the first and second deployments spent in a power-capping mode being approximately 2%.

This application claims priority to U.S. Provisional Application Ser. No. 60/976,386, filed on Sep. 28, 2007, and U.S. Provisional Application Ser. No. 60/942,963 filed on Jun. 8, 2007.

This document relates to data centers, and the design, provisioning and control of data centers.

Higher speed computers come with a cost—higher electrical consumption. For a small number of home PCs this extra power may be negligible when compared to the cost of running other electrical appliances in a household. However, in data center applications, where thousands or tens of thousands of microprocessors may be operated, electrical power consumption becomes important.

In addition, the power consumed by a microprocessor is transformed into heat. A pair of microprocessors mounted on a single motherboard can draw 200-400 watts or more of power. If that power draw is multiplied by several thousand (or tens of thousands) to account for the computers in a data center, the potential for heat generation can be appreciated. Thus, not only must a data center operator pay for electricity to operate the computers, it must also pay to cool the computers. The cost of removing heat may be a major cost of operating large data centers.

Large-scale Internet services require a computing infrastructure that can be described as a warehouse-sized computing system. The cost of building data center facilities having the capacity to deliver the power required by such a computing system can rival the recurring power consumption costs themselves.

In one aspect, a data center includes a power distribution network having a power capacity, and a plurality of computers drawing power from the power distribution network. Each of the computers has a peak power draw. The power capacity is less than a maximum power draw defined by summing the peak power draw from each of the plurality of computers.

Implementations may include one or more of the following. The peak power draw of a computer may be a power draw under a maximum utilization of a central processing unit of the computer. Each of the plurality of computers may run an application, and the peak power draw of a computer may be a maximum power draw exhibited by the computer while running the application. Different computers in the plurality of computers may run different applications, or may have different peak power draws. The plurality of computers may include at least 1000 computers, and the maximum power draw may be more than 5% greater than the power capacity. The plurality of computers may include at least 5000 computers, and the maximum power draw can be more than 7% greater than the power capacity, e.g, about 40% greater than the power capacity.

In another aspect, a method of designing a data center includes determining a design power density, determining an oversubscription ratio, and determining a spatial layout of the data center using the design power density and the oversubscription ratio.

Implementations may include one or more of the following. The facility may be constructed having the spatial layout. Determining the spatial layout may include determining a total length of one or more rows of racks of computers. Determining the total length may include dividing a power budget by the design power density and multiplying by the oversubscription ratio. Determining an oversubscription ratio may include calculating a ratio of peak power draw of a computer to peak power draw per computer of a plurality of computers.

In another aspect, a method of designing a data center includes determining a design power density, the design power density being in units of power per unit length.

Implementations may include one or more of the following. The facility may be constructed having a power carrying-capability meeting the design power density.

In another aspect, a method of deploying computers into a data center includes calculating in a computer an expected peak power draw for a plurality of computers.

Implementations may include one or more of the following. Calculating the expected power draw may include extrapolating a power draw for N computers from a measured power draw of M computers, wherein N is greater than 500 and M is less than 80. M may be 1, and N may be greater than 5000. Extrapolating may include extrapolation based on measurements of power draw by N or greater and M or less computers under a different operating condition than the computers for which the expected power draw is being calculated. The operating condition may be computer configuration or an application being performed by the computer.

In another aspect, a method of monitoring power load of a data center includes storing data representing peak power usage of a plurality of computers in the data center, collecting CPU utilization for at least a statistical sample of the plurality of computers, and calculating a power load of the plurality of computers from the CPU utilization and the peak power usage.

In another aspect, a method of monitoring power load of a data center includes measuring a power usage of a cluster of the data center, measuring a power usage of a power distribution unit (PDU) of the data center, and measuring a power usage of at least one of a rack or a computer within a rack.

In another aspect, a method of monitoring power load of a data center includes determining a power usage for each cluster, each power distribution unit and each rack, and comparing the power usage to a stored maximum power capacity of the cluster, power distribution unit or rack.

Implementations may include one or more of the following. Performance of a plurality of computers may be adjusted if a determined power usage is within a threshold of the maximum power capacity. Adjusting performance may includes adjusting job allocation, adjusting job scheduling, adjusting a central processing unit execution frequency, or shutting down servers. Determining may include calculating the power usage from processor and/or other component utilization, or measuring the power usage.

In another aspect, a method of controlling power usage in a data center includes generating a signal indicating that a power usage is within a threshold of a maximum power capacity, and in response to said signal, adjusting performance of a computer.

Implementations may include one or more of the following. Adjusting performance may include one or more of adjusting job scheduling or adjusting a central processing unit execution frequency.

In another aspect, a method of estimating peak power usage of a computing system having a CPU includes determining the components in the computing system, determining a peak power usage value for each component, and adding the peak power usage value for each component together to result in an actual peak power value.

In another aspect, a method of modeling computer system power usage for a single system includes running a group of computing systems, wherein each computing system has a CPU, measuring total system power usage of the computing system, measuring CPU utilization of each computing system in the group, and determining a line fit to the system power to CPU utilization to create the model.

In another aspect, a method of determining a number of computing systems that can be run in a data center includes determining a total power available, and selecting a number of computing systems based on the method of modeling and an estimated amount of CPU utilization over a given period.

In another aspect, a method of running multiple computing systems to maximize a number of systems in use with the amount of power available includes selecting a first workload type, a second workload type and a third workload type, wherein the first workload type is a service with a high request throughput and large data processing requirements for each request, the second workload type is an Internet service and the third workload type is a service that runs offline batch jobs, determining a power usage for each of the first workload type, second workload type and third workload type, selecting a highest power usage value of the first workload type, second workload type and third workload type, and assigning a number of systems to run the first workload type, second workload type and third workload type based on the amount of power available and the highest power usage value.

In another aspect, a method of safeguarding multiple computing systems in a datacenter includes selecting a value below an actual peak power, monitoring power usage of the multiple computing system during use, predicting future power usage based on requested tasks, determining whether the future power usage will exceed the value, and if the future power usage will exceed the value, implementing component-level power management control functions or descheduling tasks.

In another aspect, a method of modeling to simulate potential for power and energy savings in a datacenter includes selecting a threshold CPU utilization rate, and for each computing machine having a CPU component in a group of computing machines that falls below the threshold CPU utilization rate, reducing the CPU component of total power and leaving power consumption of remaining components of the computing machine unchanged.

In another aspect, a method of modeling non-peak power efficiency includes setting an idle power of each machine in a group of machines at about 10% of actual peak power, and corresponding power usage greater than idle as proportional to increased activity.

Advantages can include one or more of the following. Additional computer equipment can be deployed in a data center within the same power budget with little risk of exceeding the power budget. Cost for excess power capacity of the power distribution equipment can be reduced. The risk of exceeding power budget can be evaluated before upgrading a data center facility with new equipment.

The details of one or more embodiments are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description and drawings, and from the claims.

FIGS. 1A and 1B are sectional side and plan views, respectively, of a facility operating as a data center.

FIG. 2 is a simplified schematic of a datacenter power distribution hierarchy.

FIG. 3 is flowchart illustrating a method of power planning.

FIG. 4 is a schematic illustration of a graphical user interface from power usage calculation software.

FIG. 5 is a simplified datacenter power distribution hierarchy.

FIG. 6 is a graph of a model fitting system power to CPU utilization at the machine level.

FIG. 7 is a graph of a modeled power versus measured power at the power distribution units level.

FIG. 8 is a schematic illustration of the collection, storage and analysis architecture.

FIG. 9A is a graph of a cumulative distribution function of power usage normalized to actual peak for Websearch, and FIG. 9B is an expanded view of a portion of the graph (power from FIG. 9A.

FIG. 10A is a graph of a cumulative distribution function of power usage normalized to actual peak for Webmail, and FIG. 10B is an expanded view of a portion of the graph from FIG. 10A.

FIG. 11A is a graph of a cumulative distribution function of power usage normalized to actual peak for Mapreduce, and FIG. 11B is an expanded view of a portion of the graph from FIG. 11A.

FIG. 12A shows graphs of cumulative distribution functions for Websearch, Webmail, Mapreduce and the mixture of all at the cluster level, and FIG. 12B is an expanded view of a portion of the graph from FIG. 12A.

FIG. 13A shows graphs of cumulative distribution functions for a real datacenter at the rack, PDU and cluster level, and FIG. 13B is an expanded view of a portion of the graph from FIG. 13A.

FIG. 14A is a graph showing of the impact on peak power reduction of CPU voltage scaling at the datacenter level.

FIG. 14B is a graph showing of the impact on energy savings of CPU voltage scaling at the datacenter level. FIG. 14A is a graphs showing of the impact on peak power reduction of CPU voltage scaling at the datacenter level.

FIG. 15 is a graph of the idle power as a fraction of peak power in five server configurations.

FIG. 16 is a graph of the power and energy savings achievable by reducing idle power consumption to 10% of peak.

Like reference symbols in the various drawings indicate like elements.

Large-scale Internet services and the massively parallel computing infrastructure that is required to support them can require the design of warehouse-sized computing systems, made up of thousands or tens of thousands of computing nodes, their associated storage hierarchy and interconnection infrastructure.

Power is a first-order concern in the design of these massive computing systems. The cost of powering server systems has been steadily rising with higher performing systems, while the cost of hardware has remained relatively stable. If these trends continue, the cost of the power consumed by a server during its lifetime could surpass the cost of the equipment itself.

Another cost factor that has not received significant attention is the cost of building a data center facility having the capacity to deliver the power required by such a massive computing system. Typical data center building costs fall between $10 and $20 per deployed Watt of peak critical power (power for computing equipment only, excluding cooling and other ancillary loads), and electricity costs in the U.S. are approximately $0.80/Watt-year (less than that in areas where large datacenters tend to be deployed). Unlike energy costs that vary with actual usage, the cost of building a data center facility is fixed for a given peak power delivery capacity. Consequently, the more under-utilized a facility, the more expensive it becomes as a fraction the total cost of ownership. For example, if a facility operates at 85% of its peak capacity on average, the cost of building the facility will still be higher than all electricity expenses for ten years of operation (e.g., assuming typical Tier-2 datacenter costs of $11/Watt of critical power and a 50% energy overhead for cooling and conversion losses). Therefore, there is a strong economic incentive to operate facilities as close as possible to maximum capacity, so that the non-recurring facility costs can be best amortized.

Maximizing usage of the available power budget is also important for existing facilities, since it can allow the computing infrastructure to grow or to enable upgrades without requiring the acquisition of new data center capacity, which can take years if it involves new construction.

The power budget available at a given aggregation level is often underutilized in practice, sometimes by large amounts. Some of the important contributing factors to underutilization include the following.

Staged deployment—A facility is rarely fully populated upon initial commissioning, but tends to be sized to accommodate business demand growth. Therefore the gap between deployed and used power tends to be larger in new facilities.

Fragmentation—Power usage can be left stranded simply because the addition of one more unit (a server, rack or PDU) might exceed that level's limit. For example, a 2.5 kW circuit may support only four servers that draw 520 W peak power, which would guarantee a 17% underutilization of that circuit. If a datacenter is designed such that the PDU-level peak capacity exactly matches the sum of the peak capacities of all of its circuits, such underutilization percolates up the power delivery chain and become truly wasted at the datacenter level.

Conservative equipment ratings—Nameplate ratings in computing equipment datasheets typically reflect the worst-case input power of the power supply instead of the actual peak power draw of the specific equipment. As a result, nameplate values tend to drastically overestimate achievable power draw.

Variable load—Typical server systems consume variable levels of power depending on their activity. For example, a typical low-end server system consumes less than half its actual peak power when it is idle, even in the absence of any sophisticated power management techniques. Such variability transforms the power provisioning problem into an activity prediction problem.

Statistical effects—It is increasingly unlikely that large groups of systems will be at their peak activity (therefore power) levels simultaneously as the size of the group increases.

Load variation and statistical effects are the main dynamic sources of inefficiency in power deployment.

In modern, well designed facilities, both conversion losses and cooling overheads can be approximately modeled as a fixed tax over the critical power used. Less modern facilities might have a relatively flat cooling power usage that does not react to changes in the heat load. In either case, the variations in the critical load will accurately capture the dynamic power effects in the facility, and with the aid of some calibration can be used to estimate the total power draw.

The incentive to fully utilize the power budget of a datacenter is offset by the business risk of exceeding its maximum capacity, which could result in outages or costly violations of power provisioning service agreements.

In addition, it is difficult to operate facilities close to maximum capacity in practice because of uncertainties in equipment power ratings and because power consumption tends to vary significantly with the actual computing activity.

Effective power forecasting and provisioning strategies are needed to design a data center facility to deliver the power that will be required by the housed computing equipment, and to determine how much computing equipment can be safely and efficiently hosted within a given power budget. Determining deployment and power management strategies to achieve near maximum power utilization requires understanding the simultaneous power usage characteristics of groups of hundreds or thousands of machines, over time. This is complicated by three important factors: the rated maximum power (or nameplate value) of computing equipment is usually overly conservative and therefore of limited usefulness; actual consumed power of servers varies significantly with the amount of activity, making it hard to predict; different applications exercise large-scale systems differently. Consequently only direct measurement of the actual power draw at the PDU and datacenter level can give accurate power usage characteristics, in particular implementations.

An exemplary data center facility will be described as an introduction to the power forecasting and provisioning issues.

FIGS. 1A and 1B are side and plan views to illustrate an exemplary facility 10 that serves as a data center. The facility 10 includes an enclosed space 12 and can occupy essentially an entire building, or be one or more rooms within a building. The enclosed space 12 is sufficiently large for installation of numerous (dozens or hundreds or thousands of) racks of computer equipment, and thus could house hundreds, thousands or tens of thousands of computers.

Modules 20 of rack-mounted computers are arranged in the space in rows 22 separated by access aisles 24. Each module 20 can include multiple racks 26, and each rack includes multiple trays 28. In general, each tray 28 can include a circuit board, such as a motherboard, on which a variety of computer-related components are mounted. A typical rack 26 is a 19″ wide and 7′ tall enclosure.

The facility also includes a power grid 30 which, in this implementation, includes a plurality of power distribution “lines” 32 that run parallel to the rows 22. Each power distribution line 32 includes regularly spaced power taps 34, e.g., outlets or receptacles. The power distribution lines 32 could be busbars suspended on or from a ceiling of the facility. Alternatively, busbars could be replaced by groups of outlets independently wired back to the power supply, e.g., elongated plug strips or receptacles connected to the power supply by electrical whips. As shown, each module 20 can be connected to an adjacent power tap 34, e.g., by power cabling 38. Thus, each circuit board can be connected both to the power grid, e.g., by wiring that first runs through the rack itself and the module and which is further connected by the power cabling 38 to a nearby power tap 34.

In operation, the power grid 30 is connected to a power supply, e.g., a generator or an electric utility, and supplies conventional commercial AC electrical power, e.g., 120 or 208 Volt, 60 Hz (for the United States). The power distribution lines 32 can be connected to a common electrical supply line 36, which in turn can be connected to the power supply. Optionally, some groups of power distribution lines 32 can be connected through separate electrical supply lines to the power supply.

Many other configurations are possible for the power grid. For example, the power distribution lines can have a different spacing than the rows of rack-mounted computers, the power distribution lines can be positioned over the rows of modules, or the power supply lines can run perpendicular to the rows rather than parallel.

The facility will also include cooling system to removing heat from the data center, e.g., an air conditioning system to blow cold air through the room, or cooling coils that carry a liquid coolant past the racks, and a data grid for connection to the rack-mounted computers to carry data between the computers and an external network, e.g., the Internet.

The power grid 30 typically is installed during construction of the facility 10 and before installation of the rack-mounted computers (because later installation is both disruptive to the facility and because piece-meal installation may be less cost-efficient). Thus, the size of the facility 10, the placement of the power distribution lines 32, including their spacing and length, and the physical components used for the power supply lines, need to be determined before installation of the rack-mounted computers. Similarly, capacity and configuration of the cooling system needs to be determined before installation of the rack-mounted computers. To determine these factors, the amount and density of the computing equipment to be placed in the facility can be forecast.

Before discussing power forecasting and provisioning issues, it is useful to present a typical datacenter power distribution hierarchy (even though the exact power distribution architecture can vary significantly from site to site).

FIG. 2 shows the power distribution system 50 of an exemplary Tier-2 datacenter facility with a total capacity of 100 KW. The rough capacity of the different components is shown on the left side. A medium voltage feed 52 from a substation is first transformed by a transformer 54 down to 480 V. It is common to have an uninterruptible power supply (UPS) 56 and generator 58 combination to provide back-up power should the main power fail. The UPS 56 is responsible for conditioning power and providing short-term backup, while the generator 58 provides longer-term back-up. An automatic transfer switch (ATS) 60 switches between the generator and the mains, and supplies the rest of the hierarchy. From here, power is supplied via two independent routes 62 in order to assure a degree of fault tolerance. Each side has its own UPS that supplies a series of power distribution units (PDUs) 64. Each PDU is paired with a static transfer switch (STS) 66 to route power from both sides and assure an uninterrupted supply should one side fail. The PDUs 64 are rated on the order of 75-200 kW each. They further transform the voltage (to 110 or 208 V in the US) and provide additional conditioning and monitoring, and include distribution panels 65 from which individual circuits 68 emerge. Circuits 68, which can include the power cabling 38, power a rack or fraction of a rack worth of computing equipment. The group of circuits (and unillustrated busbars) provides the power grid 30. Thus, there can be multiple circuits per module and multiple circuits per row. Depending on the types of servers, each rack 26 can contain between 10 and 80 computing nodes, and is fed by a small number of circuits. Between 20 and 60 racks are aggregated into a PDU 64.

Power deployment restrictions generally occur at three levels: rack, PDU, and facility. (However, as shown in FIG. 2, four levels may be employed, with 2.5 KW at the rack, 50 KW at the panel, 200 KW at the PDU, and 1000 KW at the switchboard.) Enforcement of power limits can be physical or contractual in nature. Physical enforcement means that overloading of electrical circuits will cause circuit breakers to trip, and result in outages. Contractual enforcement is in the form of economic penalties for exceeding the negotiated load (power and/or energy).

Physical limits are generally used at the lower levels of the power distribution system, while contractual limits may show up at the higher levels. At the rack level, breakers protect individual power supply circuits 68, and this limits the power that can be drawn out of that circuit (in fact the National Electrical Code Article 645.5(A) limits design load to 80% of the maximum ampacity of the branch circuit.). Enforcement at the circuit level is straightforward, because circuits are typically not shared between users.

At higher levels of the power distribution system, larger power units are more likely to be shared between multiple different users. The data center operator must provide the maximum rated load for each branch circuit up to the contractual limits and assure that the higher levels of the power distribution system can sustain that load. Violating one of these contracts can have steep penalties because the user may be liable for the outage of another user sharing the power distribution infrastructure. Since the operator typically does not know about the characteristics of the load and the user does not know the details of the power distribution infrastructure, both tend to be very conservative in assuring that the load stays far below the actual circuit breaker limits. If the operator and the user are the same entity, the margin between expected load and actual power capacity can be reduced, because load and infrastructure can be matched to one another.

Turning now to power planning, FIG. 3 is a flowchart illustrating a method of power planning to permit facility construction and deployment of computing equipment. The initial two power planning steps are to determine a design power density for the datacenter (step 102) and to determine an oversubscription ratio (step 104).

The design power density is a metric of the peak power draw per spatial unit by the rack-mounted computers in the facility. The design power density sets the power-carrying capacity requirement of the power grid. In particular, the design power density can be given in units of power per length, e.g., kilowatts per foot (kw/ft). This is a useful metric because it sets the power-carrying the density of power taps along a power delivery line and the power capacity of the power taps. In particular, the number of taps per unit length multiplied by the amperage of those taps cannot exceed the design power density. The design power density also sets the power capacity requirements of the power supply cabling, e.g., the circuits. The maximum power capacity requirements of the power distribution lines, e.g., the busbars, can be somewhat lower (on a per circuit basis, not on an absolute basis) than the circuits, since averaging discussed below will lower the peak power draw. The capacity of the physical components, e.g., the busbars, plugs, switching gear, etc., that compose a line are relatively easy to determine (e.g., are often given by manufacturer's specifications). Since the power cabling and power distribution lines do not need to be overdesigned, wasted infrastructure cost is avoided.

The inputs used to determine the design power density include a platforms roadmap, and facility component restraints. The platforms roadmap provides a projection of the peak power draw of a typical server computer at a certain point, e.g., three years or five years, into the future. This projection can be calculated by accumulating a data sample of the peak power draws for server computers over a certain age distribution, determining the rate of power draw increase, and assuming that this rate of increase will remain constant. The projection can also be taken from information from computer manufacturers themselves regarding their plans for power draw of future systems.

The platforms roadmap also provides a form factor for the rack-mounted computers and racks themselves. That is, the platforms roadmap provides the number of computers per rack, and the number of racks per unit length along the row. The form factor can be given by assuming that the current form factor remains unchanged, e.g., that racks are 19″ wide and hold ten to eighty computers.

For example, assuming that a row is to include two racks, each rack is 19″ wide and is to hold twenty-five computers, and each future computer is projected to consume 400 watts of power at peak operation, then the design power density can be calculated as (400 watts/computer*25 computers/rack*2 racks/19″*12″/foot)≈12.6 kw/ft.

The facility component restraints dictate an upper bound of the power density. In particular, above a certain power capacity, the physical components (e.g., busbars, plugs) of the power grid become prohibitively expensive. Thus, the calculated design power density can be check for reasonableness, and if necessary reduced to meet practical cost limitations.

The oversubscription ratio is a ratio of design power density to an average power density for presently available computers. As described above, the design power density is based on the projected peak power draw of a future computer. However, the average power draw is usually lower, and often significantly lower than the peak power draw. There are several factors that contribute to this effect. First, as noted above, the power draw of computers is expected to increase, and thus the power draw for future computers is set higher than the power draw of presently available computers. Second, the peak power draw is greater than the average power draw. In particular, the individual components (e.g., circuits) that carry power need to be able to handle the peak power draw of a computer. However, in the aggregate of thousands of computers, statistically there is a much smaller deviation from the average power draw.

Another way to consider the oversubscription ratio is as ratio of peak power draw over the life of a facility at the computer level to the peak power draw (per presently available computers) at the facility level. Computer utilization may be substituted as a measure of power draw. Thus, the oversubscription ratio can be based on the ratio of peak utilization at the computer level to peak utilization at the facility level.

Inputs for determining the oversubscription ratio include measured platform data, measured application data and “forklift” data. Forklift data is information regarding a target number of platforms, and their type, to move into a facility. Application data includes information regarding the number of type of applications that will be running on the platforms. Platform data includes information from which power usage can be determined for a particular type of platform and application, and can include experimentally determined power usage and utilization data for some platforms.

Initially, power usage data can be collected experimentally. Each data point can include an amount of power drawn, the time of the measurement, and identity of the component (e.g., the particular computer, rack or PDU) that is the subject of the measurement. In particular, a cluster of similar platforms can be run using the same application(s). During this time, the power usage can be measured at the computer level, the rack level, the PDU level, the cluster level and/or the facility level The measurements are performed for sufficient time to obtain a statically significantly sample of power, e.g., for 24 hours. A cluster can be considered to be a large number of computers, e.g., five to ten thousand computer, that are logically connected, e.g., tasked to perform the same application, e.g., serving search requests. There can be more than one cluster in a facility. In addition, as discussed below, rather than measure power usage directly, utilization can be measured, and power usage calculated from utilization.

A power distribution function (percentage time spent at or below a given fraction of peak power) can be determined from the experimentally gathered power usage data at a variety of levels of the power distribution system (e.g., at the computer, rack, PDU, cluster or facility) for a variety of platforms (e.g., each platform is a particular model of computer with a particular processing speed, available memory, etc.) for a variety of applications (e.g., search requests, email, map requests). Average and peak power draw can be calculated from the power distribution function.

In addition, much simpler baseline power usage data can be collected for particular computers that are proposed to be installed in the facility. This baseline power usage data can be a power distribution function for the particular computer as determined experimentally by running a standard application, a measured average or peak power usage as determined experimentally by running a standard application, or simply a nameplate power for collected from manufacturer specifications. Where power usage is determined experimentally, the application can be a high demand application.

The power usage data can be entered into power planning software. The power planning software can include a power usage database that stores the data, and a power calculation algorithm. The algorithm can extrapolate the expected power usage from a baseline for a proposed computer based on the relationships between known power distribution functions. For example, once a power distribution function is measured for a proposed new server running a standard search service, then the peak power usage for a cluster of such servers running such a search service can be extrapolated using the relationship between the measured power distribution functions at the computer and cluster level for other servers running the search service.

In some implementations, the baseline power usage data includes sufficient data from which a power as a function of utilization, e.g., CPU utilization, can be derived for a particular platform and application. For example, the database can include experimentally determined power draw for a given platform and a given application at several different utilization levels. From this data, a linear regression can be used to fit the power draw as a linear function of CPU utilization.

The baseline data can also include sufficient data from which power as a function of utilization can be determined for combinations of platforms and application that have not been experimentally measured. The baseline data can include either a specific model that relates components to the power-utilization function, or data from which a relationship of components to the power-utilization can be derived. For example, the baseline data can include a components database indicating the particular components, e.g., the class and speed of the CPU, the amount of memory, and the number of disk drives, for a particular type of platform. The baseline power data can also include experimentally determined power draw for platforms with different components. The baseline power data can also include experimentally determined power draw for platforms running different applications. The power-utilization function for a platform with a particular combination of components and application (that has not been experimentally measured) can be calculated, e.g., by interpolation, from the data of other platforms with different combinations of components and applications (which have been experimentally measured).

In some implementations, the power-utilization function gives power as a linear function of utilization, with the offset and slope of the line being dependent on the components of the platform and the application. The offset and slope can thus be values that are calculated from available power usage data.

The power usage of a computer can be determined by measuring the utilization and calculating the power from the utilization and the power-utilization function. The power usage of a rack, PDU or cluster can be determined measuring the utilization of all of the computers followed by calculating the power from their power-utilization functions, or measuring the utilization of some of the computers, e.g., a statistical sampling, calculating the power from the power-utilization functions of the sample, and extrapolation from the power draw of the sample to the power draw of the rack, PDU or cluster.

To determine the expected maximum power usage for a computer, the historical utilization data can be analyzed and an expected maximum utilization can be set as the utilization below which the computer spends the vast majority of time as given by a distribution percentile, e.g., at least 95%, e.g., at least 98%, e.g., at least 99%. The expected maximum power usage can then be calculated from the expected maximum utilization and the power-utilization function.

Using the power planning software, an expected power usage can be calculated for an exemplary platform and a desired application. The exemplary platform is selected to be somewhat less demanding than expected future platforms, although possibly somewhat more demanding than a “mid-performance” platform available at the time of design. Given the exemplary platform and the desired application, the expected power usage can be determined at the facility level, and an oversubscription ratio calculated.

In general, either step 102 or step 104 can be performed first. However, once determined, a design power density can be used for multiple facilities, whereas the oversubscription ratio depends on the applications to be performed by the computing system to be installed in a particular facility, and thus can vary from facility. Thus, the design power density tends to be determined first and remain constant for repetition of the oversubscription step for different facilities.

Once the design power density and oversubscription ratio are determined, spatial planning can be performed (step 106). Spatial planning includes determination of size of the facility and layout of the power distribution lines and taps. In particular, given the available power for the facility (e.g., 1 to 2 megawatts), the total length of the row(s) of racks can be calculated by dividing available power by the design power density and multiplying by the oversubscription ratio.

For example, assuming that the available power is 1.5 megawatts, the design power density is 12.6 kw/ft, and the oversubscription ratio is 2, the total row length will be given by (1.5 megawatts/12.6 kw/ft*2)≈238 feet. This could be divided into a single row of 238 feet, two rows of 119 feet, three rows of 80 feet, and so on. In contrast, if the oversubscription ratio is 1.0, then the total row length would be 119 feet, which could be provided by a single row of 119 feet, two rows of 60 feet, etc.

In general, in order to operate the facilities close to maximum power capacity, additional computers are added beyond those that would use the entire power capacity if operating at peak power usage.

The data center facility can now be constructed in accordance with the spatial plan and the design power density (step 108). Thus, the facility can be constructed with an interior volume sufficient to house the total row length calculated above. In addition, the facility can be installed with power distribution lines configured to handle the design power density, and extending through the facility space with sufficient length and spacing to cover the total row length.

In addition, expected heat dissipation can be calculated from the design power density (in general, nearly all of the power consumed by the rack-mounted computers is converted to heat). A cooling system can also be installed in the data center facility with sufficient cooling capacity to expected heat dissipation from the rack-mounted computers.

Deployment of actual rack-mounted computers can be planned (step 110). Deployment planning ensures that a given combination of platforms and applications do not exceed the available power and design power density for the facility. Thus, given an expected usage of the data center (generally as driven by customer demand), e.g., for search requests, email, map requests and the like, and given an intended platform installation, an expected power usage particularized for application and platform can be generated. By summing the expected power usage for each set of platforms and applications, a total expected power usage can be calculated. The expected power usage can be an expected average power usage or an expected maximum power usage.

FIG. 4 shows software to perform this calculation can be implemented, e.g., as a spreadsheet, with each record (e.g., row) having field for number of units, particular platform and particular application. The expected power usage per unit can be determined in another field from a lookup table in the spreadsheet that uses the selected platform and application, and this value can be multiplied by the number of units to provide a subtotal. The lookup table can calculate the expected power usage from an expected utilization (which can be set for all records from a user-selected distribution percentile) and the power-utilization function for the combination of platform and application. Finally, the subtotals from each row can be totaled to determine the total power usage.

The deployment planning step can be performed in conjunction with other steps.

Actual rack-mounted computers can now be deployed into the facility in accordance with the plan (step 112).

Once some rack-mounted computers are installed and operating, further power consumption data can be collected to refine the power planner database. In addition, the effects of planned changes, e.g., platform additions or upgrades, can be forecast, effectively repeating the deployment planning step.

In general, this design and deployment scheme balances the short-term and long-term usage of the facility. Although an initial server installation may not use all of the available power, the excess capacity permits equipment upgrades or installation of additional platforms for a reasonable period of time without sacrificing platform density. On the other hand, once available power has been reached, further equipment upgrades can still be performed, e.g., by decreasing the platform density (either by fewer computer per rack or by greater spacing between racks) or by using lower power applications, to compensate for the increased power consumption of the newer equipment.

This design and deployment scheme also permits full utilization of the total power available to the facility, while designing power distribution components within the power distribution network with sufficient capacity to handle peak power consumption. As shown in FIG. 5, a power distribution network might have three PDUs. Although the facility might have 1 megawatt available, each PDU may need 500 KW capacity to handle transient power peaks. If each PDU were run at full capacity, this would exceed the capacity of the facility. By using the power profiling software, the average total power used by the rack-mounted computers can be calculated to confirm that a potential deployment does not exceed the maximum capacity of the facility. Moreover, the percentage usage of the available facility power need not be uniform, but can vary from branch to branch in the distribution hierarchy.

It should also be noted that this scheme permits installation and operation of more rack-mounted computers for a given power budget than would be expected given the peak power draw for a particular computer. In particular, installation can be performed based on the peak power required by a cluster or higher level, rather than the peak power required for a particular rack-mounted computer. In short, at the cluster level, due to the much larger number of computers, power draw is more uniform and peak power draw is closer to the average power draw, than at the platform or rack level.

For example, for a particular application, a particular platform might have an average power draw of 350 watts and peak draw of 400 watts. If installation was performed based on the peak draw of the platform, then the assumption would be that a 1 megawatt capacity facility could hold no more than 2500 such platforms. However, a cluster of platforms running the application might have an average power draw of 350 watts/computer and a peak draw of 375 watts/computer. Thus, a facility with 1 megawatt capacity could actually hold 2666 such platforms safely.

In addition, the effects of deployment can be evaluated “end to end” in the data center. The power usage can be calculated at the rack, STS, PDU and facility level. Thus, deployment can be evaluated for compliance with available capacity at each of these levels.

Once the computers have been deployed, power usage can be monitored on an ongoing (although not necessarily real-time) basis. For example, it is possible to monitor the power usage at the PDU and STS levels. Finer monitoring granularity permits greater control of load balancing. For example, it would be possible to monitor the power usage of each rack or even each computer, although the latter can have significant equipment cost. Another implementation would be to monitor a statistical sampling of computers, e.g., one computer per rack.

In addition, monitoring can be performed “end to end” in the data center. That is power usage can be monitored at the rack, PDU, STS and facility level. In particular, the power hierarchy can be stored in the database such that power usage data for subcomponents of a particular component (e.g., racks within a particular PDU), can be summed to provide the total usage of the particular component.

Once the rack-mounted computers are deployed and operating, it is also possible to perform dynamic power management.

One form of dynamic power management is job allocation, i.e., the decision regarding which tasks are to be performed by which computers. Job allocation can use power management software. The power management software can be similar to the power planning software described above, e.g., able to calculate a peak power usage at the facility, PDU and rack level for given platforms running given applications. For example, the software could maintain a running total of the load on each component of the system based on the assigned job type (e.g., application) and platform (and this would be an indication of the power load, not simply a count of the number of jobs). Jobs can then be preferentially assigned to computers in racks or PDUs with a lower power load so as to avoid overloading any particular component. As another example, if power monitoring indicates that a particular branch of the hierarchy (e.g., a rack) is operating dangerously near maximum capacity, then jobs can be redirected to other portions of the data center. The effect of a proposed allocation of a job to a computer or rack can be evaluated to ensure that capacity of components in the corresponding branches of the power hierarchy are not exceeded.

Another form of dynamic power management is job scheduling, which can be performed at the machine level. For dynamic job scheduling, as the power usage increases, some jobs can be delayed. For example, if measured power usage for a section of the power distribution hierarchy, e.g., a rack or PDU, is approaching its capacity, then a signal can be sent to the computers within that section. In response, those computers can delay some jobs, e.g., low priority jobs.

Yet another form of dynamic power management is execution rate control, which can be performed at the machine level. For dynamic execution rate control, as the power usage increases, the execution frequency of the computers can be reduced. For example, if measured power usage for a section of the power distribution hierarchy, e.g., a rack or PDU, is approaching its capacity, then a signal can be sent to the computers within that section. In response, the those computers can reduce their execution rate, thus reducing their power consumption.

Experimental Results

The power usage characteristics of three large-scale workloads as well as a workload mix from an actual datacenter, each using up to several thousand servers, over a period of about six months are presented. Critical power and how power usage varies over time and over different aggregation levels (from individual racks to an entire cluster) is examined below. A light-weight yet accurate power estimation methodology is used that is based on real time activity information and the baseline server hardware configuration. The model permits estimation of the potential power and energy savings of power management techniques, such as power capping and CPU voltage/frequency scaling.

The aggregate power usage characteristics of large collections of servers (up to 15 thousand) for different classes of applications over a period of approximately six months are described. The observations allow opportunities for maximizing the use of the deployed power capacity of datacenters to be evaluated, and the risks of over-subscribing to be assessed (in this context, over-subscribing refers to the danger of power usage exceeding the power budget at a particular level of power distribution).

Even in well-tuned applications, there is a noticeable gap (7-16%) between achieved and theoretical aggregate peak power usage at the cluster level (thousands of servers). The gap grows to almost 40% in whole datacenters. This headroom can be used to deploy additional computer equipment within the same power budget with minimal risk of exceeding it. A modeling framework is used to estimate the potential of power management schemes to reduce peak power and energy usage. The opportunities for power and energy savings are significant, but greater at the cluster-level (thousands of servers) than at the rack-level (tens). Finally, systems can be power efficient across the activity range, and not only at peak performance levels.

To inventors' knowledge, this is the first power usage study of very large scale systems running real live workloads, and the first reported use of power modeling for power provisioning. Some findings and contributions include the following.

First, the gap between the maximum power actually used by large groups of machines and their aggregate theoretical peak usage can be as large as 40% in datacenters, suggesting a significant opportunity to host additional machines under the same power budget. This gap is smaller but still significant when well-tuned large workloads are considered.

Second, power capping using dynamic power management can enable additional machines to be hosted, but is more useful as a safety mechanism to prevent overload situations.

Third, there are time intervals when large groups of machines are operating near peak power levels, suggesting that power gaps and power management techniques might be more easily exploited at the datacenter-level than at the rack-level.

Fourth, CPU voltage/frequency scaling, a technique targeted at energy management, has the potential to be moderately effective at reducing peak power consumption once large groups of machines are considered.

One of the difficulties of studying power provisioning strategies is the lack of power usage data from large-scale deployments. In particular, most facilities lack on-line power monitoring and data collection systems that are needed for such studies. This problem can be circumvented by deploying an indirect power estimation framework that is flexible, low-overhead and yet accurate in predicting power usage at moderate time intervals. This section begins by describing a framework, and presenting some validation data supporting its accuracy.

Initially, the power usage profile of a typical server and how nameplate ratings relate to the actual power draw of machines will be examined.

A server is typically tagged with a nameplate rating that is meant to indicate the maximum power draw of that machine. The main purpose of this label is to inform the user of the power infrastructure required to safely supply power to the machine. As such, it is a conservative number that is guaranteed not to be reached. It is typically estimated by the equipment manufacturer simply by adding up the worst case power draw of all components in a fully configured system.

Table 1 below shows the power draw breakdown for a server built out of a motherboard with 2×86 CPUs, an IDE disk drive, 4 slots of DDR1 DRAM, and 2 PCI expansion slots. Using the maximum power draw taken from the component datasheets, a total DC draw of 213 W is calculated.

TABLE 1
Component Peak Power Count Total
Component Peak Power Count Total
CPU [16] 40 W 2  80 W
Memory [18]  9 W 4  36 W
Disk [24] 12 W 1  12 W
PCI Slots 25 W 2  50 W
[22]
Motherboard 25 W 1  25 W
Fan 10 W 1  10 W
System Total 213 W

Assuming a power supply efficiency of 85%, a total nameplate power of 251 W is calculated.

However, when the power consumption of this server is actually measured using the most power intensive benchmarks, only a maximum of 145 W is reached, which is less than 60% of the nameplate value. We refer to this measured rating as the actual peak power. As this example illustrates, actual peak power is a much more accurate estimate of a system's peak consumption, therefore we choose to use it instead of nameplate ratings in our subsequent analysis.

The breakdown shown in Table 1 does nevertheless reflect the power consumption breakdown in a typical server. CPUs and memory dominate total power, with disk power becoming significant only in systems with several disk drives. Miscellaneous items such as fans and the motherboard components round out the picture.

A power model uses CPU utilization as the main signal of machine-level activity. For each family of machines with similar hardware configuration, a suite of benchmarks was run that included representative workloads as well as a few microbenchmarks, under variable loads. The total system power was measured against CPU utilization, and a curve that approximates the aggregate behavior was found.

FIG. 6 shows experimental measurements alongside a linear model and an empirical non-linear model that more closely fits the observations. The horizontal axis shows the CPU utilization (u) reported by the OS as an average across all CPUs. A calibration parameter r that minimizes the squared error is chosen (a value of 1.4 in this case). For each class of machines deployed, one set of calibration experiments is needed to produce the corresponding model.

The error bars in FIG. 6 give a visual indication that such models can be reasonably accurate in estimating total power usage of individual machines. Of greater interest to this study, however, is the accuracy of this methodology in estimating the dynamic power usage of groups of machines. FIG. 7 shows how the model compares to the actual measured power drawn at the PDU level (a few hundred servers) in a production facility. Note that except for a fixed offset, the model tracks the dynamic power usage behavior extremely well. In fact, once the offset is removed, the error stays below 1% across the usage spectrum and over a large number of PDU-level validation experiments.

The fixed offset is due to other loads connected to the PDUs that are not captured by our model, most notably network switching equipment. Networking switches operate on a very narrow dynamic range (measurements show that Ethernet switch power consumption can vary by less than 2% across the activity spectrum), therefore a simple inventory of such equipment, or a facility-level calibration step is sufficient for power estimation.

This single activity level signal (CPU utilization) produces very accurate results, especially when larger numbers of machines are considered. The observation can be explained by noting that CPU and memory are in fact the main contributors to the dynamic power, and other components either have very small dynamic range (the component measurements showed that the dynamic power range is less than 30% for disks, and negligible for motherboards) or their activity levels correlate well with CPU activity. Therefore, it was unnecessary to use more complex models and additional activity signals (such as hardware performance counters).

Similar modeling methodology can be useful in informing power provisioning plans.

The Data Collection Infrastructure. In order to gather machine utilization information from thousands of servers, a distributed collection infrastructure was used as shown in FIG. 8. At the bottom layer, collector jobs gather periodic data on CPU utilization from all servers in the collection. The collectors write the raw data into a central data repository. In the analysis layer, different jobs combine CPU activity with the appropriate models for each machine class, derive the corresponding power estimates and store them in a data repository in time series format. Analysis programs are typically built using Google's Mapreduce framework.

Power Usage Characterization. Next, a baseline characterization of the power usage of three large scale workloads and an actual whole datacenter, based on six months of power monitoring observations, is presented.

Three workloads were selected that are representative of different types of large-scale services. The characteristics of these workloads that are relevant to this study are briefly described below.

Websearch: This represents a service with high request throughput and a very large data processing requirements for each request. Machines deployed in Google's Web search services were measured. Overall activity level is generally strongly correlated with time of day, given the online nature of the system.

Webmail: This represents a more disk I/O intensive Internet service. Servers running GMail, a web-based email product with sophisticated searching functionality, were measured. Machines in this service tend to be configured with a larger number of disk drives, and each request involves a relatively small number of servers. Like Websearch, activity level is correlated with time of day.

Mapreduce: This is a cluster that is mostly dedicated to running large offline batch jobs, of the kind that are amenable to the Mapreduce style of computation. The cluster is shared by several users, and jobs typically involve processing terabytes of data, using hundreds or thousands of machines. Since this is not an online service, usage patterns are more varied and less correlated with time of day.

A sample of approximately five thousand servers running each of the workloads above were selected. In each case, the sets of servers selected are running well-tuned workloads and typically at high activity levels. Therefore these servers are representative of the more efficient datacenter-level workloads, in terms of usage of the available power budget.

The main results are shown as cumulative distribution functions (CDFs) of the time that a group of machines spends at or below a given fraction of their aggregate peak power (see for example FIGS. 9A and 9B). For each machine, the average power over 10 minute intervals was derived using the power model described earlier. The aggregate power for each group of 40 machines during an interval makes up a rack power value, which is normalized to their actual peak (i.e., the sum of the maximum achievable peak power consumption of all machines in the group). The cumulative distribution of these rack power values is the curve labeled “Rack” in the graph. The “PDU” curve represents a similar aggregation, but now grouping sets of 20 racks (or about 800 machines). Finally, the “Cluster” curve shows the CDF for all machines (approximately 5000 machines).

Turning to the power CDF for Websearch, shown in FIGS. 9A and 9B, the Rack CDF starts at around 0.45 of normalized power, indicating that at no time does any one rack consume less than 45% of its actual peak. This is likely close to the idle power of the machines in the rack. The curve rises steeply, with the largest fraction of the CDF (i.e. the most time) spent in the 60-80% range of actual peak power. The curve intercepts the top of the graph at 98% of the peak power, indicating that there are some time intervals where all 40 machines in a given rack are operating very close to their actual peak power. The graph of FIG. 9B zooms in on the upper part of the CDF, to make the intercepts with the top of the graph clearer. The PDU and Cluster curves tend to have progressively higher minimum power and lower maximum power. The larger the group of machines is, the less likely it is that all of them are simultaneously operating near the extreme minimum or maximum of power draw. For Websearch, some racks are reaching 98% of actual peak power for some time interval, whereas the entire cluster never goes over 93%. It is striking to see that groups of many hundreds of machines (PDU-level) can spend nearly 10% of the time within 10% of their aggregate peak power.

The corresponding CDFs for Webmail are shown in FIGS. 10A and 10B. The shape of these is similar to that of Websearch, with two notable differences: the dynamic range of the power draw is much narrower, and the maximum power draw is lower. Webmail machines tend to have more disks per machine, and disk power draw does not vary significantly with changes in activity levels. Hence a larger fraction of the power draw of these machines is fixed and the dynamic range is reduced. The max power draw is also lower. Interestingly, there is a maximum of about 92% of peak actual power at the rack level, and 86% at the cluster level; an even higher gap than Websearch.

The curves for Mapreduce, as shown in FIGS. 11A and 11B, show a larger difference between the Rack, PDU, and Cluster graphs than both Websearch and Webmail. This indicates that the power draw across different racks is much less uniform; likely a result of its less time-dependent activity characteristics. This behavior leads to a much more noticeable averaging effect at the cluster level. While the racks top out at very close to 100% of peak actual power, the cluster never goes above about 90%.

These results are significant for machine deployment planning. If the maximum power draw of individual machines to provision the datacenter is used, some capacity will be stranded. For Websearch, about 7.5% more machines could be safely deployed within the same power budget. The corresponding numbers for Webmail and Mapreduce are even higher, at 16% and 11%.

The impact of diversity—FIGS. 12A and 12B present the power CDF when all the machines running the three workloads are deployed in a hypothetical combined cluster. This might be representative of a datacenter-level behavior where multiple high-activity services are hosted. Note that the dynamic range of the mix is narrower than that of any individual workload, and that the highest power value achieved (85% of actual peak) is also lower than even that of the lowest individual workload (Webmail at 86%). This is caused by the fact that power consumption peaks are less correlated across workloads than within them. It is an important argument for mixing diverse workloads at a datacenter, in order to smooth out the peaks that individual workloads might present. Using the highest power of the mix to drive deployment would allow 17% more machines to be deployed to this datacenter.

An actual datacenter—The examples above concern large, well tuned workloads in a fully deployed environment. In a real datacenter there will be additional workloads that are less well-tuned, still in development, or simply not highly loaded. For example, machines can be assigned to a service that is not yet fully deployed, or might be in various stages of being repaired or upgraded, etc. FIGS. 13A and 13B show the power CDF for one such datacenter. This power CDF exhibits the same trends as seen in the workload mix, only much more pronounced. Overall dynamic range is very narrow (52-72%) and the highest power consumption is only 72% of actual peak power. Using this number to guide deployment would present the opportunity to host a sizable 39% more machines at this datacenter.

One of the features that stands out in the power CDF curves presented in the previous section is that the CDF curve intercepts the 100% line at a relatively flat slope, indicating that there are few time intervals in which close to the highest power is drawn by the machines. If those few intervals could be removed, the number of machines hosted within a given power budget could be further increased. Power capping techniques accomplish that by setting a value below the actual peak power and preventing that number from being exceeded through some type of control loop. There are numerous ways to implement this, but such techniques generally include of a power monitoring system (possibly such as that described above or one based on direct power sensing) and a power throttling mechanism. Power throttling generally works best when there is a set of jobs with loose service level guarantees or low priority that can be forced to reduce consumption when the datacenter is approaching the power cap value. Power consumption can be reduced simply by descheduling tasks or by using any available component-level power management knobs or control functions, such as CPU voltage/frequency scaling.

Note that the power sensing/throttling mechanisms needed for power capping are likely needed anyway even if power is not capped, in order to take advantage of the power usage gaps shown in the CDF graphs. In those cases it is desirable to insure against poorly-characterized workloads or unexpected load spikes.

Table 2, below, presents the gains that could be achieved with such a scheme. For each workload, the potential for increased machine deployment is shown, given an allowance of 1 or 2% of time spent in power-capping mode. The no power capping numbers are also included for comparison. Websearch and Webmail (by themselves) are excluded from power capping, because given their online nature they might not have much opportunity for power reduction at peak load.

TABLE 2
Impact of Power Capping
Percentage of
Time in
Power- Increase in N. of Median Avg
Capping Machine Intervals Interval Interval
Workload Mode Deployment per Month (min) (min)
Websearch 0%  7.0%
Webmail 0% 15.6%
Mapreduce 0% 11.0%
1% 21.5% 21.0 10.0 20.5
2% 23.8% 38.8 20.0 22.2
Mix 0% 17.1%
1% 21.7% 12.2 20.0 35.3
2% 23.5% 23.1 20.0 37.3
Real 0% 39.1%
Datacenter 1% 44.7%  9.0 20.0 47.9
2% 46.0% 12.5 40.0 69.3

Overall, the additional gains in machine deployment are noticeable but relatively modest. Generally, 1% captures most of the benefits with only little additional gains for 2% of capping time. The best case is Mapreduce, which shows an increase from 11% in potential increased machine deployment without power capping, to 24% with capping 2% of the time. Notably, mixing the workloads diminishes the relative gains, because the different workloads are already decreasing the likelihood of a simultaneous power spike in all machines.

Table 2 also shows the number and length of power-capping intervals that would be incurred for each workload. This information gives some insight into how often the power capping system would be triggered, which in turn is useful for deciding on what kind of mechanism to use. Fewer, longer intervals are probably more desirable, because there is always some loss upon entering and leaving the power capping interval.

Perhaps the biggest advantage of dynamic power capping is that it can relax the requirement to accurately characterize workloads prior to deployment, and provide a safety valve for cases where workload behavior changes unexpectedly.

Another interesting observation that can be derived from our data is the difference between the average and observed peak power draw of a workload or mix of workloads. While peak power draw is the most important quantity for guiding the deployment of machines to a datacenter, average power is what determines the power bill. Load-dependent power variations are one of the factors leading to inefficient use of the power budget, as discussed above, and can be quantified.

Table 3, below, shows the ratio of average power to observed peak power (over the half-year interval) for the different workloads and mixes of workloads. The ratios reflect the different dynamic ranges for the different workloads: Websearch has the highest dynamic range and lowest average to peak ratio at 73%. Mapreduce is somewhat higher, and Webmail has the highest ratio at close to 90%. The two mixed workloads also show higher ratios, with 84% for the mix of the three tuned workloads, and 83% for the real datacenter.

TABLE 3
Average and observed peak power (normalized to actual peak) at the
cluster level
Average Observed Average/
Workload Power Peak Power Observed
Websearch 68.0% 93.5% 72.7%
Webmail 77.8% 86.5% 89.9%
Mapreduce 69.6% 90.1% 77.2%
Mix 72.1% 85.4% 84.4%
Real DC 59.5% 71.9% 82.8%

The mix of diverse workloads generally reduces the difference between average and peak power, another argument in favor of this type of deployment. Note that even for this best case, on the order of 15% of the power budget remains stranded simply because of the difference between average and peak power, which further increases the relative weight of power provisioning costs over the cost of energy.

In the previous section, the power modeling infrastructure was used to analyze actual power consumption of various workloads. In the next section, the same activity data from our machines over the six month time period is used to simulate the potential for power and energy saving of two schemes: CPU voltage and frequency scaling, and improving non-peak power efficiency.

CPU voltage and frequency scaling (DVS for short) is a useful technique for managing energy consumption that has recently been made available to server-class processors. Here the power model is used to predict how much energy savings and peak power reductions could have been achieved had power management techniques based on DVS been used in the workloads analyzed in the previous section.

For simplicity and for the purpose of exploring the limits of the benefit, an oracle-style policy is used. For each machine and each data collection interval, if the CPU utilization is below a certain threshold, DVS activation is simulated by halving (there are various CPUs in the market today that are capable of such power reductions through DVS) the CPU component of the total power, while leaving the power consumption of the remaining components unchanged.

How system performance might be affected by DVS cannot be determined without detailed application characterization. Therefore three CPU utilization thresholds can be simulated for triggering DVS: 5%, 20%, 50%. A 5% threshold is selected as a conservative threshold to examine how much benefit can be achieved with almost no performance impact. A 50% threshold is selected as a very aggressive threshold for the scenario where performance can be degraded significantly or the application has substantial amount of performance slack.

FIGS. 14A and 14B show the calculated impact of CPU DVS at the cluster level on the three workloads and on the real datacenter. DVS has a more significant potential impact on energy than peak power, with savings of over 20% when using the more aggressive threshold in two out of four cases. This can be explained since in periods of cluster-wide peak activity it is unlikely that many servers will be below the DVS trigger threshold. It is still surprising that there are cases where DVS can deliver a moderate but noticeable reduction in maximum observed power. This is particularly the case for the real datacenter, where the workload mix enables peak power reductions between 11-18%.

Among the three workloads, Websearch has the highest reduction in both peak power and energy. Websearch is the most compute intensive workload, therefore the CPU consumes a larger percentage of the total machine power, allowing DVS to produce larger reductions relative to total power. DVS achieves the least energy savings for Webmail, which has the narrowest dynamic power range and relatively high average energy usage. Webmail is generally deployed on machines with more disks, and therefore the CPU is a smaller contributor to the total power, resulting in a correspondingly smaller impact of DVS. Mapreduce shows the least reduction in peak power, since it also tends to use machines with more disks while achieving even higher peak power usage than Webmail. These two factors create the most difficult scenario for DVS.

It is also worth noting that due to our somewhat coarse data collection interval (10 min) the DVS upside is somewhat underestimated here. The switching time of the current DVS technology can accommodate a sub-second interval, so bigger savings might be possible using finer-grained triggers.

Power efficiency of computing equipment is almost invariably measured when running the system under maximum load. Generally when “performance per Watt” is presented as a rating, it is implicitly understood that the system was exercised to maximum performance, and upon reaching that the power consumption was measured. However, as the analysis in the previous section showed, the reality is that machines operate away from peak activity a good fraction of the time. Therefore it is important to conserve power across the activity spectrum, and not just at peak activity.

FIG. 15 shows the power consumption at idle (no activity) as a fraction of peak power from five of the server configurations we deploy. Idle power is significantly lower than the actual peak power, but generally never below 50% of peak. Ideally, systems should consume no power when idle, and for power to increase roughly proportionally with increased activity; a behavior similar to the curves in FIG. 6 but where Pidle is near zero. Arguably, systems with this behavior would be equally power efficient regardless of activity level. To assess the benefits of such behavioral change, the model was altered so that idle power for every machine was set to 10% of the actual peak power. All other model parameters, including actual peak power, remained the same as before.

The results, shown in FIG. 16, reveal that the gains can be quite substantial. The maximum cluster-level peak power was reduced between 6-20% for our three workloads, with corresponding energy savings of 35-40%. In a real datacenter, however, the observed maximum power consumption dropped over 30%, while less than half the energy was used. The fact that such dramatic gains are possible without any changes to peak power consumption strongly suggest that system and component designers should strive to achieve such behavior in real servers.

It is important to note that the machines in this study, especially the ones running the three workloads, were rarely fully idle. Therefore, inactive power modes (such as sleep or standby modes) are unlikely to achieve the same level of savings.

Power Provisioning Strategies. From the results in the previous sections, some conclusions can be drawn about strategies for maximizing the amount of compute equipment that can be deployed at a datacenter with a given power capacity.

First of all, it is important to understand the actual power draw of the machines to be deployed. Nameplate power figures are so conservative as to be useless for the deployment process. Accurate power measurements of the machines can be used in the actual configurations to be deployed and running benchmarks that maximize overall power draw.

The characterization of application power draw at different levels of deployment granularity allows potential for safely over-subscribing pieces of the power distribution hierarchy to be judged. Over-subscription (in this context, exceeding the power budget) at the rack level is not safe. In both Websearch and Mapreduce, individual racks approach very close to peak actual power during some time intervals. Webmail has a little room for over-subscription at the rack level, at 92%. At the PDU level, more potential for over-subscription exists. At the cluster level, there is a noticeable difference between observed and actual peak power, allowing for the deployment of between 7-16% more machines for individual applications. The headroom increases when applications are mixed together, indicating that it is desirable to do so. Mixing also leads to a narrowing of average to peak power, which is desirable from a utilization of infrastructure standpoint. Finally, we have shown that in a real cluster the deployment of less well tuned applications and other conditions leading to poorly-utilized machines can drive the headroom close to 40%. Once again, this is using peak actual power to guide deployment. The more common practice of using nameplate power further inflates these numbers, leading to headroom for 80-130% more machines to be deployed.

A dynamic power management scheme to cap the peak power draw at some pre-determined value has two advantages. First of all, it can act as a safety valve, protecting the power distribution hierarchy against overdraw. It thus allows for aggressive deployment of machines, even in the face of poorly characterized applications or unexpected load spikes. Secondly, it enables additional over-subscription of the available power. Capping power for even a small fraction of overall time can deliver noticeable additional gains in machine deployment.

While dynamic voltage/frequency scaling may not produce much reduction of peak power draw at the rack level, there is a noticeable reduction at the cluster level. Depending on application, peak power reductions of up to 10% are seen for aggressive schemes, growing up to 18% for the real datacenter workload mix. Even the least aggressive scheme netted an 11% reduction in peak power for the real datacenter mix.

Some of the computing systems being built today look more like a warehouse than a refrigerator. Power provisioning decisions for such systems can have a dramatic economic impact as the cost of building large datacenters could surpass the cost of energy for the lifetime of the facility. Since new datacenter construction can take tens of months, intelligent power provisioning also has a large strategic impact as it may allow an existing facility to accommodate the business growth within a given power budget.

How power usage varies over time, and as the number of machines increases from individual racks to clusters of up to five thousand servers has been studied. By using multiple production workloads, how power usage patterns are affected by workload choice can be quantified. The understanding of power usage dynamics can inform the choice of power management and provisioning policies, as well as quantify the potential impact of power and energy reduction opportunities. To inventors' knowledge, this is the first power usage study at the scale of datacenter workloads, and the first reported use of model-based power monitoring techniques for power provisioning in real production systems.

Nameplate ratings are of little use in power provisioning as they tend to grossly overestimate actual maximum usage. Using a more realistic peak power definition, the gaps between maximum achieved and maximum theoretical power consumption of groups of machines can be quantified. These gaps would allow hosting between 7% and 16% more computing equipment for individual (well-tuned) applications, and as much as 39% in a real datacenter running a mix of applications, through careful over-subscription of the datacenter power budget. Power capping mechanisms can enable those opportunities to be capitalized upon by acting as a safety net against the risks of over-subscription, and are themselves able to provide additional albeit modest power savings. However, over-subscribing power at the rack level is quite risky, given that large Internet services are capable of driving hundreds of servers to high-activity levels simultaneously. The more easily exploitable over-subscription opportunities lie at the facility level (thousands of servers).

CPU dynamic voltage/frequency scaling might yield moderate energy savings (up to 23%). Although it has a more limited peak power savings potential, it is still surprising that a technique usually dismissed for peak power management can have a noticeable impact at the datacenter level.

Finally, component and system designers should consider power efficiency not simply at peak performance levels but across the activity range, as even machines used in well tuned large scale workloads will spend a significant fraction of their operational lives below peak activity levels. Peak power consumption at the datacenter level could be reduced by up to 30% and energy usage could be halved if systems were designed so that lower activity levels meant correspondingly lower power usage profiles.

Various steps of the design processes discussed above, such as an steps involving calculation, particularly determining the design power density and the oversubscription ratio, can be performed by computer.

Embodiments of the invention and all of the functional operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structural means disclosed in this specification and structural equivalents thereof, or in combinations of them. Embodiments of the invention can be implemented as one or more computer program products, i.e., one or more computer programs tangibly embodied in an information carrier, e.g., in a machine readable storage device or in a propagated signal, for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple processors or computers.

A number of embodiments of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Accordingly, other embodiments are within the scope of the following claims.

Barroso, Luiz Andre, Weber, Wolf-Dietrich, Fan, Xiaobo

Patent Priority Assignee Title
10168756, Feb 11 2014 Microsoft Technology Licensing, LLC Backup power management for computing systems
10168762, Sep 17 2015 Advanced Micro Devices, Inc. Power management for heterogeneous computing systems
10211630, Sep 27 2012 GOOGLE LLC Data center with large medium voltage domain
10234835, Jul 11 2014 Microsoft Technology Licensing, LLC Management of computing devices using modulated electricity
10243397, Feb 20 2015 Lifeline IP Holdings, LLC Data center power distribution
10409352, May 05 2014 International Business Machines Corporation Budgeting for power consumption in a chassis environment that includes a plurality of integrated technology elements
10524395, Jun 26 2015 Microsoft Technology Licensing, LLC Artificial reef datacenter
10528113, Jun 27 2014 Microsoft Technology Licensing, LLC Low latency computer system power reduction
10554519, Feb 08 2016 Cray Inc System and method for dampening power swings in distributed computer environments
10558768, Jun 08 2007 GOOGLE LLC Computer and data center load determination
10776149, Jul 25 2018 VMWARE, INC Methods and apparatus to adjust energy requirements in a data center
10779440, Sep 28 2009 Amazon Technologies, Inc. Modular system for data center
10824215, Jul 31 2018 Nutanix, Inc Managing power budget of multiple computing node clusters in a computing rack system
10831251, Mar 11 2014 Amazon Technologies, Inc Augmented power monitoring switching assembly
10884469, Sep 14 2018 QUANTA COMPUTER INC. Method and system for dynamically allocating and optimizing power resources
10925191, Jul 25 2018 VMWARE, INC Methods and apparatus to manage power delivery for a data center based on predicted power consumption
11017130, Jun 08 2007 GOOGLE LLC Data center design
11388835, Jun 27 2018 Amazon Technologies, Inc Placement of custom servers
11429176, May 14 2020 Dell Products L.P. Intelligent and predictive optimization of power needs across virtualized environments
11570937, Jul 25 2018 VMware, Inc. Methods and apparatus to control power delivery based on predicted power utilization in a data center
11868106, Aug 01 2019 Lancium LLC Granular power ramping
11907029, May 15 2019 Upstream Data Inc. Portable blockchain mining system and methods of use
8914157, Dec 14 2009 Intel Corporation Method and apparatus for dynamically allocating power in a data center
8924781, Jun 30 2011 Microsoft Technology Licensing, LLC Power capping based on generator capacity
9009500, Jan 18 2012 GOOGLE LLC Method of correlating power in a data center by fitting a function to a plurality of pairs of actual power draw values and estimated power draw values determined from monitored CPU utilization of a statistical sample of computers in the data center
9218237, Nov 29 2012 Amazon Technologies, Inc.; Amazon Technologies, Inc Network of interconnected circuit protection devices
9287710, Jun 15 2009 GOOGLE LLC Supplying grid ancillary services using controllable loads
9383791, Jan 18 2012 GOOGLE LLC Accurate power allotment
9454200, May 05 2014 International Business Machines Corporation Budgeting for power consumption in a chassis environment that includes a plurality of integrated technology elements
9483094, Feb 11 2014 Microsoft Technology Licensing, LLC Backup power management for computing systems
9519878, Oct 03 2011 Microsoft Technology Licensing, LLC Power regulation of power grid via datacenter
9817465, Jun 27 2014 Microsoft Technology Licensing, LLC Low latency computer system power reduction
9841800, May 05 2014 International Business Machines Corporation Budgeting for power consumption in a chassis environment that includes a plurality of integrated technology elements
9886316, Oct 28 2010 Microsoft Technology Licensing, LLC Data center system that accommodates episodic computation
9912192, Jun 22 2015 IRON MOUNTAIN DATA CENTERS, LLC Power distribution visibility in data center environments
9913409, Jun 26 2015 Microsoft Technology Licensing, LLC Intrusion detection for submerged datacenters
9933804, Jul 11 2014 Microsoft Technology Licensing, LLC Server installation as a grid condition sensor
9939790, Dec 04 2014 Amazon Technologies, Inc Variable rate rack installation
9945576, Oct 08 2014 Dell Products, LP System and method for detecting the presence of alternate cooling systems
9946815, Jun 08 2007 GOOGLE LLC Computer and data center load determination
9979179, Nov 29 2012 Amazon Technologies, Inc. Network of interconnected circuit protection devices
Patent Priority Assignee Title
4954945, Mar 29 1986 Kabushiki Kaisha Toshiba Processor-selection system
5119014, Mar 05 1991 Sequential power-up circuit
5339445, Nov 16 1992 Harris Corporation Method of autonomously reducing power consumption in a computer sytem by compiling a history of power consumption
5432947, May 22 1992 Sharp Kabushiki Kaisha Power control technique for a computer system to provide adjustable storage and non-storage access times and an adjustable processor idle time
5458991, May 19 1993 TRIPPE MANUFACTURING COMPANY UPS with auto self test
5579522, Oct 12 1993 Intel Corporation Dynamic non-volatile memory update in a computer system
5694307, Sep 30 1996 AlliedSignal Inc.; AlliedSignal Inc Integrated AC/DC and DC/DC converter
5694607, Dec 22 1994 Intel Corporation System power consumption tracking and reporting
5828568, May 09 1994 Canon Kabushiki Kaisha Information processing apparatus, processing method thereof, and power supply control method therefor
5844884, Apr 25 1996 HANGER SOLUTIONS, LLC Battery monitoring
6009177, Jan 13 1994 CERTCO, INC , A CORPORATION OF DELAWARE Enhanced cryptographic system and method with key escrow feature
6055640, Feb 08 1996 Kabushiki Kaisha Toshiba Power estimation of a microprocessor based on power consumption of memory
6223205, Oct 20 1997 Boston University; Massachusetts Institute of Technology Method and apparatus for assigning tasks in a distributed server system
6289684, Jan 14 2000 GUIDRY & MORALES HOLDINGS, INC Transportable, self-contained, refrigeration system
6345240, Aug 24 1998 Bell Semiconductor, LLC Device and method for parallel simulation task generation and distribution
6374627, Jan 09 2001 Data center cooling system
6429706, Dec 05 2000 Juniper Networks, Inc. Voltage sequencing circuit for powering-up sensitive electrical components
6496366, Oct 26 1999 Hewlett Packard Enterprise Development LP High density computer equipment storage system
6506111, May 16 2001 Sanmina-SCI Corporation Cooling airflow distribution device
6513145, Jul 31 2001 Hewlett Packard Enterprise Development LP Method for estimating the power consumed in a microprocessor
6584559, Jan 28 2000 AVAYA Inc Firmware download scheme for high-availability systems
6594771, Apr 13 2000 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Method and apparatus for managing power in an electronic device
6625737, Sep 20 2000 ARM Finance Overseas Limited System for prediction and control of power consumption in digital system
6652373, May 16 2001 Sanmina-SCI Corporation Cooling airflow distribution device
6652374, May 16 2001 Sanmina-SCI Corporation Cooling airflow distribution device
6667891, Feb 18 2000 Hewlett Packard Enterprise Development LP Computer chassis for dual offset opposing main boards
6668565, Apr 12 2002 Schneider Electric IT Corporation Rack-mounted equipment cooling
6721672, Jan 02 2002 Schneider Electric IT Corporation Method and apparatus for preventing overloads of power distribution networks
6741467, Oct 26 1999 Hewlett Packard Enterprise Development LP High density computer equipment storage system
6768222, Jul 11 2000 AMD TECHNOLOGIES HOLDINGS, INC ; GLOBALFOUNDRIES Inc System and method for delaying power supply power-up
6775787, Jan 02 2002 Intel Corporation Instruction scheduling based on power estimation
6785827, Nov 29 2000 Dell Products L.P. System for determining servers power supply requirement by sampling power usage values thereof at a rate based upon the criticality of its availability
6804616, Dec 13 2001 Intel Corporation Method to estimate power and cooling requirements of systems
6822859, Oct 26 1999 Hewlett Packard Enterprise Development LP Computer rack cooling system
6824362, Jul 15 2002 COMMSCOPE DSL SYSTEMS LLC Fan control system
6834354, Jun 16 1999 ARVOSS TECHNOLOGIES LTD LLC Method and apparatus for assigning tasks in an information processing system to optimize power consumption versus performance of the system
6847995, Mar 30 2000 AI-CORE TECHNOLOGIES, LLC Security architecture for distributed processing systems and associated method
6850408, Oct 26 1999 Hewlett Packard Enterprise Development LP High density computer equipment storage systems
6859366, Mar 19 2003 Schneider Electric IT Corporation Data center cooling system
6880349, Apr 12 2002 Schneider Electric IT Corporation Rack-mounted equipment cooling
6901521, Aug 21 2000 Texas Instruments Incorporated Dynamic hardware control for energy management systems using task attributes
6904534, Sep 29 2001 SAMSUNG ELECTRONICS CO , LTD Progressive CPU sleep state duty cycle to limit peak power of multiple computers on shared power distribution unit
6907395, Oct 24 2000 ServiceNow, Inc System and method for designing a logical model of a distributed computer system and deploying physical resources according to the logical model
6915438, Apr 04 2003 Intel Corporation Distributed power management method for monitoring control/status signal of sub-modules to manage power of sub-modules by activating clock signal during operation of sub-modules
6935130, Jun 24 2003 Aopen Inc. Computer cooling system
6937947, Aug 20 2002 LG ENERGY SOLUTION, LTD Battery charger system and method for providing detailed battery status and charging method information
6967283, Mar 20 2001 American Power Conversion Corporation Adjustable scalable rack power system and method
6969922, Oct 22 2002 THE SWITCH CONTROLS AND CONVERTERS, INC Transformerless, load adaptive speed controller
6980433, Mar 19 2003 Schneider Electric IT Corporation Data center cooling system
6986066, Jan 05 2001 International Business Machines Corporation Computer system having low energy consumption
7010704, Sep 09 2002 QUANTA COMPUTER INC. Apparatus for dynamically adjusting CPU power consumption
7011576, May 16 2001 SANMINA CORPORATION Cooling airflow distribution device
7020586, Dec 17 2001 Oracle America, Inc Designing a data center
7036035, Aug 15 2002 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P System and method for power management in a computer system having multiple power grids
7046514, Mar 19 2003 Schneider Electric IT Corporation Data center cooling
7082541, Apr 26 2000 Schneider Electric IT Corporation System and method for managing uninterruptible power supply systems
7099784, Jan 02 2002 Schneider Electric IT Corporation Method and apparatus for preventing overloads of power distribution networks
7123477, Mar 31 2004 Hewlett Packard Enterprise Development LP Computer rack cooling system
7127625, Sep 04 2003 Hewlett Packard Enterprise Development LP Application management based on power consumption
7145772, Mar 19 2003 Schneider Electric IT Corporation Data center cooling system
7161557, Apr 08 2002 ClearCube Technology, Inc. Selectively updating a display in a multi-display system
7173820, Mar 19 2003 Schneider Electric IT Corporation Data center cooling
7173821, May 16 2003 Hewlett Packard Enterprise Development LP Computer rack with power distribution system
7178147, Sep 21 2001 International Business Machines Corporation Method, system, and program for allocating processor resources to a first and second types of tasks
7203852, Jun 29 2001 Intel Corporation System and process for making power readily available to newly added computers
7203943, Oct 31 2001 AVAYA LLC Dynamic allocation of processing tasks using variable performance hardware platforms
7210048, Feb 14 2003 Intel Corporation Enterprise power and thermal management
7222030, Feb 06 2004 Intel Corporation Method and apparatus for profiling power performance of software applications
7222246, Sep 26 2003 VALTRUS INNOVATIONS LIMITED Method for determining number of dynamically temperature-adjusted power supply units needed to supply power according to measure operating temperature of power supply units
7228441, Sep 27 2000 Huron IP LLC Multi-server and multi-CPU power management system and method
7240225, Nov 10 2003 Dell Products L.P. System and method for throttling power in one or more information handling systems
7242945, Jun 30 2004 VT IDIRECT, INC Method, apparatus, and system for designing and planning a shared satellite communications network
7272517, Apr 25 2006 International Business Machines Corporation Method and system for providing performance estimations for a specified power budget
7272733, Sep 26 2003 Hewlett Packard Enterprise Development LP Method of providing dynamic power redundancy based on a difference of current power units and currently needed power units
7278273, Dec 30 2003 GOOGLE LLC Modular data center
7313503, Feb 19 2002 Hewlett Packard Enterprise Development LP Designing layout for internet datacenter cooling
7349828, Feb 15 2006 Hewlett Packard Enterprise Development LP Estimating an electronic device condition
7383137, Feb 27 2004 Intel Corporation Method and apparatus for measuring absolute and net power consumption for computer systems
7383454, Apr 18 2006 Dell Products L.P. System and method for blade information handling system power inventory
7421599, Jun 09 2005 LENOVO INTERNATIONAL LIMITED Power management server and method for managing power consumption
7430675, Feb 16 2007 Universitat Zurich Anticipatory power management for battery-powered electronic device
7444526, Jun 16 2005 LENOVO INTERNATIONAL LIMITED Performance conserving method for reducing power consumption in a server system
7457976, Nov 22 2005 LENOVO INTERNATIONAL LIMITED Power management using spare capacity of redundant power supply in blade environment
7461273, May 16 2005 Hewlett Packard Enterprise Development LP Power distribution among servers
7461274, Aug 23 2005 International Business Machines Corporation Method for maximizing server utilization in a resource constrained environment
7467306, Mar 08 2005 Hewlett Packard Enterprise Development LP Methods and systems for allocating power to an electronic device
7467311, Jun 09 2005 LENOVO INTERNATIONAL LIMITED Distributed system and method for managing power usage among server data processing systems
7469351, Apr 22 2005 Hitachi, Ltd. Multiple computer equipment and management method for determining number of AC-DC power modules to be operated by calculating power consumption based upon system information
7487058, Mar 15 2007 Oracle America, Inc Generating synthetic workloads to measure power utilization in a computer system
7493235, Jan 09 2007 Dell Products, LP System and method for dynamic generation of environmental operational models
7493503, Dec 22 2005 LENOVO INTERNATIONAL LIMITED Programmable throttling in blade/chassis power management
7496772, Mar 04 2008 International Business Machines Corporation Method for estimating total power requirement in a computer system
7499279, Apr 30 2007 International Business Machines Corporation Cold plate stability
7511959, Apr 25 2007 Hewlett Packard Enterprise Development LP Scalable computing apparatus
7511960, Sep 13 2006 Oracle America, Inc Balanced chilled fluid cooling system for a data center in a shipping container
7514815, Sep 28 2004 Schneider Electric IT Corporation System and method for allocating power to loads
7525207, Feb 26 2007 GOOGLE LLC Water-based data center
7529086, Mar 19 2003 Schneider Electric IT Corporation Data center cooling
7549069, Mar 15 2006 Fujitsu Limited Estimating software power consumption
7549070, Jun 30 2006 Oracle America, Inc Method and apparatus for generating a dynamic power-flux map for a set of computer systems
7555666, May 04 2006 Dell Products L.P. Power profiling application for managing power allocation in an information handling system
7581125, Sep 22 2005 Hewlett Packard Enterprise Development LP Agent for managing power among electronic systems
7595642, Feb 01 2006 GOLDMAN SACHS LENDING PARTNERS LLC, AS COLLATERAL AGENT; ALTER DOMUS US LLC, AS COLLATERAL AGENT Battery management system for determining battery charge sufficiency for a task
7644148, May 16 2005 Hewlett Packard Enterprise Development LP Historical data based workload allocation
7646590, Jul 06 2007 GOOGLE LLC Data center power distribution
7647516, Sep 22 2005 Hewlett Packard Enterprise Development LP Power consumption management among compute nodes
7675740, Mar 20 2001 American Power Conversion Corporation Adjustable scalable rack power system and method
7698580, Aug 25 2006 Cisco Technology, Inc. Inline power policing
7701714, May 26 2006 Flextronics AP, LLC Liquid-air hybrid cooling in electronics equipment
7702931, Jun 27 2006 Hewlett Packard Enterprise Development LP Adjusting power budgets of multiple servers
7726144, Oct 25 2005 Hewlett-Packard Development Company, L.P. Thermal management using stored field replaceable unit thermal information
7756652, Apr 24 2008 Oracle America, Inc Estimating a power utilization of a computer system
7774630, May 22 2006 Hitachi, Ltd. Method, computing system, and computer program for reducing power consumption of a computing system by relocating jobs and deactivating idle servers
7783906, Feb 15 2007 LENOVO INTERNATIONAL LIMITED Maximum power usage setting for computing device
7783909, May 22 2006 Hitachi, LTD Method, computing system, and computer program for reducing power consumption of a computing system by relocating jobs and deactivating idle servers
7818594, Mar 21 2007 Intel Corporation Power efficient resource allocation in data centers
7827421, Nov 10 2003 Dell Products L.P. System and method for throttling power in one or more information handling systems
7840824, Apr 22 2005 Hitachi, Ltd. Multiple computer system equipped with a management module determining number of power supply modules to be operated based upon system information
7844839, Dec 07 2006 Juniper Networks, Inc. Distribution of network communications based on server power consumption
7856549, Jan 24 2007 VALTRUS INNOVATIONS LIMITED Regulating power consumption
7904287, Nov 13 2007 International Business Machines Corporation Method and system for real-time prediction of power usage for a change to another performance state
7996839, Jul 16 2003 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Heterogeneous processor core systems for improved throughput
8010215, Jan 12 2007 LENOVO INTERNATIONAL LIMITED Structure for selecting processors for job scheduling using measured power consumption
8091087, Apr 20 2007 Microsoft Technology Licensing, LLC Scheduling of new job within a start time range based on calculated current load and predicted load value of the new job on media resources
8214843, Sep 03 2008 KYNDRYL, INC Framework for distribution of computer workloads based on real-time energy costs
20010003207,
20020007463,
20020065049,
20020194517,
20030005339,
20030055969,
20030133263,
20030197428,
20030237008,
20040020224,
20040150374,
20040163001,
20040167732,
20040184232,
20040223300,
20050012395,
20050036248,
20050088201,
20050099750,
20050099770,
20050102544,
20050132239,
20050170770,
20050171753,
20050240934,
20060007653,
20060020832,
20060082263,
20060107262,
20060187636,
20060259622,
20070016814,
20070038414,
20070050644,
20070076373,
20070086364,
20070089446,
20070143760,
20070198383,
20070220292,
20070274035,
20070300083,
20080062647,
20080064317,
20080094797,
20080114997,
20080123288,
20080165714,
20090050591,
20090138219,
20090138313,
20090195977,
20090241578,
20100050008,
20100138174,
20100318827,
20110106326,
D473225, Feb 20 2001 Hewlett Packard Enterprise Development LP Portion of a bank of computer chassis mounted to rack bars
D475705, Feb 18 2000 Hewlett Packard Enterprise Development LP Computer chassis for dual, opposing main boards
WO2007082351,
/////
Executed onAssignorAssigneeConveyanceFrameReelDoc
Jun 06 2008Google Inc.(assignment on the face of the patent)
Sep 05 2008WEBER, WOLF-DIETRICHGoogle IncASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0216090050 pdf
Sep 05 2008FAN, XIAOBOGoogle IncASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0216090050 pdf
Sep 05 2008BARROSO, LUIZ ANDREGoogle IncASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0216090050 pdf
Sep 29 2017Google IncGOOGLE LLCCHANGE OF NAME SEE DOCUMENT FOR DETAILS 0441010299 pdf
Date Maintenance Fee Events
May 26 2017M1551: Payment of Maintenance Fee, 4th Year, Large Entity.
May 26 2021M1552: Payment of Maintenance Fee, 8th Year, Large Entity.


Date Maintenance Schedule
Nov 26 20164 years fee payment window open
May 26 20176 months grace period start (w surcharge)
Nov 26 2017patent expiry (for year 4)
Nov 26 20192 years to revive unintentionally abandoned end. (for year 4)
Nov 26 20208 years fee payment window open
May 26 20216 months grace period start (w surcharge)
Nov 26 2021patent expiry (for year 8)
Nov 26 20232 years to revive unintentionally abandoned end. (for year 8)
Nov 26 202412 years fee payment window open
May 26 20256 months grace period start (w surcharge)
Nov 26 2025patent expiry (for year 12)
Nov 26 20272 years to revive unintentionally abandoned end. (for year 12)