When members associated with a communicator finish jobs or exit, they have to
call mpi.comm.free to release resource so mpi.comm.size
will return 0. If the comm was created from an intercommunicator by
mpi.intercomm.merge, use mpi.comm.disconnect instead.