OpenMPI doesn't handle threads at all.

Try to get weight updates faster by polling MPI more often.

Split things apart into separate functions on the weight server
and client.