[zeromq-dev] State of Erlang SMP with ZeroMQ
Evax Software
contact at evax.fr
Tue Jun 21 09:25:00 CEST 2011
Hi Yusuf,
> Hello,
>
> A prior thread suggests that issues with running Erlang SMP + ZeroMQ have been resolved thanks to socket migration [1].
>
> This is awesome, but I was wondering what exactly goes on during socket migration. Erlang SMP generally has one kernel thread for each CPU, and a shared queue from which the threads pull jobs to execute [2]. Consequently, AFAICS, ZeroMQ sockets will regularly migrate from one thread to another. If migration is an expensive process, this would likely cause the Erlang implementation to perform poorly with SMP enabled.
>
> Thanks!
>
> - Yusuf
>
> 1: http://lists.zeromq.org/pipermail/zeromq-dev/2011-January/008767.html
>
> 2: http://www.erlang.org/euc/08/euc_smp.pdf
This issue was affecting the port-based version of the bindings [1].
The new version [2] is NIF based and actually requires Erlang SMP.
The performance has been much improved in this newer version.
1: https://github.com/zeromq/erlzmq
2: https://github.com/zeromq/erlzmq2
Evax
More information about the zeromq-dev
mailing list