[erlang-questions] How small could an Erlang emulator be?

David Hopwood <>
Wed Mar 14 01:15:54 CET 2007


ok wrote:
> On 13 Mar 2007, at 11:11 pm, Kenneth Lundin wrote:
> 
> YOU may not be talking about executing Erlang code on the micro-engines,
> but I *AM*. That's the whole *POINT* of thinking about the question:
> COULD A SUBSET OF ERLANG BE A USEFUL LANGUAGE FOR HANDLING CONCURRENCY ON
> THE MICRO-ENGINES OF A NETWORK PROCESSOR?  Hmm, here's the actual focal
> sentence of my message:
> 
> > How could you make parallel programming EASY on one of these things?
> 
> Your answer appears to be "no, certainly not".  But is there any  
> reason *other* than emulator size which would make it so?  Is there any
> reason to believe it *couldn't* be done in 4 k-instructions (IXP 2xxx size)?

The problem with this question, is that to give an informed answer would
require doing a fair amount of the work of trying to implement such a VM.
In the context of this discussion, the best answers you're going to get will
be guesswork based on people's experience of writing small interpreters for
other languages on vaguely similar platforms. Put it this way: if I were
asked for a commercial quote to implement a subset of Erlang on this size
of platform, I'd have to refuse the work, since there is no way I could
guarantee to be able to complete it.

In any case, if Erlang is the answer, then what is the question? If I
were trying to target any specific application at such a platform, I
wouldn't use Erlang. I might use message passing concurrency, but probably
in the form of a library designed to work with programs written in the
platform's dialect of C, and probably using bounded buffers or synchronous
message passing, rather than Erlang's unbounded (up to available memory)
asynchronous model.

-- 
David Hopwood <>




More information about the erlang-questions mailing list