Check out the new USENIX Web site. next up previous
Next: Workload Up: Methodology Previous: Methodology


Measuring Power and Total Energy

To measure the instantaneous power consumed by the Itsy, we use a data acquisition (DAQ) system to record the current drawn by the Itsy as it is connected to an external voltage supply, and the voltage provided by this supply. Figure 1 presents a picture of our setup along with the wires connected to the Itsy to facilitate measuring the supply current1 and voltage. We configured the DAQ system to read the voltage 5000 times per second, and convert these readings to 16-bit values. These values were then forwarded to a host computer, which stored them for subsequent analysis. From these measurements, we can compute a time profile of the power used by an application as it runs on the Itsy.

To determine the relevant part of the power-usage profile of a workload, we measure the time required to execute the workload and then select the relevant set of measurements from the data collected by the DAQ system. For each benchmark, we used the gettimeofday system call to time its execution; this interface uses the 3.6MHz clock available on the processor to provide accurate timing information. To synchronize the collection of the voltages with the start of execution of a workload, as the workload begins executing, we toggle one of the SA1100's general-purpose input-output (GPIO) pins. This pin is connected to the external trigger of the DAQ system; toggling the GPIO causes the DAQ system to begin recording measurements. As our measurement technique is very similar to that which we used in [13], we refer the reader to this reference for a more in-depth description.

Once the relevant part of the profile has been determined, we use it to calculate the average power and the total energy consumed by the Itsy during the corresponding time interval. To compute the energy, we make the assumption that the power measured at time $t$ represents the average power of the Itsy for the interval $t$ to $t+0.0002$ seconds, where 0.0002 seconds is the time between each successive power measurement. Thus, the energy $E$ is equal to $\sum^{n}_{i=1}
p_i(t) \times 0.0002$, where $p_1(t), \ldots, p_n(t)$ are the $n$ power readings of interest.

In making our power measurements, we used a similar approach as the one used in [13] to reduce a number of sources of possible measurement error. We measured multiple runs of each workload; in general, we found the 95% confidence interval of the energy to be less than 0.7% of the mean energy. This implies that the runs were very repeatable, despite the possible variation that would arise from interactions between application threads, other processes and system daemons.


next up previous
Next: Workload Up: Methodology Previous: Methodology
NEUFELD 2000-09-12