On 08/01/2013 04:24 AM, Álvaro López García wrote: > Hi all. > > TL;DR: I've created a blueprint [1] regarding weight normalization. > I would be very glad if somebody could examine and comment it.
Something must have changed. It's been a while since I've done anything with the scheduler, but normalized weights is the way it was designed and implemented. The separate Weighing plug-ins are responsible for taking the specific units (cpu load, disk, ram, etc) and converting them into normalized 0.0-1.0 weights. Internally the plug-ins can work however they like, but their output should be 0-1. The multiplier, however, could scale this outside that range (if disk is more important than cpu, for example). Actually, I remember it being offset + scale * weight, so you could put certain factors in bands: cpu: 1000+, disk: 10000+, etc. Hopefully offset is still there too? -S > Recently I've been developing some weighers to be used within nova and I > found that the weight system was using raw values. This makes difficult > for an operator to stablish the importance of a weigher against the rest > of them, since the values can range freely and one big magnitude > returned by a weigher could shade another one. > > One solution is to inflate either the multiplier or the weight that is > returned by the weigher, but this is an ugly hack (for example, if you > increase the RAM on your systems, you will need to adjust the > multipliers again). A much better approach is to use weight > normalization before actually using the weights > > With weight normalization a weigher will still return a list of RAW > values, but the BaseWeightHandler will normalize all of them into a > range of values (0.0 and 1.0) before adding them up. This way, a weight > for a given object will be: > > weight = w1_multiplier * norm(w1) + w2_multiplier * norm(w2) + ... > > This makes easier to stablish the importance of a weigher regarding the > rest, by just adjusting the multiplier. This is explained in [1], and > implemented in [2] (with some suggestions by the reviewers). > > [1] > https://blueprints.launchpad.net/openstack/?searchtext=normalize-scheduler-weights > [2] https://review.openstack.org/#/c/27160/ > > Thanks for your feedback, > _______________________________________________ OpenStack-dev mailing list [email protected] http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
