report browser and error_logger

Ulf Wiger <>
Thu Jan 10 13:07:03 CET 2002


On Thu, 10 Jan 2002, Richard Carlsson wrote:

>On Thu, 10 Jan 2002, Ulf Wiger wrote:
>
>> I agree with Francesco. Another thought is to use global. While it
>> may not seem like an obvious choice, global does support process
>> registration using any Erlang term (instead of just atoms), and the
>> semantics of global:register_name() and global:send() are basically
>> the same as for your preferred approach.
>
>Just one thought: does anybody know how well the global name
>registry scales? Is it feasible to register thousands or tens
>of thousands of processes? How does it scale with the number of
>connected nodes?
>
>	/Richard

It does not scale very well with the number of connected nodes,
particularly in regard to global name registration. If one were
to use global:set_lock({Myname, self()}), it would scale much
better, but then there is no provision for finding out the Pid
of the process that holds the lock (with which one could mimic
global:send(LockHolder, Msg).

The problem lies in the backoff mechanism. Name registration
always takes place using the global lock 'global'. Therefore, the
risk of lock conflicts in a busy system is fairly large.


/Uffe




More information about the erlang-questions mailing list