[Beowulf] Erlang as a language for Beowulf applications
eric-shook at uiowa.edu
Tue Sep 4 12:23:12 PDT 2007
I am engaged in similar explorations and I too have found the Erlang
language as a possible solution to scaling issues. I have been
experimenting with the language for almost a month so my evidence below
is not by any means conclusive. With that said in my opinion the
language has a fatal flaw and that is data handling. According to the
documentation and my brief experience there are certain instances where
the data being passed to and from processes / functions is copied and
not referenced. You can imagine the problems if you are manipulating a
multigig data set. There are certain ways to handle bigger data sets
(mnesia, et al.) but I have not fully explored these.
If large data handling is not a problem for you I believe you will be
pleasantly surprised by Erlang. As you stated error handling and fault
tolerance are mature within the language and the lightweight processes
(300 bytes) are great for multicore machines, particularly heterogeneous
machines. In addition to these great features Erlang has built-in
functionality for distributed (e.g. across the network) communication.
The distributed communication is also platform independent (e.g.
Windows, Linux, etc) By combining fault-tolerance, distributed
communication, and lightweight processes one could easily enable an
application to adapt to multiple heterogeneous clusters, desktop
computers, and grid environments without modifications.
I feel this language is very promising. It will simply take an
individual or group to fully exploit the languages potential.
That is the end of my rant :)
H.Vidal, Jr. wrote:
> I have been exploring a range of technologies for parallel
> applications, some production-level, some experimental.
> I am curious if anyone on this list has done any work
> with the language Erlang and/or considers it viable
> for scientific apps. It seems to be quite mature, has
> well developed 'process' based semantics with intrinsic message
> passing, is light-weight for multi-process creation,
> support application-level fault tolerance (quite applicable
> for failures in long computations...)
> and is production level, though not well known in the US.
> Any comments?
> Beowulf mailing list, Beowulf at beowulf.org
> To change your subscription (digest mode or unsubscribe) visit
More information about the Beowulf