1. 10 Nov, 2010 4 commits
    • Robert Ricci's avatar
      Fix the names of some very badly-name variables · 12b109f8
      Robert Ricci authored
      The 'best' variable didn't really store the best score seen so far,
      so rename it to prev_score. Likewise for the bestviolated variable.
      12b109f8
    • Robert Ricci's avatar
      Re-think no_connect violations · 26e0a6c6
      Robert Ricci authored
      Re-think a very old idea in assign - that no_connect violations for
      unmapped links should not be assessed against links whose endpoints are
      not mapped. The problem with this is that assign is too hesitant to map
      nodes - if there is more than one link that can't be mapped or whose
      other end isn't mapped yet, then assign thinks it's better to leave the
      node unmapped. This leads to confusing solutions (in which nodes remain
      unmapped when really it's the links that are the problem), and I beleive
      it keeps assign from exploring valuable parts of the solution space.
      
      This patch chanes the behavior, so that no_connect violations get scored
      even when the endpoints of the link are not mapped.
      
      Not well enough tested to run in production.
      26e0a6c6
    • Robert Ricci's avatar
      Fix a bug that's over 10 years old · d7fb737d
      Robert Ricci authored
      I think this must get the award for oldest (frequently excercised) bug
      in the Emulab source. Thanks to the magic of the git pickaxe, I
      discovered that code with this problem was first committed Monday, May
      22, 2000, when it used to be in assign_hw/assign.cc
      
      assign used to use a priority queue to 'randomly' select unassigned
      nodes to try assigning. Turns out this is not very random! A node can
      get unlucky, get a very low random priority assigned to it, and get
      stuck in the queue for a very, very, very long time. As a result, I've
      seen assign try to re-assign the same node several thousand times in a
      row, when there are others waiting to be re-assigned. Of course, this is
      going to result in very poor exploration of the state space.
      
      I changed the unassigned node selection process to use a regular list,
      and select an item from the list at random at the time of item removal.
      This gets a much more even distribution of nodes, at the small cost of
      linear iteration over the list of unassigned nodes.  This should be a
      pretty minor cost, though, as iteration over this list should be cheap
      and the list itself should generally be pretty small.
      
      Also added some debugging statements.
      d7fb737d
    • Robert Ricci's avatar
      Add some debugging statements · 4128f9b6
      Robert Ricci authored
      4128f9b6
  2. 09 Nov, 2010 26 commits
  3. 05 Nov, 2010 2 commits
  4. 03 Nov, 2010 1 commit
  5. 02 Nov, 2010 4 commits
  6. 01 Nov, 2010 2 commits
    • Eric Eide's avatar
      Added DoD Distribution Statement A. · a25d63e1
      Eric Eide authored
      Added DoD Distribution Statement A, which pertains to DARPA's support for
      certain portions of the Emulab software.  The statement says that these
      portions of Emulab are "approved for public release; distribution is
      unlimited."
      
      Also performed other various cleanups: put two blank lines before headings;
      indent displayed URLs and email addresses consistently; fixed a typo in the
      emulab-users list URL; and fixed punctuation around quotes.
      a25d63e1
    • Eric Eide's avatar
      Minor edits; no real content changes. · 45fa4834
      Eric Eide authored
      45fa4834
  7. 31 Oct, 2010 1 commit