  Future servers will incorporate many active lowpower modes for different
system components, such as cores and memory. Though these modes provide
flexibility for power management via Dynamic Voltage and Frequency Scaling
(DVFS), they must be operated in a coordinated manner. Such coordinated control
creates a combinatorial space of possible power mode configurations. Given the
rapid growth of the number of cores, it is becoming increasingly challenging to
quickly select the configuration that maximizes the performance under a given
power budget. Prior power capping techniques do not scale well to large numbers
of cores, and none of those works has considered memory DVFS. In this paper, we
present FastCap, our optimization approach for system-wide power capping, using
both CPU and memory DVFS. Based on a queuing model, FastCap formulates power
capping as a non-linear optimization problem where we seek to maximize the
system performance under a power budget, while promoting fairness across
applications. Our FastCap algorithm solves the optimization online and
efficiently (low complexity on the number of cores), using a small set of
performance counters as input. To evaluate FastCap, we simulate it for a
many-core server running different types of workloads. Our results show that
FastCap caps power draw accurately, while producing better application
performance and fairness than many existing CPU power capping methods (even
after they are extended to use of memory DVFS as well).
