On Mon, Mar 16, 2020 at 6:15 PM Konstantinos Konstantinidis via users < users@lists.open-mpi.org> wrote:
> Hi, I have some questions regarding technical details of MPI collective > communication methods and broadcast: > > - I want to understand when the number of receivers in a MPI_Bcast can > be a problem slowing down the broadcast. > > This is a pretty strong claim. Do you mind sharing with us the data that allowed you to reach such a conclusion? > > - There are a few implementations of MPI_Bcast. Consider that of a > binary tree. In this case, the sender (root) transmits the common > message to its two children and each them to two more and so on. Is it > accurate to say that in each level of the tree all transmissions happen in > parallel or only one transmission can be done from each node? > > Neither of those. Assuming the 2 children are both on different nodes, one might not want to split the outgoing bandwidth of the parent between the 2 children, but instead order. In this case, one of the children will be serviced first, while the other one is waiting, and then in a binary tree, the second is serviced while the first is waiting. So, the binary tree communication pattern maximize the outgoing bandwidth of some of the nodes, but not the overall bisectional bandwidth of the machine. This is not necessarily true for hardware-level collectives. If the switches propagate the information they might be able to push the data out to multiple other switches, more or less in parallel. > > - To that end, is there a limit on the number of processes a process > can broadcast to in parallel? > > No? I am not sure I understand the context of this question. I would say that as long as the collective communication is implemented over point-to-point communications, the limit is 1. > > - Since each MPI_Bcast is associated with a communicator is there a > limit on the number of processes a communicator can have and if so what is > it in Open MPI? > > No, there is no such limit in MPI, or in Open MPI. George. > > Regards, > Kostas >