Microsoft Joulemeter: Using Software to Green the Data Center

Exactly much power does it take to run a virtual machine or specific piece of software? That’s the answer the Joulemeter team at Microsoft Research is hoping to answer for IT managers.

Over the years there have been several innovations to reduce energy usage in the data center, from custom, low-power servers to non-traditional cooling approaches. But more recently, attention has been turning to one feature common to all IT infrastructures: software. Intel, for example, recently unveiled its Energy Checker SDK in a bid to help developers optimize their code for energy efficiency. Now Microsoft is getting in on the act with Joulemeter.

Jie Liu, Senior Researcher at Microsoft Research

According to Jie Liu, a senior researcher at Microsoft Research Redmond, along with his fellow researchers Dr. Aman Kansal and Mr. Michel Goraczko, Joulemeter could have big implications for planning and monetizing virtual server environments and cloud infrastructures. In an email Q&A with Jiu, he answers some questions about Joulemeter and its green data center potential. Below is a lightly edited version of our exchange:

GigaOM: How did Joulemeter come about?

Liu: We started the Joulemeter project with the goal of providing visibility and fine-grained control to computer energy usages. The world has over one billion computers. As a whole, the IT industry is one of the fastest-growing energy-consuming sectors. [According to] an EPA study published in 2007, data centers in the U.S. consumed about 60 billion kilowatt-hours (kWh) in 2006, which is expected to double in five years. The number of consumer computing devices exceeds enterprise and data center installations, so we expect the (corresponding) energy consumption is even higher.

Most computers, except the most recent servers, do not provide continuous monitoring of their energy consumption. Hardware metering, in addition to their cost, can only measure the power consumption for physical components (namely the entire computer or its key components like CPU, memory and disk). But computers are multitasking and the logical components in them (such as application, drives, and virtual machines) are what users understand and control. Thus, a software-based solution is very attractive both because it can be low-cost and because it can provide user-friendly granularities of energy-consumption measures.

GigaOM: Joulemeter not only measures energy use for servers and PCs but also virtual machines. Why is this important?

Liu: Infrastructure computers, as in data centers and large enterprises, are becoming virtualized for resource efficiency and isolation. Measuring energy use at the virtual machine-level enables several capabilities that were not possible before. For example, cloud computer hosts can charge their clients on a pay-as-you-go basis rather than the current pay-as-provisioned model. Better visibility also brings better control. For example, when power quality or the total consumption in a data center becomes a problem, we only need to throttle VMs of lower priority and preserve high-priority VM performance. Knowing how much power each VM is consuming prevents us from making decisions in the dark.

GigaOM: What’s the implication for software developers?

Liu: Software developers constantly make decisions during software development to optimize for, e.g. speed, memory size, storage, etc. Giving energy consumption visibility to developers will help improve software energy consumption in the design phase.

In Fine-Grained Energy Profiling for Power-Aware Application Design, we gave an example of two different compression libraries, which gives different performance and energy consumption characteristics. We advocate that developers should make informed decisions. In the future, is it also possible that compilers will help developers make such tradeoffs by providing energy-optimized executable code.

GigaOM: What impact would a tool like Joulemeter have on cloud computing platforms?

Liu: Joulemeter helps cloud computing twofold. One is at the service provisioning phase. VM power consumption, together with other VM placement constraints can help better assignment from VMs to physical machines. In addition, continuous monitoring of VM power consumption during operation can enable scenarios like charge-as-you-go and selective power-capping.

GigaOM: What have your own tests taught you?

Liu: We find that we can do much better data center provisioning (up to 15 percent) based on measure power consumption and VM-level power-capping capability. This means that for the same investment in building a data center, we can host 15 percent more servers without sacrificing application performance.

In another example, we have deployed Joulemeter to more than 50 computers in Microsoft Research. We were able to identify why some of the machines do not go to sleep at night when they should be, due to conflicting policy settings and misconfiguration. It clearly shows that visibility is important.

According to Liu, the general public will get its hands on Joulemeter in the “near future,” however he stresses that it’s strictly a research prototype at this point and may never see the light of day as part of a commercialized product. However, don’t be shocked if some of the concepts behind Joulemeter inform Microsoft’s offerings and internal strategies, particularly in light of the company’s efforts behind its Azure cloud computing platform (GigaOM Pro, subscription required).

For more on software and energy efficiency, join the GigaOM Network at Green:Net on April 29th in San Francisco. For more on cloud computing, join us at Structure June 23 & 24th, also in San Francisco.

Images courtesy of Microsoft Research