On 06/30/2015 02:42 AM, ChangBo Guo wrote:
CPU frequency is an import performance parameter, currently nova
drivers just report cpuinfo without frequency. we stored the compute
node cpuinfo in database with colum computenodes.cpuinfo, we can add
the frequency easily.
The usage of cpu frequency I can think is used to schedule to meet
applications which need high frequency. add a frequency based filter ?
if we need this , I would like to propose a spec for this .
There are two steps to leverage cpu frequency:
1. report cpu frequency and record the value, nova hypervisor-show
will include the value .
- filter compute nodes based cpu frequency.
add a new scheduler filter to do that
before I start to do these stuff. I would like to your input .
Do we need leverage CPU frequency in Nova ?
if yes, do we need a new filter or leverage existing filter to use
Like Dan B, I question whether CPU frequency really is a useful metric
for scheduling decisions.
That said, it is already possible to use CPU frequency in the
MetricsWeigher scheduler weigher. The compute monitor plugin system is
currently being overhauled , but the functionality to monitor
CPU-related metrics already exists in Nova and can be enabled by doing
the following in your nova-compute nova.conf:
compute_monitors = ComputeDriverCPUMonitor
Note that with the refactoring of the monitoring plugin interface, the
above option will change due to using stevedore to load monitor extensions:
computemonitors = nova.compute.monitors.cpu.virtdriver:Monitor
In your Nova scheduler nova.conf, you will need to add the following in
the [metrics] section of the file:
weights_setting = cpu.frequency=10.0
Again, I'm not saying that the above will result in any appreciable
enhancement to the scheduler's decision-making, but it will do what
you're trying to accomplish :)