This experiment was conducted on an Intel Xeon dual-socket E5-2690 server.  The kernel is Linux 3.2.0.  The cpufrequtils package is installed to allow software to modify the processor's operating frequency.  Given a frequency setting, the hardware automatically adjusts voltage to an appropriate setting.  (This system is know as DVFS for dynamic voltage and frequency scaling).  Our hardware supports sixteen different frequency settings from 1.2-2.9 GHz. Additionally, the server is plugged into a WattsUp power meter which measures full system power at one second intervals.  On this system, we run the x264 video encoder and instrument it to report its performance in frames per second.  By measuring frames per second and power we can calculate energy consumption per frame, which we use as the feedback signal for our encoder.

The python implementation already provided for video compression can be easily adapted for this experiment.