Test of an MPI_Ibarrier implementation.
Instead of a helper process, or of a scheduler as used by MPI implementations, let's play dumb for now and just use a bunch of Isend/Irecv, and just test them all when needed.
pros:
- just .. works ?
- we have the default naive algorithms already implemented for most of the collectives, so in the end we just have to spilt the startall and waitall parts.
cons:
- simple basic algos only.
More advanced ones would need a scheduler with progress management, let's do this later if needed (and MPI implementations have the odd idea that it's fine to advance the scheduler's round only when MPI_Test is called, so we might actually be faster in the end).