One of the principal requirements for users of distributed memory MIMD systems is some ``guarantee'' of portability for their code. The Express parallel programming environment [57] guarantees a level of portability on various platforms including, Intel iPSC/860, nCUBE/2, networks of workstations etc. We should emphasize that we have implemented a collective communication library which is currently built on the top of Express message passing primitives. Hence, in order to change to any other message passing system such as PVM [58] or MPI [59] (which also run on several platforms), we only need to replace the calls to the communication primitives in our communication library (not the compiler). However, it should be noted that a penalty must be paid to achieve portability because portable routines are normally built on top of the system routines. Therefore, the performance also depends on how efficient communication primitives are on top of which the communication library is built.
As a test application we use Gaussian Elimination,
which is a part of the Fortran D/HPF benchmark test suite [66].
Figure shows the execution times obtained to run the same
compiler generated code on a 16-node Intel/860 and nCUBE/2
for various problem sizes.