  Energy consumption represents a significant cost in data center operation. A
large fraction of the energy, however, is used to power idle servers when the
workload is low. Dynamic provisioning techniques aim at saving this portion of
the energy, by turning off unnecessary servers. In this paper, we explore how
much performance gain can knowing future workload information brings to dynamic
provisioning. In particular, we study the dynamic provisioning problem under
the cost model that a running server consumes a fixed amount energy per unit
time, and develop online solutions with and without future workload information
available. We first reveal an elegant structure of the off-line dynamic
provisioning problem, which allows us to characterize and achieve the optimal
solution in a {}"divide-and-conquer" manner. We then exploit this insight to
design three online algorithms with competitive ratios $2-\alpha$,
$(e-\alpha)/(e-1)\approx1.58-\alpha/(e-1)$ and $e/(e-1+\alpha)$, respectively,
where $0\leq\alpha\leq1$ is the fraction of a critical window in which future
workload information is available. A fundamental observation is that
\emph{future workload information beyond the critical window will not}
\emph{improve dynamic provisioning performance}. Our algorithms are
decentralized and are simple to implement. We demonstrate their effectiveness
in simulations using real-world traces. We also compare their performance with
state-of-the-art solutions.
