Monitoring Power usage of Codes

Stehley, Talya (US Naval Research Laboratory)

Obenschain, Keith

Intersection of Digital Engineering and High Performance Computing/High End Computing

When comparing hardware configurations, power consumption is a useful metric to consider alongside performance benchmarks, such as LINPACK. A relatively simple approach using available system data from IPMI can be used to record power data periodically, which can be used to gauge how much power a system draws under a workload as compared to when it is idle. This data can be used help diagnose hardware issues, as well as to evaluate general energy efficiency. While something like LINPACK provides a measure of FLOPs per second, with the addition of power monitoring one can also measure FLOPs per watt, which lends greater depth of understanding of the tradeoffs between hardware configurations. This data is also useful for evaluating how well a code scales. For code that scales well, running it on more CPUs or GPUs will draw more power moment to moment during execution, but the speedup in computation can mean that less energy is used overall. This presentation will detail how we instrumented the system and code to gain insights into the energy efficiency and system design/allocation.