Embedded Erlang

Matthias Lang <>
Tue Feb 4 22:54:16 CET 2003


Alan writes:

 > I'm looking for a language which lends itself naturally to a highly
 > distributed environment (lots of little networked devices running
 > uclinux and about 8-meg of ram, no mmu, of which I'd probably get 1-2
 > meg). Erlang looks ideal from a language point-of-view but I haven't
 > been able to pin down the embedding issues:

 > What is the smallest (practical) amount of RAM required for Erlang +
 > Apps? Is there a rule-of-thumb (xK for run-time + ~yK per K of erl
 > source) ?  Are there guideliness/howto etc for stripping Erlang down
 > -- anyone done it ??

I run Erlang on an embedded telecomms system. Just starting the Erlang
R8B VM to get a prompt eats 3.5M (RSS). A typical system in
steady-state operation (as a telephone switch) uses about 7M
(RSS). Cutting that down to 2M sounds "too hard". The smallest system
I've seen running Erlang had 16M of RAM.

The guys who created the VM may have some better ideas.

Squeezing disk/flash storage is easier. You can fit a fairly complete
system into 2M without special tricks. If you start throwing out
useful libraries and compressing things you can get as low as 0.5M:

  http://www.bluetail.com/~joe/sae_r7b/sae.html

A completely different approach would be to use an Erlang
implementation other than Ericsson's. I know nothing about such
systems and I don't know of any of them being used in production
systems, but it may be worth a quick look:

  http://goanna.cs.rmit.edu.au/~geoff/erlang/
  http://www.iro.umontreal.ca/~etos/

Matthias



More information about the erlang-questions mailing list