Investigating power use in parallel computing

Author: Mirren White
Posted: 3 Jun 2016 | 16:09

The Adept project has been working hard for over two years to further understanding of how power is used in parallel software and hardware, and we are now on the finishing straight. 

It's a good time to take stock of our achievements and reflect on how to focus our efforts in the final phase. Also to consider life after the project ends: how do we want to exploit the technologies we have developed and the knowledge we have gained? How do we ensure a lasting legacy for Adept?

Parallel computing is no longer limited to large-scale HPC systems, and parallel technologies are becoming critical to everyday lives. 

Parallelism on every scale is in use throughout society, from the HPC machines in our labs to the smartphones in our pockets. Small and large businesses alike now need sensible, affordable parallel systems in order to remain competitive, and there is a vast array of different parallel commodity hardware now available.

Investigating and increasing the efficiency of such devices is therefore no longer an abstract concern but a real and pressing need. Financial needs, environmental concerns, system requirements – all of these considerations and more will affect how systems are built in future. 

Adept Power Measurement System

One of our key outcomes is the sophisticated Adept Power Measurement System (APMS). 

This fine-grained measurement infrastructure reads the current and voltage from the powerlines that feed the different components of a computer system, eg CPU, memory or disk. The APMS is capable of measuring from multiple components with the very high resolution of 1 million samples per second.

Adept Benchmark Suite

To complement the APMS, the Adept project has also developed a suite of benchmarks that can be used to test and evaluate existing systems. The benchmarks are designed to be used for system characterisation and they target specific operations and common computational patterns.

The suite consists of three different types of benchmarks:

  • Micro benchmarks. Small single purpose functions such as basic operations on scalar data types, branch & jump statements, function calls, I/O operations, inter-process communication, or memory access operations.
  • Kernel benchmarks. Computational patterns and kernels that largely consist of the operations from the micro benchmarks.
  • Application benchmarks. Small applications that consist of multiple computational kernels.

Our Benchmark Suite includes a wrapper for Intel’s Running Average Power Limit (RAPL) system, which is an in-band method for reading power and energy counters on certain Intel CPUs.

Together, the Power Measurement System and Benchmark Suite form a powerful set of diagnostic tools to allow in-depth analysis of an application’s power use in every aspect of a system.

Adept Performance and Power Prediction Tool

The Adept project is not limited to measuring power consumption, and another important outcome of the project is our Performance and Power Prediction Tool. 

Using detailed statistical modelling that examines a software binary, we are able to predict how well a CPU and memory hierarchy system will perform and how power efficient it will be, even if we do not have access to that system or even if that system does not yet exist. 

The Adept tool will impact on software developers and system designers by freeing them from making poorly informed decisions about how to implement changes to their systems. It allows for the design of smarter, cheaper, and more efficient systems, because a system’s performance and power behaviours can be matched to a specific workload. Giving owners and developers the freedom and flexibility to know how their equipment will perform prior to porting their workloads means giving them the ability to make better choices about what they implement, how, and when.

In the final few months of the project, we will be focusing on improving the Adept tool wherever possible to make its predictions increasingly accurate, and we will use our measurement infrastructure to conduct a wide range of experiments around power efficiency techniques in software development. But we will also focus significant effort on the exploitation of the project outcomes to ensure the lasting impact of our research. 

About Adept

The Adept project focuses on balancing power consumption and performance in both parallel software and hardware. 

www.adept-project.eu

Author

Mirren White, EPCC

Image: iStock