I can't speak to the MPI layer, but for OpenRTE, each process holds one
socket open to the HNP. Each process *has* all the socket connection info
for all of the processes in its job, but I don't believe we actually open
those sockets until we attempt to communicate with that process (needs to be

At the moment, we do not reuse daemons when we dynamically spawn processes
(e.g., via a comm_spawn call) - we hope to rectify that in the next couple
of months. Until that happens, there will be one daemon/job on each node
where a job has been launched (a comm_spawn generates a new job). Each
daemon consumes one socket to connect to the HNP. Daemons do not open
sockets to their local processes.

All OpenRTE sockets are TCP and independent of any sockets being opened by
the MPI layer.

So, from the OpenRTE layer, S = #jobs + #procs

Hope that helps

On 10/25/06 1:45 AM, "Joachim Worringen" <joac...@dolphinics.com> wrote:

> Is there a formula to calculate the number of socket connections per
> node (S) that an OpenMPI application needs for running (via sockets) on
> N nodes with P processes each? I guess something like
> S = P * (N-1)*P
> but what about the daemons etc.? Let's assume only a single interface is
> used.
>   thanks, Joachim

Reply via email to