powerd project

Nate Lawson nate at root.org
Mon Jan 1 17:40:38 PST 2007


Cyrille Szymanski wrote:
> Hi Nate, Bruno,
> 
> 
>>
>> The main paper you need is:
>> http://www-flash.stanford.edu/~kinshuk/MCN95.ps<http://www-flash.stanford.edu/%7Ekinshuk/MCN95.ps> 
>>
>>
>> More here:
>> http://wikitest.freebsd.org/powerd
>>
>> And the cited paper is here:
>> http://citeseer.ist.psu.edu/lu00quantitative.html
> 
> 
> As announced in my previous mails, I've been working on powerd methods.
> Specifically I've been working on a matlab / scilab framework to evaluate
> (by simulation) different approaches cited in the papers mentioned 
> above. My
> findings are in line with results cited in aforementioned papers.

Cyrille, this is great to hear.  I've added acpi@ to the Cc.

> In order to reach my goal w.r.t. powerd, I plan on leading the following
> projects :
> 
>   - I'd like to collect data samples of real cpu activity. I plan on
>   developing a simplistic app which records cpu activity in a CSV file.
>   Volunteers would send me their CPU usage records along with a short
>   desctiption of their configuration and machine usage. I would analyse 
> this
>   data and select typical test workloads. Without "official" help from 
> freebsd
>   I foresee this will be a difficult task.
>   - I'd like to validate (or adapt) hypothesis I've made regarding CPU
>   behaviour. An application would reproduce, on client machines, CPU 
> workloads
>   read from the CSV files under various powerd saving modes to see if 
> results
>   are consistent with forecasts I've made.
>   - Finally I'd like to narrow the number of useful powerd approaches to
>   2 or 3 and provide a profiling decision tool which would suggest the best
>   powerd mode to use. This step would result in an updated version of 
> powerd
>   (which could incorporate CPU brand/model info discrimination etc.)
> 
> As always your comments are much welcome.

This approach overall is good, but I don't think you need to collect 
data from others yet.  It's probably best to start with just using your 
own system with various workloads.  You can take the main loop of 
powerd(8) and just poll kern.cp_time every 100 ms or so (just longer 
than your CPU quantum) to get a good idea of load and save it to a file 
without changing frequencies.  Then log that to a file and play it back 
to your various implementations to see what they'd do.

Good luck,
-- 
Nate


More information about the freebsd-acpi mailing list