Part 2. The Case for Energy-Proportional Computing

Energy Efficiency At Varying Utilization Levels
Server power consumption responds differently to varying utilization levels. We loosely define utilization as a measure of the application performance—such as requests per second on a Web server—normalized to the performance at peak load levels. Figure 2 shows the power usage of a typical energy-efficient server, normalized to its maximum power, as a function of utilization. Essentially, even an energy-efficient server still consumes about half its full power when doing virtually no work. Servers designed with less attention to energy efficiency often idle at even higher power levels.


Figure 2. Server power usage and energy efficiency at varying utilization levels, from idle to peak performance. Even an energy-efficient server still consumes about half its full power when doing virtually no work.

Seeing the effect this narrow dynamic power range has on such a system's energy efficiency—represented by the red curve in Figure 2—is both enlightening and discouraging. To derive power efficiency, we simply divide utilization by its corresponding power value. We see that peak energy efficiency occurs at peak utilization and drops quickly as utilization decreases. Notably, energy efficiency in the 20 to 30 percent utilization range—the point at which servers spend most of their time—has dropped to less thanhalf the energy efficiency at peak performance. Clearly, such a profile matches poorly with the usage characteristics of server-class applications.

Toward Energy-Proportional Machines
Addressing the mismatch between the servers' energy-efficiency characteristics and the behavior of server-class workloads is primarily the responsibility of component and system designers. They should aim to develop machines that consume energy in proportion to the amount of work performed. Such energy-proportional machines would ideally consume no power when idle (easy with inactive power modes), nearly no power when very little work is performed (harder), and gradually more power as the activity level increases (also harder).

Energy-proportional machines would exhibit a wide dynamic power range—a property that might be rare today in computing equipment but is not unprecedented in other domains. Humans, for example, have an average daily energy consumption approaching that of an old personal computer: about 120 W. However, humans at rest can consume as little as 70 W, 8 while being able to sustain peaks of well over 1 kW for tens of minutes, with elite athletes reportedly approaching 2 kW. 9

Breaking down server power consumption into its main components can be useful in helping to better understand the key challenges for achieving energy proportionality. Figure 3 shows the fraction of total server power consumed by the CPU in two generations of Google servers built in 2005 and 2007.


Figure 3. CPU contribution to total server power for two generations of Google servers at peak performance (the first two bars) and for the later generation at idle (the rightmost bar).

The CPU no longer dominates platform power at peak usage in modern servers, and since processors are adopting energy-efficiency techniques more aggressively than other system components, we would expect CPUs to contribute an even smaller fraction of peak power in future systems. Comparing the second and third bars in Figure 3 provides useful insights. In the same platform, the 2007 server, the CPU represents an even smaller fraction of total power when the system is idle, suggesting that processors are closer to exhibiting the energy-proportional behavior we seek.

Two key CPU features are particularly useful for achieving energy proportionality and are worthy of imitation by other components.(computer).

0 comment: