- 26 Jul, 2010 1 commit
-
-
Tarun Prabhu authored
-
- 24 Jun, 2010 1 commit
-
-
Tarun Prabhu authored
Cleared up yet another merge conflict in the advertisement parser and updated the makefile for assign
-
- 18 Jun, 2010 1 commit
-
-
Tarun Prabhu authored
More code to libvtop to suppose rspec. Nothing specific worth mentioning. Still work to be done though.
-
- 28 Sep, 2009 2 commits
-
-
Jonathon Duerig authored
Modified test-ptop.xml and test-top.xml to validate with schema. Fixed xsdgen and added proper targets for install-schemata.
-
Leigh B. Stoller authored
-
- 16 Jun, 2009 2 commits
-
-
Robert Ricci authored
it from the checkout, and make gets confused about whether config.o should be made from config.cc or config.c . Add a hacky rule to the makefile to build config.o from config.cc .
-
Robert Ricci authored
values for configuration parameters, such as some of the cooling parameters, scoring values, etc. Also add a -D option to dump these parametrs, as well as the command line, for posterity. Refresh the dependency list at the end of the makefile
-
- 05 Jun, 2009 1 commit
-
-
Tarun Prabhu authored
Removed parse_top_xml.cc and parse_top_xml.h which are old and not used any more. They have been replaced with parse_vtop_xml.cc and parse_vtop_xml.h. Modified the make file to reflect these changes.
-
- 20 May, 2009 1 commit
-
-
Tarun Prabhu authored
-
- 01 Mar, 2007 1 commit
-
-
Robert Ricci authored
-
- 01 Dec, 2006 1 commit
-
-
Robert Ricci authored
Clean up a few files that shouldn't be checked in.
-
- 25 Jan, 2006 1 commit
-
-
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.
-
- 29 Sep, 2005 1 commit
-
-
Robert Ricci authored
-
- 10 May, 2005 1 commit
-
-
Robert Ricci authored
-
- 27 Jan, 2005 1 commit
-
-
Robert Ricci authored
-
- 12 Aug, 2004 2 commits
-
-
Robert Ricci authored
-
Robert Ricci authored
-
- 11 Aug, 2004 1 commit
-
-
Robert Ricci authored
branch.
-
- 03 Jun, 2004 1 commit
-
-
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.
-
- 23 Mar, 2004 1 commit
-
-
Robert Ricci authored
(which changes how we treat violations) is not working as well as we'd hope on some topologies.
-
- 08 Mar, 2004 1 commit
-
-
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. */
-
- 09 Jul, 2003 1 commit
-
-
Robert Ricci authored
with this week's motto: "Simple, yet ugly."
-
- 08 Jul, 2003 1 commit
-
-
Robert Ricci authored
scratch. Also get proper (well, not entirely proper, 'cause they're static) dependencies on header files.
-
- 20 Jun, 2003 1 commit
-
-
Robert Ricci authored
some independant functionality off into new files, and reduce its use of globals, which can be very confusing to follow. I didn't get as far as I had hoped, but it's a good start.
-
- 29 May, 2003 1 commit
-
-
Robert Ricci authored
last assign commit. NOTE: This will require a 'gmake clean' in the assign directory!
-
- 16 Apr, 2003 1 commit
-
-
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
-
- 25 Mar, 2003 1 commit
-
-
Robert Ricci authored
when a new LAN is created, we make a new plink. Since assign is only halfway OO, there is no constuctor for a plink to set the fixends flag to something sensible. Turned back on FIX_PLINK_ENDPOINTS, and 'touch' score.cc so that it gets rebuilt.
-
- 23 Mar, 2003 1 commit
-
-
Robert Ricci authored
on some plinks, an apparent memory corruption bug.
-
- 21 Mar, 2003 1 commit
-
-
Robert Ricci authored
virtual links. There will need to be a way to specify this on a per-vlink basis for jails.
-
- 20 Mar, 2003 1 commit
-
-
Robert Ricci authored
First, don't select a plink for an emulated link that would cause us to go over bandwidth. Second, make FIX_PLINK_ENDPOINTS the default, and add a #define that makes it the default (instead of having to specify it on each plink line.)
-
- 06 Mar, 2003 2 commits
-
-
Robert Ricci authored
-r switch from the assign command line in assign_wrapper, since it's now the default.
-
Robert Ricci authored
go on the end of a link line in the top file, trivial_ok . This means that it's okay to map the virtual link to a trivial link. By default, it will not be permissible to use trivial links. Right now, however, trivial links are OK by default, but that will change once assign_wrapper flags all simulated links as trivial_ok .
-
- 05 Mar, 2003 1 commit
-
-
Robert Ricci authored
using the new assign, and captures Leigh's linkdelays work.
-
- 10 Feb, 2003 1 commit
-
-
Robert Ricci authored
time to debug a delayed LAN problem.
-
- 05 Feb, 2003 1 commit
-
-
Robert Ricci authored
warnings. It is still used when doing a debugging build.
-
- 04 Feb, 2003 1 commit
-
-
Robert Ricci authored
In addition to assign, assign_wrapper and ptopgen have been modified to output the new formats used by assign.
-
- 03 Jul, 2002 1 commit
-
-
Leigh B. Stoller authored
-
- 27 Feb, 2002 1 commit
-
-
Leigh B. Stoller authored
and causes the assign Makefile to copy in the binary instead of trying to build it. You can specify --with-assign=/path/to/assign, but if left out defaults to "assign.bin" in the assign directory so that we can stick the binary into the distribution easily.
-
- 08 Jan, 2002 1 commit
-
-
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.
-
- 02 Jan, 2002 1 commit
-
-
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 space. At the time of this writing it reduces the physical topology 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 almost definitely get machines of the same type. If this needs to be reduced in the future it is the SCORE_PCLASS constant. 3. Heuristics Added a bunch of heuristics for choosing which equivalence class to use. This was less successful than I hoped. A good solution is now found in record time but it still continues searching. When OPTIMAL is turned on these heuristics help a lot. When off they make little difference. I may turn this into a compile time option in the future since the heuristics do take non-trivial CPU cycles. 4. Fixed the very-very-big-and-evil disconnected-switches bug. Assign wasn't cleaning up after itself in certain cases. Disconnected graphs are now merely a minor, easily ignored, bump rather than the towering cliffs they use to be. 5. Fixed the not-yet-noticed not-enough-nodes bug. Found a bug that probably has never come up before because we have checks that avoid those circumstances. 6. Modified constants. I was tired of waiting so long for results so, I lowered CYCLES and reduced the constant for naccepts (Mac, you probably want to add that inconspicuous number to your configurable constants; look for "naccepts ="). The results is roughly a speedup of 2. It works great currently but we may want to change these numbers up again if we get 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.
-