Joulemeter: Computational Energy Measurement and Optimization

Publications

Videos

Microsoft Research blog

Overview

The public release of Joulemeter is deprecated. We apologize for any inconvenience.The Joulemeter project provides a modeling tool to measure the energy usage of virtual machines (VMs), servers, desktops, laptops, and even individual software applications running on a computer. The visibility provided by Joulemeter is being used to improve power provisioning costs for data centers, virtualized power budgeting, desktop energy optimizations, and mobile battery management.

Note: Joulemeter is no longer available for public download. Similar energy estimation capability is now available through Visual Studio (video).

About Joulemeter

About Joulemeter

Energy costs have become increasingly important to computing, since they directly impact the power provisioning cost for computing infrastructures, the operating expense for both data centers and enterprise buildings, as well as battery life for laptops and mobile devices.

The Joulemeter project focuses on the following aspects related to energy optimization:

Modeling — Joulemeter provides a software tool to estimate the energy usage of a virtual machine (VM), a computer, server, or software application. It also allows modeling the impact of power management of various components such as the CPU, screen, memory, and storage on total power use. Many of these power measurements are not possible in hardware since software components such as VMs do not have a single wire supplying their power where a hardware power meter may be installed.

Optimization— We use the visibility provided by Joulemeter’s modeling techniques to improve power provisioning and consumption costs in various scenarios ranging from data centers, enterprise computing, and battery operated machines.

Power Modeling

Power Modeling

Joulemeter estimates the energy usage of a VM, computer, or software by measuring the hardware resources (CPU, disk, memory, screen, etc.) being used and converting the resource usage to actual power usage based on automatically learned realistic power models.

Joulemeter can be used for gaining visibility into energy use and for making several power management and provisioning decisions in data centers, client computing, and software design.

The technology is especially helpful for IT leaders managing power management settings, PC users who wish to get fine grained visibility into their computing energy use, and enthusiast developers who wish to leverage power measurement for optimizing their software and hosted service design for power usage. The fundamental concepts behind how the technology works are available in the paper, Virtual Machine Power Metering and Provisioning.

Power Optimization

Power Optimization

The visibility provided by the Joulemeter modeling tool can be used to optimize power use in multiple scenarios. The measurement of VM power allows developing power budgeting techniques for virtualized data centers. Managing and tracking PC sleep, combined with remote wakeup, allows optimizing desktop power consumption in enterprise buildings. Separating the impact of hardware components on battery life allows users to trade-off power management settings for improving battery life and enables developers to make appropriate design trade-offs for their software applications. Details on many of these use cases are available in the Joulemeter research publications listed below.