  Datacenter capacity is growing exponentially to satisfy the increasing demand
for emerging computationally-intensive applications, such as deep learning.
This trend has led to concerns over datacenters' increasing energy consumption
and carbon footprint. The basic prerequisite for optimizing a datacenter's
energy- and carbon-efficiency is accurately monitoring and attributing energy
consumption to specific users and applications. Since datacenter servers tend
to be multi-tenant, i.e., they host many applications, server- and rack-level
power monitoring alone does not provide insight into their resident
applications' energy usage and carbon emissions. At the same time, current
application-level energy monitoring and attribution techniques are intrusive:
they require privileged access to servers and require coordinated support in
hardware and software, which is not always possible in cloud. To address the
problem, we design WattScope, a system for non-intrusively estimating the power
consumption of individual applications using external measurements of a
server's aggregate power usage without requiring direct access to the server's
operating system or applications. Our key insight is that, based on an analysis
of production traces, the power characteristics of datacenter workloads, e.g.,
low variability, low magnitude, and high periodicity, are highly amenable to
disaggregation of a server's total power consumption into application-specific
values. WattScope adapts and extends a machine learning-based technique for
disaggregating building power and applies it to server- and rack-level power
meter measurements in data centers. We evaluate WattScope's accuracy on a
production workload and show that it yields high accuracy, e.g., often <10%
normalized mean absolute error, and is thus a potentially useful tool for
datacenters in externally monitoring application-level power usage.
