[Ns-developers] [ns3] Statistical framework (draft)
Vincent Gauthier
vglist at mac.com
Fri Apr 25 04:39:12 PDT 2008
Hi all,
I am proposing to start a statistical framework implementation. The
aim of this framework is to provide an easy access to all the pre-
defined variables in each layer of the simulator, offering to the
users the most used a set of methods to perform statistical analysis
(means, medians, confidence intervals) and giving to users a friendly
way to analyze the outputs.
The proposal is driven by three ideas:
- All available statistical variables should be defined in each layer
of the simulator,
- The statistical framework provides a useful help to define the
variables properly and display them (give output),
- The variables are processed at the end of the simulation, the
framework is in charge of gathering all the statistical variables and
process them and push the output to another another interface more
meaningful for the user (gui, file, ..etc).
Consequently, it will be easier for any add-on of the simulator to
include their own set of variables to the one's previously defined in
others layer/modules. At the end of the simulation, the end users will
have access to all set of information in a raw format.
Two main sorts of statistical analysis can be perform by the framework.
One who doesn't need any extra memory than the space needed to store
the variable itself:
- Continue mean (counter + begin and end time of the measurement),
- Discrete mean (counter + number of sample),
- Counter (simple variable),
- Min/Max (store the maximum value of a variable over the simulation
time),
- Confidences Intervals,
- Among others (to be defined).
And in the other one, the ones needing extra memory space (and some
overhead) for example:
- Continuous evolution of the variable X (i.e.: the realtime
throughput of flow #Y over the period T),
- Discrete evolution of the variable X (i.e.: the realtime throughput
of TCP over a sample time dt),
- More to be defined.
Due to their different impact on the simulator performance each group
must follow different process. The first type doesn't lead to any
issue about simulation overhead (no more than updating a variable),
and in the contrary the second type of variables could lead to a
certain amount of memory overhead, and slowing the simulation. We
propose to perform all the statistical analysis for the all variables
of the first group for all simulations without the need to enable or
disable the calculus (except for the output). For the second type we
should perform the task on demand to avoid extra overhead, if the end
user doesn't use it or need it.
I will appreciate your comments and feedback, and feel free to include
some ideas I didn't mention (how to properly include it in the
existing NS-3 structure and so on).
Regards,
Vincent Gauthier
More information about the Ns-developers
mailing list