[Haskell-cafe] Can you do everything without shared-memory concurrency?

Jed Brown jed at 59A2.org
Tue Sep 9 15:23:20 EDT 2008


On Tue 2008-09-09 12:30, Bruce Eckel wrote:
> So this is the kind of problem I keep running into. There will seem to be
> consensus that you can do everything with isolated processes message passing
> (and note here that I include Actors in this scenario even if their mechanism
> is more complex). And then someone will pipe up and say "well, of course, you
> have to have threads" and the argument is usually "for efficiency."

Some pipe up and say ``you can't do global shared memory because it's
inefficient''.  Ensuring cache coherency with many processors operating
on shared memory is a nightmare and inevitably leads to poor
performance.  Perhaps some optimizations could be done if the programs
were guaranteed to have no mutable state, but that's not realistic.
Almost all high performance machines (think top500) are distributed
memory with very few cores per node.  Parallel programs are normally
written using MPI for communication and they can achieve nearly linear
scaling to 10^5 processors BlueGene/L for scientific problems with
strong global coupling.

I encourage you to browse these slides for some perspective on very
large scale coupled computation.  Most problems commercial/industrial
tasks are much easier since the global coupling is much looser.

http://www.xergi.no/upload/IKT/9011/SimOslo/eVITA/2008/PetaflopsGeilo.pdf

Jed
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
Url : http://www.haskell.org/pipermail/haskell-cafe/attachments/20080909/90fc3cdf/attachment.bin


More information about the Haskell-Cafe mailing list