[Mpi-forum] Fairness of MPI_ANY_SOURCE - MPI-3.0 Draft2 comment by Sebastien Boisvert

N.M. Maclaren nmm1 at cam.ac.uk
Thu Aug 9 08:27:38 CDT 2012

On Aug 9 2012, William Gropp wrote:
> Agreed. This has always been a "quality of implementation" issue, since, 
> as Jeff notes, providing fairness, particularly a specifically defined 
> fairness, can have significant performance implications.

It's actually FAR worse than that, and can make the difference between
a correct implementation and one which merely claims to conform.  I haven't
checked recently, but I can witness that the claimed task scheduling
parameters didn't actually work as specified under IBM MVT and MVS,
the task ones didn't under any of the Unices I tried after the scheduler
was rewritten in the mid-1980s, and the POSIX thread ones didn't either
round about the year 2000.  I don't know if they do nowadays.

Furthermore, it is often NOT possible to virtualise the threads (and
usually not possible to virtualise the processes) as seen by the program,
because some objects and operations can be performed only by the executable
entity that created them.  That has probably been fixed for most things
as far as threads go, though POSIX is hopelessly ambiguous here, but I
wouldn't bet on it as far as any of the fancy interconnects and RDMA go,
even now.

Nick Maclaren.

More information about the mpi-forum mailing list