I (a single user) am running N separate MPI applications doing 1 to N broadcasts over PVM, each MPI application is started on each machine simultaneously by PVM - the reasons are back in the post history.

The problem is that they somehow collide - yes I know this should not happen, the question is why.

I am confused about using multiple,
concurrent mpirun operations. If there are M uses of mpirun and each
starts N tasks (carried out under pvm or any other way) I would expect
you to have M completely independent MPI jobs with N tasks (processes)
each. You could have some root in each of the M MPI jobs do an MPI_Bcast
to the other N-1) in that job but there is no way in MPI (without using
accept.connect) to get tasks of job 0 to give data to tasks of jobs 1-(m-1).

With M uses of mpirun, you have M worlds
that are forever isolated from the other M-1 worlds (again, unless you
do accept/connect)

In what sense are you treating this
as an single MxN application? ( I use M & N to keep them distinct.
I assume if M == N, we have your case)