• Robert Ricci's avatar
    Several changes to assign: · 1003657e
    Robert Ricci authored
    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.
assign.cc 52.5 KB