- 10 Oct, 2003 1 commit
-
-
Robert Ricci authored
they mean.
-
- 29 Sep, 2003 1 commit
-
-
Robert Ricci authored
everything else goes to stdout. This will hopefully make things a bit simpler by avoiding funny buffering issues for programs like assign_wrapper that want to redirect assign's stdout.
-
- 19 Sep, 2003 1 commit
-
-
Robert Ricci authored
when mapping fixed nodes.
-
- 15 Sep, 2003 2 commits
-
-
Robert Ricci authored
-
Robert Ricci authored
-
- 12 Sep, 2003 2 commits
-
-
Robert Ricci authored
sure they're within some tolerance of each other. Use this so that cumulative float point errors don't cause us to spit out scary looking false positive warnings.
-
Robert Ricci authored
circumstances with vnodes, but I managed to run into it.
-
- 04 Sep, 2003 1 commit
-
-
Robert Ricci authored
top and ptop files, you can put subnode_of:nodename Any vnode that is a subnode must be mapped to a pnode that is a a subnode of the pnode the vnode's parent is mapped to. Read that a few times slowly, I swear it makes sense.
-
- 20 Aug, 2003 1 commit
-
-
Robert Ricci authored
really working this time. I will not check things in without running the testsuite I will not check things in without running the testsuite I will not check things in without running the testsuite I will not check things in without running the testsuite I will not check things in without running the testsuite I will not check things in without running the testsuite I will not check things in without running the testsuite I will not check things in without running the testsuite I will not check things in without running the testsuite I will not check things in without running the testsuite
-
- 08 Aug, 2003 1 commit
-
-
Robert Ricci authored
-
- 07 Aug, 2003 1 commit
-
-
Robert Ricci authored
Split the function that determines if a vnode can be mapped to a given pnode out of find_pnode, so that I can spread it out and make it more comprehensible. In doing so, fixed a bug in which static types were not getting handled correctly - a static type would only be found if no vnodes with dynamic types were allocated to the pnode. Fixed a bug in which, on allocation of a dynamic ptype, nodes where being removed from their static type lists in the type_table. Fixed a bug when there is a combination of fixed and un-fixed vnodes in the top file. I have more on the way, but this seemed like a good checkpoint.
-
- 30 Jul, 2003 2 commits
-
-
Robert Ricci authored
-
Robert Ricci authored
nodes that there were in the top file.
-
- 10 Jul, 2003 2 commits
-
-
Robert Ricci authored
was sooo wrong you wonder how it worked in the first place... Took me days to find this one! Also added a new switch, '-o', that lets assign try out solutions that over-load a pnode. This helps a lot with topologies where the optimal solution is a best-fit onto multiplexed pnodes. The end result is that Mike's snake maps much better - it used to get an essentially random mapping, but now it gets something acceptible.
-
Robert Ricci authored
a floating point number that, roughly, scales the runtime.
-
- 09 Jul, 2003 1 commit
-
-
Robert Ricci authored
since we don't un-assign them when reverting to the best solution.
-
- 01 Jul, 2003 1 commit
-
-
Robert Ricci authored
After building the set of pclasses normally, we make another pass through the vnodes. The goal to create a pclass for each individual node. We disable the node's 'own' pclass to begin with. Then, the _first_ time it gets a vnode mapped to it, we remove it from the 'regular' pclass it belongs to, and enable it's own pclass. Then, if it goes empty, we put it back in its regular pclass and disable it's own. The point of this is to replace -p for use with multiplexed nodes. Instead of disabling pclasses altogheter, which has serious performance implications, we can instead be smart about which pnodes remain equivalent (because nothing's been mapped to them), and which are now different. The result is that on my test topoloy, the time to get a good mapping has gone from over 3 minutes to about 6 seconds. This feature is enabled with the -d option, and the -P option is pretty much mandatory when using it, since it greatly exacerbates the problem of cruft in the ptop file. This satisfies #14 from the todo file: 14. do dynamic pclasses Also bumped up the minimum neighborhood size from 500 to 1000. In some tests I was doing, this resulted in better solutions.
-
- 26 Jun, 2003 1 commit
-
-
Robert Ricci authored
LAN nodes are no longer treated specially. Instead, I've introduced the idea of 'static' types (old-style types retroactively become 'dynamic' types). While a pnode can only satisfy one dynamic type at a time, it can always satisfy its static types (assuming it has enough capacity left.) Static types are flagged by prepending them with a '*' in the ptop file. So, for example, you may give switches the '*lan:10000' type so that they can satisfy virtual LAN nodes. Of course, other pnodes can have this type too, so that we can get 'trivial LANs'. Actually, removing special treatment for LANs cleans up a lot of code. However, it may have some negative impacts on solutions, since we're not as smart about where to place LAN nodes as we used to be (they get annealed along with everything else, and not migrated.) I haven't seen any evidence of this yet, however. This leaves us with a single type of special pnode, a switch. Also added a new bit of syntax in ptop files - when '*' is given as a the maxiumum load for a type, the node is allowed to take on an infinite (well, actually, just a really big number of) vnodes of that type. ptopgen was modified to always report switches as being capable of hosting LANs, and assign_wrapper now understands direct links to LANs, which is what we get when the LAN is hosted directly on a switch. Fixed a bug in scoring direct links, in which the penatly was being added once when a direct link was mapped, but subtracted only once when it was freed. Added a '-T' option for doing simple self-testing. When adding a node to the solution, assign records the score, adds the node, removes it again, and checks to make sure that the resulting score is the same as the original score. The usefulness of this feature in debugging scoring problems cannot be understated...
-
- 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.
-