1. 04 Apr, 2014 1 commit
  2. 24 Sep, 2012 1 commit
    • Eric Eide's avatar
      Eric Eide authored
      This commit is intended to makes the license status of Emulab and
      ProtoGENI source files more clear.  It replaces license symbols like
      blocks that contain actual license statements.
      track Emulab and ProtoGENI sources via git.
      at the University of Utah would roll distributions by making tar
      license symbols in the source files with actual license statements.
      that people acquired source files without actual license statements in
      the source files was unclear.
      This commit is intended to clear up that confusion.
      Most Utah-copyrighted files in the Emulab source tree are distributed
      Most Utah-copyrighted files related to ProtoGENI are distributed under
      Some Utah-copyrighted files in the Emulab source tree are distributed
  3. 10 Nov, 2010 1 commit
  4. 19 Aug, 2010 1 commit
    • Robert Ricci's avatar
      Make assign build with GCC 4.4. · 05e25a14
      Robert Ricci authored
      The main change is to add a NEWER_GCC macro, separate from NEW_GCC, to
      detect GCC 4.3 and up.
      This is necessary because, in GCC 4.3, hash_fun.h moved from ext/ to
      backward/.  New comments in port.h give the details.
      common.h, fstring.h: use NEWER_GCC to locate hash_fun.h.  port.h:
      define NEWER_GCC if GCC >= 4.3.
  5. 13 May, 2010 1 commit
  6. 20 May, 2009 1 commit
  7. 20 Oct, 2008 1 commit
  8. 01 Mar, 2007 1 commit
  9. 25 Jan, 2006 1 commit
    • Robert Ricci's avatar
      Robert Ricci authored
      strings with fstring
      Significant re-org of code.
      Should now compile with the latest gcc.
      Putting link information in stored solutions.
      Support for fixing interfaces.
  10. 19 Jan, 2005 1 commit
    • Robert Ricci's avatar
      Add support for the set-type-limit command in the ptop file. · 8eaec842
      Robert Ricci authored
      It looks like this:
      set-type-limit <type> <count>
      This can be placed anywhere in the ptop file.  It limits the number of
      physical nodes of a given type that an experimenter is allowed to use.
      For example, we may limit a user to 10 PCs, or 5 pc850s. In the latter
      case, if the experimenter had simply asked for 10 generic PCs, then we
      will try to find them some mapping of nodes that uses types of PCs
      other than pc850s.
      Added a precheck to tell the user up-front if they asked for more
      nodes than they are allowed to use of a given type.
  11. 11 Aug, 2004 1 commit
  12. 08 Jun, 2004 1 commit
  13. 03 Jun, 2004 1 commit
    • Robert Ricci's avatar
      'port' assign to compile under gcc 3 (specifically tested with 3.3.1). · f05e1008
      Robert Ricci authored
      This mostly required messing with the STL #includes.
      Still builds under gcc 2.95, and won't be built with 3.3 by default
      until I've spent more time testing it.
      One reason for doing this is that gcc 3.3 seems to generate faster
      code from templated functions. Tests so far show that the
      gcc3-compiled binary shaves 15-30% off of assign's runtime.
      The other reason for doing this is forward-looking. When we end up
      getting boss running on FreeBSD 5 or a recent Linux distro, the
      compiler is likely to be from the gcc 3 branch.
  14. 15 Apr, 2004 1 commit
  15. 08 Mar, 2004 1 commit
    • Robert Ricci's avatar
      A faily fundamental change in assign - change the criteria we use · 5a72226d
      Robert Ricci authored
      to accept new solutions, so that we don't give violtions any special
      This can greatly reduce 'thrasing' at low scores, allowing assign to
      converge on a solution much faster. For example, in the 1000-node
      topology used for the virtualization paper, assign's runtime dropped
      from nearly two hours to just over half an hour, with no degredation
      in scores found.
      You can get the old accept behavior by enabling the
      SPECIAL_VIOLATION_TREATMENT #define, which is on right now (hence, we
      are not using this change yet.)
      Here are the pertinent comments from the code:
                * In this ifdef, we always accept new solutions that have fewer
                * violations than the old solution, and when we're trying to
                * determine whether or not to accept a new solution with a higher
                * score, we don't take violations into the account.
                * The problem with this shows up at low temperatures. What can often
                * happen is that we accept a solution with worse violations but a
                * better (or similar) score. Then, if we were to try, say the first
                * solution (or a score-equivalent one) again, we'd accept it again.
                * What this leads to is 'thrashing', where we have a whole lot of
                * variation of scores over time, but are not making any real
                * progress. This prevents the cooling schedule from converging for
                * much, much longer than it should really take.
                * In this branch of the ifdef, we give violations no special
                * treatment when it comes to accepting new solution - we just add
                * them into the score. This makes assign behave in a more 'classic'
                * simulated annealing manner.
                * One consequence, though, is that we have to be more careful with
                * scores. We do not want to be able to get into a situation where
                * adding a violation results in a _lower_ score than a solution with
                * fewer violations.
  16. 28 Jan, 2004 1 commit
    • Robert Ricci's avatar
      Bugfix for 'loopback' links. · b8546d9b
      Robert Ricci authored
      Do some scoring, not just violations, for stateful features and
      desires - this does a better job of nudging assign towards good
  17. 10 Oct, 2003 1 commit
  18. 04 Sep, 2003 1 commit
  19. 10 Jul, 2003 1 commit
  20. 26 Jun, 2003 1 commit
  21. 20 Jun, 2003 1 commit
  22. 28 May, 2003 1 commit
    • Robert Ricci's avatar
      Added the TRIVIAL_LINK_BW option, which allows, in the ptop file, · 5c67bf1f
      Robert Ricci authored
      specification of how much bandwidth can be used on the node for
      trivial links. Clearly, there will be some limit to loopback
      transfers, and this makes assign aware of it.
      While I was in there, cleaned up and commented some of the code I was
      working on.
      Also fixed a bug with the type pre-check and emulated links that are
      trivial_ok - we can't add these into the total for a vnode, because
      they could end up being satisified with trivial links.
  23. 17 Apr, 2003 1 commit
    • Robert Ricci's avatar
      Several changes to assign: · 1003657e
      Robert Ricci authored
      Add features and desires to the PER_VNODE_TT restrictions. For
      mapping. From the assign_todo file, this is:
      9.   add features/desires to PER_VNODE_TT restrictions
      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
          to this ptop), returns 2
          returns 1
      input files don't exist, exit instead of hanging forever!
      we'll be able to change it from 1.0 if we want.
      instead of stdout.
  24. 15 Apr, 2003 1 commit
  25. 10 Mar, 2003 1 commit
  26. 05 Mar, 2003 1 commit
  27. 10 Feb, 2003 1 commit
  28. 04 Feb, 2003 1 commit
  29. 10 Jan, 2003 1 commit
  30. 03 Jul, 2002 1 commit
  31. 29 May, 2002 1 commit
  32. 08 Jan, 2002 1 commit
    • Christopher Alfeld's avatar
      All the vclass stuff. Can now do: · 09737efc
      Christopher Alfeld authored
      make-vclass A 0.5 pc600 pc850
      in the top file.  And then have nodes of type A.  Assign will try to put
      them all as either pc600 or pc850.
      Still need to write all the pre-assign stuff.
  33. 03 Jan, 2002 1 commit
  34. 02 Jan, 2002 1 commit
    • Christopher Alfeld's avatar
      · 1eb1e1d9
      Christopher Alfeld authored
      This check-in consists of 7 modifications to assign.
      1. Equivalence Classes
      Defined an equivalence relation on the physical nodes and applied it
      to the physical topology to get the resulting quotient topology (abuse
      of terminology).  So instead of searching among all possible physical
      nodes to make a map, assign only searches among all possible
      equivalence classes of nodes.  This tremendously reduces the search
      from 252 nodes to 13 nodes.  The equivalence classes are generated
      automatically from the ptop file.
      2. Scoring based on equivalence classes.
      Each equivalence class used comes with a significant cost.  This
      strongly encourages assign to use equivalence machines when possible.
      The result is that an experiment that does not otherwise specify will
      reduced in the future it is the SCORE_PCLASS constant.
      3. Heuristics
      Added a bunch of heuristics for choosing which equivalence class to
      found in record time but it still continues searching.  When OPTIMAL
      since the heuristics do take non-trivial CPU cycles.
      Assign wasn't cleaning up after itself in certain cases.  Disconnected
      towering cliffs they use to be.
      checks that avoid those circumstances.
      6. Modified constants.
      inconspicuous number to your configurable constants; look for
      problems with features and desires.
      7. General clean up.
      Associated with the other changes was a lot of restructuring and some
      cleanup.  Specifically to the assign loop and scoring code.
  35. 24 Apr, 2001 1 commit
  36. 25 Aug, 2000 1 commit