[Ns-developers] [ns3] Statistical framework (draft)

Vincent Gauthier vglist at mac.com
Thu May 15 05:17:32 PDT 2008


Hi Joseph, everybody,

I read the draft that Mathieu sent us last week, and I started  some  
rough implementation of the P^2 algorithm. The first step could be the  
definition of a set of methods for the statistical container that we  
could be enhance over the time (the ones that have been defined before  
mean, median (P^2 algo), counter, and confidences intervals). Once  
this step is over the next one will be to efficiently link theses  
containers to some variables inside the code (callbacks) and define  
how to update stats containers efficiently. Maybe adding a method to  
sample over time each update in the stats container instead of keeping  
track of each change of one variable. That would certainly improve the  
simulator performances (but also lead to errors if the sample time is  
over estimate).

I haven't a lot of things to add to what it has been said over the  
thread about the stats framework, It seems that the main concern about  
the stats that Tom and Mathieu have highlighted (in mailing list and  
in the draft) is to provide confidence interval, CDF and PDF to the  
users but also for simulations matters like stopping the simulation or  
starting the measurements (when the simulation has reach a steady  
state). The second point that have been highlighting is to provide an  
efficient way to gathering and storing the statistical result in a  
database like container, that enable us to give an enhanced output to  
the users through xml file and so on (that is your point Joseph). The  
last point is to provide a set of statistical container available  
through callback methods directly accessible anywhere inside the  
simulator. Theses container should handle methods to perform the  
calculation of the stats. It would also be nice if we let the user  
under certain condition the ability to have access to a raw data on  
demand (sample of somethings over the time) because certain kind of  
variables could only be analysed this way.

My major concern is what should be the policy for linking a variable  
into the code to a stats container. For me less time your are updating  
the stats container better will be the performance (even with P^2 algo  
if you want to get the median for example of somethings in Mac layer  
of wireless network for all the node it would probability slow down  
the simulation, where should be the threshold ?).

I'll send you an e-mail about how we will proceed,

Thanks,
Vincent

Le 14 mai 08 à 07:16, Joseph Kopena a écrit :

> Hi Vincent, everybody,
>
> Sorry for some delay getting back to this, I've been traveling the
> past few days.  On the upside, that meant a good chunk of airport time
> for coding.
>
> I've posted a repo at [1] that drafts some of my conception of the
> stat framework.  Here's the basic ideas:
>
> - A stat framework object provides functionality to create stat
> objects and specifies an output callback.
> - Stat objects track different generic statistics and are updated by
> events, trace firings, etc.
> - Each stat object uses the callback to give its output to the
> specific framework being used, which in turn renders that data (e.g.,
> as plain text or XML).
>
> Note that unlike most ns-3 WIPs, this is currently setup externally,
> not as a branch of ns-3-dev.  This was mostly done to reduce compile
> (make faster than waf?) and link time, as well as ease eventual
> merging.  To compile, just run make in the root directory.  It'll
> expect the env variable NS3_LIB_DIR to be set.  This is usually the
> build/debug/ subdirectory of your ns-3 repository, e.g. for me it's
> usually export NS3_LIB_DIR=/opt/ns-3-dev/build/debug/.
>
> I'll be working on the basics of this the next couple days as I need
> some of this functionality.  In addition to cleaning it up a bit, I'll
> be adding some simple statistics and demo'ing connections to trace
> sources.  I most likely won't get to more sophisticated measures
> anytime soon.
>
> Vincent, have you drafted code or more ideas?  I am not super-tied to
> the draft code in [1], but wanted to get something out there as well
> as demonstrate the kind of generic statistics I'm envisioning.  Your
> input on the approach as well as your help making this a generally
> usable component would be greatly appreciated.  Mathieu's writeup also
> provides some solid motivation, discussion, and references that should
> be followed up on.
>
> Thx!
>
> [1] http://code.nsnam.org/tjkopena/ns-3-stat/
>
> -- 
> - joe kopena
> right here and now




More information about the Ns-developers mailing list