a fix in the previous commit
[charm.git] / doc / bignetsim / usage.tex
1 \subsection{Using BigSimulator}
2
3 BigSimulator (BigNetSim) has 2 major modes.
4
5 \begin{itemize}
6 \item{ Trace based traffic simulation }
7 \item{Artificial traffic generation based simulation.
8 The mode of the simulator is governed by the $USE\_TRANSCEIVER$ parameter
9 in the netconfig file.  When set to 0, trace based simulation is used,
10 when set to 1, traffic generation is used.}
11 \end{itemize}
12
13 Trace based simulation.  This is used to study target application performance,
14 or detailed network performance when loaded by a specific application.
15
16 There are two command line parameters for traced based simulation.
17 \begin{alltt}
18   ./charmrun +p2 ./bigsimulator arg1 arg2
19 \end{alltt}
20 \begin{alltt}
21   arg1 = 0 => Latency only mode
22          1 => Detailed contention model
23   arg2 = N => starts execution at the time marked by skip point N (0 is start)
24 \end{alltt}
25
26 \subsubsection{Simple Latency Model}
27 To use the simple latency model, follow the setup procedure above, noting that
28 the files are located in the trunk/SimpleLatency directory. This will produce
29 the "bigsimulator" file.
30
31 The command line parameters used for this model are different.  The format is
32 as follows:
33
34 \begin{alltt}
35   [charmrun +p#] bigsimulator -lat <latency> -bw <bandwidth>
36                [-cpp <cost per packet> -psize <packet size>]
37                [-winsize <window size>] [-skip] [-print\_params]
38 \end{alltt}
39
40 \begin{alltt}
41   Latency (lat)         - type double; in microseconds
42   Bandwidth (bw)        - type double; in GB/s
43   Cost per packet (cpp) - type double; in microseconds
44   Packet size (psize)   - type int; in bytes
45   Window size (winsize) - type int; in log entries
46 \end{alltt}
47
48 The implemented equation is: $lat + (N/bw) + cpp \times (N/psize)$
49
50 Latency and bandwidth are required.  If cost per packet is given, then packet
51 size must be given, as well.  Otherwise, cost per packet defaults to 0.0.
52 Packet size, if given, must be a positive integer.
53
54 The -winsize flag allows the user to specify the size of the window (number of
55 log entries) used when reading in the bgTrace log files.  This is useful if the
56 log files are large.  If -winsize is not specified, the value defaults to 0,
57 which indicates that no windowing will be used (i.e., there will be one window
58 for each time line that is equal to the size of the time line).
59
60 As with the second parameter in the examples of part (a) of this section, the
61 -skip flag indicates that the simulation should skip forward to the time stamp
62 set during trace creation (see the BigSim tutorial talk from the 2008 Charm++
63 workshop).  If -skip is not included, then no skipping will occur.
64
65 The -print\_params flag is provided for debugging convenience.  When present,
66 the simple latency model parameters will be displayed during simulation
67 initilization.
68
69 \subsubsection{Artificial Traffic Models}
70 Artificial traffic generation based simulation is use to study the performance
71 of interconnects under standard network load schemes.
72
73 \begin{alltt}
74   ./bigsimulator arg1 arg2 arg3 arg4 arg5 arg6
75 \end{alltt}
76 example
77 \begin{alltt}
78   ./bigsimulator 1 2 3 100 2031 0.1
79 \end{alltt}
80
81 \begin{alltt}
82   arg1 = 0 => Latency only mode
83          1 => Detailed contention model
84   arg2 = 1 => deterministic traffic
85          2 => poisson traffic
86   arg3 = 1 => KSHIFT
87          2 => RING
88          3 => BITTRANSPOSE
89          4 => BITREVERSAL
90          5 => BITCOMPLEMENT
91          6 => UNIFORM\_DISTRIBUTION
92   arg4 = number of packets
93   arg5 = message size
94   arg6 = load factor
95 \end{alltt}