global module limits

Paolo Negri <>
Mon Feb 7 18:07:23 CET 2011


Dear list

I've been reading various opinions about the global module and I'd
like some light to be shed on its limits and their underlying reasons.
Particularly I'd like to understand what are its limit relative to
register a big number of processes.

How do the following factors affect the global module performance

- number of registered processes at a given time, is this a problem if
the registered processes are in the order of 1K 10K or 100K
- registration rate, what if I register 10 100 or 1000 processes per seconds
- lookup rate, this is how often the global name registry is queried
- de-registration rate, symmetrical to the question above, 10 100 or
1000 registered processes terminate per second
- overall number of registered processes over time: assuming that in a
given second processes are registered at the same rate at which old
registered processes terminate, the number of currently registered
processes is constant (say 10K) but overtime I might have registered
1000K different process names, does the "register history" get cleaned
or it'll stick around in the global environment?
- cluster replication overhead, how does the number of nodes in a
system affect the performance of the global registration facility?

On a side note I would be very interested in people willing to share
experiences in using in production the gproc[1] project using it's
global facility to handle in the region of 100K to 1000K processes.

[1] https://github.com/esl/gproc

Thanks in advance for your answers.

Paolo


More information about the erlang-questions mailing list