LAM/MPI logo

LAM/MPI General User's Mailing List Archives

  |   Home   |   Download   |   Documentation   |   FAQ   |   all just in this list

From: Prabhanjan Kambadur (pkambadu_at_[hidden])
Date: 2004-06-17 18:04:19


Sorry! A slight clarification on the default priorities of the rpi modules
which will be picked if no module is explicitly specified:

Priorities (in descending order)
--------------------------------
1. gm - 50
2. usysv - 40
3. sysv - 30
4. crtcp - 25
5. tcp - 20
6. lamd - 10

So, if all the rpi modules are able to run, the default module which would
be picked is "gm". If "gm" is not present, then we select usysv, sysv,
crtcp, tcp and then lamd (in that order). It is quite possible that in
your case, gm, usysv, sysv and crtcp were unable to run and therefore tcp
module got selected. Also, we use TCP for off-node communication when the
sysv/usysv modules are selected. Therefore, you might see ethernet traffic
even if sysv/usysv modules were selected. More information is available in
the lam user docs.

Hope this helps,
Anju

 On Thu, 17 Jun 2004, Prabhanjan Kambadur wrote:

>
> Hi,
>
> We do make use of multiple protocols in LAM. TCP connections are used for
> all communications between MPI processes if the tcp rpi is selected (which
> is the default). There are other rpi's which can be used for inter-process
> communication which include crtcp, lamd, sysv, usysv and gm. UDP is used
> for out of band communication. For more information, please see the user's
> documentation at www.lam-mpi.org/using/docs.

> Hope this helps,
> Anju
>

> On Thu, 17 Jun 2004, Muhlis Akdag wrote:
>
> Hello
>>
>> I know there are many posts with the topic transport protocoll in lam mpi...but here my question
>>
>> i read that lam mpi use udp to transport informations between nodes...but i also read that a tcp socket create it from lambootagent...
>> so my question:
>>
>> what are transport with udp and what is transport with tcp...
>>
>> i test a code with 2 nodes...a send and a receive:
>
>> #include <stdio.h>
>> #include <mpi.h>
>> #include <math.h>
>>
>> #define WORLD MPI_COMM_WORLD
>>
>> int main(int argc, char *argv[]){
>>
>> int rank, size, i;
>
>> MPI_Init( &argc, &argv);
>> MPI_Comm_rank(MPI_COMM_WORLD, &rank);
>> MPI_Comm_size(MPI_COMM_WORLD, &size);
>>
>>
>> int l=1;
>> int sendarray[l];
>> int recvarray[l];
>>
>>
>>
> if (rank==0){
>> for (i=0; i<l; i++){
>> sendarray[i] = i;
>> }
>> printf("proc %d: sendarray[%d] = %d\n", rank, l-1, sendarray[l-1]);
>>
>> MPI_Send( sendarray, l, MPI_INT, 1, 123, WORLD);
>> }
>> else if (rank==1){
>> MPI_Status status_recv;
>> MPI_Recv( recvarray, l, MPI_INT,0, 123, WORLD, &status_recv);
>>
>> printf("proc %d received : recvarray[%d] = %d\n", rank, l-1, recvarray[l-1]);
>> }
>>
>> MPI_Finalize();
>
>> return 0;
>> }
>>
>> than i trace ist with ethereal a network sniffer...i have many udp packets between node a and b and also tcp packets...but what are transport with what?
>>
>> a second question is...when use lam mpi ssh and rsh...is this right when i say: only in lamboot to hboot the other nodes? with mpirun both configuration are the same?
>>
>> i hope some people can help me and understand my confuse english :)
>>
>>
>>
>>