We formulate optimization problems to study how data centers might modulate
their power demands for cost-effective operation taking into account three key
complex features exhibited by real-world electricity pricing schemes: (i)
time-varying prices (e.g., time-of-day pricing, spot pricing, or higher energy
prices during coincident peaks) and (ii) separate charge for peak power
consumption. Our focus is on demand modulation at the granularity of an entire
data center or a large part of it. For computational tractability reasons, we
work with a fluid model for power demands which we imagine can be modulated
using two abstract knobs of demand dropping and demand delaying (each with its
associated penalties or costs). Given many data center workloads and electric
prices can be effectively predicted using statistical modeling techniques, we
devise a stochastic dynamic program (SDP) that can leverage such predictive
models. Since the SDP can be computationally infeasible in many real platforms,
we devise approximations for it. We also devise fully online algorithms that
might be useful for scenarios with poor power demand or utility price
predictability. For one of our online algorithms, we prove a competitive ratio
of 2-1/n. Finally, using empirical evaluation with both real-world and
synthetic power demands and real-world prices, we demonstrate the efficacy of
our techniques. As two salient empirically-gained insights: (i) demand delaying
is more effective than demand dropping regarding to peak shaving (e.g., 10.74%
cost saving with only delaying vs. 1.45% with only dropping for Google
workload) and (ii) workloads tend to have different cost saving potential under
various electricity tariffs (e.g., 16.97% cost saving under peak-based tariff
vs. 1.55% under time-varying pricing tariff for Facebook workload).