One Million Processes

Joachim Durchholz joachim.durchholz@REDACTED
Wed Oct 1 09:00:23 CEST 2003

Vance Shipley wrote:
> I would like to put together an application for the sole purpose of 
> achieving one million processes doing something productive.

Anything client-server with many clients will do.
Say, internet shops, or internet games. Or distributed processing à la

Actually Seti@REDACTED would be a good demonstration of Erlang's
capabilities, as it had to deal with several code upgrades during its

Unfortunately, it might also demonstrate lack of capabilities.
Seti@REDACTED suffered from code manipulation, which was handled by an
ad-hoc solution (everything was computed twice, the results compared,
and all suspicious work redone).
It did handle gracefully cases with temporary Internet connections (it
would just wait until one was available); I'm not sure how well Erlang's
message system could cope with that, but I don't think it's built for
this scenario.

> I would like to also keep the distributed system it comprises up and 
> running continuosly.  Forever.

Well, in this scenario, it's just the server(s) that run(s) continuously.
But it could be an interesting demonstration to display Erlang's
failover capabilities.

> With current limits on the number of processes which a node can 
> support this will require several nodes.

The client/server scenario has very little process counts per node, so 
this is not a problem.
However, current limits on the node count may affect the system 
similarly. (More precisely: every node needs at least one atom, and the 
atom table is limited in size and not garbage collected.)

This doesn't exactly fit your description, partly because it's not quite 
the right idea, partly due to implementation restrictions.


More information about the erlang-questions mailing list