Newsgroups: comp.parallel.mpi
From: sanders@ira.uka.de (Peter Sanders)
Subject: Fairness, When not, Why not, ...
Organization: Universitaet Karlsruhe, Germany
Date: 07 Feb 1996 08:40:31 GMT
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Message-ID: <SANDERS.96Feb7094031@i90s25.ira.uka.de>

The MPI standard (section 3.5) states that message delivery is
not guaranteed to be fair in the sense that a message may
never be delivered if it is continously overtaken by
other messages. I think this situation is also being referred to
as "livelock" in the literature.

I can name a number of scenarios where this is a severe problem.
Therefore my queustion:

Are there implementations of MPI which are  n o t  fair?
If so, under which circumstances can livelock actually occur?
Are there simple and reliable tricks for avoiding livelock?
What was the original rationale for allowing unfair message delivery?
I would guess that there are (few?) hardware routers or network protocols
which do not guarantee fairness and therefore a fairness requirement
would render an efficient MPI implemenation on these systems impossible. 

Regards,

Peter Sanders, University of Karlsruhe

