David Vengerov wrote:
> Mark Haywood wrote:
>
>> David Vengerov wrote:
>>
>>> Yes, there are only several possible frequencies that can be chosen, 
>>> but which one of them should be chosen? It is not optimal to keep 
>>> stepping through them after a certain jump in the CPU utilization, 
>>> and a jump between frequencies might be more appropriate.
>>
>> A combination of user policy and utilization thresholds based on 
>> frequency percentages would probably help make the decision. I think 
>> it would require some experimentation and tools for measuring power 
>> and performance to figure out our behavior. 
>
> If we trust the user to optimally set all parameters in the 
> "incremental" policy, then our job is done. But in reality, how will 
> the user know the optimal parameter values?

They won't. :)

> They can only be obtained through experimentation for a particular 
> workload, where the user will observing the performance number for 
> that workload and the power consumed, will plug these numbers into its 
> performance vs. power utility function (which can exist in the mental 
> space only), and finally choose the policy that maximizes utility.

Ideally, the system should be able to do this. I think it's unreasonable 
to expect that a user/administrator can (or would want) to have to 
specify this. As a user of the system, I would prefer that in the 
absence of me saying anything, that the system should do something 
sensible by default. Where we provide an administrative interface to the 
system, it should hopefully allow the administrator to express their 
objectives in the terms that they care about. I think the extremes are a 
given (maximize efficiency, maximize performance). I think most PM 
administrative interfaces already provide this....but where this gets 
interesting is allowing the administrator to optimize around things in 
the middle of the utility curve...so that the system is maximizing 
efficiency to the extent that it can while providing a given level of 
workload performance. Or maximizing performance to the extent that it 
can without having the system consume more than a prescribed amount of 
power.

> And when the workload changes, the user will have to repeat this 
> process from scratch. Well, we can help the user in this process by 
> automating it and asking the user only to provide us with the utility 
> function.

We can allow the user to express PM objectives in "administrator native" 
terms. If they don't (or don't want to) specify this, then we need to do 
something sensible by default. At a sufficiently high level of 
optimization, I believe doing that effectively requires the 
observability components necessary to observe things like "performance", 
and "power consumed".  Otherwise, you have to trouble the administrator 
in way that they can't (or don't want) to be troubled. :)

-Eric

Reply via email to