[Beowulf] Erlang as a language for Beowulf applications

Eric Shook 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 :)
Eric



H.Vidal, Jr. wrote:
> Hello.
>
> 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?
>
> hv
> _______________________________________________
> Beowulf mailing list, Beowulf at beowulf.org
> To change your subscription (digest mode or unsubscribe) visit 
> http://www.beowulf.org/mailman/listinfo/beowulf




More information about the Beowulf mailing list