  Production high-performance computing systems continue to grow in complexity
and size. As applications struggle to make use of increasingly heterogeneous
compute nodes, maintaining high efficiency (performance per watt) for the whole
platform becomes a challenge. Alongside the growing complexity of scientific
workloads, this extreme heterogeneity is also an opportunity: as applications
dynamically undergo variations in workload, due to phases or data/compute
movement between devices, one can dynamically adjust power across compute
elements to save energy without impacting performance. With an aim toward an
autonomous and dynamic power management strategy for current and future HPC
architectures, this paper explores the use of control theory for the design of
a dynamic power regulation method. Structured as a feedback loop, our
approach-which is novel in computing resource management-consists of
periodically monitoring application progress and choosing at runtime a suitable
power cap for processors. Thanks to a preliminary offline identification
process, we derive a model of the dynamics of the system and a
proportional-integral (PI) controller. We evaluate our approach on top of an
existing resource management framework, the Argo Node Resource Manager,
deployed on several clusters of Grid'5000, using a standard memory-bound HPC
benchmark.
