  Dynamic voltage and frequency scaling proves to be an efficient way of
reducing energy consumption of servers. Energy savings are typically achieved
by setting a well-chosen frequency during some program phases. However,
determining suitable program phases and their associated optimal frequencies is
a complex problem. Moreover, hardware is constrained by non negligible
frequency transition latencies. Thus, various heuristics were proposed to
determine and apply frequencies, but evaluating their efficiency remains an
issue. In this paper, we translate the energy minimization problem into a mixed
integer program that specifically models most current hardware limitations. The
problem solution then estimates the minimal energy consumption and the
associated frequency schedule. The paper provides two different formulations
and a discussion on the feasibility of each of them on realistic applications.
