[erlang-questions] Surprising conclusion in · Parallel programming environments: less is more

ok ok@REDACTED
Thu Oct 4 03:43:20 CEST 2007


On 3 Oct 2007, at 8:50 pm, Bengt Kleberg wrote:
> http://blogs.intel.com/research/2007/10/ 
> parallel_programming_environme.html
> has a rather surprising conclusion to solving parallel programming
> problems. no new languages are needed, instead someone should fix the
> existing ones.

That article basically says:
   (fact) if you give people too many kinds of jam to choose from,
          they will choose less jam.  (All the examples of this kind
          presented in the article are about people's PURCHASING
          decisions.)
   (wild extrapolation) there are already too many parallel programming
	 languages and approaches.
   (extreme flight into fantasy) we should use an existing language
          rather than one designed for parallelism.

There is not, in fact, anything resembling a logical argument or any
evidence presented to link these points.  In particular, since every
parallel language is a progamming language, if there are too many
parallel languages there are too many *programming* languages of any
kind, and we should all standardise on a small number of them.  (C++?
Fortran?  Visual Basic?)  Oh, and with about 6,000 natural languages
on Earth, we should most of us be so paralysed by choice that we don't
say anything!

I've just been co-supervising a 4th year student who was comparing
MPI (C where each process has a separate address space and you do
all the parallel stuff with message passing) with TreadMarks and VODCA
(Distributed Shared Memory systems, C where some variables are shared
between processes, and communication is actually done behind your back
by catching page faults and sending differences around).  The basic
idea of DSM is that it's supposed to be a more familiar model; it's
just like programming with threads in C (with a bit of care).  He went
into it with no preconceptions, and I only got involved half way
through.  What did he find?  MPI is faster.  (Everyone finds that.)
MPI is *easier*.  A lot easier.

I have a strong suspicion that the author of that article has never
used a high level programming language (like, say, Haskell) and has
no idea just how much harder the languages he knows are making ALL
his programming, not just the parallel part.

We've had axes for 500,000 years and people are still injuring  
themselves
with them.  We've had computers for about 50.  We have a long way to go
before we know what we're doing.






More information about the erlang-questions mailing list