In VLSI and board-level design, the problem of automatically placing modules to improve routability of wires between them has been well studied. However, when designing cluster supercomputers and other multi-rack systems, it is common that physical position of modules is based on simple contiguous numbering schemes -- without considering wire routing issues. KNITT, Kentucky's Network Implementation Topology Tool, uses a genetic algorithm to evolve module placements that reduce wire routing complexity. Not only does it generate physical placements optimized to reduce the number of wires crossing from one rack to another, but it also does some very pragmatic things, like creating color-coded node labels to facilitate wiring. The tool is now live online at:
This software should be considered a "Beta test" version (you can see the release history here). KNITT has grown out of a sequence of simpler tools we built as far back as April 2000, but has not yet been formally published -- we tried, but the paper was rejected on the basis that "physical layout of clusters is too simple a problem to need such a tool." Yeah, right....
We'll post more here soon. For now, the one-page overview on the original version of KNITT, which we showed as a stand-alone program in our research exhibit at IEEE/ACM SC12, is here.
The only thing set in stone is our name.