Just-in-Time Dynamic Voltage Scaling: Exploiting Inter-Node Slack to Save Energy in MPI Programs

No Thumbnail Available

Date

2005-08-08

Journal Title

Series/Report No.

Journal ISSN

Volume Title

Publisher

Abstract

Although users of high-performance computing are most interested in raw performance, both energy and power consumption have become critical concerns. As a result improving energy efficiency of nodes on HPC machines has become important and the importance of power-scalable clusters, where the frequency and voltage can be dynamically modified, has increased. This thesis investigates the energy consumption and execution time of applications on a power-scalable cluster. It studies intra-node and inter-node effects of memory and communication bottlenecks. Results show that a power-scalable cluster has the potential to save energy by scaling the processor down to lower energy levels. This thesis presents a model that predicts the energy-time trade-off for larger clusters. On power-scalable clusters, one opportunity for saving energy with little or no loss of performance exists when the computational load is not perfectly balanced. This situation occurs frequently, as keeping the load balanced between nodes is one of the long standing fundamental problems in parallel and distributed computing. However, despite the large body of research aimed at balancing load both statically and dynamically, this problem is quite difficult to solve. This thesis presents a system called Jitter that reduces the frequency on nodes that are assigned less computation and therefore have idle time or slack time. This saves energy on these nodes, and the goal of Jitter is to attempt to ensure that they arrive 'just in time' so that they avoid increasing overall execution time. Specifically, we dynamically determine which nodes have enough slack time so that they can be slowed down, which will greatly reduce the consumed energy on that node. Thus a superior energy-time trade-off can be achieved. This thesis studies a suite of MPI benchmarks, which are profiled, gathering information about the computation and communication occuring in the application. This information is used to analyse various energy-time trade-offs of benchmark suite. This thesis also proposes an algorithm that exploits load-imbalance to reduce energy consumption and minimize delays for parallel applications. This algorithm is validated on a large variety of benchmarks.

Description

Keywords

dynamic voltage scaling, energy-time trade-off, load-imbalance, MPI

Citation

Degree

MS

Discipline

Computer Science

Collections