[Ns-developers] Status Parallelization

George Riley riley at ece.gatech.edu
Tue Jun 10 06:22:10 PDT 2008


Hagen,
We should discuss.  Unfortunately, I am in a all-morning (and into the  
afternoon)
meeting, so am not sure when I will be free.  What is the latest you  
can get on IRC?
George
--------------------------------------------------
George Riley
Associate Professor
Georgia Tech
Electrical and Computer Engineering
riley at ece.gatech.edu
404-894-4767
Klaus Advanced Computing Building
Room 3360
266 Ferst Drive
Atlanta, Georgia 30332-0765

ECE4110 Web page:
http://users.ece.gatech.edu/~riley/ece4110/

ECE4112 Web page:
http://users.ece.gatech.edu/~riley/ece4112/







On Jun 10, 2008, at 9:19 AM, Hagen Paul Pfeifer wrote:

>
> Hello NS-3 Developers,
>
> since a IRC discussion with Mathieu I temporary dropped the
> approach to start to parallelize the Wifi Channel and switched
> to a more simple Point-to-Point channel. The synchronization is done  
> via
> MPI. And Packet serialization via standard PeekData and Buffer
> class respective. So far this simple scenario works as excepted and  
> via
>
> mpirun --np 2 --mca btl \^udapl,openib
> build/debug/examples/point-to-point-udp-discard
>
> the Packet is transmitted and received.
>
> On the other hand the created scenario synchronization is only half- 
> duplex
> and
> 99% of the implementation is created to work without mass  
> complication.
>
> The main challenge is that ns-3 isn't designed to work in a  
> simultaneously
> manner. Every
> time I introduced a workaround another problem popped up. This  
> starts at
> concurrent IO
> operations, introduced additional looking/barriers to keep in time  
> and end
> with no
> common recv/send interfaces like they did in glomosim (as an  
> example). So
> there is a
> lot of additional work to see an functional parallelized simulator  
> with
> involved major
> code impact in the overall architecture (Mathieu sorry for that - the
> impact will not be
> minimal because synchronization requires a) a lot of infrastructure  
> and b)
> interplay with several components.
>
> So my idea: still focus on a minimal implementation with no or minor  
> focus
> on performance
> BUT first introduce some basic parallelization infrastructure. These
> includes:
>
> a) a proper working Federate system, that handles m nodes (point to  
> point
> as well as
>   CSMA channels) and n different "execution engines" (e.g. Cores).  
> This is
> necessary
>   to get rid of the current "static hacks".
> b) introduce a additional abstraction layer to distribute Packets in a
> central place.
>   They can be no-ops if no distribution is desired. Currently I  
> graped the
> Packet at
>   Channel level, barrier and inject into the Device (where the receive
> routine is
>   located for point to point devices). The additional layer is also
> Mathieu compatible
>   because there are fewer places where parallelized code is added.
> c) Discuss and implement a really simple time synchronization  
> mechanism and
> extend
>   the run queue to work in a distributed manner.
> d) Think about the current IO subsystems (trace files, pcap files).  
> E.g.
> the DaSSF
>   network simulator (dartmouth.edu) shift the processing to the end.  
> Where
> all
>   concurrent "threads" already joined.
>
> George, what are your suggestions (also experiences with GTNetS)?
>
> Hagen
>
>



More information about the Ns-developers mailing list