Here is the list of directories with their functions

i) Main :- Contains the core code which is common to all network architectures
ii) BlueGene :- Contains initialization routines for Bluegene Network
iii) IB :- Input Buffered Fat tree
iv) OB :- Output Buffered Fat tree
v) HyperCube :- Contains initialization routines for Hypercube

vi) Routing :- Contains files which define different routing strategies
vii)Topology:- Contains files which define different topologies
viii)OutputVcSelection :- Contains files which define different output virtual channel
                         selection policies
ix)InputVcSelection :- Contains files which define different input virtual channel
                         selection policies

x)   RedStorm  :- Some syncing work to be done. Should be easy if you follow bluegene as
		  redstorm is a simplified version.


How do I run a code ?

Let us take bluegene.
        First modify START_LATENCY in BgSim.h to make sure charm latency and other
        software overhead is included .  If charm latency is 10 micro seconds, START_LATENCY would be 1000

Step 1) cd BlueGene;make clean;make
        After executing above commands "pgm" is created in  tmp
Step 2) make sure "netconfig" is in trace directory. Make sure that parameters are correct
Step 3) ./pgm 1 1


I want to write a new network architecture ?

Step 1) Make sure that framework is adhered to by creating strategies in vi,vii,viii and ix. 
        Then add a line in each makefile for the new machine architecture
Step 2) Make a new directory for the network architecture. Adhere to the framework of Initialization.
