A run-time system for power-constrained HPC applications

Aniruddha Marathe, Peter E. Bailey, David K Lowenthal, Barry Rountree, Martin Schulz, Bronis R. de Supinski

Research output: Contribution to journalArticle

44 Citations (Scopus)

Abstract

As the HPC community attempts to reach exascale performance, power will be one of the most critical constrained resources. Achieving practical exascale computing will therefore rely on optimizing performance subject to a power constraint. However, this additional complication should not add to the burden of application developers; optimizing the run-time environment given restricted power will primarily be the job of high-performance system software. This paper introduces Conductor, a run-time system that intelligently distributes available power to nodes and cores to improve performance. The key techniques used are configuration space exploration and adaptive power balancing. Configuration exploration dynamically selects the optimal thread concurrency level and DVFS state subject to a hardwareenforced power bound. Adaptive power balancing efficiently determines where critical paths are likely to occur so that more power is distributed to those paths. Greater power, in turn, allows increased thread concurrency levels, the DVFS states, or both. We describe these techniques in detail and show that, compared to the state-of-the-art technique of using statically predetermined, per-node power caps, Conductor leads to a best-case performance improvement of up to 30%, and average improvement of 19.1%.

Fingerprint

Runtime Systems
Concurrency
Conductor
Thread
Balancing
Critical Path
Vertex of a graph
Complications
Configuration Space
Software System
High Performance
Likely
Path
Configuration
Resources
Computing

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Computer Science(all)

Cite this

A run-time system for power-constrained HPC applications. / Marathe, Aniruddha; Bailey, Peter E.; Lowenthal, David K; Rountree, Barry; Schulz, Martin; de Supinski, Bronis R.

In: Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), Vol. 9137, 2015, p. 394-408.

Research output: Contribution to journalArticle

@article{7ad6fb213eb449b4ac30327c8eb1ffac,
title = "A run-time system for power-constrained HPC applications",
abstract = "As the HPC community attempts to reach exascale performance, power will be one of the most critical constrained resources. Achieving practical exascale computing will therefore rely on optimizing performance subject to a power constraint. However, this additional complication should not add to the burden of application developers; optimizing the run-time environment given restricted power will primarily be the job of high-performance system software. This paper introduces Conductor, a run-time system that intelligently distributes available power to nodes and cores to improve performance. The key techniques used are configuration space exploration and adaptive power balancing. Configuration exploration dynamically selects the optimal thread concurrency level and DVFS state subject to a hardwareenforced power bound. Adaptive power balancing efficiently determines where critical paths are likely to occur so that more power is distributed to those paths. Greater power, in turn, allows increased thread concurrency levels, the DVFS states, or both. We describe these techniques in detail and show that, compared to the state-of-the-art technique of using statically predetermined, per-node power caps, Conductor leads to a best-case performance improvement of up to 30{\%}, and average improvement of 19.1{\%}.",
author = "Aniruddha Marathe and Bailey, {Peter E.} and Lowenthal, {David K} and Barry Rountree and Martin Schulz and {de Supinski}, {Bronis R.}",
year = "2015",
doi = "10.1007/978-3-319-20119-1_28",
language = "English (US)",
volume = "9137",
pages = "394--408",
journal = "Lecture Notes in Computer Science",
issn = "0302-9743",
publisher = "Springer Verlag",

}

TY - JOUR

T1 - A run-time system for power-constrained HPC applications

AU - Marathe, Aniruddha

AU - Bailey, Peter E.

AU - Lowenthal, David K

AU - Rountree, Barry

AU - Schulz, Martin

AU - de Supinski, Bronis R.

PY - 2015

Y1 - 2015

N2 - As the HPC community attempts to reach exascale performance, power will be one of the most critical constrained resources. Achieving practical exascale computing will therefore rely on optimizing performance subject to a power constraint. However, this additional complication should not add to the burden of application developers; optimizing the run-time environment given restricted power will primarily be the job of high-performance system software. This paper introduces Conductor, a run-time system that intelligently distributes available power to nodes and cores to improve performance. The key techniques used are configuration space exploration and adaptive power balancing. Configuration exploration dynamically selects the optimal thread concurrency level and DVFS state subject to a hardwareenforced power bound. Adaptive power balancing efficiently determines where critical paths are likely to occur so that more power is distributed to those paths. Greater power, in turn, allows increased thread concurrency levels, the DVFS states, or both. We describe these techniques in detail and show that, compared to the state-of-the-art technique of using statically predetermined, per-node power caps, Conductor leads to a best-case performance improvement of up to 30%, and average improvement of 19.1%.

AB - As the HPC community attempts to reach exascale performance, power will be one of the most critical constrained resources. Achieving practical exascale computing will therefore rely on optimizing performance subject to a power constraint. However, this additional complication should not add to the burden of application developers; optimizing the run-time environment given restricted power will primarily be the job of high-performance system software. This paper introduces Conductor, a run-time system that intelligently distributes available power to nodes and cores to improve performance. The key techniques used are configuration space exploration and adaptive power balancing. Configuration exploration dynamically selects the optimal thread concurrency level and DVFS state subject to a hardwareenforced power bound. Adaptive power balancing efficiently determines where critical paths are likely to occur so that more power is distributed to those paths. Greater power, in turn, allows increased thread concurrency levels, the DVFS states, or both. We describe these techniques in detail and show that, compared to the state-of-the-art technique of using statically predetermined, per-node power caps, Conductor leads to a best-case performance improvement of up to 30%, and average improvement of 19.1%.

UR - http://www.scopus.com/inward/record.url?scp=84978499980&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84978499980&partnerID=8YFLogxK

U2 - 10.1007/978-3-319-20119-1_28

DO - 10.1007/978-3-319-20119-1_28

M3 - Article

AN - SCOPUS:84978499980

VL - 9137

SP - 394

EP - 408

JO - Lecture Notes in Computer Science

JF - Lecture Notes in Computer Science

SN - 0302-9743

ER -