[Ns-developers] NS-3 GUI (visualization again)

Gustavo Carneiro gjcarneiro at gmail.com
Tue Jul 29 13:42:44 PDT 2008


2008/7/29 <craigdo at ee.washington.edu>

>
> > > The ns-3-emu branch includes a fully multithread-safe simulator
> > > implementation.  It also has the ability to select a
> > "synchronizer" that can
> > > sync to real time or not.  I would feel comfortable pushing
> > this if it would
> > > help.  Take a look.
> >
> > I have trouble parsing the above: are you saying that you see
> > no problem
> > implementing the above API proposal in the ns-3-emu branch ?
>
> Gustavo wrote, "because of thread safety, we need a "simulator mutex", to
> keep the GUI from looking into ns-3 at the wrong time."  I responded, the
> ns-3-emu branch includes a fully multithread-safe simulator implementation.
>
> I would feel comfortable pushing this multithread-safe simulator
> implementation into ns-3-dev if it would help.  Then you could have the GUI
> make simulator calls whenever it wanted to do whatever it wanted to and
> wouldn't need any new simulator API.  It would just use global values to
> configure the simulator to use the multithreaded implementation and a
> non-realtime synchronizer (the multithread-safe simulator implementation
> can
> be configured for realtime or not).
>
> Is this unclear?  Am I missing something?  Responding to the wrong
> question?


You are missing something because I have not said it :-)

I don't need locking for just the Simulator class; I need a mutex to guard
against accessing _all_ simulation state, including not only the scheduler
but also e.g. nodes and respective state.  For instance, obviously the GUI
cannot read an IPv4 routing table at the same time as a routing agent is
adding entries to this table.

-- 
Gustavo J. A. M. Carneiro
INESC Porto, Telecommunications and Multimedia Unit
"The universe is always one step beyond logic." -- Frank Herbert


More information about the Ns-developers mailing list