[ndnSIM] Mpi on multiple machines

Andriana Ioannou ioannoa at tcd.ie
Thu Jul 7 14:17:24 PDT 2016


> On 07 Jul 2016, at 18:41, Alex Afanasyev <aa at cs.ucla.edu> wrote:
> 
> 
>> On Jul 7, 2016, at 6:52 AM, Andriana Ioannou <ioannoa at tcd.ie> wrote:
>> 
>> Hey Alex,
>> 
>> Many thanks for the reply.
>> 
>> I have managed to make it work on a single machine with multiple processors - not multiple machines - as this was useless to me anyway.  What I wanted to do was to distribute the memory consumption between the different machines. However, my memory consumption comes from the structure of a node which can not be discarded even when using an mph - the whole topology is to be created on each LP anyway.
>> 
>> Now, with regard to the mpi usage, I have noticed the below:
>> 
>> 1. The simulation runs differently on a single processor compared to the one using an mpi. That said, the requests are triggered with a different sequence.
> 
> If events are scheduled for the same nanosecond of simulation time, the order of events would be undetermined.  However, if the time is different, they should be in pre-determined order, no matter single processor or MPI.  If there are differences, then there is some issue somewhere.

The requests are pretty much pre-scheduled in the sense that a new request is triggered once the previous one is satisfied, i.e. 1 Interest Window. So, I can’t see why that difference may occur, but I will check again. 
> 
>> 
>> 2. Different apps may create Interests with the same nonce, which is “misleading" to the performance of the system as they may be treated as duplicas - while they are not.
> 
> Hm.. Given nonce is random, there is possibility that nonce collide. But this should have extremely low probability to happen.  Do you see it consistently?  (Is it for ndnSIM 2.x?)
> 
Here its a weird situation. It does not always happen. It relates to the seed that I am “feeding” into the simulation file. Sometimes nothing happens, some others most consumers issue retransmissions. My guess is that when an mpi used, each processor is “eligible” to create the same sequence of random numbers that are fed to the apps/consumers. I have found some related concerns, although, not an exact solution yet. That would explain the relation to the seed. I have been using ndnSIMv1 since the very beginning. Don’t know if things are different on v2. 

A.

> --
> Alex
> 
>> 
>> Any ideas on how to deal with the above?
>> 
>> Thanks,
>> A.
>> 
>>> On 27 Jun 2016, at 05:28, Alex Afanasyev <aa at cs.ucla.edu> wrote:
>>> 
>>> I have tried it once long time ago and the process was relatively straightforward (though, I completely forgot all the details).  You just need to select where mpi processes should run and afterwards everything happens automatically.  (Just in case, the key catch with MPI is that you need to properly partition the topology to get benefits of MPI, and partitioning is not always trivial...)
>>> 
>>> --
>>> Alex
>>> 
>>>> On Mar 19, 2016, at 8:41 AM, Andriana Ioannou <ioannoa at tcd.ie> wrote:
>>>> 
>>>> Hello all,
>>>> 
>>>> I was wondering whether someone has any feedback/advice on the use of mpi onb multiple machines. From reading the post, I do assume that is possible but I am rather confused on how to proceed with it exactly.
>>>> 
>>>> Any help would be great.
>>>> 
>>>> Thanks.
>>>> A.
>>>> _______________________________________________
>>>> ndnSIM mailing list
>>>> ndnSIM at lists.cs.ucla.edu
>>>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim
>>> 
>> 
> 





More information about the ndnSIM mailing list