As an example, I am interested in characterizing the power consumption
of rendering a PDF document. I would hopefully only need to run the
renderer once.

I can use PowerTOP, but it seems to be limited to rough measurements
on the order of tenths of a watt. This measurement can be divided
among the wakeup events in an attempt to calculate software power
consumption but it seems imperfect if I want to monitor a single
process that may be competing relatively equally for resources with
the kernel and other user processes.

PMBus is a spinoff of SMBus which is a spinoff of I2C which is found
on many motherboards. PMBus is supposed to be the interface which
controls and reports power supply activity. Besides the main kW power
supply, there is usually a power supply near your processor that steps
down 3.3V or 5V to 2.8V, 1.8V, or lower (I've seen as low as 0.8V, but
not on a desktop). I was not aware these had a visible interface.

Apparently you can talk to these, but my searches can only find code
which seems highly experimental. The other replies seem to be for
embedded Linux systems running on FPGAs and perhaps Cortex-A parts.

If I were using a microcontroller I could get uA or nA draw per MHz
and I know my operating voltage and operating time. However, desktop
processors are much more complex, and I am not sure if they have been
entirely characterized. The most advanced tool I can find is PowerTOP
and it does not seem very accurate.

Does anyone have any suggestions? Should I start reading source code
or post on the forums? Or perhaps someone has used PowerTOP and found
it to be reasonably accurate?

R0b0t1.

Reply via email to