fixed seeds for tutorial examples and updates to tutorial to match

This commit is contained in:
Craig Dowell
2008-12-17 12:17:17 -08:00
parent 2cc80c1a06
commit b75c526925
5 changed files with 35 additions and 0 deletions

View File

@@ -105,6 +105,13 @@ familiar to you so far.
LogComponentEnable("UdpEchoServerApplication", LOG_LEVEL_INFO);
@end verbatim
A fixed seed is provided to the random number generators so that they will
generate repeatable results.
@verbatim
RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
@end verbatim
Next, you will see some familiar code that will allow you to change the number
of devices on the CSMA network via command line argument. We did something
similar when we allowed the number of packets sent to be changed in the section
@@ -657,6 +664,13 @@ the simulation.
LogComponentEnable("UdpEchoServerApplication", LOG_LEVEL_INFO);
@end verbatim
A fixed seed is provided to the random number generators so that they will
generate repeatable results.
@verbatim
RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
@end verbatim
Next, you will see more familiar code that will allow you to change the number
of devices on the CSMA and Wifi networks via command line argument.

View File

@@ -362,6 +362,21 @@ enable on each component. These two lines of code enable debug logging at the
INFO level for echo clients and servers. This will result in the application
printing out messages as packets are sent and received during the simulation.
The next line of code is used to give a fixed seed to the random number
generators so that they will generate repeatable results. In the example
programs, it allows us to thouroughly document the output of the trace files
in a consistent way. Having a fixed seed also allows us to use the examples
in our regression testing framework.
@verbatim
RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
@end verbatim
Random variables are very important in understanding how to get repeatable
results, so you are encouraged to read the Doxygen and manual sections to
understand what is going on there. For us, the main concern is in making
random backoff algorithms consistent across runs.
Now we will get directly to the business of creating a topology and running
a simulation. We use the topology helper objects to make this job as
easy as possible.

View File

@@ -29,6 +29,8 @@ main (int argc, char *argv[])
LogComponentEnable("UdpEchoClientApplication", LOG_LEVEL_INFO);
LogComponentEnable("UdpEchoServerApplication", LOG_LEVEL_INFO);
RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
NodeContainer nodes;
nodes.Create (2);

View File

@@ -39,6 +39,8 @@ main (int argc, char *argv[])
LogComponentEnable("UdpEchoClientApplication", LOG_LEVEL_INFO);
LogComponentEnable("UdpEchoServerApplication", LOG_LEVEL_INFO);
RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
uint32_t nCsma = 3;
CommandLine cmd;
cmd.AddValue ("nCsma", "Number of \"extra\" CSMA nodes/devices", nCsma);

View File

@@ -43,6 +43,8 @@ main (int argc, char *argv[])
LogComponentEnable("UdpEchoClientApplication", LOG_LEVEL_INFO);
LogComponentEnable("UdpEchoServerApplication", LOG_LEVEL_INFO);
RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
uint32_t nCsma = 3;
uint32_t nWifi = 3;
CommandLine cmd;