Hello,<br>
<br>

I have the following:<br>

A cluster with n nodes. <br>

Each node can speak with the left and right neigbour. (k can speak with k-1 and (k+1)%n).<br>

They form a ring.<br>

There is a lot of synchronisation-information flowing through the ring,<br>

Some of the synchronisation is done using IRecv's I posted at the beginning of the program<br>

(because I never know in advance if there will be a synchronisation type A msg or a type B msg, or no msg at all...)<br>

I made a communicator comm_all which is (when no nodes joined) in the beginning equal to MPI_COMM_WORLD,<br>

but the new nodes (which join after I started up,see below) should allso become a "member" of this communicator<br>

<br>

Now I want to add nodes. <br>

With adding a node I mean the following:<br>

connecting a computer which is unknown at the time of startup (one I
just bought, for example)  to the ring, and allowing him (the new node)
to speak<br>

with his neighbour-nodes.<br>

<br>

(1)How should I implement that (see below...)? <br>

(2)when I use MPI_Spawn, I can't "say" that it has to be spawned on the
new node, because MPI decides itself where to spawn,is this correct?<br>

(3)So I should use MPI_Open_port on a "master-node" and connect the new node with the master-node, correct?<br>

And, MPI_comm_accept is blocking, so if I want the new node to be able to connect on every moment, <br>

(4)I should use a thread solemny for the MPI_Comm_accept, is this correct?<br>

(5) when I use MPI_Intercomm_merge, is there a way to say that I want
the nodes 0-n to keep their rank, and that I want the new node to have
rank n+1 ?<br>

because (see above) I posted a lot of IRecv's at the startup-phase (and, the IRecv's are reposted once they are filled), <br>

so I prefer only having to change the IRecv's from node 0 and n instead of all the IRecv's<br>

 (and, this gives less problems for messages which are between sender and receiver)<br>

(6) When a nodenumber changes, and a message is between sender and receiver, I can consider the message as lost, correct?<br>

When finished I want it to be totally decentralised, so that the new node can connect with a node of his choise. <br>

(7)This means I should open a port on every node from the "start-group", correct?<br>

<br>

Jim Lascov.<br>