Joulemeter: Computational Energy Measurement and Optimization

The Joulemeter project is developing methods to improve the energy efficiency of computing devices and infrastructures. It 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.

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. 

Short Video: Introducing Joulemeter [3min 30sec]

Detailed Video: Inside Joulemeter [34 min]

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.

Block diagram

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

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.

Publications

Download

Joulemeter 1.2