Several changes to assign:
Add features and desires to the PER_VNODE_TT restrictions. For desires, we can tell the user which ones can't be satisfied, but for features, we don't even try to figure out which one(s) keep us from mapping. From the assign_todo file, this is: 9. add features/desires to PER_VNODE_TT restrictions Add a new -P switch, when PER_VNODE_TT is in use. This casues it to prune out pclasses that no vnode can map to - this can lead to _huge_ time savings, particularly since we put things like wide-area nodes into the ptop file. I've seen a 98% reduction in time when using both -p and -P! But, it's not the default yet, because I need to do more testing to make sure that this isn't hurting solution quality significantly. todo item: 8. prune pclasses when using PER_VNODE_TT Standardize the exit values from assign: On success, returns 0 On failures that are not retryable (ie. this top can never be mapped to this ptop), returns 2 If SA fails to find a solution (ie., we might consider retrying), returns 1 Fix a bug that has annoyed me for a very, very long time - if the input files don't exist, exit instead of hanging forever! Make the weight at which a feature/desire is considered 'hard' (ie. it generates a violation if unsatisifed or undesired) a variable, so that we'll be able to change it from 1.0 if we want. Put some more messages that should appear inline in the mail to stderr instead of stdout.
Showing with 150 additions and 36 deletions