[erlang-questions] Erlang and/or MPI

Jesper Louis Andersen jesper.louis.andersen@REDACTED
Wed Jun 26 19:20:18 CEST 2013

On Wed, Jun 26, 2013 at 4:19 PM, Ivan Uemlianin <ivan@REDACTED> wrote:

> http://jlouisramblings.**blogspot.co.uk/2011/07/**
> erlangs-parallelism-is-not-**parallelism.html<http://jlouisramblings.blogspot.co.uk/2011/07/erlangs-parallelism-is-not-parallelism.html>

As the author of that blog post, I would caution you to use Erlang for this
kind of work.

First, it is the kind of work where you have a small computational kernel
which has to run as fast as possible. This is exactly the kind of problems
where Erlang usually does not shine, due to the language being interpreted
and not focused on fast floating point calculations. Erlang would be good
as a higher-level coordinator in such systems, but the low-level code is
probably better written in a compiled language with good FP performance: C,
Common Lisp, Haskell, Ocaml, and so on.

Second, you would need to get to Infiniband from within Erlang. MPI and
OpenMP already provides the tooling for this, so are you out to solve a
problem, or are you curious and want to do research on how to make Erlang
shine in this situation? NIFs are hard to pull off because you need to
cooperate with the Erlang schedulers.

Third, the problems for which Erlang is best is different from your
problem: providing low-latency stable operation even in the advent of
spurious errors. And isolating bad code from good code [1].

[1] Aside: This is a strength of Erlang. A badly written process is usually
not able to take down the node as a whole, due to memory space isolation.
In large shared-memory-style programs, one bad library can easily sabotage
the data on which another part of the program operates.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20130626/feea8934/attachment.htm>

More information about the erlang-questions mailing list