README_synthetic.txt 3.79 KB
Newer Older
************ Synthetic traffic with dragonfly network model **********
- traffic patterns supported: uniform random, nearest group and nearest neighbor traffic.
	- 1--> Uniform random traffic: sends messages to a randomly selected destination
4 5 6
      node. This traffic pattern is uniformly distributed throughout the
      network and gives a better performance with minimal routing as compared
      to non-minimal or adaptive routing.
    - 2--> Nearest group traffic: with minimal routing, it sends traffic to the
8 9 10
      single global channel connecting two groups (it congests the network when
      using minimal routing).  This pattern performs better with non-minimal
      and adaptive routing algorithms.
    - 3--> Nearest neighbor traffic: it sends traffic to the next node, potentially
      connected to the same router. 
13 14 15

    - The modelnet_enable_sampling function takes a sampling interval "t" and
      an end time in nanosecs. Over this end time, dragonfly model will collect compute
      node and router samples after every "t" simulated nanoseconds. The
      names of the sampling output files can be specified in the config file using
19 20
      cn_sample_file and rt_sample_file arguments. By default the compute node
      and router outputs will be sent to dragonfly-cn-sampling-%d.bin and
      dragonfly-router-sampling-%d.bin. Corresponding metadata files are also
22 23 24 25 26
      generated that gives information on the file format, dragonfly
      configuration being used, router radix etc. 
      An example utility that reads the binary files and translates it into
      text format can be found at
      src/networks/model-net/read-dragonfly-sample.c (Note that the router
      radix aka RADIX needs to be tuned with the dragonfly configuration in the
29 30 31 32
      utility to enable continguous array allocation. By default the radix is
      set to 16 corresponding to a 1,056 node dragonfly network). The utility
      can be built using mpicc and it expects the generated binary files to be
      in the same directory when doing the translation from binary into text.

34 35 36

ROSS optimistic mode:
37 38 39
mpirun -np 4 ./bin/model-net-synthetic --sync=3 --traffic=1
--lp-io-dir=mn_synthetic --lp-io-use-suffix=1  --arrival_time=1000.0 --
40 41

ROSS serial mode:
42 43 44
./bin/model-net-synthetic --sync=1 --traffic=1
--lp-io-dir=mn_synthetic --lp-io-use-suffix=1  --arrival_time=1000.0 --
45 46 47


48 49 50 51 52 53 54
arrival_time: inter-arrival time between the messages. Smaller inter-arrival
time means messages will arrive more frequently (smaller inter-arrival time can
cause congestion in the network).

num_msgs: number of messages generated per terminal. Each message has a size of
2048 bytes. By default, 20 messages per terminal are generated. 

55 56
traffic: 1 for uniform random traffic, 2 for nearest group traffic and 3 for
nearest neighbor traffic.

sampling-interval: this parameter can be used to configure the sampling interval.

sampling-end-time: this parameter can be used to configure end time.

62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
lp-io-dir: generates network traffic information on dragonfly terminals and
routers. Here is information on individual files:

*dragonfly-router-stats: Has information on how much time each link of a router
spent with its buffer space full. With this information, we can know which
links of a router had more congestion than the others.

*dragonfly-msg-stats: has overall network traffic information i.e. how long the
terminal links connected to the routers were congested, amount of data received
by each terminal, time spent in receiving the data, number of packets finished, 
average number of hops traversed by the receiving packets.

lp-io-use-suffix: Having a suffix ensures that the data files go to a unique
directory every time.