1. 10 Apr, 2014 1 commit
  2. 04 Apr, 2014 2 commits
  3. 24 Sep, 2012 1 commit
    • Eric Eide's avatar
      Replace license symbols with {{{ }}}-enclosed license blocks. · 6df609a9
      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
      "EMULAB-COPYRIGHT" and "GENIPUBLIC-COPYRIGHT" with {{{ }}}-delimited
      blocks that contain actual license statements.
      
      This change was driven by the fact that today, most people acquire and
      track Emulab and ProtoGENI sources via git.
      
      Before the Emulab source code was kept in git, the Flux Research Group
      at the University of Utah would roll distributions by making tar
      files.  As part of that process, the Flux Group would replace the
      license symbols in the source files with actual license statements.
      
      When the Flux Group moved to git, people outside of the group started
      to see the source files with the "unexpanded" symbols.  This meant
      that people acquired source files without actual license statements in
      them.  All the relevant files had Utah *copyright* statements in them,
      but without the expanded *license* statements, the licensing status of
      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
      under the terms of the Affero GNU General Public License, version 3
      (AGPLv3).
      
      Most Utah-copyrighted files related to ProtoGENI are distributed under
      the terms of the GENI Public License, which is a BSD-like open-source
      license.
      
      Some Utah-copyrighted files in the Emulab source tree are distributed
      under the terms of the GNU Lesser General Public License, version 2.1
      (LGPL).
      6df609a9
  4. 19 Jul, 2011 4 commits
    • Robert Ricci's avatar
      Auto-detect NEWER_BOOST for assign · f81fe772
      Robert Ricci authored
      Detect location of boost headers, since they moved in some recent
      version.
      (cherry picked from commit b7f6ae13)
      f81fe772
    • Robert Ricci's avatar
      Handle new property_list.hpp location in boost · 1c333acd
      Robert Ricci authored
      Have I mentioned that I hate it when library developers move their
      headers around? Change the location of the property_list.hpp header
      to a macro and add a new -DNEWER_BOOT define that swtiches this to
      the newer location.
      
      Not automatically detected yet; should be checked in configure.
      (cherry picked from commit 2403b264)
      1c333acd
    • Robert Ricci's avatar
      Auto-detect NEWER_BOOST for assign · b7f6ae13
      Robert Ricci authored
      Detect location of boost headers, since they moved in some recent
      version.
      b7f6ae13
    • Robert Ricci's avatar
      Handle new property_list.hpp location in boost · 2403b264
      Robert Ricci authored
      Have I mentioned that I hate it when library developers move their
      headers around? Change the location of the property_list.hpp header
      to a macro and add a new -DNEWER_BOOT define that swtiches this to
      the newer location.
      
      Not automatically detected yet; should be checked in configure.
      2403b264
  5. 10 Nov, 2010 3 commits
  6. 10 Aug, 2010 2 commits
  7. 03 Aug, 2010 1 commit
  8. 26 Jul, 2010 1 commit
  9. 24 Jun, 2010 1 commit
  10. 18 Jun, 2010 1 commit
  11. 28 Sep, 2009 2 commits
  12. 16 Jun, 2009 2 commits
  13. 05 Jun, 2009 1 commit
  14. 20 May, 2009 1 commit
  15. 01 Mar, 2007 1 commit
  16. 01 Dec, 2006 1 commit
  17. 25 Jan, 2006 1 commit
    • Robert Ricci's avatar
      Merge in changes from the assign-devel branch. This includes: · ed3cbc13
      Robert Ricci authored
      Ripping out crope and replacing (almost) all cropes, char*s and
      strings with fstring
      
      Beginnings of XML parser support (not built by default yet).
      
      Significant re-org of code.
      
      Should now compile with the latest gcc.
      
      Putting link information in stored solutions.
      
      Support for fixing interfaces.
      ed3cbc13
  18. 29 Sep, 2005 1 commit
  19. 10 May, 2005 1 commit
  20. 27 Jan, 2005 1 commit
  21. 12 Aug, 2004 2 commits
  22. 11 Aug, 2004 1 commit
  23. 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.
      f05e1008
  24. 23 Mar, 2004 1 commit
  25. 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
      treatment.
      
      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:
      
      #ifdef SPECIAL_VIOLATION_TREATMENT
               /*
                * 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.
                */
      #else // no SPECIAL_VIOLATION_TREATMENT
               /*
                * 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.
                */
      5a72226d
  26. 09 Jul, 2003 1 commit
  27. 08 Jul, 2003 1 commit
  28. 20 Jun, 2003 1 commit
  29. 29 May, 2003 1 commit
  30. 16 Apr, 2003 1 commit
    • 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