• Robert Ricci's avatar
    Fix PER_VNODE_TT to work with vclasses and emulated links. Now, we can turn it · 690ec56d
    Robert Ricci authored
    on in production!
    
    PER_VNODE_TT handles emulated links by simply adding up the total bandwidth
    consumed by a vnode, and the total bandwidth available on each pnode. Of
    course, this can lead to false positives (knapsack problem), but that's okay,
    because it just means we won't bail up front - we'll have to do the full
    annealing pass before we decide it's unmappable.
    
    PER_VNODE_TT now also tries to figure out why a vnode is not mappable - if
    there are _no_ pclasses that match one of the restrictions, it will print out
    something like:
      *** No possible mapping for nodeA
          Too many links!
      *** No possible mapping for nodeB
          Too much bandwidth on emulated links!
    
    This completes the following two items from assign_todo.txt:
    
    6.   fix PER_VNODE_TT and vclasses
    7.   fix PER_VNODE_TT and emulated vlinks
    690ec56d
assign.cc 49 KB