add pup support
[charm.git] / doc / bignetsim / interconnects.tex
1 \subsection{Which Interconnection networks are implemented?}
2 A large number of topologies and routing strategies are implemented in the
3 software. Here, we present a list of interconnection networks. For a complete
4 list of routing strategies, input/output VC selectors, refer to the
5 corresponding directories in the software.
6
7 \begin{itemize}
8 \item HyperCube
9 \item FatTree
10 \item DenseGraph
11 \item Three dimensional Mesh
12 \item K-ary-N-cube
13 \item K-ary-N-fly
14 \item K-ary-N-mesh
15 \item K-ary-N-tree
16 \item N-mesh
17 \item Hybrid of Fattree and Dense Graph
18 \item Hybrid of Fattree and HyperCube
19 \end{itemize}
20
21 \subsection{Build your own Interconnection network}
22 To build a new interconnection network, one has to create a new directory for
23 that interconnection network and then create the routing strategy, topology,
24 input virtual channel selection and output virtual channel selection strategies
25 for that network. If existing strategies could be used, then reuse them, but if
26 new ones are required, one has to write these new strategies in the
27 corresponding directories for routing, topology, etc.
28
29 The InitNetwork function must be provided in InitNetwork.C for this new
30 interconnection network. It builds up all the nodes and switches and NICs and
31 channels that form the network. Look at one of the existing interconnection
32 topologies for reference.
33