C O V E R

F E A T U R E

The Case for Energy-Proportional Computing Luiz André Barroso and Urs Hölzle Google

Energy-proportional designs would enable large energy savings in servers, potentially doubling their efficiency in real-life use. Achieving energy proportionality will require significant improvements in the energy usage profile of every system component, particularly the memory and disk subsystems.

E

nergy efficiency, a new focus for general-purpose computing, has been a major technology driver in the mobile and embedded areas for some time. Earlier work emphasized extending battery life, but it has since expanded to include peak power reduction because thermal constraints began to limit further CPU performance improvements. Energy management has now become a key issue for servers and data center operations, focusing on the reduction of all energy-related costs, including capital, operating expenses, and environmental impacts. Many energy-saving techniques developed for mobile devices became natural candidates for tackling this new problem space. Although servers clearly provide many parallels to the mobile space, we believe that they require additional energy-efficiency innovations. In current servers, the lowest energy-efficiency region corresponds to their most common operating mode. Addressing this mismatch will require significant rethinking of components and systems. To that end, we propose that energy proportionality should become a primary design goal. Although our experience in the server space motivates these observations, we believe that energy-proportional computing also will benefit other types of computing devices.

DOLLARS & CO2 Recent reports1,2 highlight a growing concern with computer-energy consumption and show how current 0018-9162/07/$25.00 © 2007 IEEE

trends could make energy a dominant factor in the total cost of ownership.3 Besides the server electricity bill, TCO includes other energy-dependent components such as the cost of energy for the cooling infrastructure and provisioning costs, specifically the data center infrastructure’s cost. To a first-order approximation, both cooling and provisioning costs are proportional to the average energy that servers consume, therefore energy efficiency improvements should benefit all energy-dependent TCO components. Efforts such as the Climate Savers Computing Initiative (www.climatesaverscomputing.org) could help lower worldwide computer energy consumption by promoting widespread adoption of high-efficiency power supplies and encouraging the use of power-savings features already present in users’ equipment. The introduction of more efficient CPUs based on chip multiprocessing has also contributed positively toward more energy-efficient servers.3 However, long-term technology trends invariably indicate that higher performance means increased energy usage. As a result, energy efficiency must improve as fast as computing performance to avoid a significant growth in computers’ energy footprint.

SERVERS VERSUS LAPTOPS Many of the low-power techniques developed for mobile devices directly benefit general-purpose servers, including multiple voltage planes, an array of energyefficient circuit techniques, clock gating, and dynamic

Published by the IEEE Computer Society

December 2007

33

ments because minor traffic fluctuations or any internal disruption, such as hardware or software faults, could tip it over the edge. Moreover, the lack of a 0.025 reasonable amount of slack makes regular operations exceedingly complex because 0.02 any maintenance task has the potential to cause serious service disruptions. Similarly, well-pro0.015 visioned services are unlikely to spend significant amounts of time completely idle because 0.01 doing so would represent a substantial waste of capital. Even during periods of low ser0.005 vice demand, servers are unlikely to be fully idle. Large-scale services usually require hundreds of 0 servers and distribute the load 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 over these machines. In some CPU utilization cases, it might be possible to completely idle a subset of servers Figure 1. Average CPU utilization of more than 5,000 servers during a six-month period. during low-activity periods by, Servers are rarely completely idle and seldom operate near their maximum utilization, for example, shrinking the numinstead operating most of the time at between 10 and 50 percent of their maximum ber of active front ends. Often, utilization levels. though, this is hard to accomplish because data, not just comvoltage-frequency scaling. Mobile devices require high putation, is distributed among machines. For example, performance for short periods while the user awaits a common practice calls for spreading user data across response, followed by relatively long idle intervals of many databases to eliminate the bottleneck that a censeconds or minutes. Many embedded computers, such tral database holding all users poses. as sensor network agents, present a similar bimodal Spreading data across multiple machines improves usage model.4 data availability as well because it reduces the likeliThis kind of activity pattern steers designers to empha- hood that a crash will cause data loss. It can also help size high energy efficiency at peak performance levels hasten recovery from crashes by spreading the recovand in idle mode, supporting inactive low-energy states, ery load across a greater number of nodes, as is done such as sleep or standby, that consume near-zero energy. in the Google File System.6 As a result, all servers must However, the usage model for servers, especially those be available, even during low-load periods. In addition, used in large-scale Internet services, has very different networked servers frequently perform many small backcharacteristics. ground tasks that make it impossible for them to enter Figure 1 shows the distribution of CPU utilization lev- a sleep state. els for thousands of servers during a six-month interWith few windows of complete idleness, servers canval.5 Although the actual shape of the distribution varies not take advantage of the existing inactive energysignificantly across services, two key observations from savings modes that mobile devices otherwise find so Figure 1 can be generalized: Servers are rarely com- effective. Although developers can sometimes restrucpletely idle and seldom operate near their maximum uti- ture applications to create useful idle intervals during lization. Instead, servers operate most of the time at periods of reduced load, in practice this is often difficult between 10 and 50 percent of their maximum utiliza- and even harder to maintain. The Tickless kernel7 exemtion levels. Such behavior is not accidental, but results plifies some of the challenges involved in creating and from observing sound service provisioning and distrib- maintaining idleness. Moreover, the most attractive inacuted systems design principles. tive energy-savings modes tend to be those with the highAn Internet service provisioned such that the average est wake-up penalties, such as disk spin-up time, and load approaches 100 percent will likely have difficulty thus their use complicates application deployment and meeting throughput and latency service-level agree- greatly reduces their practicality. Fraction of time

0.03

34

Computer

ENERGY EFFICIENCY AT VARYING UTILIZATION LEVELS

100 Typical operating region

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 energyproportional 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

CPU contribution to server power

Server power usage (percent of peak)

Server power consumption responds 90 differently to varying utilization levels. 80 We loosely define utilization as a measure of the application performance— 70 such as requests per second on a Web 60 server—normalized to the perfor50 mance at peak load levels. Figure 2 shows the power usage of a typical 40 energy-efficient server, normalized to 30 its maximum power, as a function of utilization. Essentially, even an energy20 efficient server still consumes about Power 10 Energy efficiency half its full power when doing virtually no work. Servers designed with 0 0 10 20 30 40 50 60 70 80 90 100 less attention to energy efficiency often Utilization (percent) idle at even higher power levels. Seeing the effect this narrow dynamic power range has on such a system’s Figure 2. Server power usage and energy efficiency at varying utilization levels, energy efficiency—represented by the from idle to peak performance. Even an energy-efficient server still consumes red curve in Figure 2—is both enlight- about half its full power when doing virtually no work. ening and discouraging. To derive power efficiency, we simply divide utilization by its cor60 responding power value. We see that peak energy efficiency occurs at peak utilization and drops quickly as 50 utilization decreases. Notably, energy efficiency in the 20 to 30 percent utilization range—the point at which 40 servers spend most of their time—has dropped to less than half the energy efficiency at peak performance. 30 Clearly, such a profile matches poorly with the usage 20 characteristics of server-class applications. 10 0

2005 server (peak)

2007 server (peak)

2007 server (idle)

Google servers

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).

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. 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 December 2007

35

Compared to today’s machines, servers with a dynamic power range of Typical operating region 90 percent, shown in Figure 4, could cut 90 by one-half the energy used in data cen80 ter operations.5 They would also lower peak power at the facility level by more 70 than 30 percent, based on simulations 60 of real-world data center workloads. 50 These are dramatic improvements, especially considering that they arise 40 from optimizations that leave peak 30 server power unchanged. The power efficiency curve in Figure 4 fundamen20 tally explains these gains. This server Power 10 Energy efficiency has a power efficiency of more than 80 percent of its peak value for utilizations 0 0 10 20 30 40 50 60 70 80 90 100 of 30 percent and above, with efficiency Utilization (percent) remaining above 50 percent for utilization levels as low as 10 percent. Figure 4. Power usage and energy efficiency in a more energy-proportional server. In addition to its energy-savings This server has a power efficiency of more than 80 percent of its peak value for potential, energy-proportional hardutilizations of 30 percent and above, with efficiency remaining above 50 percent ware could obviate the need for power for utilization levels as low as 10 percent. management software, or at least simplify it substantially, reducing power management to managing utilization. is idle, suggesting that processors are closer to exhibitFundamentally, the latency and energy penalties ing the energy-proportional behavior we seek. incurred to transition to the active state when starting Two key CPU features are particularly useful for an operation make an inactive energy-savings mode less achieving energy proportionality and are worthy of useful for servers. For example, a disk drive in a spunimitation by other components. down, deep-sleep state might use almost no energy, but a transition to active mode incurs a latency penalty 1,000 Wide dynamic power range Current desktop and server processors can consume times higher than a regular access latency. Spinning up less than one-third of their peak power at very-low activ- the platters also carriers a large energy penalty. Such a ity modes, creating a dynamic range of more than 70 huge activation penalty restricts spin-down modes to sitpercent of peak power. CPUs targeted at the mobile or uations in which the device will be idle for several minembedded markets can do even better, with idle power utes; this rarely occurs in servers. On the other hand, often reaching one-tenth or less of peak power.10 They inactive energy-savings modes with wake-up penalties achieve this even when not using any performance- of only a small fraction of the regular operations’ latency impacting—or software-visible—energy-saving modes. are more likely to benefit the server space, even if their In our experience, the dynamic power range of all low-energy state operates at relatively higher energy levother components is much narrower: less than 50 per- els than would be possible in deep-sleep modes. cent for DRAM, 25 percent for disk drives, and 15 perActive energy-savings schemes, by contrast, are useful cent for networking switches. even when the latency and energy penalties to transition to a high-performance mode are significant. Since active Active low-power modes modes are operational, systems can remain in lowA processor running at a lower voltage-frequency mode energy states for as long as they remain below certain can still execute instructions without requiring a perfor- load thresholds. Given that periods of low activity are mance-impacting mode transition. It is still active. There more common and longer than periods of full idleness, are no other components in the system with active low- the overheads of transitioning between active energypower modes. Networking equipment rarely offers any savings modes amortize more effectively. low-power modes, and the only low-power modes currently available in mainstream DRAM and disks are fully inactive. That is, using the device requires paying a latency ervers and desktop computers benefit from much and energy penalty for an inactive-to-active mode transiof the energy-efficiency research and development tion. Such penalties can significantly degrade the perforthat was initially driven by mobile devices’ needs. mance of systems idle only at submillisecond time scales. However, unlike mobile devices, which idle for long Server power usage (percent of peak)

100

S

36

Computer

periods, servers spend most of their time at moderate utilizations of 10 to 50 percent and exhibit poor efficiency at these levels. Energy-proportional computers would enable large additional energy savings, potentially doubling the efficiency of a typical server. Some CPUs already exhibit reasonably energy-proportional profiles, but most other server components do not. We need significant improvements in memory and disk subsystems, as these components are responsible for an increasing fraction of the system energy usage. Developers should make better energy proportionality a primary design objective for future components and systems. To this end, we urge energy-efficiency benchmark developers to report measurements at nonpeak activity levels for a more complete characterization of a system’s energy behavior. ■

Acknowledgments We thank Xiaobo Fan and Wolf-Dietrich Weber for coauthoring the power provisioning study that motivated this work, and Catherine Warner for her comments on the manuscript.

References 1. US Environmental Protection Agency, “Report to Congress on Server and Data Center Energy Efficiency: Public Law 109431”; www.energystar.gov/ia/partners/prod_development/ downloads/EPA_Datacenter_Report_Congress_Final1.pdf. 2. J.G. Koomey, “Estimating Total Power Consumption by Servers in the U.S. and the World”; http://enterprise.amd.com/ Downloads/svrpwrusecompletefinal.pdf. 3. L.A. Barroso, “The Price of Performance: An Economic Case for Chip Multiprocessing,” ACM Queue, Sept. 2005, pp. 4853. 4. J. Hill et al., “System Architecture Directions for Networked Sensors,” Proc. SIGOPS Oper. Syst. Rev., ACM Press, vol. 34, no. 5, 2000, pp. 93-104. 5. X. Fan, W.-D. Weber, and L.A. Barroso, “Power Provisioning for a Warehouse-Sized Computer”; http://research.google. com/archive/power_provisioning.pdf. 6. S. Ghemawat, H. Gobioff and S.-T. Leung, “The Google File System”; www.cs.rochester.edu/meetings/sosp2003/papers/ p125-ghemawat.pdf. 7. S. Siddha, V. Pallipadi, and A. Van De Ven, “Getting Maximum Mileage Out of Tickless,” Proc. 2007 Linux Symp., 2007, pp. 201-208. 8. E. Ravussin et al., “Determinants of 24-Hour Energy Expenditure in Man: Methods and Results Using a Respiratory Chamber”; http://www.pubmedcentral.nih.gov/picrender. fcgi?artid=423919&blobtype=pdf. 9. E.F. Coyle, “Improved Muscular Efficiency Displayed as Tour de France Champion Matures”; http://jap.physiology.org/ cgi/reprint/98/6/2191.

10. Z. Chen et al., “A 25W(max) SoC with Dual 2GHz Power Cores and Integrated Memory and I/O Subsystems”; www. pasemi.com/downloads/PA_Semi_ISSCC_2007.pdf.

Luiz André Barroso is a distinguished engineer at Google. His interests range from distributed system software infrastructure to the design of Google’s computing platform. Barroso received a PhD in computer engineering from the University of Southern California. Contact him at luiz@ google.com. Urs Hölzle is the senior vice president of operations at Google and a Google Fellow. His interests include largescale clusters, cluster networking, Internet performance, and data center design. Hölzle received a PhD in computer science from Stanford University. Contact him at urs@ google.com.

Computer Wants You Computer is always looking for interesting editorial content. In addition to our theme articles, we have other feature sections such as Perspectives, Computing Practices, and Research Features as well as numerous columns to which you can contribute. Check out our author guidelines at www.computer.org/computer/ author.htm for more information about how to contribute to your magazine.

December 2007

37

The Case for Energy-Proportional Computing - Research at Google

Dec 3, 2007 - provisioning costs, specifically the data center infra- structure's ... particularly the memory and disk subsystems. ... though, this is hard to accom-.

184KB Sizes 1 Downloads 317 Views

Recommend Documents

Fuzzy Computing Applications for Anti-Money ... - Research at Google
Abstract—Fuzzy computing (FC) has made a great impact in capturing human domain ... incorporates real-time monitoring and decision-making. In a financial ... Our goal is to use a fuzzy inference system that will give us a good idea of the ...

Long-term SLOs for reclaimed cloud computing ... - Research at Google
Nov 5, 2014 - utilization is to re-sell unused resources with no Service ... of Service. 1. Introduction. Although marketing campaigns for cloud Infrastructure as a Service ...... tional Conference on High Performance Computing, Network-.

Mobile Computing: Looking to the Future - Research at Google
May 29, 2011 - Page 1 ... fast wired and wireless networks make it economical ... ple access information and use network services. Bill N. Schilit, Google.

A Case of Computational Thinking: The Subtle ... - Research at Google
1 University of Cambridge, Computer Laboratory, [email protected] ... The VCS should be an ideal example of where Computer Science can help the world.

Perspectives on cloud computing: interviews ... - Research at Google
Jun 3, 2011 - Dan Reed, Microsoft's Corporate Vice President for Tech- nology Strategy and .... concepts, like auto-tuning, high availability, notions of consistency ... Hadoop map-reduce system, the PNUTS key-value store, and our goal is ...

Computing Science Technical Report No. 99 A ... - Research at Google
phase of their job they had to build a large mechanism that included two or more ... paths to insure that the actual radio links were used at their maximum .... The first public demonstration of the complex computer took place on ..... At the end of

An Empirical Study on Computing Consensus ... - Research at Google
Proceedings of the 2007 Joint Conference on Empirical Methods in Natural Language ... canonical way to build a large pool of diverse ... tion methods for computing consensus translations. .... to the MBR selection rule, we call this combination.

Computing Clustering Coefficients in Data ... - Research at Google
The analysis of the structure of large networks often requires the computation of ... provides methods that are either computational unfeasible on large data sets ...

Google Search by Voice: A case study - Research at Google
of most value to end-users, and supplying a steady flow of data for training systems. Given the .... for directory assistance that we built on top of GMM. ..... mance of the language model on unseen query data (10K) when using Katz ..... themes, soci

Conference title, upper and lower case, bolded ... - Research at Google
1. Introduction. Cloud computing has been driving the need for larger and ... This network transports machine generated traffic or data copies between datacenters ... services such as YouTube and Netflix in the recent years are accelerating ...

Theories, methods and case studies of ... - Research at Google
longitudinal data collection and analysis. At CHI 2008 [18], the authors organized a panel where researchers from industry and academia gave their viewpoints ...

Theories, methods and case studies of ... - Research at Google
As products are increasingly becoming service- centered the focus shifts from .... problems in a computer game during first use and after some practice. Intern.

Programmers' Build Errors: A Case Study - Research at Google
of reuse, developers use a cloud-based build system. ... Google's cloud-based build process utilizes a proprietary ..... accessing a protected or private member.

A Case Study on Amazon.com Helpfulness Votes - Research at Google
to evaluate these opinions; a canonical example is Amazon.com, .... tions from social psychology; due to the space limitations, we omit a discussion of this here.

Accuracy at the Top - Research at Google
We define an algorithm optimizing a convex surrogate of the ... as search engines or recommendation systems, since most users of these systems browse or ...

Conference title, upper and lower case, bolded ... - Research at Google
computing platform as a shared resource for many distributed services [1]. ... behind the network scaling requirements and discuss architectural options for ...

the case for qualitative diary research
phone user to handle, but for many this is really only the beginning. According ... I think I'll have to lure her out of the house and get some fresh air! I'll be ..... weakness and turn it in to a competitive advantage by implementing a new system f

A Case for High Performance Computing with Virtual ... - MVAPICH
Two key ideas in our design are: Virtual. Machine Monitor (VMM) bypass I/O and scalable VM im- age management. VMM-bypass I/O achieves high commu- nication ... performance, scalability, system management, and adminis- tration of these .... filing too

Mathematics at - Research at Google
Index. 1. How Google started. 2. PageRank. 3. Gallery of Mathematics. 4. Questions ... http://www.google.es/intl/es/about/corporate/company/history.html. ○.

Simultaneous Approximations for Adversarial ... - Research at Google
When nodes arrive in an adversarial order, the best competitive ratio ... Email:[email protected]. .... model for combining stochastic and online solutions for.

Asynchronous Stochastic Optimization for ... - Research at Google
Deep Neural Networks: Towards Big Data. Erik McDermott, Georg Heigold, Pedro Moreno, Andrew Senior & Michiel Bacchiani. Google Inc. Mountain View ...

How Developers Search for Code: A Case Study - Research at Google
Code search has been a part of software development for decades. It is unclear .... ing eight programmers in a company across several sessions revealed that ...

A Case for Usage Tracking to Relate Digital ... - Research at Google
Object to object relation building through usage data has three important .... to recover from interruptions. In recent years we ... (text), CAD drawings (special graphics format), web pages of local building .... After creation, the strength of the