Eric Saxe wrote: > David Vengerov wrote: > >> 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).
Using the utility function framework I described in my e-mail to Mark, the first extreme would correspond to the most convex utility curve that rises quickly near (1,1), indicating that a certain increase in power consumption can only be justified by a much large increase in system's performance. The second extreme would correspond to the most concave curve that is almost 1 at power = 0.5 and continues to rise slowly to 1 as power increases to 1. > 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. I think that any kind of performance-power tradeoff can be described with an appropriate utility curve. >> 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. Like using a linear curve, for example. > 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". Yes, these should ideally be observed after every power managment decision made by the system. David
