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
