[erlang-questions] Distributed Process Registry

Michael Truog mjtruog@REDACTED
Sun Feb 8 23:52:01 CET 2015

On 02/08/2015 02:07 PM, Roberto Ostinelli wrote:
> Hi Michael,
> Do you know what the impact of this is when you add/remove keys often? I'm imagining a lot of communication (async) happening between nodes.
> I'm actually very ok with the AP portion of the CAP theorem (that pg2 seems to offer) in contrast with the CA (of global/gproc).
> Just wandering if there are studies and impact on performance. As said, I have 3 nodes with a total of 500k pids that need registration
> Thanks,
> r.
I know that pg2 has performance problems due to the global module usage and that cpg avoids that.  However, I have not taken the time to test the difference and quantify the benefit, since that depends on how nodes fail and the problem size.  So, it is probably best if you do your own testing based on your usage, to get results that are relevant to you.

>> On 08/feb/2015, at 22:10, Michael Truog <mjtruog@REDACTED> wrote:
>> The main reason is that you avoid the need to resolve state conflicts when global state gets merged after a netsplit.  With pg2 and cpg, all the state relevant to the local node is stored locally and remote state gets merged as nodes are added.  When a node dies, its pids are removed, as expected, but there is no need for centralized global state.

More information about the erlang-questions mailing list