[erlang-questions] An elegant implementation of multi pollset for Erlang VM

Lukas Larsson <>
Thu Feb 18 13:44:47 CET 2016


very nice! good work!

A question though; one of the reasons why doing this within erts is
difficult is because after a process sets a socket from active to passive
no messages should arrive from the socket. Does you solution handle this
problem? If so how?

Lukas

On Thu, Feb 18, 2016 at 7:47 AM, max_feng <> wrote:

> Erlang VM has only one PollSet in the same time, which is not scalable,
> especially with a rapid growth of NIC bandwidth and CPU cores on one single
> machine.
>
> In order to make full use of multi-core in Eralng network programming, we
> develop gen_socket module.
> The gen_socket creates multi pollset for Erlang VM without changing erts
> code!
>
> The gen_socket already has been deployed in production env, and increases
> throughput of echo server by 110% on a 24-core, 1000Mb/s machine based on
> redhat6.2.
>
> The gen_socket is completely compatible with gen_tcp interface, and very
> easily deployed. Just git clone and make it.
>
> For details please refer to project link.
>
> https://github.com/max-feng/erlang_multi_pollset
>
> Max Feng
>
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20160218/e27def32/attachment.html>


More information about the erlang-questions mailing list