Newsgroups: comp.parallel.pvm,comp.parallel.mpi
From: Daniel Pfenniger <Daniel.Pfenniger@obs.unige.ch>
Subject: Re: NESL
Organization: Geneva Observatory,  University of Geneva
Date: Tue, 26 May 1998 10:58:50 +0200
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <356A8449.65F319C5@obs.unige.ch>

Lars Rzymianowicz wrote:
> 
> Daniel Pfenniger wrote:

> > The simplicity of coding parallel algorithms is however attractive
> > (a quicksort algorithm is coded in ten lines with NESL in comparison
> > of 1700 with MPI).
>      ^^^^
> 
> First, you don't seem to be an experienced MPI programmer, ey? ;-)
> NESL (or any other data-parallel language) might be nice for some apps,
> but you can't implement task-parallel apps with them.
> The portability and versatility of Message Passing Libs like MPI or PVM
> far outweighs the "might be" better performance of data-parallel
> languages on some problems.

The 1700 lines for MPI code comes from the NESL site.
I don't claim any serious expertise neither in PVM, MPI or NESL.  
For the moment I am just at the stage of forging my opinion whether
PVM/MPI 
are too low level programming tools or are adequate for complex problems
(often most naturally expressed in a highly recursive way).

According to their comparisons (see
www.cs.cmu.edu/afs/cs.cmu.edu/project/scandal/public/papers/nesl-ppopp93.html
)
the interpreted NESL can beat conventional compiled parallel languages
such 
as HPF (on Cray, CM and DEC) on particularly irregular problems, which
are quite frequent in practice.  They test 3 types of programs:

1) a linear least-squares, which has a minimum communication load and 
   no nested parallelism.
2) finding a median, which has high communication needs, but no 
   nested parallelism,
3) a sparse-matrix product, which has both a high communication needs 
   and nested parallelism. 

NESL performs particularly well in the last case, and bad by a factor
2-4
in the first case.  My guess is, as you mention, NESL performance should
degrade particularly on cluster of WS with a slow network.  But with
Fast and Giga
Ethernet, performance of NESL might become competitive on WS clusters 
with the "hard to find dinosaurs".

Comments are welcome.

Daniel

