hard limits?

Per Hedeland <>
Thu Oct 28 22:31:19 CEST 1999


Ulf Wiger <> wrote:
>It's difficult to reason about a practical upper limit, because it
>obviously depends on what the applications are doing. One problem
>is that erlang uses a fully meshed network.

Yes, among other things this (with the currently implemented
distribution mechanism, i.e. TCP sockets) translates to each node
needing one file descriptor for every other node. Many OSes start having
functional problems (in particular with the select() system call) when a
process has around 1000 descriptors open (some can't even do that), and
of course it's also a performance issue since checking for I/O on all
those descriptors doesn't come for free.

Another thing to note might be that the current Pid format (a 32-bit
word) restricts you to max 2^15 processes per node and 2^8 nodes total
in a distribution-connected network. The tradeoff between processes per
node and total nodes could be changed relatively easily I guess - the
totals could also be raised (by using more than one word), but not
nearly as easily.:-)

--Per Hedeland




More information about the erlang-questions mailing list