1. 15 Mar, 2004 6 commits
  2. 12 Mar, 2004 3 commits
    • Mike Hibler's avatar
      Random imagezip hacking: · 27d76461
      Mike Hibler authored
      1. Make imagezip (and imageunzip) understand LILO bootblocks.
         Imagezip will create relocation information for all the absolute
         blocks that LILO embeds in the partition.  Imageunzip will correctly
         relocate those locations when laying down the new image.  Thus
         Linux slice images can be layed down anywhere on the disk (as can
         BSD images).
      
      2. Because #1 is incompatible with the old imageunzip, I bumped the
         imagezip format version number (to 3) on images that contain relocations
         (i.e., slice images).  Make sure you have a new imageunzip to unzip
         new slice images.  Whole disk images are still created as version 2
         since they contain no relocs and thus are no different than before.
      
      3. Added -N option to imagezip to create slice images without any
         relocations.  [ We could create our Emulab images this way, since we
         don't have any mechanism for, or reason to, let the user choose which
         partition to load an image in.  Hence our slice images always wind up
         at the same offset on the disk and relocations are unnecessary. ]
         Note that there is no significant expense in either time or space for
         relocations, this option was more of a debugging thing.
      27d76461
    • Leigh B. Stoller's avatar
      Fix minor bug. · 45a42844
      Leigh B. Stoller authored
      45a42844
    • Shashi Guruprasad's avatar
      A large packet-statistics global array was left behind when it was · d6d58338
      Shashi Guruprasad authored
      moved to the heap on a per-flow basis. This had caused the size of
      the nse binary to go up by > 1MB. Removed that in this patch
      d6d58338
  3. 11 Mar, 2004 8 commits
  4. 10 Mar, 2004 4 commits
  5. 09 Mar, 2004 12 commits
  6. 08 Mar, 2004 7 commits
    • 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
    • Robert Ricci's avatar
    • Mike Hibler's avatar
      update tarball-making target · 6c8e42f1
      Mike Hibler authored
      fix up standalone makefiles
      have imagezip -v spit out the FSes it supports
      6c8e42f1
    • Mike Hibler's avatar
      changes to make it work better with Linux · b645b345
      Mike Hibler authored
      b645b345
    • Robert Ricci's avatar
      Make the getbandwidth() function aware of node types - it takes as a · 5cb2e92f
      Robert Ricci authored
      parameter the virtual node it is being called for, and considers only
      bandwidths that can be supported by physical nodes that virtual node
      can be mapped to.
      
      This fixes some cases where we were mistakenly setting interfaces
      on slow links to 10Mbps, which does not work reliably.
      
      Not surpisingly, tracking down problems with vtypes was half the
      trouble with making this change.
      5cb2e92f
    • Kirk Webb's avatar
      Plab updates. · eb561e97
      Kirk Webb authored
      eb561e97
    • Leigh B. Stoller's avatar
      Update · e77d744d
      Leigh B. Stoller authored
      e77d744d