Erlang style processes in Common Lisp
Stelian Ionescu
sionescu at cddr.org
Mon Aug 3 15:34:42 UTC 2015
> Creators of Erlang have a Lisp background, and one feature of the Erlang
> VM (BEAM) that I'd like back-ported into Common Lisp is their process.
>
> An Erlang "process" is cheap to create, cheap to destroy, cheap when
> blocked, and upon exit performs bulk gc of its allocated memory; e.g.,
> munmap().
>
> Handling tens of thousands of requests per second per node isn't
> uncommon, and these often have *several* workers per request or
> connection: hundreds of thousands of processes. Under such scenarios,
> anything less than this approach to lightweight processes might suffer
> from stalls during long gc runs that would be avoided or significantly
> reduced under Erlang's model.
>
>
> How might we get equivalent cheap ephemeral processes into a
> contemporary Common Lisp implementation?
In short, you need to write from scratch a new CL implementation. Current ones are not designed with the Erlang constraints in mind.
--
Stelian Ionescu a.k.a. fe[nl]ix
Quidquid latine dictum sit, altum videtur.
http://common-lisp.net/project/iolib
More information about the pro
mailing list